单片机C51 LED点阵显示驱动程序设计

单片机C51 LED点阵显示驱动程序设计,第1张

点阵原理就是一个LED的两端都接IO,当正极为1,负极为0时点亮相应的LED。

下面是8×8的LED点阵程序,参考一下吧

#include<reg51.h>

#define uchar unsigned char

#define uint unsigned int

uchar code TAB[]={

0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,

0x00,0x82,0xFE,0x82,0x80,0xC0,0x00,0x00,

0x00,0x7C,0x82,0x82,0x82,0x7C,0x00,0x00,

0x02,0x0E,0x72,0x80,0x70,0x0E,0x02,0x00,

0x00,0x82,0xFE,0x92,0xBA,0x82,0xC6,0x00,

0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00

}

/*delay(uint t)

{

uint a,b

for(a=0a<ta++)

for(b=0b<110b++)

} */

void main(void)

{

uint i,j,xx

uchar bittemp=0x01

while(1)

{

for(i=0i<40i++)

{

for(xx=0xx<500xx++)

{

bittemp=0x80

for(j=0j<8j++)

{

P2=0x00 //消隐

P0= ~TAB[i+8-j]

P2 = bittemp

bittemp >>= 1

}

}

}

}

}

这不仅仅是简单的移位,我也做过,你生成字型码的时候是横着扫描吗?如果是,移位也会横向,如果不是,移位的话会乱码。存放字型码的最好是Uchar code,这样占用数据空间会减小。你移位的时候用中间变量和指针进行 *** 作。

还有,你扫码方式,我做的是1/4行扫。你的如果是逐行扫描就不太一样 了。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/7800654.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-10
下一篇 2023-04-10

发表评论

登录后才能评论

评论列表(0条)

保存