导航:首页 > 操作系统 > 单片机点亮一盏灯汇编

单片机点亮一盏灯汇编

发布时间:2024-08-07 22:21:34

‘壹’ 汇编语言,利用AT89C51单片机结合8个发光二极管L0~L7,要求每间隔0.5秒依次点亮一盏灯,

ORG 0000H
LJMP MAIN
ORG 0030H
MAIN:
MOV R2,#3
MOV A,#0FEH
LOOP:
MOV P1,A
LCALL DELAY
RL A
DJNZ R2,LOOP
MOV P1,#0FFH
SJMP $
DELAY:
MOV R3,#10
DLY1:
MOV R4,#100
DLY2:
MOV R5,#250
DJNZ R5,$
DJNZ R4,DLY2
DJNZ R3,DLY1
RET
END

‘贰’ 51单片机怎么用汇编实现流水灯循环点亮,要求亮1秒熄灭,等待一秒后下一个才点亮

嘿嘿 俺可以帮你噢
1 给你一个算法
可以利用定时计数器0 定时50毫秒 允许中断 再设置一个软件计数器(初始值为20)
每当定时器定时时间到即50毫秒 计入中断服务程序后 软件计数器减1
等于0时 表示1秒钟到( 要重新给软件计数器送初值) 同时根据用户标志FAL1=1 则
显示内容左移 同时显示 并将用户标志FAL1取反
否则 显示全灭 并将用户标志FAL1取反。具体指导,可以参见右上角的网络私信。

呵呵 满意就选满意回答

‘叁’ 51单片机中如何用汇编语言编写流水灯

流水灯就是51单片机控制led灯依次点亮的控制方式。具体程序如下:

ORG 0000H ;复位启动
AJMP START ;
ORG 001BH ;T1中断
AJMP T1INT ;

;定义变量========================
YSJS EQU 30H;延时计数器
LED EQU 31H;LED控制缓冲器

;主程序==========================
START: MOV LED,#0FEH ;初始化数据
MOV YSJS,#0 ;
MOV TMOD,#10H ;定时器1工作于方式1,16位定时器
MOV TL1,#0B0H ;设置定时初值
MOV TH1,#3CH ;定时时间=50mS
SETB ET1 ;使能定时器1中断
SETB TR1 ;启动定时器1
SETB EA ;开总中断

MOV P1,LED ;初始化流水灯
LOOP: JMP LOOP ;循环等待中断
T1INT: PUSH PSW ;定时器1中断程序
PUSH ACC ;保护现场
MOV TH1,#3CH ;定时时间=50mS
MOV TL1,#0B0H ;
INC YSJS ;

PUSH ACC ;保护ACC
MOV A,YSJI ;
CJNE A,#2,QT1 ;50mS*2=100mS
MOV P1,LED ;
MOV A,LED ;
RL A ;累加器A的值循环左移1位
MOV LED,A ;
MOV YSJS,#0 ;
QT1: POP ACC ;恢复现场
POP PSW ;
RETI ;返回主程序
END ;汇编程序结束

(3)单片机点亮一盏灯汇编扩展阅读:

实现流水灯的三个方法:

第一种,总线方法实现流水灯。这是一种比较笨但又最易理解的方法,采用顺序程序结构,用位指令控制P1口的每一个位输出高低电平,加上延时函数,即可控制每个LED灯的亮灭。

第二种,移位方法实现流水灯采用循环程序结构编程。首先在程序开始给P1.0口送一个低电平,其它位为高。然后延时一段时间再让低电平往高位移动,这样就实现“流水”的效果了。

第三种,库函数实现流水灯。利用左移函数进行。

阅读全文

与单片机点亮一盏灯汇编相关的资料

热点内容
压缩包软件如何安装 浏览:765
我的世界服务器1122地址 浏览:3
苹果如何与安卓系统连接服务器 浏览:932
农业银行app学生缴费怎么切换 浏览:468
福建在哪个app上有安康码 浏览:545
用友商贸宝t1登录找不到加密狗 浏览:555
区间测速算法不正确 浏览:331
appstore转到哪个国家比较好 浏览:924
程序员为什么被公司埋炸弹 浏览:941
linuxds18b20驱动 浏览:137
集群大数据编译命令 浏览:536
什么狼人杀app好 浏览:303
hadoop压缩命令 浏览:655
croe壳命令 浏览:77
抽干文件夹图片 浏览:950
android光感 浏览:968
php业务流 浏览:971
devc编译错了怎么办 浏览:300
编译系统都有哪些部分 浏览:707
数据库技术pdf 浏览:232