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

单片机点亮一盏灯汇编

发布时间: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口送一个低电平,其它位为高。然后延时一段时间再让低电平往高位移动,这样就实现“流水”的效果了。

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

阅读全文

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

热点内容
服务器异常520什么意思 浏览:390
花园最解压的摇椅 浏览:337
手机屏幕旁边变色了怎么办安卓的怎么修 浏览:218
word怎么变成pdf格式 浏览:505
vc60一编译就错误 浏览:458
觉得撒娇很解压 浏览:934
苹果控制点安卓怎么设置 浏览:67
顺丰app里面哪里缴费 浏览:894
鱼池活水能增加密度吗 浏览:245
如何将安卓导入已激活苹果 浏览:501
电脑写程序编译不了 浏览:540
linux限制用户命令 浏览:742
8p咋设置应用加密 浏览:286
我说你这个我听是什么安卓 浏览:23
云计算算程序员吗 浏览:786
vim编译php 浏览:527
如何正确使用国家反诈中心app 浏览:181
编译执行方式的过程 浏览:489
当量计算法的适用条件 浏览:445
arm单片机开发环境 浏览:401