![]() |
發(fā)布時間: 2017-11-15 21:02
正文摘要:#include"reg51.h" #include"stdio.h" unsigned char Pos; unsigned char number; unsigned char i; unsigned char NUM[10]={0xc0,0xf9,0xa4,0xb0, 0x99,0x92,0x82,0xf8,0x80,0x90}; void Timer0_ini ... |
首先你的仿真圖可以再優(yōu)化一些,布線橫平豎直比較美觀;可以先檢查一下你的八位數(shù)碼管是共陰的還是共陽,數(shù)碼管一定要和代碼結合上,你的顯示函數(shù)里面的if語句里的條件是有問題的吧!你檢查一下。 |
參與人數(shù) 1 | 黑幣 +20 | 收起 理由 |
---|---|---|
![]() | + 20 | 回帖助人的獎勵! |
void display_num(unsigned char num,unsigned char Pos) { if(number!=0) P0=NUM[num]; P2=Pos; } 首先,你這個number雖然定義了,但是你并沒有給它賦值。 其次,你要知道你那個中斷函數(shù),當每次觸發(fā)中斷時(我也就沒去算你定了多長時間了),這個for循環(huán)就執(zhí)行個8次,也就是會,唰的一下,顯示,移位,顯示。。。很快就結束了。然后,8次之后呢,你又沒有給Pos重新賦值(定時器初始化只會執(zhí)行一次的)。所以無論有沒有顯示,這個過程很快就結束了,你可能什么都觀察不到。 以上,我并沒有試驗,只是看了一下你的代碼,若有不對之處,還望見諒。 |
參與人數(shù) 1 | 黑幣 +50 | 收起 理由 |
---|---|---|
![]() | + 50 | 回帖助人的獎勵! |
你用了共陽的段碼,就必須用pnp三極管,你卻用了npn三極管。 |
有啥報錯提示不 |
看不懂 |
求大佬幫忙看看,幫忙改改 |
Powered by 單片機教程網(wǎng)