资源描述
实验一 二进制码转换为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
DB 0BFH,8FH
START0: CALL BUF1
MOV DX,P2CTL
MOV AL,80H
OUT DX,AL
ADCON: MOV AX,00
MOV DX,ADPORT
OUT DX,AL
MOV CX,0500H
DELAY: LOOP DELAY
MOV DX,ADPORT
IN AL,DX
PUSH AX
CMP AL,4DH
JNC CT1
MOV AL,0FEH
CON: MOV DX,P2A
OUT DX,AL
POP AX
CALL CONVERS
CALL DISP
JMP ADCON
CT1: MOV AL,0FDH
JMP CON
CONVERS: MOV AH,AL
AND AL,0FH
MOV BX,O
展开阅读全文