谁能帮我这一个51单片机c程序呢?要求让P1.0口的LED亮10秒左右,熄灭后,同时P2.5的蜂鸣

2025-04-02 16:08:08
推荐回答(1个)
回答1:

//假设晶振12MHZ
#include "reg51.h"
unsigned int YSJS=0;
sbit LED=P1^0;
sbit YSQ=P2^5;
void main(void)
{
TMOD |= 0X10; //定时器1工作于方式1,16位定时器
TH1 = 0XFF; //定时器1定时时间=500uS
TL1 = 0X06;
ET1 = 1; //使能定时器1中断
EA =1; //开总中断
LED=0;
YSQ=0;

while(1)
{
}
}

void TIMER1(void) interrupt 3 //定时器1中断函数使用默认寄存器组
{
TH1 = 0XFF; //定时器1定时时间=500us
TL1 = 0X06;

YSJS++;
if(YSJS==20000) //500uS*20000=10000000us=10S
{
LED=!LED;
YSQ=!YSQ;
YSJS = 0
}
}