资源描述
资料内容仅供您学习参考,如有不当或者侵权,请联系改正或者删除。
实验一 二进制码转换为BCD码
一、 实验目的
1、 掌握数码转换基本方法, 加深对数码的理解。
2、 用于十进制BCD码显示。
二、 实验内容
将AX的内容转换为十进制BCD码。
三、 实验程序框图
四、 实验步骤
联机模式:
( 1) 在PC机和实验系统联机状态下, 运行该实验程序, 可用鼠标左键单击菜单栏”文件”或工具栏”打开图标”, 弹出”打开文件”的对话框, 然后打开8KASM文件夹, 点击S2.ASM文件, 单击”确定”即可装入源文件, 再单击工具栏中编译, 即可完成源文件自动编译、 装载目标代码功能, 再单击”调试”中”连续运行”或工具图标运行, 即开始运行程序。
⑵复位RST键, 由于AX中给定数为0FFFF, 查看BCD码结果保留在4100H~4104H单元中, 故其值应为06、 05、 05、 03、 05。
脱机模式:
⑴在P.态, 按SCAL键, 输入2CE0, 按EXEC键。
⑵复位RST键, 由于AX中给定数为0FFFF, 查看BCD码结果保留在4100H~4104H单元中, 故其值应为06、 05、 05、 03、 05。
五、 实验程序清单
;将AX拆为5个BCD码,并存入RESULT开始的5个单元
DATA SEGMENT AT 0
ORG 4000H
RESULT DB 5 DUP(?)
DATA ENDS
CODE SEGMENT
ASSUME CS:CODE, DS:DATA
ORG 2CE0H
START PROC NEAR
MOV AX, DATA
MOV DS, AX
MOV DX,0000H
MOV AX, 65535
MOV CX, 10000
DIV CX
MOV RESULT, AL ; 除以 10000, 得WAN位数
MOV AX,DX
MOV DX,0000H
MOV CX, 1000
DIV CX
MOV RESULT+1, AL ; 除以 1000, 得QIAN位数
MOV AX,DX
MOV DX,0000H
MOV CX, 100
DIV CX
MOV RESULT+2, AL ; 除以 100, 得BAI位数
MOV AX,DX
MOV DX,0000H
MOV CX, 10
DIV CX
MOV RESULT+3, AL ; 除以 10, 得SHI位数
MOV RESULT+4, DL ; 得GE位数
JMP $
CODE ENDS
END START
实验二 BCD码转换为二进制码
一、 实验目的
1、 掌握BCD码到二进制码的转换方法。
2、 用于BCD码输入信号处理。
二、 实验内容
对于内存中给定的几个十进制BCD码数转换为二进制数。
三、 实验程序框图
四、 实验步骤
联机模式:
(1)在内存单元4000H~4006H中依次写入四个十进制数( 12、 34、 56、 78) 的BCD码, 即输入01、 02、 03、 04、 05、 06、 07, 按MON键, 返回P状态。
(2)在PC机和实验系统联机状态下, 运行该实验程序, 可用鼠标左键单击菜单栏”文件”或工具栏”打开图标”, 弹出”打开文件”的对话框, 然后打开8KASM文件夹, 点击S3.ASM文件, 单击”确定”即可装入源文件, 再单击工具栏中编译, 即可完成源文件自动编译、 装载目标代码功能, 再单击”调试”中”连续运行”或工具图标运行, 即开始运行程序。
(3)复位RST键, 查看结果在4100~4107中, 其内容应为: 0C, 00, 22, 00, 38, 00, 4E, 00。
脱机模式:
⑴在P.态下, 按SCAL键,然后在内存单元4000H~4006H中依次写入四个十进制数( 12、 34、 56、 78) 的BCD码, 即输入01、 02、 03、 04、 05、 06、 07, 按MON键, 返回P状态。
⑵在P.态下, 输入2D40, 按EXEC键。
⑶复位RST键, 查看结果在4100~4107中, 其内容应为: 0C, 00, 22, 00, 38, 00, 4E, 00。
五、 实验程序清单
CODE SEGMENT
ASSUME CS:CODE
ORG 2D40H
START: MOV CX,0004H ;
MOV DI,4000H
CON1: MOV AL,[DI]
ADD AL,AL ;*2
MOV BL,AL
ADD AL,AL ;*2
ADD AL,AL ;*2
ADD AL,BL ;*10
INC DI
MOV AH,00
ADD AL,[DI]
MOV [DI+0FFH],AX
INC DI
LOOP CON1
JMP $
CODE ENDS
END START
实验三 十进制数的BCD码相减运算
一、 实验目的
熟悉微机对十进制数减法的运算方法。
二、 实验内容
计算X-Y=Z, 其中X、 Y、 Z为BCD码, 设X, Y为40, 12, 则Z为28。
三、 实验程序框图
四、 实验步骤
联机模式:
( 1) 在PC机和实验系统联机状态下, 运行该实验程序, 可用鼠标左键单击菜单栏”文件”或工具栏”打开图标”, 弹出”打开文件”的对话框, 然后打开8KASM文件夹, 点击S4.ASM文件, 单击”确定”即可装入源文件, 再单击工具栏中编译, 即可完成源文件自动编译、 装载目标代码功能, 再单击”调试”中”连续运行”或工具图标运行, 即开始运行程序。
⑵复位RST键, 查看减法运算结果在4100H~4101H单元中, 其内容应为08、 02。
脱机模式:
⑴在P.态下, 按SCAL键, 输入2D80, 按EXEC键。
⑵复位RST键, 查看减法运算结果在4100H~4101H单元中, 其内容应为08、 02。
五、 实验程序清单
CODE SEGMENT
ASSUME CS:CODE
ORG 2D80H
START: MOV AH,00H
SAHF
MOV CX,0002
MOV SI,4000H
MOV DI,4100H
MOV [SI],0400H
MOV [SI+2],0102H
CON1: MOV AL,[SI]
SBB AL,[SI+2]
DAS
PUSHF
AND AL,0FH
POPF
MOV [DI],AL
INC DI
INC SI
LOOP CON1
JMP $
CODE ENDS
END START
实验四 求最大值和最小值
一、 实验目的
1、 学习子程序的定义和调用方法。
2、 掌握子程序设计、 调试。
二、 实验内容
对内存中给定的几个无符号字节数, 求其最大值和最小值并在数码管上显示。
三、 实验程序框图
四、 实验步骤
联机模式:
(1)在内存4000H~4007H中写入任意八个字节的数, 按下MON键, 返回P状态。
(2)在PC机和实验系统联机状态下, 运行该实验程序, 可用鼠标左键单击菜单栏”文件”或工具栏”打开图标”, 弹出”打开文件”的对话框, 然后打开8KASM文件夹, 点击S7.ASM文件, 单击”确定”即可装入源文件, 再单击工具栏中编译, 即可完成源文件自动编译、 装载目标代码功能, 再单击”调试”中”连续运行”或工具图标运行, 即开始运行程序。
(3)数码管显示为: ”XX——XX”, 最左两位为最大值, 最右两位为最小值。
脱机模式:
1、 在P.态下, 按SCAL键, 然后在内存4000H~4007H中写入任意八个字节的数, 按下MON键, 返回P状态。
2、 在P.态下, 输入2E70, 按EXEC键。
3、 数码管显示为: ”XX——XX”, 最左两位为最大值, 最右两位为最小值。
五、 实验程序清单
CODE SEGMENT
ASSUME CS:CODE
ORG 2E70H
START: JMP START0
PA EQU 0FF21H ;字位口
PB EQU 0FF22H ;字形口
PC EQU 0FF23H ;键入口
BUF DB ,,,,,
DATA1: DB 0C0H,0F9H,0A4H,0B0H,99H
DB 92H,82H,0F8H,80H,90H,88H,83H
DB 0C6H,0A1H 86H,8EH,0FFH,0CH
DB 89H,0DEH,0C7H,8CH,0F3H
DB 0BFH,8FH
START0: MOV SI,4000H
MOV CX,0008H
CALL MAXMIN
CALL BUF1
CON1: CALL DISP
JMP CON1
MAXMIN: JCXZ EXIT
PUSH SI
PUSH CX
PUSH BX
MOV BH,[SI]
MOV BL,BH
CON2: LODSB
CMP AL,BH
JNA X1
MOV BH,AL
JMP X2
X1: CMP AL,BL
JNB X2
MOV BL,AL
X2: LOOP CON2
MOV AX,BX
POP BX
POP CX
POP SI
EXIT: RET
DISP: MOV AL,0FFH ;00H
MOV DX,PA
OUT DX,AL
MOV CL,0DFH
MOV BX,OFFSET BUF
DIS1: MOV AL,[BX]
MOV AH,00H
PUSH BX
MOV BX,OFFSET DATA1
ADD BX,AX
OV AL,[BX]
POP BX
MOV DX,PB
OUT DX,AL
MOV AL,CL
MOV DX,PA
OUT DX,AL
PUSH CX
DIS2: MOV CX,00A0H
LOOP $
POP CX
CMP CL,0FEH ;01H
JZ LX1
INC BX
ROR CL,1 ;SHR CL,1
JMP DIS1
LX1: MOV AL,0FFH
MOV DX,PB
OUT DX,AL
RET
BUF1: MOV BH,AH
CALL ZH
MOV BUF+5,AL
MOV BUF+4,AH
MOV AL,BH
CALL ZH
MOV BUF,AH
MOV BUF+1,AL
MOV BUF+2,17H
MOV BUF+3,17H
RET
ZH: MOV BL,AL
MOV CL,4
ROL AL,CL
AND AL,0FH
MOV AH,AL
MOV AL,BL
AND AL,0FH
RET
CODE ENDS
END START
实验五 A/D转换实验
一、 实验目的
了解模/数转换基本原理, 掌握ADC0809的使用方法。
二、 实验内容
利用实验系统上电位器提供的可调电压作为0809模拟信号的输入, 编制程序, 将模拟量转换为数字量, 经过数码管显示出来。
三、 实验接线图
四、 编程指南
⑴ADC0809的START端为A/D转换启动信号, ALE端为通道选择地址的锁存信号, 实验电路中将其相连, 以便同时锁存通道地址并开始A/D采样转换, 其输入控制信号为CS和WR, 故启动A/D转换只须如下两条指令:
MOV DX, ADPORT ; ADC0809端口地址
OUT DX, AL ; 发CS和WR信号并送通道地址
⑵用延时方式等待A/D转换结果, 使用下述指令读取A/D转换结果。
MOV DX, ADPORT ; ADC0809端口地址
IN AL, DX
⑶循环不断采样A/D转换的结果, 边采样边显示A/D转换后的数字量。
五、 实验程序框图
六、 实验步骤
①将0809 CS4插孔连到译码输出8000H插孔、 连JX6→JX17。
②将通道0模拟量输入端IN0连电位器W1的中心插头AOUT1(0-5V)插孔。
③运行实验程序
如在PC机和实验系统联机状态下, 运行该实验程序, 可用鼠标左键单击菜单栏”文件”或工具栏”打开图标”, 弹出”打开文件”的对话框, 然后打开8KASM文件夹, 点击H0809.ASM文件, 单击”确定”即可装入A/D转换实验源文件, 再单击工具栏中编译, 即可完成源文件自动编译、 装载目标代码功能, 再单击”调试”中”R运行”或工具图标运行, 即开始运行程序。如果在没有PC机的情况下, 则在8086K系统显示监控提示符”P.”时, 用户段地址固定为0000( 省略输入) , 按SCAL键, 输入起始偏移地址1000, 按EXEC键, 在系统上显示”0809 XX”。”XX”表示输入模拟量转换后的数字量。
④调节电位器WL, 显示器上会不断显示新的转换结果。
模拟量和数字量对应关系的典型值为:
0V→00H +2.5V→80H +5V→FFH
⑤按RST键退出。
以上两种方式运行结果完全一致, 因此, 在下面的实验中, 不论按何种方式均能运行实验程序。
七、 实验程序清单
CODE SEGMENT ;H0809.ASM
ASSUME CS:CODE
ADPORT EQU 8000H
PA EQU 0FF21H ;字位口
PB EQU 0FF22H ;字形口
PC EQU 0FF23H ;键入口
ORG 1000H
START: JMP START0
BUF DB ,,,,,
DATA1: DB 0C0H,0F9H,0A4H,0B0H,99H
DB 92H,82H,0F8H,80H,90H,88H,83H
DB 0C6H,0A1H, 86H,8EH,0FFH,0CH
DB 89H,0DEH,0C7H,8CH,0F3H
DB 0BFH,8FH
START0: CALL BUF1
ADCON: MOV AX,00
MOV DX,ADPORT
OUT DX,AL
MOV CX,0500H
DELAY: LOOP DELAY
MOV DX,ADPORT
IN AL,DX
CALL CONVERS
CALL DISP
JMP ADCON
CONVERS:MOV AH,AL
AND AL,0FH
MOV BX,OFFSET BUF
MOV [BX+5],AL
MOV AL,AH
AND AL,0F0H
MOV CL,04H
SHR AL,CL
MOV [BX+4],AL
RET
DISP: MOV AL,0FFH ;00H
MOV DX,PA
OUT DX,AL
MOV CL,0DFH
MOV BX,OFFSET BUF
DIS1: MOV AL,[BX]
MOV AH,00H
PUSH BX
MOV BX,OFFSET DATA1
ADD BX,AX
MOV AL,[BX]
POP BX
MOV DX,PB
OUT DX,AL
MOV AL,CL
MOV DX,PA
OUT DX,AL
PUSH CX
DIS2: MOV CX,00A0H
LOOP $
POP CX
CMP CL,0FEH ;01H
JZ LX1
INC BX
ROR CL,1 ;SHR CL,1
JMP DIS1
LX1: MOV AL,0FFH
MOV DX,PB
OUT DX,AL
RET
BUF1: MOV BUF,00H
MOV BUF+1,08H
MOV BUF+2,00H
MOV BUF+3,09H
MOV BUF+4,00H
MOV BUF+5,00H
RET
CODE ENDS
END START
实验六 D/A转换实验( 一)
一、 实验目的
了解数/模转换的基本原理, 掌握DAC0832芯片的使用方法。
二、 实验内容
利用0832经过D/A转换交替产生方波和锯齿波。
三、 实验接线图
四、 编程指南
⑴ 首先须由CS片选信号确定量DAC寄存器的端口地址, 然后锁存一个数据经过0832输出, 典型程序如下:
MOV DX DAPORT ; 0832口地址
MOV AL, DATA ; 输出数据到0832
OUT DX, AL
⑵ 产生波形信号的周期由延时常数确定。
五、 实验程序框图
六、 实验步骤
⒈ 0832片选信号CS5插孔和译码输出8000H插孔相连。
⒉ 连JX2→JX17。
⒊ 运行实验程序
在系统显示监控提示符”P.”时, 按SCAL键, 待系统返P后, 输入10D0, 再按EXEC键, 在系统上显示执行符”┌”。
⒋ 用示波器测量0832左侧AOUT插孔, 应有方波和锯齿波交替输出。
七、 实验程序清单
CODE SEGMENT ;H0832-1.ASM
ASSUME CS:CODE
DAPORT EQU 8000H
ORG 10D0H
START: MOV AL,0FFH
MOV CX,0220H
DACON1: MOV DX,8000H
OUT DX,AL
PUSH CX
MOV CX,0400H
LOOP $
POP CX
NOT AL
LOOP DACON1
MOV DX,DAPORT
MOV AL,00H
MOV CX,0020H
MOV BX,0FFFFH
DACON2: OUT DX,AL
INC AL
DEC BX
CMP BX,0000H
JNZ DACON2
LOOP DACON2
JMP START
CODE ENDS
END START
实验七 D/A转换实验(二)
一、 实验目的
进一步掌握数/模转换的基本原理。
二、 实验内容
经过0832D/A转换输出一个从0V开始逐渐升至5V, 再从5V降至0V的可变电压输出。
三、 实验程序框图
四、 实验步骤
⒈ 接线同实验(一)
⒉ 运行实验程序
在系统显示监控提示符”P.”时, 按SCAL键, 返P后, 输入1110, 按EXEC键, 系统显示0832 ---××, ”××”从00→FF, FF→00不断加大或减小的数字量循环显示。
⒊ 用万用表测量0832左侧AOUT插孔, 应不断加大或减小的电压。
五、 实验程序清单
CODE SEGMENT ;H0832-2.ASM 0-->5V
ASSUME CS:CODE
DAPORT EQU 8000H
PA EQU 0FF21H ;字位口
PB EQU 0FF22H ;字形口
PC EQU 0FF23H ;键入口
ORG 1110H
START: JMP START0
BUF DB ,,,,,
DATA1: DB 0C0H,0F9H,0A4H,0B0H
DB 99H,92H,82H,0F8H,80H,90H,88H
DB 83H,0C6H,0A1H,86H,8EH,0FFH,0CH
DB 89H,0DEH,0C7H,8CH,0F3H
DB 0BFH,8FH
START0: CALL BUF1
DACON0: MOV AL,00H
DACON1: MOV DX,DAPORT
OUT DX,AL
PUSH AX
CALL CONV
MOV CX,0010H
DISCON: PUSH CX
CALL DISP
POP CX
LOOP DISCON
POP AX
INC AL
CMP AL,00H
JNZ DACON1
MOV AL,0FFH
DACON2: MOV DX,DAPORT
OUT DX,AL
PUSH AX
CALL CONV
MOV CX,0010H
DISCON2:PUSH CX
CALL DISP
POP CX
LOOP DISCON2
POP AX
DEC AL
CMP AL,0FFH
JNZ DACON2
JMP DACON0
CONV: MOV AH,AL
AND AL,0FH
MOV BX,OFFSET BUF
MOV [BX+5],AL
MOV AL,AH
AND AL,0F0H
MOV CL,04H
SHR AL,CL
MOV [BX+4],AL
RET
DISP: MOV AL,0FFH ;00H
MOV DX,PA
OUT DX,AL
MOV CL,0DFH
MOV BX,OFFSET BUF
DIS1: MOV AL,[BX]
MOV AH,00H
PUSH BX
MOV BX,OFFSET DATA1
ADD BX,AX
MOV AL,[BX]
POP BX
MOV DX,PB
OUT DX,AL
MOV AL,CL
MOV DX,PA
OUT DX,AL
PUSH CX
DIS2: MOV CX,00A0H
DELAY: LOOP DELAY
POP CX
CMP CL,0FEH ;01H
JZ LX1
INC BX
ROR CL,1 ;SHR CL,1
JMP DIS1
LX1: MOV AL,0FFH
MOV DX,PB
OUT DX,AL
RET
BUF1: MOV BUF,00H
MOV BUF+1,08H
MOV BUF+2,03H
MOV BUF+3,02H
MOV BUF+4,00H
MOV BUF+5,00H
RET
DELY: PUSH CX
DEL2: PUSH CX
DEL3: PUSH CX
LOOP $
POP CX
LOOP DEL3
POP CX
LOOP DEL2
POP CX
LOOP DELY
RET
CODE ENDS
END START
实验八 8255A并行口实验( 一)
一、 实验目的
⒈ 掌握8255A和微机接口方法。
⒉ 掌握8255A的工作方式和编程原理。
二、 实验内容
用8255PA口控制PB口。
三、 实验接线图
四、 编程指南
⒈ 8255A芯片简介: 8255A可编程外围接口芯片是INTEL公司生产的通用并行接口芯片, 它具有A、 B、 C三个并行接口, 用+5V单电源供电, 能在以下三种方式下工作:
方式0: 基本输入/ 输出方式
方式L: 选通输入/ 输出方式
方式2: 双向选通工作方式
⒉ 使8255A端口A工作在方式0并作为输入口, 读取KL-K8个开关量, PB口工作在方式0作为输出口。
五、 实验程序框图
六、 实验步骤
⒈在系统显示监控提示符”P.”时, 按SCAL键, 传送ROM中的实验程序到内存中。
⒉8255A芯片A口的PA0-PA7依次和开关量输入KL-K8相连。
⒊8255A芯片B口的PB0-PB7依次接LL-L8。
⒋运行实验程序。
在系统显示监控提示符”P.”时, 输入11B0, 按EXEC键, 系统显示执行提示符”┌”拨动K1-K8, LI-L8会跟着亮灭。
七、 实验程序清单
CODE SEGMENT ;H8255-1.ASM
ASSUME CS:CODE
IOCONPT EQU 0FF2BH
IOBPT EQU 0FF29H
IOAPT EQU 0FF28H
ORG 11B0H
START: MOV AL,90H
MOV DX,IOCONPT
OUT DX,AL
NOP
NOP
NOP
IOLED1: MOV DX,IOAPT
IN AL,DX
MOV DX,IOBPT
OUT DX,AL
MOV CX,0FFFFH
DELAY: LOOP DELAY
JMP IOLED1
CODE ENDS
END START
实验九 8259单级中断控制器实验
一、 实验目的
⒈ 掌握8259中断控制器的接口方法。
⒉ 掌握8259中断控制器的应用编程。
二、 实验内容
利用8259实现对外部中断的响应和处理, 要求程序对每次中断进行计数, 并将计数结果送数码显示。
三、 实验接线图
四、 编程指南
⑴ 8259芯片介绍
中断控制器8259A是专为控制优先级中断而设计的芯片。它将中断源优先级排队、 辨别中断源以及提供中断矢量的电路集于一片中。因此无需附加任何电路, 只需对8259A进行编程, 就能够管理8级中断, 并选择优先模式和中断请求方式。即中断结构能够由用户编程来设定。同时, 在不需要增加其它电路的情况下, 经过多片8259A的级联, 能构成多达64级的矢量中断系统。
⑵ 本实验中使用3号中断源IR3, ” ”插孔和IR3相连, 中断方式为边沿触发方式, 每拨二次AN开关产生一次中断, 满5次中断, 显示”8259——GOOD”。如果中断源电平信号不符合规定要求, 则自动转到7号中断, 显示”ERR”。
五、 实验程序框图
IR3中断服务程序 IR7中断服务程序
六、 实验步骤
1、 按图6-6连好实验线路图。
⑴8259的INT连8088的INTR( XL5) ; ⑵8259的INTA连8088的INTA( XL2) ; ⑶” ”插孔和8259的3号中断IR3插孔相连, ” ”端初始为低电平; ⑷8259的CS端接EX1; ⑸连JX4→JX17。
2、 运行实验程序, 在系统处于命令提示符”P.”状态下, 按SCAL键, 输入12D0, 按EXEC键, 系统显示8259-1。
3、 拨动AN开关按钮, 按满L0次显示GOOD。
七、 实验程序清单
CODE SEGMENT ;H8259.ASM
ASSUME CS:CODE
INTPORT1 EQU 0060H
INTPORT2 EQU 0061H
INTQ3 EQU INTREEUP3
INTQ7 EQU INTREEUP7
PA EQU 0FF21H ;字位口
PB EQU 0FF22H ;字形口
PC EQU 0FF23H ;键入口
ORG 12D0H
START: JMP START0
BUF DB ,,,,,
INTCNT DB
DATA1: DB 0C0H,0F9H,0A4H,0B0H
DB 99H,92H,82H,0F8H,80H,90H,88H
DB 83H,0C6H,0A1H,86H,8EH,0FFH,0CH
DB 89H,0DEH,0C7H,8CH,0F3H
DB 0BFH,8FH
START0: CLD
CALL BUF1
CALL WRINTVER
MOV AL,13H
MOV DX,INTPORT1
OUT DX,AL
MOV AL,08H
MOV DX,INTPORT2
OUT DX,AL
MOV AL,09H
OUT DX,AL
MOV AL,0F7H
OUT DX,AL
MOV INTCNT,01H
STI
WATING: CALL DISP ;DISP 8259-1
JMP WATING
WRINTVER: MOV AX,0H
MOV ES,AX
MOV DI,002CH
LEA AX,INTQ3
STOSW
MOV AX,0000H
STOSW
MOV DI,003CH
LEA AX,INTQ7
STOSW
MOV AX,0000H
STOSW
RET
INTREEUP3: CLI
MOV AL,INTCNT
CALL CONVERS
MOV BX,OFFSET BUF
MOV AL,10H
MOV CX,05H
INTRE0: MOV [BX],AL
INC BX
LOOP INTRE0
MOV AL,20H
MOV DX,INTPORT1
OUT DX,AL
ADD INTCNT,01H
CMP INTCNT,06H
JNA INTRE2
CALL BUF2
INTRE1: CALL DISP
JMP INTRE1
CONVERS: AND AL,0FH
MOV BX,OFFSET BUF
MOV [BX+5],AL
RET
INTRE2: MOV AL,20H
MOV DX,INTPORT1
OUT DX,AL
STI
IRET
INTREEUP7: CLI
MOV AL,20H
MOV DX,INTPORT1
OUT DX,AL
CALL BUF3 ;DISP:ERR
INTRE3: CALL DISP
JMP INTRE3
DISP: MOV AL,0FFH ;00H
MOV DX,PA
OUT DX,AL
MOV CL,0DFH
MOV BX,OFFSET BUF
DIS1: MOV AL,[BX]
MOV AH,00H
PUSH BX
MOV BX,OFFSET DATA1
ADD BX,AX
MOV AL,[BX]
POP BX
MOV DX,PB
OUT DX,AL
MOV AL,CL
MOV DX,PA
OUT DX,AL
PUSH CX
DIS2: MOV CX,00A0H
LOOP $
POP CX
CMP CL,0FEH ;01H
JZ LX1
INC BX
ROR CL,1 ;SHR CL,1
JMP DIS1
LX1: MOV AL,0FFH
MOV DX,PB
OUT DX,AL
RET
BUF1: MOV BUF,08H
MOV BUF+1,02H
MOV BUF+2,05H
MOV BUF+3,09H
MOV BUF+4,17H
MOV BUF+5,01H
RET
BUF2: MOV BUF,09H
MOV BUF+1,00H
MOV BUF+2,00H
MOV BUF+3,0DH
MOV BUF+4,10H
MOV BUF+5,10H
RET
BUF3: MOV BUF,0EH
MOV BUF+1,18H
MOV BUF+2,18H
MOV BUF+3,10H
MOV BUF+4,10H
MOV BUF+5,10H
RET
CODE ENDS
END START
实验十 温度控制实验
一、 实验目的
1、 了解集成温度传感器AD590的工作原理和应用, 熟悉小信号放大器的工作原理和零点、 增益的调整方法。
2、 了解微机对温度采样控制的基本方法。
二、 实验内容
设定单点温度控制点为30C, 当小于30C时, L1指示灯亮, 模拟电热器加热, 当大于30C时L1灭, L2亮, 模拟关掉电热器。
三、 实验接线图
四、 编程指南
AD590是电流输出型温度传感器, 工作电压4~30V, 检测温度范围-55 C~+150C, 它有非常好的线性, 灵敏度为1ΜA/K。AD590传感器输出信号经过10K电阻取出的电压信号, 经零点调整, 小信号放大后, 输出的电压信号VT, 供ADC0809采样用。
AD590温度与有关参数一览表
五、 实验程序框图
六、 实验步骤
①备一温度计, 根据室温调整AD590的输出电压, 假如室温为25C, 则调整VR1使LM324( 下) 14脚输出为2.982V, 再调VR2, 使LM324( 下) 8脚输出为0.25V, 再调VR3, 使VT为1.25。
②连JX6→JX17, CS4→8000H, IN0→VT。
③在P态下, 按SCAL键, 输入2C20, 接EXEC键, 显示”AD59XX”, ”XX”为当前温度对应的十六进制值( 对应关系见上表) 。
④用手温摸测AD590的外壳, 观察L1、 L2灯的亮灭情况。
七、 实验程序清单
CODE SEGMENT ;T.ASM
ASSUME CS:CODE
ADPORT EQU 8000H
PA EQU 0FF21H ;字位口
PB EQU 0FF22H ;字形口
PC EQU 0FF23H ;键入口
P2CTL EQU 0FF2BH
P2A EQU 0FF28H
P2B EQU 0FF29H
P2C EQU 0FF2AH
ORG 2C20H
START: JMP START0
BUF DB ,,,,,
DATA1: DB 0C0H,0F9H,0A4H,0B0H,99H
DB 92H,82H,0F8H,80H,90H,88H,83H
DB 0C6H,0A1H,86H,8EH,0FFH,0CH
DB 89H,0DEH,0C7H,8CH,0F3H
D
展开阅读全文