1024手机基地看电影,午夜福利视频导航,国产精品福利在线一区,亚洲欧美日韩另类成人,在线观看午夜日本理论片,成年超爽免费网站,国产精品成人免费,精品动作一级毛片,成人免费观看网站,97精品伊人久久大香蕉
標(biāo)題:
我有兩個(gè)問(wèn)題,一個(gè)是我寫(xiě)的單片機(jī)按鍵控制0~9遞增遞減在實(shí)現(xiàn)的時(shí)候有問(wèn)題,希望指出
[打印本頁(yè)]
作者:
萌萌萌新aa
時(shí)間:
2020-3-28 17:40
標(biāo)題:
我有兩個(gè)問(wèn)題,一個(gè)是我寫(xiě)的單片機(jī)按鍵控制0~9遞增遞減在實(shí)現(xiàn)的時(shí)候有問(wèn)題,希望指出
#include <STC12C5A60S2.H>
#define uchar unsigned char
#define uint unsigned int
sbit DU=P2^0;
sbit WE=P2^1;
sbit key1=P3^0;
sbit key2=P3^1;
uchar code duma[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f};
void delay(uint z) //???????
{
uint x,y;
for(x=z;x>0;x--)
for(y=114;y>0;y--);
}
void main()
{
uchar count1=0;
uchar count2=9;
while(1)
{
if(key1==0)
{
delay(500);
if(key1==0)
{
count1++;
if(count1==10)
{
count1=0;
}
WE=1;
P0=0Xfd;
WE=0;
DU=1;
P0=duma[count1%10];
DU=0;
while(!key1);
}
}
if(key2==0)
{
delay(500);
if(key2==0)
{
count2--;
if(count2==-1)
{
count2=9;
}
WE=1;
P0=0Xfd;
WE=0;
DU=1;
P0=duma[count2%10];
DU=0;
while(!key2);
}
}
}
}
還有一個(gè)問(wèn)題是請(qǐng)問(wèn)我這個(gè)程序怎么改成0~99或0~999遞增遞減,
作者:
cyf7175
時(shí)間:
2020-3-28 18:59
count1, count2改為,都用 count全局變量,出現(xiàn)-1,那么不能用uchar(無(wú)符號(hào)型)
作者:
cyf7175
時(shí)間:
2020-3-28 19:12
你的段碼已經(jīng)給到了P0,再給位(片選)給0(你選的是共陰的管子)。
作者:
萌萌萌新aa
時(shí)間:
2020-3-31 17:21
cyf7175 發(fā)表于 2020-3-28 18:59
count1, count2改為,都用 count全局變量,出現(xiàn)-1,那么不能用uchar(無(wú)符號(hào)型)
那我這個(gè)程序怎么改成0~99遞增遞減呢
作者:
wulin
時(shí)間:
2020-3-31 21:31
0~9999遞增遞減
#include <STC12C5A60S2.H>
#define uchar unsigned char
#define uint unsigned int
sbit DU=P2^0;
sbit WE=P2^1;
sbit key1=P3^0;
sbit key2=P3^1;
uchar code duma[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f};
uchar qian,bai,shi,ge,num;
uint count=0;
bit flag1=0,flag2=0;
void delay(uint z)//12MHz晶振1T MCU
{
uint x,y;
for(x=z;x>0;x--)
for(y=1250;y>0;y--);//12T MCU改為125
}
void main()
{
while(1)
{
if(key1==0)
{
delay(10);
if(key1==0&&flag1==0)
{
flag1=1;
if(count<9999)
count++;
}
}
else flag1=0;
if(key2==0)
{
delay(10);
if(key2==0&&flag2==0)
{
flag2=1;
if(count>0)
count--;
}
}
else flag2=0;
qian=duma[count/1000%10];
bai=duma[count/100%10];
shi=duma[count/10%10];
ge =duma[count%10];
P0=0X00;DU=1;DU=0;
switch(num)
{
case 0: P0=0xfe;WE=1;WE=0;P0=qian;DU=1;DU=0; break;
case 1: P0=0xfd;WE=1;WE=0;P0=bai;DU=1;DU=0; break;
case 2: P0=0xfb;WE=1;WE=0;P0=shi;DU=1;DU=0; break;
case 3: P0=0xf7;WE=1;WE=0;P0=ge; DU=1;DU=0; break;
}
delay(1);
num++;
if(num==4)
num=0;
}
}
復(fù)制代碼
歡迎光臨 (http://m.raoushi.com/bbs/)
Powered by Discuz! X3.1