賦值錯誤
num2=wela;
wela=0xfe;
順序錯誤
wela=1;
P0=num2;
wela=0;
delay(1000);//延時參數不可以超過uchar類型255
num2=_crol_(num2,1);
dula=1;
P0=table[num];
dula=0;
if(num2==0xbf)
num2=0xfe;
無標題.jpg (236.87 KB, 下載次數: 31)
下載附件
2019-11-4 23:14 上傳
- #include<reg52.h>
- #include<intrins.h>
- #define uchar unsigned char
- #define uint unsigned int
- sbit dula=P2^6;
- sbit wela=P2^7;
- uchar num2;
- uchar num;
- uchar code table[]={
- 0x3f,0x06,0x5b,0x4f,
- 0x66,0x6d,0x7d,0x07,
- 0x7f,0x6f,0x77,0x7c,
- 0x39,0x5e,0x79,0x71};
- void delay (uchar z)
- {
- uchar x,y;
- for(x=z;x>0;x--)
- for(y=110;y>0;y--);
- }
- void main()
- {
- num2=0xfe;
- while(1)
- {
- for(num=1;num<7;num++)
- {
- P0=0x00;//消除鬼影
- dula=1;
- dula=0;
- P0=num2;//送位碼
- wela=1;
- wela=0;
- P0=table[num];//送段碼
- dula=1;
- dula=0;
- delay(2);//延時2ms
- num2=_crol_(num2,1);
- if(num2==0xbf)
- num2=0xfe;
- }
- }
- }
復制代碼
|