永发信息网

求单片机C语言编程p1.0,p1.1分别控制led1,led2. p3.2控制按键开关,求详细C程序

答案:3  悬赏:10  手机版
解决时间 2021-03-12 09:56
  • 提问者网友:捧腹剧
  • 2021-03-11 20:59


最佳答案
  • 五星知识达人网友:低血压的长颈鹿
  • 2021-03-11 22:14
#include<reg51.h>
#define uchar unsigned char
uchar sec,min,num;
sbit led1=P1^0;
sbit led2=P1^1;
sbit key=P3^2;
bit flag;
void delay(uchar x)
{
uchar i,j;
for(i=0;i<x;i++)
for(j=0;j<120;j++);
}
void t0isr() interrupt 1
{
TH0=(65536-50000)/256;
TL0=(65536-50000)%256;
num++;
if(num>=20)
{
num=0;
sec++;
if(sec>59)
{
sec=0;
min++;
switch(min)
{
case 0:led1=0;break;
case 1:if(flag){led1=0;min=0;flag=0;}
break;
case 4:led1=1;led2=0;break;
case 8:led2=1;break;
default:break;
}
if(min>=20)min=0;
}
}
}
void ext0() interrupt 0
{
delay(30);
if(key==0)
{
while(!key);
flag=1;
sec=0;
min=0;
num=0;
led1=1;
led2=1;
}
}
main()
{
TMOD=0x01;
TH0=(65536-50000)/256;
TL0=(65536-50000)%256;
ET0=1;
EA=1;
EX0=1;
IT0=1;
TR0=1;
led1=0;
led2=1;
flag=0;
while(1);
}
全部回答
  • 1楼网友:零点过十分
  • 2021-03-11 23:02
电路图没有,不知道LED是什么电平亮。。。 上面的简单流程图还是错误的,唉,,,
  • 2楼网友:轻熟杀无赦
  • 2021-03-11 22:19
#include<reg51.h> #define uchar unsigned char uchar sec,min,num; sbit led1=p1^0; sbit led2=p1^1; sbit key=p3^2; bit flag; void delay(uchar x) { uchar i,j; for(i=0;i<x;i++) for(j=0;j<120;j++); } void t0isr() interrupt 1 { th0=(65536-50000)/256; tl0=(65536-50000)%256; num++; if(num>=20) { num=0; sec++; if(sec>59) { sec=0; min++; switch(min) { case 0:led1=0;break; case 1:if(flag){led1=0;min=0;flag=0;} break; case 4:led1=1;led2=0;break; case 8:led2=1;break; default:break; } if(min>=20)min=0; } } } void ext0() interrupt 0 { delay(30); if(key==0) { while(!key); flag=1; sec=0; min=0; num=0; led1=1; led2=1; } } main() { tmod=0x01; th0=(65536-50000)/256; tl0=(65536-50000)%256; et0=1; ea=1; ex0=1; it0=1; tr0=1; led1=0; led2=1; flag=0; while(1); }
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯