2012单片机程序及复习

上传人:第*** 文档编号:34246415 上传时间:2018-02-22 格式:DOC 页数:15 大小:87KB
返回 下载 相关 举报
2012单片机程序及复习_第1页
第1页 / 共15页
2012单片机程序及复习_第2页
第2页 / 共15页
2012单片机程序及复习_第3页
第3页 / 共15页
2012单片机程序及复习_第4页
第4页 / 共15页
2012单片机程序及复习_第5页
第5页 / 共15页
点击查看更多>>
资源描述

《2012单片机程序及复习》由会员分享,可在线阅读,更多相关《2012单片机程序及复习(15页珍藏版)》请在金锄头文库上搜索。

1、1 清零实验1:将 30H 40H 单元清零ORG 0000AJMP MAINORG 0030HMAIN: MOV SP,#60HMOV R0,#0MOV DPTR,#8000HMOV A,#0ABHLOOP: MOVX DPTR,AINC DPTRDJNZ R0,LOOPAJMP $END2 拆字实验ORG 0000HAJMP MAINORG 0030HMAIN: MOV SP,#60HMOV DPTR,#0E100H /8155 命令口 (8155 初始化 开始)MOV A,#3 /PA PB 口输出,PC 口输出MOVX DPTR,A /(8155 初始化 完)MOV 20H,#34H

2、/将 34H 送 20HMOV A,20H /读出 20H 单元的数ACALL CHAI /调用拆字子程序/*显示子程序送三个入口参数LOOP: MOV R0,#10H /显示缓冲区首地址 MOV R1,#2 /数码管显示位数(2 位)MOV R2,#1 /显示数码管的低位地址;ACALL DISPLAY /调用显示子程序AJMP LOOPDISPLAY: MOV A,R0 ;读显示数MOV 0FH,#8 ;164 移位次数ACALL P164 ;字形码输出子程序ACALL PBIT ;字位码输出子程序ACALL DELAY ;延时 2msMOV A,#0 ;熄灭显示MOVX DPTR,AIN

3、C R0 ;指向下一位显示数DJNZ R1,DISPLAY ;没有显示完继续RETP164: MOV DPTR,#TABMOVC A,A+DPTRP164_1: RRC AMOV R3,AMOV ACC.0,CANL A,#0FDHMOV DPTR,#0E102HMOVX DPTR,AORL A,#0FEHMOVX DPTR,AMOV A,R3DJNZ 0FH,P164_1MOV 0FH,#8RETPBIT: MOV DPTR,#0E101HMOV A,R2MOVX DPTR,ARL AMOV R2,ARETDELAY: MOV R6,#4DEL: MOV R7,#250DJNZ R7,$DJ

4、NZ R6,DELRETTAB: DB 0FCH,60H,0DAH,0F2H,66H,0B6H,0BEH,0E0HDB 0FEH,0F6H,0EEH,3EH,9CH,7AH,9EH, 8EH/拆字子程序CHAI: MOV B,#10H /立即数 10H 送 BDIV AB /A/BMOV 10H,B /B 送 10H 单元(低 4 位)MOV 11H,A /A 送 11H 单元(高 4 位)RET /子程序返回END3 闪烁灯实验ORG 0000HAJMP MAINORG 0030HMAIN: MOV SP,#60HMOV R4,#10LOOP1: CLR P3.3LOOP3: JB P3.5

5、,LOOP1 JB P3.4,LOOP2JNB P3.4,$DJNZ R4,LOOP2MOV R4,#10LOOP2: CPL P3.3MOV 5,4ACALL DELAYAJMP LOOP3MOV R5,#10DELAY: MOV R6,#200DEL: MOV R7,#229DJNZ R7,$DJNZ R6,DELDJNZ R5,DELAYRETEND4 交通灯实验ORG 0000HAJMP MAINORG 0030HMAIN: MOV SP,#60HMOV DPTR,#0AC03HMOV A,#80HMOVX DPTR,AMOV DPTR,#0AC00HMOV A,#0F0HMOVX D

6、PTR,AMOV R5,#20ACALL DELAYLOOP1: MOV A,#5AHMOVX DPTR,AMOV R5,#100ACALL DELAYMOV R4,#3LOOP2: MOV A,#50HMOVX DPTR,AMOV R5,#5ACALL DELAYMOV A,#0FAHMOVX DPTR,AMOV R5,#5ACALL DELAYDJNZ R4,LOOP2 MOV A,#0A5HMOVX DPTR,AMOV R5,#100ACALL DELAYMOV R4,#3LOOP3: MOV A,#0A0HMOVX DPTR,AMOV R5,#5ACALL DELAYMOV A,#0F

7、5HMOVX DPTR,AMOV R5,#5ACALL DELAYAJMP LOOP1DELAY: MOV R6,#200DEL: MOV R7,#229DJNZ R7,$DJNZ R6,DELDJNZ R5,DELAYRETEND5 定时器实验ORG 0000HAJMP MAINORG 001BHAJMP INT_1ORG 0030HMAIN: MOV SP,#60HMOV TMOD,#10HMOV TH1, #4BH /定时器初始化MOV TL1,#0FDHMOV R1,#20SETB EASETB ET1SETB TR1MOV DPTR,#TABMOV R2,#0AJMP $INT_1:

8、 MOV TH1, #4BHMOV TL1,#0FDHDJNZ R1,LP1MOV R1,#20MOV A,R2 MOVC A,A+DPTRMOV P1,AINC R2CJNE R2,#8,LP1MOV R2,#0LP1: RETITAB: DB 0FAH,0F5H,0AFH,5FHDB 0AAH,55H,00H,0FFHEND6 计数器ORG 0000HAJMP MAINORG 001BHAJMP INT_1ORG 0030HMAIN: MOV SP,#60HMOV DPTR,#0E100HMOV A,#3MOVX DPTR,AMOV TMOD, #15HMOV TH1,#4BHMOV TL

9、1,#0FDHMOV R4,#20MOV TH0,#0MOV TL0,#0SETB ET0SETB ET1SETB EASETB TR1SETB TR0 LOOP: MOV R0,#10HMOV R1,#4MOV R2,#1ACALL DISPLAYAJMP LOOPDISPLAY: MOV A,R0MOV 0FH,#8ACALL P164ACALL PBITACALL DELAYMOV A,#0MOVX DPTR,AINC R0DJNZ R1,DISPLAYRETP164: MOV DPTR,#TABMOVC A,A+DPTRP164_1: RRC AMOV R3,AMOV ACC.0,CA

10、NL A,#0FDHMOV DPTR,#0E102HMOVX DPTR,AORL A,#0FEHMOVX DPTR,AMOV A,R3DJNZ 0FH,P164_1MOV 0FH,#8RETPBIT: MOV DPTR,#0E101HMOV A,R2MOVX DPTR,ARL AMOV R2,ARETDELAY: MOV R6,#4DEL: MOV R7,#250DJNZ R7,$DJNZ R6,DELRETTAB: DB 0FCH,60H,0DAH,0F2H,66H,0B6H,0BEH,0E0HDB 0FEH,0F6H,0EEH,3EH,9CH,7AH,9EH, 8EHINT_1 : MOV

11、 TH1,#4BHMOV TL1,#0FDHDJNZ R4,EXITMOV R4,#20PUSH ACC /保护现场MOV A,TL0MOV B,#10HDIV ABMOV 10H,BMOV 11H,AMOV A, TH0MOV B, #10HDIV AB MOV 12H, BMOV 13H, AMOV TL0, #0MOV TH0, #0POP ACC /恢复现场EXIT: RETIEND 7 串并转换实验ORG 0000HAJMP MAINORG 0030HMAIN: MOV R1, #0MOV DPTR,#TABLOOP: CLR CMOV A,#0MOV R4,#24ACALL DIS

12、PMOV A,R1MOVC A,A+DPTRMOV R4,#8ACALL DISPMOV R5,#10ACALL DELAYINC R1CJNE R1,#16,LOOPMOV R1,#0AJMP LOOPDISP: RRC AMOV P1.0,CCLR P1.1SETB P1.1DJNZ R4,DISPRETDELAY: MOV R6,#200DEL: MOV R7,#229DJNZ R7,$DJNZ R6,DELDJNZ R5,DELAYRETTAB: DB 0FCH,60H,0DAH,0F2H,66H,0B6H,0BEH,0E0HDB 0FEH,0F6H,0EEH,3EH,9CH,7AH,

13、9EH, 8EHEND8 A D 转换实验ORG 0000HAJMP MAINORG 001BH /中断开始地址AJMP T1_INT /中断入口ORG 0030HMAIN: MOV SP,#60HMOV TMOD,#10H /定时器初始化MOV TH1, #4BH MOV TL1,#0FDHMOV DPTR,#0E100H /8155 初始化MOV A,#3MOVX DPTR,A /DPTR 需要保护MOV R4,#2MOV 15H,#0 /显示区送初值MOV 14H,#8MOV 13H,#0MOV 12H,#9SETB EA /开启所有中断SETB ET1SETB TR1LOOP: MOV

14、 R0,#10H /显示缓存区首地址MOV R1,#6 /数码管显示位数(6)MOV R2,#1 /显示数码管的低位地址ACALL DISPLAY /调用显示子程序AJMP LOOPT1_INT: MOV TH1,#4BH /重送初值MOV TL1 ,#0FDHDJNZ R4,EXIT /到 100msMOV R4,#2PUSH DPH /保护现场PUSH DPLPUSH ACCMOV DPTR,#0AC00H /0809 地址送 dptrMOVX A,DPTR /读转换结果MOV B,#51 /拆字并保存DIV ABMOV 11H,A MOV A,BMOV B,#5DIV ABMOV 10H

15、,A /启动 AD 转换MOVX DPTR,APOP ACC /恢复现场POP DPLPOP DPHEXIT: RETI /返回DISPLAY: MOV A,R0 ;读显示数MOV 0FH,#8 ;164 移位次数ACALL P164 ;字形码输出子程序ACALL PBIT ;字位码输出子程序ACALL DELAY ;延时 2msMOV A,#0 ;熄灭显示MOVX DPTR,AINC R0 ;指向下一位显示数DJNZ R1,DISPLAY ;没有显示完继续RETP164: MOV DPTR,#TABMOVC A,A+DPTRCJNE R0,#11H,P164_1INC AP164_1: RRC AMOV R3,AMOV ACC.0,CANL A,#0FDHMOV DPTR,#0E102HMOVX DPTR,AOR

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 办公文档 > 解决方案

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号