超酷8段LED字符宏定义

[复制链接]
3588|16
 楼主| taoest 发表于 2008-9-28 12:50 | 显示全部楼层 |阅读模式
//EightSegLED.h
//the following is the LED definition
//不同的LED连接电路,修改这个定义就可以了。不同笔画对应不同的BIT
#define MLEDSegA   0x80     //  ***A***
#define MLEDSegB   0x20     //  *     *
#define MLEDSegC   0x08     //  F     B
#define MLEDSegD   0x02     //  *     *
#define MLEDSegE   0x01     //  ***G***
#define MLEDSegF   0x40     //  *     *
#define MLEDSegG   0x10     //  E     C    *
#define MLEDSegDot 0x04     //  ***D***  *DOT*
//如果是共阳驱动:
#define MLEDSegPolarity ~
//共阴驱动:
//#define MLEDSegPolarity 


//EightSegLED.C
//定义数组,这一部分不需要修改。直接引用即可。例如 LEDDigitfont[6],就是字符‘6’
code unsigned char LEDDigitfont[11]=
{
    MLEDSegPolarity( unsigned char)(MLEDSegA|MLEDSegB|MLEDSegC|MLEDSegD|MLEDSegE|MLEDSegF),
    MLEDSegPolarity( unsigned char)(MLEDSegB|MLEDSegC),
    MLEDSegPolarity( unsigned char)(MLEDSegA|MLEDSegB|MLEDSegD|MLEDSegE|MLEDSegG),
    MLEDSegPolarity( unsigned char)(MLEDSegA|MLEDSegB|MLEDSegC|MLEDSegD|MLEDSegG),
    MLEDSegPolarity( unsigned char)(MLEDSegB|MLEDSegC|MLEDSegF|MLEDSegG),
    MLEDSegPolarity( unsigned char)(MLEDSegA|MLEDSegC|MLEDSegD|MLEDSegF|MLEDSegG),
    MLEDSegPolarity( unsigned char)(MLEDSegA|MLEDSegC|MLEDSegD|MLEDSegE|MLEDSegF|MLEDSegG),
    MLEDSegPolarity( unsigned char)(MLEDSegA|MLEDSegB|MLEDSegC),
    MLEDSegPolarity( unsigned char)(MLEDSegA|MLEDSegB|MLEDSegC|MLEDSegD|MLEDSegE|MLEDSegF|MLEDSegG),
    MLEDSegPolarity( unsigned char)(MLEDSegA|MLEDSegB|MLEDSegC|MLEDSegD|MLEDSegF|MLEDSegG),
    MLEDSegPolarity( unsigned char)0x0    //blank font, no display;
};
oumi 发表于 2008-9-28 12:57 | 显示全部楼层
 楼主| taoest 发表于 2008-9-29 18:28 | 显示全部楼层

自己顶起来

icmap 发表于 2008-10-1 01:19 | 显示全部楼层

很巧的方法,谢谢楼主。

yewuyi 发表于 2008-10-1 13:01 | 显示全部楼层

戏法变得很好。。。

hotpower 发表于 2008-10-1 17:04 | 显示全部楼层

没看出来~~~

 楼主| taoest 发表于 2008-10-1 23:25 | 显示全部楼层

修改电路

修改电路连接的时候,可以通过直接修改宏定义,即可完成软件修改。
无需重新手工计算8段LED的字符码。而且不会增加程序大小和计算量。
使用的时候直接使用即可
 P0=LEDDigitfont[6];
呆板书生 发表于 2008-10-2 05:37 | 显示全部楼层

班门弄斧

太简单,类似的办法,菜农早就用了
qjy_dali 发表于 2008-10-2 22:52 | 显示全部楼层
isbit 发表于 2008-12-11 10:03 | 显示全部楼层

能编译通过吗?

我按这个定义,编译一下通不过呢?
cfly 发表于 2008-12-11 10:55 | 显示全部楼层

不错

在新项目中用了。
原来都是一个一个写的。

谢了阿。
isbit 发表于 2008-12-11 10:57 | 显示全部楼层

我也开始用了,挺好!

ayb_ice 发表于 2008-12-11 20:48 | 显示全部楼层

稍有经验的都是这样的啊

 楼主| taoest 发表于 2008-12-12 02:40 | 显示全部楼层

10楼

这个是KEIL C51程序,有些关键字在其他编译器里可能不兼容。需要修改一下。

另外,高手们也不要嫌麻烦,贡献一些经验出来,给更多的同行学习学习。
救火车 发表于 2008-12-12 08:52 | 显示全部楼层

支持一下,给楼主加条裤子。。

救火车 发表于 2008-12-12 08:56 | 显示全部楼层

呵呵,找了好久也没找到,原来发的时间很长了,帮你顶一

 楼主| taoest 发表于 2008-12-13 00:58 | 显示全部楼层

救火车

我的红裤衩呢?
您需要登录后才可以回帖 登录 | 注册

本版积分规则

27

主题

959

帖子

4

粉丝
快速回复 在线客服 返回列表 返回顶部