单片机编程:1.正常情况下,8个LED以较慢的速度闪烁,间隔时间为500ms。

来源:百度知道 编辑:UC知道 时间:2024/09/25 15:19:59
单片机编程:1.正常情况下,8个LED以较慢的速度闪烁,间隔时间为500ms。
2.报警触发后,信号通过INTO或INT1中断,使8个LED以较快的速度快速闪烁,间隔时间200ms,同时使喇叭发出1000HZ的声音
3.设置一个按纽,按下后使系统恢复到正常状态。。

我只能给你思路了。
1.显示用闪烁用定时器0。
2.定时器的初始值要设置成变量。
3.在中断内使定时器初始值改变,
4.中断同时使定时器1工作,输出1000Hz的方波。
5.用一个引脚做按键,检测到此键有效,使定时器1停止工作,同时改变定时器0的初始值。
祝你成功。

ORG 0000H
JMP MAIN
ORG 0030H

;************************************************
MAIN:
MOV A,#0FEH ;赋初始值
LOOP:
MOV R0,#07H ;移动次数
LOOPL:
MOV P0,A ;A中的值送P0口
MOV P2,A ;A中的值送P2口
RL A ;左移
CALL DELAY;调用延时
DJNZ R0,LOOPL

MOV R0,#07H ;移动次数
LOOPR:
MOV P0,A
MOV P2,A
RR A ;右移
CALL DELAY
DJNZ R0,LOOPR
JMP LOOP

;************************************************
DELAY:
MOV R6,#0FFH
DEL:
MOV R7,#0FFH
DJNZ R7,$
DJNZ R6,DEL
RET

;************************************************
END