|
一直以來就被單片機(jī)數(shù)碼管消影問題困擾,網(wǎng)上查了資料都說是加個(gè)P0=00(共陰數(shù)碼管),加了后沒啥變化,還是會有重影,今天突發(fā)奇想,P0=0x00后加了dula=1;dula=0;這兩句,問題解決了,我想應(yīng)該是dula=1;dula=0;這兩句加了后地址鎖存器才會執(zhí)行,單單加句P0=0x00是沒用的。 (附數(shù)碼管部分代,經(jīng)常寫的人應(yīng)該看得懂,另附兩種效果圖)
消影之前的效果:
微信圖片_20181001224534.jpg (180.78 KB, 下載次數(shù): 108)
下載附件
2018-10-1 22:46 上傳
消影后:
微信圖片_20181001224541.jpg (257.54 KB, 下載次數(shù): 102)
下載附件
2018-10-1 22:46 上傳
單片機(jī)源程序如下:
- uchar code table1[]={0x3f,0x06,0x5b,0x4f,
- 0x66,0x6d,0x7d,0x07,
- 0x7f,0x6f,0x77,0x7c,
- 0x39,0x5e,0x79,0x71,0x00};
- uchar code table2[]={0xfe,0xfd,0xfb,0xf7,0xef,0xdf};
- void display(uchar a,uchar b,uchar c,uchar d,uchar e,uchar f)//顯示6位數(shù)碼管{
- P0=table2[0];
- wela=1;
- wela=0;
- P0=table1[a];
- dula=1;
- dula=0;
- delay(1);
- P0=0x00;dula=1;dula=0;//消影
- P0=table2[1];
- wela=1;
- wela=0;
- P0=table1[b];
- dula=1;
- dula=0;
- delay(1);
- P0=0x00;dula=1;dula=0;//消影
- P0=table2[2];
- wela=1;
- wela=0;
- P0=table1[c];
- dula=1;
- dula=0;
- delay(1);
- P0=0x00;dula=1;dula=0;//消影
- P0=table2[3];
- wela=1;
- wela=0;
- P0=table1[d];
- dula=1;
- dula=0;
- delay(1);
- P0=0x00;dula=1;dula=0;//消影
- P0=table2[4];
- wela=1;
- wela=0;
- P0=table1[e];
- dula=1;
- dula=0;
- delay(1);
- P0=0x00;dula=1;dula=0;//消影
- P0=table2[5];
- wela=1;
- wela=0;
- P0=table1[f];
- dula=1;
- dula=0;
- delay(1);
- P0=0x00;dula=1;dula=0;//消影
- }
復(fù)制代碼 |
評分
-
查看全部評分
|