首页 > 应用 > 单片机应用
[导读]
使用AT89S51单片机,在原有的基础改动,将LED灯亮4s熄2s。谢谢。用定时器。(程序写在答案中,此处略 ――做而论道注)原来的程序(局部)如下:LOOP: MOV R0, #0AH ;R0=10 CJNE R0, #00H, $ ;比较R0是

使用AT89S51单片机,在原有的基础改动,将LED灯亮4s熄2s。谢谢。用定时器。
(程序写在答案中,此处略 ――做而论道注)

本文引用地址: http://www.21ic.com/app/mcu/201806/764327.htm


原来的程序(局部)如下:

LOOP:
MOV R0, #0AH ;R0=10
CJNE R0, #00H, $ ;比较R0是否为0,原地转移
;R0在中断程序中,100ms减1次1。
;1s钟后,将为0。
CPL LED ;取反,LED亮灭
JMP LOOP

经过分析可以看出,楼主给出的程序是实现LED灯亮1s熄1s的。

按照题目要求,修改后的程序如下:
;----------------------
LED BIT P1.0

ORG 0000H
LJMP START
ORG 000BH
LJMP T0_INT
ORG 0030H
;----------------------
START: ;初始化
MOV SP, #60H
MOV TMOD, #01H ;定时器0方式1定时
MOV TH0, #03CH ;50ms@12MHz
MOV TL0, #0B0H
SETB TR0
SETB ET0
SETB EA ;开中断,完成初始化
;----------------------
LOOP: ;主循环
MOV R0, #40 ;R0 = 40
CJNE R0, #0, $ ;中断40次(即2s),R0才为0
CLR LED ;LED发光
;
MOV R0, #80
CJNE R0, #0, $ ;中断80次,R0才为0
SETB LED ;LED熄灭
LJMP LOOP ;转回去
;----------------------
T0_INT: ;T0的中断程序,100ms执行一次
MOV TL0, #0B0H
MOV TH0, #03CH ;50ms@12MHz
DEC R0 ;R0减一
RETI
;----------------------
END

;---------------------------------------------------


换一批

延伸阅读

[真心话] 单片机大师郭天祥的大学六年,看看与你的有何不同?

单片机大师郭天祥的大学六年,看看与你的有何不同?

在哈尔滨工程大学五年,我在学校电子创新实验室呆了四年,这四年里创新实验室给我提供了良好的学习环境和完善的实验设备;在这里与众多电子爱好者的交流中,使我学到了更多的专业知识;在学校老师们的教导下,让我学会了如何做一名合格的大学生。......

关键字:单片机 郭天祥

[真心话] 一个实例简单明了告诉你为什么要用RTOS

一个实例简单明了告诉你为什么要用RTOS

对于搞单片机的特别用8051系列工程师来说,谈到单片机的RTOS,很多时候会问一句:“为什么要用RTOS?单片机就这一点资源,使用RTOS能保证效率吗?”......

关键字:单片机 RTOS

[图酷] 无用发明之:LED火柴

无用发明之:LED火柴

我们今天来谈一谈什么是创新,在手机上加入摄像头是创新,声控手机少掉一些操作步骤也是创新,这些都是成功的创新,然而还有一些创新却让我们的生活变得更加麻烦。比如,不用点火的火柴。 Matchbox ......

关键字:

[真心话] 漫漫电子工程路:尝百鲜之后,我还是如此钟情于单片机

漫漫电子工程路:尝百鲜之后,我还是如此钟情于单片机

现在想起来,当时的情形还历历在目。当时工作非常艰辛,累得我是满地找牙。记得进厂的第一天,就加班通霄,以后天天晚上加班至12点,早上7点起床。......

关键字:电子工程师 单片机
条评论

我 要 评 论

网友评论

技术子站

更多

人才招聘

更多

项目外包

更多

推荐博客