📄 ex8-9.sdi
字号:
,,,
,,, ORG 0000H
0000,02 00 30,START,START: LJMP MAIN
,,, ORG 0003H
0003,02 00 83,, LJMP PINT1
,,, ORG 0030H
,,,;********************* 主程序*************************
0030,75 80 FF,MAIN,MAIN: MOV P0,#0FFH
0033,75 81 70,, MOV SP,#70H
0036,75 20 00,, MOV 20H,#00H ;内存单元清0H
0039,75 21 00,, MOV 21H,#00H
003C,75 22 00,, MOV 22H,#00H
003F,75 88 01,, MOV TCON,#01H ;设置外部中断边沿触发方式
0042,75 A8 81,, MOV IE,#81H ;开中断
0045,10 D5 02,WDIN,WDIN: JBC PSW.5,TRAN ;查询等待ICL7135完成一次A/D转换的结果标志
0048,01 45,, AJMP WDIN
004A,E5 20,TRAN,TRAN: MOV A,20H ;将A/D转换结果BCD数据通过8051I/O端口进行显示
004C,30 E6 0B,, JNB ACC.6,UN
004F,75 90 FF,, MOV P1,#0FFH
0052,75 A0 FF,, MOV P2,#0FFH
0055,43 B0 F0,, ORL P3,#0F0H
0058,80 EB,, SJMP WDIN
005A,30 E5 0B,UN,UN: JNB ACC.5,RT
005D,75 90 00,, MOV P1,#00H
0060,75 A0 00,, MOV P2,#00H
0063,53 B0 0F,, ANL P3,#0FH
0066,80 DD,, SJMP WDIN
0068,20 E7 04,RT,RT: JB ACC.7,PG
006B,D2 B3,NG,NG: SETB P3.3
006D,80 02,, SJMP DP
006F,C2 B3,PG,PG: CLR P3.3
0071,C4,DP,DP: SWAP A
0072,54 F0,, ANL A,#0F0H
0074,53 B0 0F,, ANL P3,#0FH
0077,42 B0,, ORL P3,A
0079,E5 21,, MOV A,21H
007B,F5 90,, MOV P1,A
007D,E5 22,, MOV A,22H
007F,F5 A0,, MOV P2,A
0081,80 C2,, SJMP WDIN
,,,
,,,;************************* ICL7135中断服务程序 ***********************************
0083,75 A8 00,PINT1,PINT1: MOV IE,#00 ;关中断
0086,E5 80,, MOV A,P0 ;读取8051的P0口,获得A/D转换结果的万位数据
0088,FA,, MOV R2,A ;
0089,54 F0,, ANL A,#0F0H
008B,70 2A,, JNZ PRI ;D5=0,返回
008D,79 20,, MOV R1,#20H
008F,EA,, MOV A,R2
0090,54 01,, ANL A,#01H
0092,D7,, XCHD A,@R1
0093,EA,, MOV A,R2
0094,54 0E,, ANL A,#0EH
0096,C4,, SWAP A
0097,D7,, XCHD A,@R1
0098,F7,, MOV @R1,A
0099,09,, INC R1
009A,E5 80,WD4,WD4: MOV A,P0 ;读取8051的P0口,获得A/D转换结果的千位数据
009C,30 E7 FB,, JNB ACC.7,WD4
009F,C4,, SWAP A
00A0,F7,, MOV @R1,A ;千位数据送(21H).4-7
00A1,E5 80,WD3,WD3: MOV A,P0 ;读取8051的P0口,获得A/D转换结果的百位数据
00A3,30 E6 FB,, JNB ACC.6,WD3
00A6,D7,, XCHD A,@R1 ;千位数据送(21H).0-3
00A7,09,, INC R1
00A8,E5 80,WD2,WD2: MOV A,P0 ;读取8051的P0口,获得A/D转换结果的十位数据
00AA,30 E5 FB,, JNB ACC.5,WD2
00AD,C4,, SWAP A
00AE,F7,, MOV @R1,A ;十位数据送(22H).4-7
00AF,E5 80,WD1,WD1: MOV A,P0 ;读取8051的P0口,获得A/D转换结果的个位数据
00B1,30 E4 FB,, JNB ACC.4,WD1
00B4,D7,, XCHD A,@R1 ;个位数据送(22H).0-3
00B5,D2 D5,, SETB PSW.5 ;设置一次A/D转换结果读出标志
00B7,75 A8 81,PRI,PRI: MOV IE,#81H ;开中断
00BA,32,, RETI ;中断返回
000E,,,END
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -