单片机小白跪求大佬 帮忙做两个程序,用c语言程序做 一个是定时器的,两个灯。一个秒闪烁。一个分闪烁
展开全部
#include<reg52.h>
#define uchar unsigned char
#define uint unsigned int
sbit led_1s=P1^1;
sbit led_1min=P1^2;
uint flag1=0,flag2=0;
void main()
{
TMOD=0X00; //设置工作方式
TH0=(8192-4670)/32;//装初值 晶振频率为11.0952MHz 5ms
TL0=(8192-4670)/32;
EA=1; //开总中断
ET0=1; //开定时器0中断
TR0=1; //启动定时器0
while(1)
{
if(flag1==200)
{
led_1s=~led_1s;
flag1=0;
flag2++;
if(flag2==60)
{
led_1min=~led_1min;
flag2=0;
}
}
}
}
/***************
5ms定时
****************/
void T0_time() interrupt 1
{
TH0=(8192-4670)/32;//重装初值
TL0=(8192-4670)/32;
flag1++;
}
刚写的,亲测可用
#define uchar unsigned char
#define uint unsigned int
sbit led_1s=P1^1;
sbit led_1min=P1^2;
uint flag1=0,flag2=0;
void main()
{
TMOD=0X00; //设置工作方式
TH0=(8192-4670)/32;//装初值 晶振频率为11.0952MHz 5ms
TL0=(8192-4670)/32;
EA=1; //开总中断
ET0=1; //开定时器0中断
TR0=1; //启动定时器0
while(1)
{
if(flag1==200)
{
led_1s=~led_1s;
flag1=0;
flag2++;
if(flag2==60)
{
led_1min=~led_1min;
flag2=0;
}
}
}
}
/***************
5ms定时
****************/
void T0_time() interrupt 1
{
TH0=(8192-4670)/32;//重装初值
TL0=(8192-4670)/32;
flag1++;
}
刚写的,亲测可用
追问
谢谢,晚上回去试试
小哥哥可能再帮个忙呀
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询