单片机LED数码电路和C程序
扫描二维码
随时随地手机看文章
让一个单片机的LED数码显示器,从第一位显示1、第二位显示数字2、第三位显示3、...一直到第六位显示6,每个数字间隔0.5秒。
然后一直循环下去。求一个C 语言程序!
-------------------------
假定电路如下图。
针对这个简单题目,不用编很长的程序,如下所示即可:
//================================================
#include
sbit dua = P2^6;
sbit wei = P2^7;
char code Digit[6] = {0xf9, 0xa4, 0xb0, 0x99, 0x92, 0x82};
char code Wigit[6] = {0x01, 0x02, 0x04, 0x08, 0x10, 0x20};
void delay(dl_t)
{
unsigned int i, j;
for(i = dl_t; i > 0; i--) for(j = 110; j > 0; j--);
}
void main()
{
char i;
while(1) {
for (i = 0; i < 6; i++) {
dua = 1; P0 = ~Digit[i]; dua = 0;
wei = 1; P0 = ~Wigit[i]; wei = 0;
delay(500);
} } }
//================================================