51单片机汇编语言设计流水灯
创作时间:
作者:
@小白创作中心
51单片机汇编语言设计流水灯
引用
CSDN
1.
https://m.blog.csdn.net/m0_73931287/article/details/139013907
本文介绍了如何使用51单片机汇编语言设计流水灯的两种方法。第一种方法是基本的流水灯实现,通过循环移位和延时函数实现流水灯效果。第二种方法引入了外部中断0按键控制,增加了定时器中断和外部中断的使用,使流水灯可以通过按键控制启停。
1、仿真原理图
2、汇编代码及详细注释
(1)、代码1
ORG 0000H ; 设置代码起始地址为0000H 熄灭发光二极管
MOV A,#0FEH ; 将数值0FEH载入A寄存器,熄灭所有发光二极管
MOV P1, A ; 将A寄存器的值移动到P1寄存器,将0FEH写入P1端口
LOOP: ; LOOP标签处的代码
RL A ; 将A寄存器的值左循环移位,实现流水灯效果
MOV P1, A ; 将A寄存器的值移动到P1寄存器,更新P1端口
CALL Delay ; 调用延时函数,进行延时
SJMP LOOP ; 跳转到LOOP标签处,循环执行
Delay: ; Delay标签处的延时函数
MOV R2,#10 ; 将100载入R2寄存器,作为外循环计数器
MOV R1,#10 ; 将10载入R1寄存器,作为内循环计数器
MOV R0,#10 ; 将10载入R0寄存器,作为最内循环计数器
DLP: ; DLP标签处的代码
DJNZ R0, DLP ; 如果R0不为0,则减1并跳转到DLP标签处,进行最内循环
DJNZ R1, DLP ; 如果R1不为0,则减1并跳转到DLP标签处,进行内循环
DJNZ R2, DLP ; 如果R2不为0,则减1并跳转到DLP标签处,进行外循环
RET ; 返回到调用者
END ; 程序结束
(2)、代码2
引入外部中断0按键控制
ORG 0000H ; 设置代码起始地址为0000H
AJMP MAIN ; 跳转到MAIN标签处
ORG 0003H ; 设置代码起始地址为0003H
AJMP ESINT ; 跳转到ESINT标签处
ORG 000BH ; 设置代码起始地址为000BH
AJMP DST0 ; 跳转到DST0标签处
ORG 0100H ; 设置代码起始地址为0100H
MAIN: ; MAIN标签处的代码
MOV TMOD,#01H ; 设置定时器模式
SETB IT0 ; 设置外部中断0为下降沿触发
MOV TH0,#3CH ; 设置定时器0的高8位初值
MOV TL0,#0B0H ; 设置定时器0的低8位初值
SETB PT0 ; 设置定时器0为自动重载方式
CLR TR0 ; 清除定时器0运行控制位
SETB EX0 ; 使能外部中断0
SETB ET0 ; 使能定时器0中断
SETB EA ; 全局中断使能
MOV P1,#0FEH ; 将P1寄存器设置为0FEH
MOV A,P1 ; 将P1寄存器的值移动到A寄存器
MOV R0,#5 ; 将立即数5移动到R0寄存器
AJMP $ ; 无条件跳转到当前地址
ORG 0200H ; 设置代码起始地址为0200H
ESINT: ; ESINT标签处的代码
CPL TR0 ; 完全翻转TR0寄存器的值,控制启停
RETI ; 从中断返回
ORG 0300H ; 设置代码起始地址为0300H
DST0: ; DST0标签处的代码
MOV TH0,#3CH ; 设置定时器0的高8位初值
MOV TL0,#0B0H ; 设置定时器0的低8位初值
CLR TR0 ; 清除定时器0运行控制位
DEC R0 ; R0寄存器的值减1
CJNE R0,#0,UNACT ; 比较R0寄存器的值是否等于0,如果不等于0,跳转到UNACT标签处
MOV R0,#5 ; 如果R0寄存器的值等于0,将立即数5移动到R0寄存器
RL A ; 将A寄存器的值左循环移位
MOV P1,A ; 将A寄存器的值移动到P1寄存器
UNACT: ; UNACT标签处的代码
SETB TR0 ; 设置TR0寄存器为1,启动定时器0
RETI ; 从中断返回
END ; 程序结束
热门推荐
如何全面分析黄金回收的市场行情?这个市场的发展趋势如何?
揭开人体免疫系统的奥秘:功能、器官与健康关系
王者荣耀S38赛季打野位调整详解:减速机制、野怪改动与英雄重做
抗菌肽“新星”诞生!山东大学AI技术助力医学破局
如何提高大脑记忆力
中国象棋的价值和意义(探寻中国象棋的千年智慧,传承文化瑰宝,激活国粹新生命)
2024年建筑设计行业展望与分析
狗狗早已视你为家人的六大表现,你别傻乎乎的还不知道吧?
奇门遁甲:起盘与找用神的完整指南
隋炀帝愍皇后萧氏:中国古代十大美女之一
高职可以升本科吗?官方新通知,含金量上升,要抓住好机会!
中国历史上的兵家四圣,哪一个才是你心目中实力最强的呢?
读书 | 杨过与小龙女,性格迥异的两人为何结成了生死爱侣?
中国医科大学就业率及就业前景怎么样
喝能量饮料,不安全
鲁班书为何被称为禁书?都有什么原因存在?
全境封锁2大盾玩法攻略:打造超级肉装
盘点8部曾经登上神坛的动漫,全部看过才算二次元居民!
“如果你想通透些,读读《国富论》吧”
家长群不是任务群,家长群到底是用来干什么的?我们应当如何用好家长群?
60%还是75%配列?帮你挑选合适的键盘布局!
穿越历史与现代,在衡阳浪漫Citywalk
格林伯格的艺术批评对中国当代艺术发展的反思——以《前卫与媚俗》为例
少吃盐,为健康护航
休闲装不等于随便!穿搭达人教你如何穿出高级感
母亲节庆祝全攻略:让母爱更加温馨
望远镜夜晚使用技巧分享
学习单片机需要具备的前置知识,学到牛牛告诉你
送玉手镯有什么讲究多,颜色有什么讲究:玉镯寓意与选购指南
模拟人生4-生活模式图文详细攻略