本人初学单片机,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--);
- }
- }
复制代码
请教各位大佬。最近经常遇到这种小毛病,代码看了没问题,一仿真就各种错误,好痛苦。
|