欧美极品高清xxxxhd,国产日产欧美最新,无码AV国产东京热AV无码,国产精品人与动性XXX,国产传媒亚洲综合一区二区,四库影院永久国产精品,毛片免费免费高清视频,福利所导航夜趣136
標題:
我有兩個問題,一個是我寫的單片機按鍵控制0~9遞增遞減在實現的時候有問題,希望指出
[打印本頁]
作者:
萌萌萌新aa
時間:
2020-3-28 17:40
標題:
我有兩個問題,一個是我寫的單片機按鍵控制0~9遞增遞減在實現的時候有問題,希望指出
#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);
}
}
}
}
還有一個問題是請問我這個程序怎么改成0~99或0~999遞增遞減,
作者:
cyf7175
時間:
2020-3-28 18:59
count1, count2改為,都用 count全局變量,出現-1,那么不能用uchar(無符號型)
作者:
cyf7175
時間:
2020-3-28 19:12
你的段碼已經給到了P0,再給位(片選)給0(你選的是共陰的管子)。
作者:
萌萌萌新aa
時間:
2020-3-31 17:21
cyf7175 發表于 2020-3-28 18:59
count1, count2改為,都用 count全局變量,出現-1,那么不能用uchar(無符號型)
那我這個程序怎么改成0~99遞增遞減呢
作者:
wulin
時間:
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;
}
}
復制代碼
歡迎光臨 (http://m.raoushi.com/bbs/)
Powered by Discuz! X3.1