本人初學單片機,C語言也是才接觸,比如這個用四位七段數碼管實現靜態顯示1~4的簡單習題,我用for循環輸出,怎么顯示輸出到2就不動卡住了?百度幾番無果,我這代碼邏輯沒錯啊。
單片機源程序如下:
- #include <reg52.h>
- #define uint unsigned int
- #define uchar unsigned char
- uint i,x;
- void delay(uint x);
- uchar duan[] = {0x06,0x5b,0x4f,0x66};
- uchar wei[] = {0xfe,0xfd,0xfb,0xf7};
- void main()
- {
- while(1)
- {
- for(i=0;i<3;i++)
- {
- P0 = duan[i];
- P2 = wei[i];
- delay(500);
- }
- }
- }
- void delay(uint x)
- {
- while(x--)
- {
- for(i=120;i>0;i--);
- }
- }
復制代碼
請教各位大佬。最近經常遇到這種小毛病,代碼看了沒問題,一仿真就各種錯誤,好痛苦。
|