《51单片机常见汇编程序实验代码.pdf》由会员分享,可在线阅读,更多相关《51单片机常见汇编程序实验代码.pdf(25页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、欢迎您阅读并下载本文档,本文档来源于互联网,如有侵权请联系删除!我们将竭诚为您提供优质的文档!51 单片机常见汇编程序实验代码 欢迎您阅读并下载本文档,本文档来源于互联网,如有侵权请联系删除!我们将竭诚为您提供优质的文档!2 1.将片外 8000H-80FFH 单元写入数据 AB 3 2.将片内RAM20H单元中数据在数码管上显示出来 3 3.将片内 ARM30H-40H 单元清零 5 4.将六位数显示在数码管上 5 5.8255 并口芯片的应用:交通灯控制系统的设计 6 6.将交通灯点亮 7 7.AD 转换实验 8 8.DA 转换实验 10 9.定时器的应用 11 10.开关控制 LED 的
2、亮灭及速度 12 11.计数器实验 12 12.串并转换实验 14 13.直流电机速度检测 15 14.8255PB 外接 8 个开关,编程将开关状态显示在数码管上(串并转换动态扫描方式)17 15.P3.4 接开关 K,编程将开关拨动次数,通过串并转换的方式进行显示 18 16.比较片内 RAM30H、31H 两个单元值的大小,将较大的数显示在数码管上 19 17.单片机 P1 口接 8 个开关,编程将开关状态欢迎您阅读并下载本文档,本文档来源于互联网,如有侵权请联系删除!我们将竭诚为您提供优质的文档!3 显示在数码管上(串并转换动态扫描方式)21 18.将片内 50H 单元的值显示在数码管
3、上 22 19.开关 K1 接 P1.0,K2 接 P1.1,编程实现当按下 K1 时在数码管上显示 50H 单元的值,按下K2 在数码管上显示 51H 单元的值 23 1.将片外 8000H-80FFH单元写入数据 AB ORG 0000H ;程序从 0000H 开始执行 AJMP MAIN ;跳转到主程序 ORG 0030H ;以免覆盖中断 MAIN:MOV SP,#60H;避免堆栈和工作寄存器区冲突 MOV DPTR,#8000H MOV R0,#0 LOOP:MOV A,#0ABH MOVX DPTR,A INC DPTR INC R0 CJNE R0,#0,LOOP;判断 AJMP$
4、;等待 END;调试-视图-M 存储器(输入 X:8000H)2.将片内 RAM20H 单元中数据在数码管上显示出来 ORG 0000H;程序从 0000H 开始执行 AJMP MAIN;跳转到主程序 ORG 0030H;以免覆盖中断 MAIN:MOV SP,#60H ;避免堆栈和工作寄存器区冲突 MOV DPTR,#0E100H ;指向命令口 MOV A,#03H;PA、PB 口输出 MOVX DPTR,A;所有并口显示程序先进行 8155 初始化 MOV 20H,#34H MOV A,20H ACALL CHAI LOOP:MOV R0,#10H ;第一个显示数的送 R0 MOV R1,#
5、2 ;显示 2 个数 MOV R2,#1;从倒数第一个数码管开始显示 ACALL DISPLAY 欢迎您阅读并下载本文档,本文档来源于互联网,如有侵权请联系删除!我们将竭诚为您提供优质的文档!4 LJMP LOOP;判断 CHAI:MOV B,#10H DIV AB MOV 10H,B MOV 11H,A RET DISPLAY:MOV A,R0 MOV 0FH,#8 ACALL P164 ACALL PBIT ACALL DELAY MOV A,#0 MOVX DPTR,A INC R0 DJNZ R1,DISPLAY RET P164:MOV DPTR,#TAB MOVC A,A+DPTR
6、 P164_1:RRC A MOV R3,A MOV ACC.0,C ANL A,#0FDH MOV DPTR,#0E102H MOVX DPTR,A ORL A,#0FEH MOVX DPTR,A MOV A,R3 DJNZ 0FH,P164_1 MOV 0FH,#8 RET PBIT:MOV DPTR,#0E101H MOV A,R2 MOVX DPTR,A RL A MOV R2,A RET DELAY:MOV R6,#4 DEL:MOV R7,#250 DJNZ R7,$DJNZ R6,DEL RET TAB:DB 0FCH,60H,0DAH,0F2H,66H,0B6H,0BEH,0E
7、0H DB 0FEH,0F6H,0EEH,3EH,9CH,7AH,9EH,8EH END 欢迎您阅读并下载本文档,本文档来源于互联网,如有侵权请联系删除!我们将竭诚为您提供优质的文档!5 3.将片内 ARM30H-40H 单元清零 ORG 0000H;程序从 0000H 开始执行 AJMP MAIN;跳转到主程序 ORG 0030H;以免覆盖中断 MAIN:MOV SP,#60H ;避免堆栈和工作寄存器区冲突 MOV R0,#30H MOV A,#0 LOOP:MOV R0,A INC R0 CJNE R0,#41H,LOOP;判断 AJMP$;等待 END;D:30H 4.将六位数显示在数码
8、管上 ORG 0000H;程序从 0000H 开始执行 AJMP MAIN;跳转到主程序 ORG 0030H;以免覆盖中断 MAIN:MOV SP,#60H ;避免堆栈和工作寄存器区冲突 MOV DPTR,#0E100H ;指向命令口 MOV A,#03H ;PA、PB 口输出 MOVX DPTR,A ;所有并口显示程序先进行 8155 初始化 LOOP:MOV R0,#10H;第一个显示数的送 R0 MOV 10H,#0H MOV 11H,#3H MOV 12H,#1H MOV 13H,#2H MOV 14H,#1H MOV 15H,#1H MOV R1,#6 ;显示 6 个数 MOV R2
9、,#1;从倒数第一个数码管开始显示 ACALL DISPLAY LJMP LOOP DISPLAY:MOV A,R0 MOV 0FH,#8 ACALL P164 ACALL PBIT ACALL DELAY MOV A,#0 MOVX DPTR,A INC R0 DJNZ R1,DISPLAY RET P164:MOV DPTR,#TAB 欢迎您阅读并下载本文档,本文档来源于互联网,如有侵权请联系删除!我们将竭诚为您提供优质的文档!6 MOVC A,A+DPTR P164_1:RRC A MOV R3,A MOV ACC.0,C ANL A,#0FDH MOV DPTR,#0E102H MOV
10、X DPTR,A ORL A,#0FEH MOVX DPTR,A MOV A,R3 DJNZ 0FH,P164_1 MOV 0FH,#8 RET PBIT:MOV DPTR,#0E101H MOV A,R2 MOVX DPTR,A RL A MOV R2,A RET DELAY:MOV R6,#4 DEL:MOV R7,#250 DJNZ R7,$DJNZ R6,DEL RET TAB:DB 0FCH,60H,0DAH,0F2H,66H,0B6H,0BEH,0E0H DB 0FEH,0F6H,0EEH,3EH,9CH,7AH,9EH,8EH END 5.8255 并口芯片的应用:交通灯控制系统
11、的设计 ORG 0000H AJMP START ORG 0030H START:MOV DPTR,#0AC03H MOV A,#80H MOVX DPTR,A/8155 初始化(所有并口显示中都要先 8155 初始化)MOV R5,#0F0H ACALL DENG MOV R1,#20 ACALL DELAY MOV R0,#1 LOOP01:MOV R5,#5AH ACALL DENG MOV R1,#100 ACALL DELAY 欢迎您阅读并下载本文档,本文档来源于互联网,如有侵权请联系删除!我们将竭诚为您提供优质的文档!7 DJNZ R0,LOOP01 MOV R0,#3/LED_2
12、 闪烁次数 LOOP02:MOV R5,#0FAH ACALL DENG MOV R1,#10 ACALL DELAY MOV R5,#50H ACALL DENG MOV R1,#10 ACALL DELAY DJNZ R0,LOOP02 MOV R5,#0A5H ACALL DENG MOV R1,#100 ACALL DELAY MOV R0,#3 LOOP03:MOV R5,#0F5H ACALL DENG MOV R1,#10 ACALL DELAY MOV R5,#0A0H ACALL DENG MOV R1,#10 ACALL DELAY DJNZ R0,LOOP03 AJMP
13、LOOP01 DENG:MOV DPTR,#0AC00H /8155 PA 口输出 MOV A,R5 MOVX DPTR,A /8155 PA 口送出显示参数 RET/100ms 延时子程序 DELAY:MOV R7,#200 DEL:MOV R6,#229 DJNZ R6,$DJNZ R7,DEL DJNZ R1,DELAY RET END 6.将交通灯点亮 ORG 0000H AJMP START ORG 0030H START:MOV DPTR,#0AC03H MOV A,#80H 欢迎您阅读并下载本文档,本文档来源于互联网,如有侵权请联系删除!我们将竭诚为您提供优质的文档!8 MOVX
14、 DPTR,A MOV DPTR,#0AC00H MOV A,#05AH MOVX DPTR,A AJMP$END 7.AD 转换实验 ORG 0000 AJMP START ORG 000BH AJMP INT_0 ORG 0030H START:MOV SP,#60H MOV TMOD,#01H MOV TH0,#4BH MOV TL0,#0FDH MOV R4,#2 SETB EA SETB ET0 SETB TR0 MOV DPTR,#0E100H MOV A,#3 MOVX DPTR,A MOV 22H,#9 MOV 23H,#0 MOV 24H,#8 MOV 25H,#0 LOOP
15、:MOV R0,#20H MOV R1,#6 MOV R2,#1 ACALL DISPLAY SJMP LOOP INT_0:MOV TH0,#4BH MOV TL0,#0FDH DJNZ R4,EXIT PUSH ACC PUSH DPH PUSH DPL MOV DPTR,#0A000H MOVX A,DPTR MOV B,#10H DIV AB MOV 21H,A 欢迎您阅读并下载本文档,本文档来源于互联网,如有侵权请联系删除!我们将竭诚为您提供优质的文档!9 MOV 20H,B MOVX DPTR,A MOV R4,#2 POP DPL POP DPH POP ACC EXIT:RET
16、I DISPLAY:MOV A,R0 MOV 0FH,#8 ACALL P164 ACALL PBIT ACALL DELAY MOV A,#0 MOVX DPTR,A INC R0 DJNZ R1,DISPLAY RET P164:MOV DPTR,#TAB MOVC A,A+DPTR P164_1:RRC A MOV R3,A MOV ACC.0,C ANL A,#0FDH MOV DPTR,#0E102H MOVX DPTR,A ORL A,#0FEH MOVX DPTR,A MOV A,R3 DJNZ 0FH,P164_1 MOV 0FH,#8 RET PBIT:MOV DPTR,#0
17、E101H MOV A,R2 MOVX DPTR,A RL A MOV R2,A RET DELAY:MOV R6,#4 DEL:MOV R7,#250 DJNZ R7,$DJNZ R6,DEL RET TAB:DB 0FCH,60H,0DAH,0F2H,66H,0B6H,0BEH,0E0H DB 0FEH,0F6H,0EEH,3EH,9CH,7AH,9EH,8EH 欢迎您阅读并下载本文档,本文档来源于互联网,如有侵权请联系删除!我们将竭诚为您提供优质的文档!1 0 END 8.DA 转换实验 ORG 0000 SJMP START ORG 0030H START:MOV SP,#60H MO
18、V A,#0 LOOP1:MOV DPTR,#0B000H MOVX DPTR,A ACALL XS ACALL DELAY INC A CJNE A,#0FFH,LOOP1 LOOP2:MOV DPTR,#0B000H MOVX DPTR,A ACALL XS ACALL DELAY DEC A CJNE A,#0,LOOP2 SJMP LOOP1 XS:PUSH ACC MOV DPTR,#TAB MOV B,#51 DIV AB MOV R1,A XCH A,B MOV B,#5 DIV AB MOVC A,A+DPTR MOV R4,#8 ACALL S164 MOV A,R1 MOV
19、C A,A+DPTR MOV R4,#8 ACALL S164 MOV A,#0 CLR C MOV R4,#16 ACALL S164 POP ACC RET S164:RRC A 欢迎您阅读并下载本文档,本文档来源于互联网,如有侵权请联系删除!我们将竭诚为您提供优质的文档!1 1 MOV P1.0,C CLR P1.1 SETB P1.1 DJNZ R4,S164 RET DELAY:MOV R7,#200 DEl:MOV R6,#229 DJNZ R6,$DJNZ R7,DEL RET TAB:DB 0FCH,60H,0DAH,0F2H,66H,0B6H,0BEH,0E0H DB 0FE
20、H,0F6H,0EEH,3EH,9CH,7AH,9EH,8EH END 9.定时器的应用 ORG 0000H AJMP START ORG 00BH AJMP INT_0 ORG 0030H START:MOV TMOD,#01H MOV TH0,#4BH MOV TL0,#0FDH MOV R0,#20 MOV R1,#0 SETB ET0 SETB TR0 SETB EA AJMP$INT_0:MOV TH0,#4BH MOV TL0,#0FDH DJNZ R0,EXIT MOV R0,#20 MOV A,R1 MOV DPTR,#TAB MOVC A,A+DPTR MOV P1,A IN
21、C R1 CJNE R1,#8,EXIT MOV R1,#0 EXIT:RETI TAB:DB 0FFH,0FAH,0F5H,0AFH,05FH,0AAH,55H,0H,0FFH END 欢迎您阅读并下载本文档,本文档来源于互联网,如有侵权请联系删除!我们将竭诚为您提供优质的文档!1 2 10.开关控制 LED 的亮灭及速度 ORG 0000H ;程序从 0000H 开始执行 AJMP START;跳转到主程序 ORG 0030H ;以免覆盖中断 START:MOV R4,#1 ;立即数传送到累加器 LOOP:CLR P3.3 ;进位标志位清零 LOOP1:JNB P3.5,LOOP;直接寻址
22、位为 0 则转移 JB P3.4,LOOP2;直接寻址位为 1 则转移 JNB P3.4,$INC R4;寄存器增 1 LOOP2:CPL P3.3;累加器求反 MOV A,R4;寄存器内容传送到累加器 A MOV R5,A;累加器内容传送到累加器 ACALL DELAY;调用延时函数 AJMP LOOP1;循环 DELAY:MOV R6,#200 DEL:MOV R7,#229 DJNZ R7,$DJNZ R6,DEL;寄存器减 1,不为 0 则转移 DJNZ R5,DELAY RET;子程序返回 END 11.计数器实验 ORG 0000 SJMP START ORG 001BH LJMP
23、 INT_1 START:MOV SP,#60H MOV R5,#20 MOV TMOD,#15H MOV TH1,#4BH MOV TL1,#0FDH MOV TH0,#0 MOV TL0,#0 SETB ET1 SETB EA SETB TR1 SETB TR0 MOV DPTR,#0E100H MOV A,#3 MOVX DPTR,A LOOP:MOV R0,#50H;MOV R1,#4 欢迎您阅读并下载本文档,本文档来源于互联网,如有侵权请联系删除!我们将竭诚为您提供优质的文档!1 3 MOV R2,#1 LCALL DISPLAY SJMP LOOP INT_1:MOV TH1,#4
24、BH MOV TL1,#0FDH DJNZ R5,CON MOV R5,#20 PUSH ACC PUSH B MOV A,TL0 MOV B,#10H DIV AB MOV 50H,B MOV 51H,A MOV A,TH0 MOV B,#10H DIV AB MOV 52H,B MOV 53H,A MOV TH0,#0 MOV TL0,#0 POP B POP ACC CON:RETI DISPLAY:MOV A,R0 MOV 0FH,#8 ACALL P164 ACALL PBIT ACALL DELAY MOV A,#0 MOVX DPTR,A INC R0 DJNZ R1,DISPL
25、AY RET P164:MOV DPTR,#TAB MOVC A,A+DPTR P164_1:RRC A MOV R3,A MOV ACC.0,C ANL A,#0FDH MOV DPTR,#0E102H MOVX DPTR,A ORL A,#0FEH MOVX DPTR,A 欢迎您阅读并下载本文档,本文档来源于互联网,如有侵权请联系删除!我们将竭诚为您提供优质的文档!1 4 MOV A,R3 DJNZ 0FH,P164_1 MOV 0FH,#8 RET PBIT:MOV DPTR,#0E101H MOV A,R2 MOVX DPTR,A RL A MOV R2,A RET DELAY:MOV
26、 R6,#4 DEL:MOV R7,#250 DJNZ R7,$DJNZ R6,DEL RET TAB:DB 0FCH,60H,0DAH,0F2H,66H,0B6H,0BEH,0E0H DB 0FEH,0F6H,0EEH,3EH,9CH,7AH,9EH,8EH END 12.串并转换实验 ORG 0000 SJMP START ORG 0030H START:MOV SP,#60H MOV R1,#0 MOV DPTR,#TAB LOOP:MOV A,#0 CLR C MOV R4,#24 ACALL S164 MOV A,R1 MOVC A,A+DPTR MOV R4,#8 ACALL S1
27、64 INC R1 MOV R5,#10 ACALL DELAY CJNE R1,#10,EXIT MOV R1,#0 EXIT:SJMP LOOP S164:RRC A MOV P1.0,C CLR P1.1 SETB P1.1 欢迎您阅读并下载本文档,本文档来源于互联网,如有侵权请联系删除!我们将竭诚为您提供优质的文档!1 5 DJNZ R4,S164 RET DELAY:MOV R6,#200 DEL:MOV R7,#230 DJNZ R7,$DJNZ R6,DEL DJNZ R5,DELAY RET TAB:DB 0FCH,60H,0DAH,0F2H,66H,0B6H,0BEH,0E0
28、H,0FEH,0F6H END 13.直流电机速度检测 ORG 0000H AJMP MAIN ORG 001BH AJMP INT_1 ORG 0030H MAIN:MOV SP,#60H MOV TMOD,#15H MOV TH1,#4BH MOV TL1,#0FDH MOV R0,#20 MOV TH0,#0 MOV TL0,#0 SETB ET1 SETB EA SETB TR0 SETB TR1 MOV R2,#00H UP:MOV A,R2 MOV DPTR,#0A000H/注意片选接 YC2,非 YC3 MOVX DPTR,A MOV R5,#1 ACALL DELAY ;100
29、ms INC R2 CJNE R2,#0FFH,UP DOWN:MOV A,R2 MOV DPTR,#0A000H MOVX DPTR,A MOV R5,#1 ACALL DELAY ;100ms DEC R2 CJNE R2,#00H,DOWN AJMP UP 欢迎您阅读并下载本文档,本文档来源于互联网,如有侵权请联系删除!我们将竭诚为您提供优质的文档!1 6 INT_1:MOV TH1,#4BH MOV TL1,#0FDH DJNZ R0,EXIT MOV R0,#20 PUSH ACC PUSH DPH PUSH DPL MOV A,TL0 ACALL XS MOV TL0,#0 MOV
30、 A,TH0 ACALL XS MOV TH0,#0 POP DPL POP DPH POP ACC EXIT:RETI XS:MOV DPTR,#TAB ;MOV A,R2 MOV B,#10 ;显示 10 进制数 DIV AB XCH A,B ;MOV DPTR,#TAB MOVC A,A+DPTR ACALL FS XCH A,B ;MOV DPTR,#TAB MOVC A,A+DPTR ACALL FS RET FS:MOV R1,#8 YW:RRC A MOV P1.0,C CLR P1.1 SETB P1.1 DJNZ R1,YW RET DELAY:MOV R6,#200 DEL
31、:MOV R7,#230 DJNZ R7,$DJNZ R6,DEL DJNZ R5,DELAY RET TAB:DB 0FCH,60H,0DAH,0F2H,66H,0B6H,0BEH,0E0H 欢迎您阅读并下载本文档,本文档来源于互联网,如有侵权请联系删除!我们将竭诚为您提供优质的文档!1 7 DB 0FEH,0F6H,0EEH,3EH,9CH,7AH,9EH,8EH END 14.8255PB 外接 8 个开关,编程将开关状态显示在数码管上(串并转换动态扫描方式)ORG 0000 AJMP START ORG 0030H START:MOV DPTR,#0AC03H MOV A,#82H M
32、OVX DPTR,A MOV DPTR,#0E100H MOV A,#3 MOVX DPTR,A LOOP:MOV DPTR,#0AC01H MOVX A,DPTR MOV B,#10H DIV AB MOV 10H,B MOV 11H,A MOV R0,#10H MOV R1,#2 MOV R2,#1 ACALL DISPLAY SJMP LOOP DISPLAY:MOV A,R0 MOV 0FH,#8 ACALL P164 ACALL PBIT ACALL DELAY MOV A,#0 MOVX DPTR,A INC R0 DJNZ R1,DISPLAY RET P164:MOV DPTR
33、,#TAB MOVC A,A+DPTR P164_1:RRC A MOV R3,A MOV ACC.0,C ANL A,#0FDH MOV DPTR,#0E102H MOVX DPTR,A ORL A,#0FEH MOVX DPTR,A 欢迎您阅读并下载本文档,本文档来源于互联网,如有侵权请联系删除!我们将竭诚为您提供优质的文档!1 8 MOV A,R3 DJNZ 0FH,P164_1 MOV 0FH,#8 RET PBIT:MOV DPTR,#0E101H MOV A,R2 MOVX DPTR,A RL A MOV R2,A RET DELAY:MOV R6,#4 DEL:MOV R7,#2
34、50 DJNZ R7,$DJNZ R6,DEL RET TAB:DB 0FCH,60H,0DAH,0F2H,66H,0B6H,0BEH,0E0H DB 0FEH,0F6H,0EEH,3EH,9CH,7AH,9EH,8EH END 15.P3.4 接开关 K,编程将开关拨动次数,通过串并转换的方式进行显示 ORG 0000 SJMP START ORG 0030H START:MOV SP,#60H MOV R5,#0 LOOP:JB P3.4,$ACALL DELAY JB P3.4,LOOP INC R5 ACALL XS LOOP1:JNB P3.4,$ACALL DELAY JNB P3
35、.4,LOOP1 INC R5 ACALL XS SJMP LOOP DELAY:MOV R7,#200 DEL:MOV R6,#229 DJNZ R6,$DJNZ R7,DEL RET XS:MOV DPTR,#TAB MOV A,R5 MOV B,#10H 欢迎您阅读并下载本文档,本文档来源于互联网,如有侵权请联系删除!我们将竭诚为您提供优质的文档!1 9 DIV AB MOV R1,A MOV A,B MOVC A,A+DPTR MOV R4,#8 ACALL S164 MOV A,R1 MOVC A,A+DPTR MOV R4,#8 ACALL S164 MOV A,#0 CLR C
36、MOV R4,#16 ACALL S164 RET S164:RRC A MOV P1.0,C CLR P1.1 SETB P1.1 DJNZ R4,S164 RET TAB:DB 0FCH,60H,0DAH,0F2H,66H,0B6H,0BEH,0E0H DB 0FEH,0F6H,0EEH,3EH,9CH,7AH,9EH,8EH END 16.比较片内 RAM30H、31H 两个单元值的大小,将较大的数显示在数码管上 ORG 0000 SJMP START ORG 0030H START:MOV SP,#60H MOV DPTR,#0E100H MOV A,#3 MOVX DPTR,A MO
37、V 30H,#06H ;随便赋两个值,显示较大的 MOV 31H,#11H MOV A,30H SUBB A,31H JC SMALL MOV B,#10H MOV A,30H DIV AB MOV 30H,B MOV 31H,A BIG:MOV R0,#30H 欢迎您阅读并下载本文档,本文档来源于互联网,如有侵权请联系删除!我们将竭诚为您提供优质的文档!2 0 MOV R1,#2 MOV R2,#1 ACALL DISPLAY SJMP BIG SMALL:MOV B,#10H MOV A,31H DIV AB MOV 30H,B MOV 31H,A SMALL1:MOV R0,#30H M
38、OV R1,#2 MOV R2,#1 ACALL DISPLAY SJMP SMALL1 DISPLAY:MOV A,R0 MOV 0FH,#8 ACALL P164 ACALL PBIT ACALL DELAY MOV A,#0 MOVX DPTR,A INC R0 DJNZ R1,DISPLAY RET P164:MOV DPTR,#TAB MOVC A,A+DPTR P164_1:RRC A MOV R3,A MOV ACC.0,C ANL A,#0FDH MOV DPTR,#0E102H MOVX DPTR,A ORL A,#0FEH MOVX DPTR,A MOV A,R3 DJNZ
39、 0FH,P164_1 MOV 0FH,#8 RET PBIT:MOV DPTR,#0E101H MOV A,R2 MOVX DPTR,A RL A MOV R2,A RET 欢迎您阅读并下载本文档,本文档来源于互联网,如有侵权请联系删除!我们将竭诚为您提供优质的文档!2 1 DELAY:MOV R6,#4 DEL:MOV R7,#250 DJNZ R7,$DJNZ R6,DEL RET TAB:DB 0FCH,60H,0DAH,0F2H,66H,0B6H,0BEH,0E0H DB 0FEH,0F6H,0EEH,3EH,9CH,7AH,9EH,8EH END 17.单片机 P1 口接 8 个开
40、关,编程将开关状态显示在数码管上(串并转换动态扫描方式)ORG 0000H SJMP START ORG 0030H START:MOV SP,#60H MOV DPTR,#0E100H MOV A,#3 MOVX DPTR,A LOOP:MOV A,P1 MOV B,#10H DIV AB MOV 20H,B MOV 21H,A MOV R0,#20H MOV R1,#2 MOV R2,#1 ACALL DISPLAY AJMP LOOP DISPLAY:MOV A,R0 MOV 0FH,#8 ACALL P164 ACALL PBIT ACALL DELAY MOV A,#0 MOVX D
41、PTR,A INC R0 DJNZ R1,DISPLAY RET P164:MOV DPTR,#TAB MOVC A,A+DPTR P164_1:RRC A MOV R3,A MOV ACC.0,C ANL A,#0FDH MOV DPTR,#0E102H 欢迎您阅读并下载本文档,本文档来源于互联网,如有侵权请联系删除!我们将竭诚为您提供优质的文档!2 2 MOVX DPTR,A ORL A,#0FEH MOVX DPTR,A MOV A,R3 DJNZ 0FH,P164_1 MOV 0FH,#8 RET PBIT:MOV DPTR,#0E101H MOV A,R2 MOVX DPTR,A R
42、L A MOV R2,A RET DELAY:MOV R6,#4 DEL:MOV R7,#250 DJNZ R7,$DJNZ R6,DEL RET TAB:DB 0FCH,60H,0DAH,0F2H,66H,0B6H,0BEH,0E0H DB 0FEH,0F6H,0EEH,3EH,9CH,7AH,9EH,8EH END 18.将片内 50H 单元的值显示在数码管上 ORG 0000H SJMP START ORG 0030H START:MOV SP,#60H MOV DPTR,#0E100H MOV A,#3 MOVX DPTR,A LOOP:MOV A,P1 MOV B,#10H DIV
43、AB MOV 20H,B MOV 21H,A MOV R0,#20H MOV R1,#2 MOV R2,#1 ACALL DISPLAY AJMP LOOP DISPLAY:MOV A,R0 MOV 0FH,#8 ACALL P164 ACALL PBIT 欢迎您阅读并下载本文档,本文档来源于互联网,如有侵权请联系删除!我们将竭诚为您提供优质的文档!2 3 ACALL DELAY MOV A,#0 MOVX DPTR,A INC R0 DJNZ R1,DISPLAY RET P164:MOV DPTR,#TAB MOVC A,A+DPTR P164_1:RRC A MOV R3,A MOV A
44、CC.0,C ANL A,#0FDH MOV DPTR,#0E102H MOVX DPTR,A ORL A,#0FEH MOVX DPTR,A MOV A,R3 DJNZ 0FH,P164_1 MOV 0FH,#8 RET PBIT:MOV DPTR,#0E101H MOV A,R2 MOVX DPTR,A RL A MOV R2,A RET DELAY:MOV R6,#4 DEL:MOV R7,#250 DJNZ R7,$DJNZ R6,DEL RET TAB:DB 0FCH,60H,0DAH,0F2H,66H,0B6H,0BEH,0E0H DB 0FEH,0F6H,0EEH,3EH,9CH
45、,7AH,9EH,8EH END 19.开关 K1 接 P1.0,K2 接 P1.1,编程实现当按下 K1 时在数码管上显示 50H 单元的值,按下 K2 在数码管上显示 51H 单元的值 ORG 0000 SJMP START ORG 0030H START:MOV SP,#60H MOV DPTR,#0E100H MOV A,#3 MOVX DPTR,A 欢迎您阅读并下载本文档,本文档来源于互联网,如有侵权请联系删除!我们将竭诚为您提供优质的文档!2 4 MOV 50H,#18H ;50H,51H 随便赋两个值 MOV 51H,#22H LOOP:JB P1.0,D50 JB P1.1,D
46、51 SJMP LOOP D51:MOV R0,#10H MOV R1,#2 MOV R2,#1 MOV A,51H MOV B,#10H DIV AB MOV 10H,B MOV 11H,A ACALL DISPLAY SJMP LOOP D50:MOV R0,#10H MOV R1,#2 MOV R2,#1 MOV A,50H MOV B,#10H DIV AB MOV 10H,B MOV 11H,A ACALL DISPLAY SJMP LOOP DISPLAY:MOV A,R0 MOV 0FH,#8 ACALL P164 ACALL PBIT ACALL DELAY MOV A,#0
47、MOVX DPTR,A INC R0 DJNZ R1,DISPLAY RET P164:MOV DPTR,#TAB MOVC A,A+DPTR P164_1:RRC A MOV R3,A MOV ACC.0,C ANL A,#0FDH MOV DPTR,#0E102H MOVX DPTR,A 欢迎您阅读并下载本文档,本文档来源于互联网,如有侵权请联系删除!我们将竭诚为您提供优质的文档!2 5 ORL A,#0FEH MOVX DPTR,A MOV A,R3 DJNZ 0FH,P164_1 MOV 0FH,#8 RET PBIT:MOV DPTR,#0E101H MOV A,R2 MOVX DPTR,A RL A MOV R2,A RET DELAY:MOV R6,#4 DEL:MOV R7,#250 DJNZ R7,$DJNZ R6,DEL RET TAB:DB 0FCH,60H,0DAH,0F2H,66H,0B6H,0BEH,0E0H DB 0FEH,0F6H,0EEH,3EH,9CH,7AH,9EH,8EH END