![]() |
發(fā)布時間: 2020-3-10 12:59
正文摘要:#include <reg51.h> typedef unsigned char u8; u8 code smgduan[16]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x77,0x7c,0x39,0x5e,0x79,0x71}; void delay(u8 t) { while(t--); } ... |
不好意思,剛剛又看了看那個位碼,是我看錯了![]() ![]() ![]() |
你的程序延時的數(shù)據(jù)類型選錯了,我給你改過來了,而且你在仔細(xì)看看你的段碼也有錯誤。 #include <reg51.h> typedef unsigned char u8; typedef unsigned int u16; u8 code smgduan[16]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x77,0x7c,0x39,0x5e,0x79,0x71}; void delay(u16 t) { while(t--); } void main() { u8 i; while(1) { P0=0xff; delay(50000); for(i=0;i<16;i++) { P0=~smgduan[i]; delay(50000); } } } |
delay函數(shù)參數(shù)送數(shù)不對,按你定義最大能到255,而你送的數(shù)是50000 |
delay函數(shù)的參數(shù)是u8最大只能送255,而你送了50000. |
不同字碼顯示間隔的延時的時間太短了,延時定義的變量t是字符型,怎么能裝下50000這個數(shù)值呢 |
Powered by 單片機教程網(wǎng)