- 1、本文档共7页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
怎样点亮段式液晶
怎样点亮段式液晶——与STM8L152C6T6的情缘
对于刚刚接触程序设计的菜鸟们来说,很多地方需要学习和借鉴大神们的经验,非常庆幸的是,我们所处的时代是信息共享的时代,在此,我想对那些把自己总结的经验和可以帮助别人学习的资料分享到网上的大神们说声谢谢!
刚开始接触STM8L152C6T6,觉得脑袋很大,因为刚刚接触STM32不久,到串口中断的时候,就被拉到STM8L上了,看到板子上面那个所谓段式液晶,就明白“老虎吃天,无处下抓”的悲哀,于是只有拿着“有问题,找度娘”的态度,在网上开始大肆搜罗相关信息、、、、、、最终,“皇天不负有心人”终于找到了一些有用的资料,最终,经过大家的努力,实现了一些功能,下面就把学习过程中觉得有用的资料分享给大家,希望可以帮助大家!
段式液晶的相关资料比较多,大家搜搜就可以看得懂,我这里就把自己看不懂的地方,现在明白怎么回事了,分享给大家:
关于段式液晶:
段式液晶虽然跟数码管有所不同,但也有相同的地方,其七段分别为a,b,c,d,e,f,g 想要显示数据,就必须点亮相应的段。下面将通用的0~9的设置值为大家解释一下(大神们请默默地飘过吧!)
const uint16_t NumberMap[10]=
{
/***
*显示0
com1 com2 com3 com4
*seg3 [ 1d, 1e, 1f, 1a]
*seg4 [ 1c, 1g ,1b , P5]
*seg3 [ 1, 1, 1, 1]
*seg4 [ 1, 0 ,1 , 1]
*
**/
/* 0 1 2 3 4 5 6 7 8 9 */
0xFC,0x60,0xDA,0xF2,0x66,0xB6,0xBE,0xE0,0xFE,0xF6
};
数字 a b c d e f g h 0 1 1 1 1 1 1 0 0 F C 1 0 1 1 0 0 0 0 0 6 0 2 1 1 0 1 1 0 1 0 D A 3 1 1 1 1 0 0 1 0 F 2 。。。。。。。。。。。。。
以此类推,大家慢慢想想就明白了。
关于段式液晶寄存器缓存地址
对于每一个LCD段式液晶屏,都有属于自己的一张表,它会告诉你com与seg之间的对应关系(虽然刚开始看到这幅图的我,根本无法理解,这究竟是何方神圣、、因为它看起来可以没有规律,看起来也挺有规律,但究竟是没看懂,后来的某个瞬间,突然发现,原来so easy!)
为了方便大家理解,我分几部分解释!
看到图的第一眼,大家当然可以知道总共有8个7段数码管(貌似不是这么叫,大家将就一下)。
有13组汉字词语,其上还有相应的标号:P1 P2 P3 P4 P5 P6 P7 P8 P9 P10 P11 P12P 13,想必这些词组的显示设置就需要这些相应的标号来设置了。
中间有2条横杠,还有个标号X,估计同理如上。
1)
先看图中红线的地方,你会发现,刚好是8个数码管的a,b,c,d,e,f,g,h 但是有的h的位置被标号而取代。再看看蓝线的位置,会发现跟红线的框里的段码排列顺序不一样,所以,对应的缓存地址也就不同,因此无法一概而论.
下面我就教大家,如何利用上面的这张表,来写出相应的段式液晶寄存器缓存地址表!首先看看LCD缓冲寄存器,只要把你要显示的数据写入寄存器就OK了。
第一列是0~13的寄存器,每个寄存器都是按照8位来存放的,分别对应a~g,及‘h’,而其中s0\s1\s2\s3分别对应的是com1\com2\com3\com4(这里的描述可能欠妥,如果有误,希望大家指正!本人也是菜鸟一名!)其中将会存放数据所对应的段位。
以第一个,即1A 1B 1C 1D 1E 1F 1G为例,来写相应的缓存地址:
第一步:查表,找到1a对应的管脚,即P4,找到lcd的p4脚,其对应编号为seg3,再找到STM8L中的标号为seg3对应的是seg3,然后由com4对应s3,就可以得到1A的缓存地址,即s3[3],由于数据的写入一般是从高位开始写,故对应a~g,h,所以就可以通过下表,知道1a是存在寄存器10的第7为,以此类推!如果不嫌麻烦,也可以做个表格,用起来比较方便。
第二步:得到上表之后就可以知道其对应缓存地址了,7~4属于高位,对应地址分别为0X80 0X40 0X20 0X10,3~0分别对应0X08 0X04 0X02 0X01,例如:
LCD-RA
文档评论(0)