欧美极品高清xxxxhd,国产日产欧美最新,无码AV国产东京热AV无码,国产精品人与动性XXX,国产传媒亚洲综合一区二区,四库影院永久国产精品,毛片免费免费高清视频,福利所导航夜趣136
標題:
做的一個基于數碼管的簡易定時器,實現自動計數,按鍵加減暫停,矩陣按鍵加十百千
[打印本頁]
作者:
菜鳥學習中
時間:
2018-9-9 10:47
標題:
做的一個基于數碼管的簡易定時器,實現自動計數,按鍵加減暫停,矩陣按鍵加十百千
做的關于51第2次任務,大家多多指教
單片機源程序如下:
#include"reg52.h"
#include"aj.h"
#define GPIO_KEY P1
sbit k1=P3^1; //定義P31口是k1
sbit k2=P3^0; //定義P30口是k2
sbit k3=P3^2;
extern unsigned int i=0,a,b,c,d,s;
//延時函數
void delay(int j)
{
while(j--);
}
//數碼管賦值函數
void xuanshu()
{
if(k1==0) //按k1使數碼管加1
{
delay(1000);
if(k1==0)
{
a=a+1;
}
if(k1==0&&d==9&&c==9&&b==9&&a==9)
{
a=0;b=0;c=0;d=0;
}
while(!k1);
}
if(k2==0) //按k2使數碼管減1
{
delay(1000);
if(d==0&&c==0&&b==0&&a==0&&k2==0)
{
a=0;b=0;c=0;d=0;
}
else if(k2==0&&a==0&&b==0&&c==0&&d>0)
{
d=d-1;
c=9;
b=9;
a=9;
}
else if(k2==0&&a==0&&b==0&&c>0)
{
c=c-1;
b=9;
a=9;
}
else if(k2==0&&a==0&&b>0)
{
b=b-1;
a=9;
}
else if(k2==0&&a>0)
{
a=a-1;
}
else ;
while(!k2);
}
if(k3 == 0) // 按k3使定時器暫停
{
TR1 = ~TR1;
while(!k3);
}
GPIO_KEY=0X0F;
if(GPIO_KEY!=0x0f) //矩陣按鍵實現十位,百位,千位加1和清0
{
delay(1000);
if(GPIO_KEY!=0x0f)
{
GPIO_KEY=0X0F;
switch(GPIO_KEY)
{
case(0X07):b+=1;break;
case(0X0b):c+=1;break;
case(0X0d):d+=1;break;
case(0X0e):a=0;b=0,c=0,d=0;break;
}
}
while(GPIO_KEY!=0x0f);
}
if(a==10) //進位溢出
{
a=0;
b++;
}
if(b==10)
{
b=0;
c++;
}
if(c==10)
{
c=0;
……………………
…………限于本文篇幅 余下代碼請從51黑下載附件…………
復制代碼
所有資料51hei提供下載:
52任務2.zip
(38.24 KB, 下載次數: 17)
2018-9-9 10:47 上傳
點擊文件名下載附件
下載積分: 黑幣 -5
歡迎光臨 (http://m.raoushi.com/bbs/)
Powered by Discuz! X3.1