欧美极品高清xxxxhd,国产日产欧美最新,无码AV国产东京热AV无码,国产精品人与动性XXX,国产传媒亚洲综合一区二区,四库影院永久国产精品,毛片免费免费高清视频,福利所导航夜趣136
標(biāo)題:
求大神看看單片機程序,為什么啟動按鈕還有開關(guān)按下后30秒倒計時不開啟
[打印本頁]
作者:
麻煩制造者118
時間:
2020-12-6 19:03
標(biāo)題:
求大神看看單片機程序,為什么啟動按鈕還有開關(guān)按下后30秒倒計時不開啟
51hei圖片20201206190307.png
(100.89 KB, 下載次數(shù): 27)
下載附件
2020-12-6 19:03 上傳
單片機源程序如下:
#include<reg51.h>
#define uchar unsigned char
#define uint unsigned int
unsigned char table[]={0X3F,0X06,0X5B,0X4F,0X66,0X6D,0X7D,0X07,0X7F,0X6F};//共陰數(shù)碼管編碼
uint i,j,time,num;
uchar ge,shi;
void delay(z);
void display();
bit flag,flag1;
sbit k1=P1^0;//1號開關(guān)
sbit k2=P1^1;//2號開關(guān)
sbit k3=P1^2;//3號開關(guān)
sbit q1=P1^3;//啟動按鈕
sbit q2=P1^4;//復(fù)位按鈕
sbit led1=P3^5;//1號燈
sbit led2=P3^6;//2號燈
sbit led3=P3^7;//3號燈
sbit beep=P1^5;//報警器
sbit wei1=P2^0;//數(shù)碼位選口
sbit wei2=P2^1;
sbit wei3=P2^2;
sbit wei4=P2^3;
void delay(z)//延時函數(shù)
{
uint i,j;
for(i=z;i>0;i--)
for(j=110;j>0;j--);
}
void display()//數(shù)碼管顯示
{time=30;
shi=time/10;
ge=time%10;
P0=table[num];//顯示選手編號
wei1=0;
delay(1);
wei1=1;
P0=table[shi];
wei3=0;
delay(1);
wei3=1;
P0=table[ge];
wei4=0;
delay(1);
wei4=1;
}
void keyscan()
{
if(time==6)
TR1=1;
if(k1==0)//1號按下
{delay(10);
if(k1==0)
{
num=1;
led1=1;
flag=1;
TR0=~TR0;
TR1=0;//開定時器0,關(guān)定時器1
beep=1;
delay(500);
beep=0;//蜂鳴器響
while(!k1);//等待按鍵釋放
}
}
if(k2==0)
{
delay(10);
if(k2==0)
{
num=2;
led2=1;
flag=1;
TR0=~TR0;
TR1=0;
beep=1;
delay(500);
beep=0;
while(!k2);
}
}
if(k3==0)
{
delay(10);
if(k3==0)
{
num=3;
led3=1;
flag=1;
TR0=~TR0;
TR1=0;
beep=1;
delay(500);
beep=0;
while(!k3);
}
}
display();//顯示編號和時間
if(time==0)
{
TR0=0;
TR1=0;
flag=1;//關(guān)計時器0和1
}
}
void init()
{
TMOD=0x11;//選擇定時器模式
TH0=(65536-50000)/256;
TL0=(65536-50000)%256;
TH1=(65536-50000)/256;
TL1=(65536-50000)%256;
EA=1;//總中斷
ET0=1;//定時器中斷允許
ET1=1;
TR0=1;//打開定時器
beep=0;
}
void main()//主程序
{
init();//初始化
while(1)
{
display();
if(q2==0)
{
delay(10);
if(q2==0)
{
P3=0x00;
flag1=q2;
time=00;
wei1=0;
num=0;
P0=table[num];
while(!flag1)
{
if(q1==0);
{
delay(10);
if(q1==0)
{
flag1=1;
flag=q1;
TR0=1;
beep=1;
delay(500);
beep=0;
while(!q1);
while(!flag)
keyscan();//掃描鍵盤
}
}
}
}
}
}
}
void T0_time() interrupt 1
{
TH0=(65536-50000)/256;
TL0=(65536-50000)%256;
i++;
if(i==20)
{
i=0;
time--;
}
}
void T1_time() interrupt 3
{
TH1=(65536-50000)/256;
TL1=(65536-50000)%256;
j++;
if(j==10)
{
j=0;
beep=~beep;
}
}
作者:
xianfajushi
時間:
2020-12-7 09:43
可參
https://blog.csdn.net/xianfajushi/article/details/89946765
作者:
man1234567
時間:
2020-12-7 21:19
while套while,看來作者對此有特殊的愛好,看不懂
歡迎光臨 (http://m.raoushi.com/bbs/)
Powered by Discuz! X3.1