请高手帮忙,51单片机C语言编程,按p2.1点亮P1.1后5分钟灭,按P2.2点亮P1.2后5分钟灭
答案:2 悬赏:30 手机版
解决时间 2021-04-13 17:42
- 提问者网友:骨子里的高雅
- 2021-04-13 12:21
请高手帮忙,51单片机C语言编程,按p2.1点亮P1.1后5分钟灭,按P2.2点亮P1.2后5分钟灭
最佳答案
- 五星知识达人网友:迷人又混蛋
- 2021-04-13 13:14
#include
#define uint unsigned int
#define uchar unsigned char
sbit key1=P2^1;
sbit key2=P2^2;
sbit led1=P1^1;
sbit led2=P1^2;
uint num,num1,num2,num3;
void delay1ms(uint xms)
{
uint i,j;
for(i=xms;i>0;i--)
for(j=110;j>0;j--);
}
void keyscan()
{
if(key1==0)
{
delay1ms(10); //去抖
if(key1==0)
{
TR0=1; //启动定时同时点亮LED1
led1=0;
}
}
while(!key1); //等待按键释放
if(num1==300) //5分钟
{
num1=0;
TR0=0;
led1=1;
}
if(key2==0)
{
delay1ms(10);
if(key2==0)
{
TR1=1;
led2=0;
}
}
while(!key2);
if(num3==300)
{
num3=0;
TR1=0;
led2=1;
}
}
void main()
{
TMOD=0x11;
TH0=(65536-50000)/256;
TL0=(65536-50000)%256;
TH1=(65536-50000)/256;
TL1=(65536-50000)%256;
EA=1;
ET0=1;
ET1=1;
while(1)
{
keyscan();
}
}
void T0_time()interrupt 1
{
TH0=(65536-50000)/256;
TL0=(65536-50000)%256;
num++;
if(num==20) //1秒
{
num=0;
num1++;
}
}
void T1_time()interrupt 3
{
TH1=(65536-50000)/256;
TL1=(65536-50000)%256;
num2++;
if(num2==20)
{
num2=0;
num3++;
}
}
纯手打,调试半天才调试出来。追问你真是一个好人,谢谢!
#define uint unsigned int
#define uchar unsigned char
sbit key1=P2^1;
sbit key2=P2^2;
sbit led1=P1^1;
sbit led2=P1^2;
uint num,num1,num2,num3;
void delay1ms(uint xms)
{
uint i,j;
for(i=xms;i>0;i--)
for(j=110;j>0;j--);
}
void keyscan()
{
if(key1==0)
{
delay1ms(10); //去抖
if(key1==0)
{
TR0=1; //启动定时同时点亮LED1
led1=0;
}
}
while(!key1); //等待按键释放
if(num1==300) //5分钟
{
num1=0;
TR0=0;
led1=1;
}
if(key2==0)
{
delay1ms(10);
if(key2==0)
{
TR1=1;
led2=0;
}
}
while(!key2);
if(num3==300)
{
num3=0;
TR1=0;
led2=1;
}
}
void main()
{
TMOD=0x11;
TH0=(65536-50000)/256;
TL0=(65536-50000)%256;
TH1=(65536-50000)/256;
TL1=(65536-50000)%256;
EA=1;
ET0=1;
ET1=1;
while(1)
{
keyscan();
}
}
void T0_time()interrupt 1
{
TH0=(65536-50000)/256;
TL0=(65536-50000)%256;
num++;
if(num==20) //1秒
{
num=0;
num1++;
}
}
void T1_time()interrupt 3
{
TH1=(65536-50000)/256;
TL1=(65536-50000)%256;
num2++;
if(num2==20)
{
num2=0;
num3++;
}
}
纯手打,调试半天才调试出来。追问你真是一个好人,谢谢!
全部回答
- 1楼网友:夜风逐马
- 2021-04-13 13:49
p2.1和p2.2是按键,p1.1和p1.2连接的LED灯,这个就是对定时器和I/O口的一个简单应用,自己写写吧,很简单的
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯