永发信息网

请高手帮忙,51单片机C语言编程,按p2.1点亮P1.1后5分钟灭,按P2.2点亮P1.2后5分钟灭

答案:2  悬赏:30  手机版
解决时间 2021-04-13 17:42
请高手帮忙,51单片机C语言编程,按p2.1点亮P1.1后5分钟灭,按P2.2点亮P1.2后5分钟灭
最佳答案
#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++;
}
}
纯手打,调试半天才调试出来。追问你真是一个好人,谢谢!
全部回答
p2.1和p2.2是按键,p1.1和p1.2连接的LED灯,这个就是对定时器和I/O口的一个简单应用,自己写写吧,很简单的
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
大家帮我看看这两个炫舞YY哪个好看
请问怎样才能给当当网的账户充值
我的女友是兵王这个小说在哪个网站更新
求Fs sg技巧性的技术
第三部分阅读理解(共20小题;每小题2分,满
自己DIY的小卧室手绘墙需要花费多少?
现在开通QQ年黄钻送什么礼包?
能告诉我演大刀记的关冲是谁扮演的吗?他是男
富阳最低生活保障工资是多少
口湘塘土菜馆(中华路总店)在哪里啊,我有事要
叫床DJ爽 , 在百度MP3里是什么歌名?有图
爱上一个比自己小15岁的直男怎么办
电脑开机BIOS自检
就业协议书有什么用,合同怎么打印
刚古纸进口的和国产的有什么差别啊
推荐资讯
呐啥qq宠物怎么熄,它杂死不掉,看图。
这么点亮爱强图表呢
DNF开宠物这个方法到底行不行
大家对龙崎樱乃有什么看法
隔行如隔山 隔行不隔理
欧德堡全脂奶粉怎么样,大家认为光明牛奶怎么
长1米7,宽66厘米,等于多少平方?是怎么算出
荣誉手机超市(1店)地址在什么地方,我要处理
QQ被盗,哎
当你家里有电脑了,你会在看电视吗?
阅读下面短文, 掌握其大意, 然后从1-10各题所
成都绵阳商会我想知道这个在什么地方
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?