单片机题目,加100分!按键开始报警,红灯亮0.5秒,灭0.5秒,循环不止,要定时器.(写代码)最好能有连线图!单片机型号为mcs-51
来源:学生作业帮助网 编辑:六六作业网 时间:2025/02/04 10:48:02
单片机题目,加100分!按键开始报警,红灯亮0.5秒,灭0.5秒,循环不止,要定时器.(写代码)最好能有连线图!单片机型号为mcs-51
单片机题目,加100分!
按键开始报警,红灯亮0.5秒,灭0.5秒,循环不止,要定时器.(写代码)
最好能有连线图!
单片机型号为mcs-51
单片机题目,加100分!按键开始报警,红灯亮0.5秒,灭0.5秒,循环不止,要定时器.(写代码)最好能有连线图!单片机型号为mcs-51
这是作业吧
要汇编还是c?
; LED P1.0
;BUZ P1.7
;KEY P3.2
org 0000h
ljmp 0060h
org 0060h
MAIN:MOV TMOD,#01H ; 定时器0方式1
MOV TH0,# 3CH ;
MOV TL0,# 0AFH ; 计时50ms
SETB TR0
MOV IE,#83H ; 开中断0与1
MOV R7,#0AH ;记数十次
SETB TCON.2 ; int0边缘触发
SETB PT0;t0高优先级
WAIT:
SJMP WAIT ; 等待
ORG 000BH ; 定时器中断服务程序
SJMP BRT1 ;
ORG 0030H ;
BRT1:DJNZ R7,NEXT ; 若记数未达到10次则返回
CPL P1.0 ; 到十次则闪烁
MOV TH0,#3CH ; T0重装
MOV TL0,#0AFH ;
MOV R7,#0AH ; 记数重装
NEXT: RETI ; 中断返回
ORG 0003H ; int0中断服务程序
SJMP BRT0 ;
ORG 0050H ;
BRT0:CPL P1.7 ; 取反
MOV R4,#50H ; 延时
LOOP2: DJNZ R4,LOOP2 ;
SJMP BRT0 ; 跳回取反
RETI ;中断返回
end
PS:我在keil u3里仿真过了 我在报警程序里没写停止报警的部分不知道你需不需要,需要的话我可以补充 图片如下
#iclude
void delay() //软件延时
{
int i,j;
for(i=0;i<500;i++)
{
for(j=0;j<121;j++);
}
}
void main()
{
while(1)
{
P1^0=1
delay();
P1^0=0;
delay();
}
}
#include
#define uint unsigned int
uint time;
sbit Led=P1^1;
/*中断计时程序*/
timer0()interrupt 1 using 1
{
TH0=(65536-10000)/256; /*重新定时10ms*/
TL0=(65536-...
全部展开
#include
#define uint unsigned int
uint time;
sbit Led=P1^1;
/*中断计时程序*/
timer0()interrupt 1 using 1
{
TH0=(65536-10000)/256; /*重新定时10ms*/
TL0=(65536-10000)%256;
if(time<50) /*判断计数是否达到50次即为0.5s*/
{time++;}
else
{time=0;Led=~Led} // 取反,清零
}
main()
{
time=0;
TMOD=0x01; /*定时器T0工作在方式1*/
TH0=(65536-10000)/256;/*定时10ms*/
TL0=(65536-10000)%256;
TR0=1;
ET0=1;
EA=1;
while(1); //等待中断
}
关于画图的问题 , 直接将Led灯接在P1^1口就OK;
收起
哎 这个还要那么多分悬赏啊
什么MCU?什么语言?