51单片机常见汇编程序实验代码

上传人:s9****2 文档编号:471016939 上传时间:2023-09-27 格式:DOC 页数:13 大小:209KB
返回 下载 相关 举报
51单片机常见汇编程序实验代码_第1页
第1页 / 共13页
51单片机常见汇编程序实验代码_第2页
第2页 / 共13页
51单片机常见汇编程序实验代码_第3页
第3页 / 共13页
51单片机常见汇编程序实验代码_第4页
第4页 / 共13页
51单片机常见汇编程序实验代码_第5页
第5页 / 共13页
点击查看更多>>
资源描述

《51单片机常见汇编程序实验代码》由会员分享,可在线阅读,更多相关《51单片机常见汇编程序实验代码(13页珍藏版)》请在金锄头文库上搜索。

1、1. 将片外8000H-80FFH单元写入数据AB12. 将片内RAM20H单元中数据在数码管上显示出来13. 将片内ARM30H-40H单元清零24. 将六位数显示在数码管上25. 8255并口芯片的应用:交通灯控制系统的设计36. 将交通灯点亮37. AD转换实验48. DA转换实验59. 定时器的应用510. 开关控制LED的亮灭及速度611. 计数器实验612. 串并转换实验713. 直流电机速度检测714. 8255PB外接8个开关,编程将开关状态显示在数码管上(串并转换动态扫描方式)815. P3.4接开关K,编程将开关拨动次数,通过串并转换的方式进行显示916. 比较片内RAM3

2、0H、31H两个单元值的大小,将较大的数显示在数码管上1017. 单片机P1口接8个开关,编程将开关状态显示在数码管上(串并转换动态扫描方式)1018. 将片内50H单元的值显示在数码管上1119. 开关K1接P1.0,K2接P1.1,编程实现当按下K1时在数码管上显示50H单元的值,按下K2在数码管上显示51H单元的值121. 将片外8000H-80FFH单元写入数据ABORG 0000H ;程序从0000H开始执行AJMP MAIN ;跳转到主程序ORG 0030H ;以免覆盖中断地址MAIN:MOV SP,#60H; 避免堆栈和工作寄存器区冲突MOV DPTR,#8000HMOV R0,

3、#0LOOP:MOV A,#0ABHMOVX DPTR,AINC DPTRINC R0CJNE R0,#0,LOOP; 判断AJMP $; 等待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

4、MOV A,20HACALL CHAILOOP:MOV R0,#10H ;第一个显示数的地址送R0MOV R1,#2 ;显示2个数MOV R2,#1 ;从倒数第一个数码管开始显示ACALL DISPLAYLJMP LOOP;判断CHAI:MOV B,#10HDIV ABMOV 10H,BMOV 11H,ARETDISPLAY:MOV A,R0 MOV 0FH,#8ACALL P164ACALL PBITACALL DELAYMOV A,#0MOVX DPTR,AINC R0DJNZ R1,DISPLAYRETP164:MOV DPTR,#TAB MOVC A,A+DPTRP164_1:RRC

5、A MOV R3,AMOV ACC.0,CANL A,#0FDHMOV DPTR,#0E102HMOVX DPTR,AORL A,#0FEHMOVX DPTR,AMOV A,R3DJNZ 0FH,P164_1MOV 0FH,#8RETPBIT:MOV DPTR,#0E101H MOV A,R2 MOVX DPTR,ARL AMOV R2,ARETDELAY:MOV R6,#4DEL:MOV R7,#250 DJNZ R7,$DJNZ R6,DELRETTAB:DB 0FCH,60H,0DAH,0F2H,66H,0B6H,0BEH,0E0H DB 0FEH,0F6H,0EEH,3EH,9CH,7

6、AH,9EH,8EHEND3. 将片内ARM30H-40H单元清零 ORG 0000H;程序从0000H开始执行AJMP MAIN;跳转到主程序ORG 0030H;以免覆盖中断地址MAIN:MOV SP,#60H ;避免堆栈和工作寄存器区冲突MOV R0,#30HMOV A,#0LOOP:MOV R0,AINC R0CJNE R0,#41H,LOOP;判断AJMP $;等待END ;地址D:30H4. 将六位数显示在数码管上 ORG 0000H;程序从0000H开始执行AJMP MAIN;跳转到主程序ORG 0030H;以免覆盖中断地址MAIN:MOV SP,#60H ;避免堆栈和工作寄存器区

7、冲突MOV DPTR,#0E100H ;指向命令口地址MOV A,#03H ;PA、PB口输出MOVX DPTR,A ;所有并口显示程序先进行8155初始化LOOP:MOV R0,#10H ;第一个显示数的地址送R0MOV 10H,#0HMOV 11H,#3HMOV 12H,#1HMOV 13H,#2HMOV 14H,#1H MOV 15H,#1H MOV R1,#6 ;显示6个数 MOV R2,#1;从倒数第一个数码管开始显示 ACALL DISPLAY LJMP LOOPDISPLAY:MOV A,R0 MOV 0FH,#8ACALL P164ACALL PBITACALL DELAYMO

8、V A,#0MOVX DPTR,AINC R0DJNZ R1,DISPLAYRETP164:MOV DPTR,#TAB MOVC A,A+DPTRP164_1:RRC A MOV R3,AMOV ACC.0,CANL A,#0FDHMOV DPTR,#0E102HMOVX DPTR,AORL A,#0FEHMOVX DPTR,AMOV A,R3DJNZ 0FH,P164_1MOV 0FH,#8RETPBIT:MOV DPTR,#0E101H MOV A,R2MOVX DPTR,ARL AMOV R2,ARETDELAY:MOV R6,#4DEL:MOV R7,#250 DJNZ R7,$DJN

9、Z R6,DELRETTAB:DB 0FCH,60H,0DAH,0F2H,66H,0B6H,0BEH,0E0H DB 0FEH,0F6H,0EEH,3EH,9CH,7AH,9EH,8EHEND5. 8255并口芯片的应用:交通灯控制系统的设计ORG 0000HAJMP STARTORG 0030HSTART:MOV DPTR,#0AC03H MOV A,#80HMOVX DPTR,A /8155初始化(所有并口显示中都要先8155初始化)MOV R5,#0F0H ACALL DENGMOV R1,#20ACALL DELAY MOV R0,#1LOOP01:MOV R5,#5AH ACALL

10、DENGMOV R1,#100ACALL DELAYDJNZ R0,LOOP01MOV R0,#3 / LED_2闪烁次数LOOP02: MOV R5, #0FAH ACALL DENG MOV R1,#10 ACALL DELAY MOV R5,#50H ACALL DENG MOV R1,#10 ACALL DELAY DJNZ R0,LOOP02MOV R5,#0A5H ACALL DENGMOV R1,#100ACALL DELAYMOV R0,#3LOOP03: MOV R5, #0F5H ACALL DENG MOV R1,#10 ACALL DELAY MOV R5,#0A0H

11、ACALL DENG MOV R1,#10 ACALL DELAY DJNZ R0,LOOP03AJMP LOOP01DENG:MOV DPTR,#0AC00H /8155 PA口输出 MOV A,R5 MOVX DPTR,A /8155 PA口送出显示参数RET /100ms延时子程序DELAY: MOV R7,#200DEL: MOV R6,#229 DJNZ R6,$ DJNZ R7,DEL DJNZ R1,DELAY RET END6. 将交通灯点亮ORG 0000HAJMP STARTORG 0030HSTART:MOV DPTR,#0AC03HMOV A,#80HMOVX DPTR,AMOV DPTR,#0AC00HMOV A,#05AHMOVX DPTR,AAJMP $END7. AD转换实验ORG 0000AJMP STARTORG 000BHAJMP INT_0ORG 0030HSTART:MOV SP,#60HMOV TMOD,#01HMOV TH0,#4BHMOV TL0,#0FDHMOV R4,#2SETB EASETB ET0SETB TR0MOV DPTR,#0E100HMOV A,#3MOVX DPTR,AMOV 22H,#9MOV 23H,#0MOV 24H,#8MOV 25H,#0LOOP:MOV R0,#20HMOV R1,#6

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 机械/制造/汽车 > 工业自动化

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