参考《单片机原理及接口技术(C51编程)》第三版的例5-7。进行了一些修改,同时点亮8个led数码管。peoteus的版本是8.6。效果如下:
电路部分没有优化。复位部分参考了一些网上的资料,可以复位。
C51的程序如下:
#include <reg51.h>
#include <intrins.h>
#define uchar unsigned char
#define uint unsigned int
uchar code dis_code[]={0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f};
void delay(uint t)
{
uchar i;
while(t--)
for(i=0;i<200;i++);
}
void main()
{
uchar temp=0x01;
uint t;
delay(200);
while(1)
{
for(t=0;t<8;t++)
{
P2=~temp;
P0=dis_code[t];
temp=_crol_(temp,1);
delay(2);
}
}
}