使用AT89S51单片机,将LED灯亮4s熄2s
来源:互联网 发布:网络挣钱的软件有哪些 编辑:程序博客网 时间:2024/06/02 18:12
使用AT89S51单片机,在原有的基础改动,将LED灯亮4s熄2s。谢谢。用定时器。
(程序写在答案中,此处略 ――做而论道注)
悬赏分:20 - 解决时间:2009-11-3 21:28
;---------------------------------------------------
最佳答案:
原来的程序(局部)如下:
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
;---------------------------------------------------
回答者: 做而论道 - 九级 2009-11-3 17:14
提问者对于答案的评价:感谢你的帮助 你的答案我到明天就会知道是否正确,正确的话我会追加。
原文网址:http://zhidao.baidu.com/question/124085970.html
;---------------------------------------------------
- 使用AT89S51单片机,将LED灯亮4s熄2s
- 单片机 10s定时炸弹
- 单片机LED灯的使用
- keyboard按键按下keyboard-led点亮2s
- 单片机实现60s定时器
- 用AT89S51单片机制作红外电视遥控器
- %s使用
- 单片机编程,输出周期为2S和0.5S的方波
- 单片机--led
- DSP:C54x定时器及使用定时器产生led的1s周期闪烁
- <s:select ></s:select>使用
- PIC单片机-LED阵列的使用
- 将字符串S使用replaceAll方法后,输出s仍未替换
- 使用Let’s Encrypt将WordPress改造为Https访问
- s
- s
- s
- s
- 单片机 汇编程序问题三则
- 单片机编程题 -1
- 单片机编程题 -2
- 单片机编程题 -3
- xUtils简介
- 使用AT89S51单片机,将LED灯亮4s熄2s
- 利用T0定时器定时 100ms,每当定时时间到就使 P1.7 求反
- 51单片机汇编三字节加法
- 基于 74LS164 的 LED 温度显示 设计
- Java IO和Java NIO在文件拷贝上的性能差异分析
- 基于51单片机的定时顺序控制器
- 脉冲序列的检测
- java中volatile关键字的含义
- 求助:使用8031单片机,编一程序......共5个