参考《单片机原理及接口技术(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);
}
}
}
本文介绍了一种使用C51编程语言控制单片机点亮8个LED数码管的方法。通过《单片机原理及接口技术(C51编程)》一书中的例程进行了修改实现。程序利用定时延时函数来轮流显示不同的段码,实现了所有LED数码管的同时亮起。
1673

被折叠的 条评论
为什么被折叠?



