📄 ex8-7.sdi
字号:
,,, ORG 0000H ;主程序入口
0000,01 15,, AJMP MAIN
,,, ORG 0013H ;外中断 入口
0013,01 2D,, AJMP BINT1 ;转至ADC0809中断服务子程序
0015,78 30,MAIN,MAIN: MOV R0,#30H ;数据区首地址
0017,7C 08,, MOV R4,#08H ;八路模拟信号
0019,7A 00,, MOV R2,#00H ;模拟通道0
001B,D2 AF,, SETB EA ;开中断
001D,D2 AA,, SETB EX1 ;允许外中断1
001F,D2 8A,, SETB IT1 ;边沿触发
0021,90 7F FF,, MOV DPTR,#7FFFH ;ADC0809端口地址
0024,74 00,, MOV A,#00H
0026,F0,, MOVX @DPTR,A ;启动ADC0809
0027,E5 30,LOOP,LOOP: MOV A,30H
0029,F5 90,, MOV P1,A
002B,80 FA,, SJMP LOOP ;等待
,,,
002D,C0 E0,BINT1,BINT1: PUSH ACC
002F,E0,, MOVX A,@DPTR ;输入转换结果
0030,F6,, MOV @R0,A ;存入内存
0031,08,, INC R0 ;数据区地址加1
0032,0A,, INC R2 ;修改模拟输入通道
0033,EA,, MOV A,R2 ;
0034,F0,, MOVX @DPTR,A ;启动下一路模拟通道进行转换
0035,DC 09,, DJNZ R4,LOOP1 ;八路未完,循环
0037,78 30,, MOV R0,#30H ;八路输入转换完毕
0039,7C 08,, MOV R4,#08H ;
003B,7A 00,, MOV R2,#00H ;
003D,74 00,, MOV A,#00H
003F,F0,, MOVX @DPTR,A ;重新启动ADC0809
0040,D0 E0,LOOP1,LOOP1: POP ACC
0042,32,, RETI ;中断返回
000E,,, END
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -