- 1、本文档共52页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
点阵LE显示设计
单个LED或者是数码管作为显示器件,只能显示简单的几个有限的简单字符,对于复杂的字符(比如汉字)以及图形等则无法显示。矩阵式LED将诸多个LED按矩阵的方式组合一起,通过控制每个LED的工作,可完成各种字符和图形的显示。有关点矩阵显示器的商品,市面上有很多,例如活动字幕机广告、汽车站与火车站的车次显示板、活动布告板、股票显示板等。本任务利用AT89S51单片机来实现单个字符这一功能。 用AT89S51作为控制核心,外接8×8矩阵式LED,编写程序,使8×8矩阵式LED循环点亮0-9这十个数字,时间间隔为1s。 (1)硬件电路设计 电路组成。这里选择具有内部程序存储器的AT89S51单片机作为控制电路,其P0接8×8矩阵式LED的阳极,由于P0口没有上拉能力,所以采用接8个限流电阻后上接电源提供上拉电流,P2接矩阵式LED的阴极,硬件电路原理图如图11-1所示。 (2)软件设计思路 为了能LED正常的显示0-9等数字,首先要了解0-9这十个数字的具体显示代码。具体代码可以通过软件转换得到,也可以采用绘制方法得到,然后写出相应的代码。因此0-9等十个数字的代码可以由由如下方法取得。 假设显示数字“0”,如下图所示: 因此,形成的列代码为 00H,00H,3EH,41H,41H,3EH,00H,00H;只要把这些代码分别送到相应的列线上面,即可实现“0”的数字显示。 数字“1”代码建立如下图所示: 其显示代码为 00H,00H,00H,00H,21H,7FH,01H,00H 数字“2”代码建立如下图所示: 其显示代码为 00H,00H,27H,45H,45H,45H,39H,00H 数字“3”代码建立如下图所示: 其显示代码为 00H,00H,22H,49H,49H,49H,36H,00H 数字“4”代码建立如下图所示: 其显示代码为 00H,00H,0CH,14H,24H,7FH,04H,00H 数字“5”代码建立如下图所示: 其显示代码为 00H,00H,72H,51H,51H,51H,4EH,00H 数字“6”代码建立如下图所示: 其显示代码为 00H,00H,3EH,49H,49H,49H,26H,00H 数字“7”代码建立如下图所示: 其显示代码为 00H,00H,40H,40H,40H,4FH,70H,00H 数字“8”代码建立如下所示: 其显示代码为 00H,00H,36H,49H,49H,49H,36H,00H 数字“9”代码建立如下所示: 其显示代码为 00H,00H,32H,49H,49H,49H,3EH,00H 要想在8×8的LED点阵上显示一个数字,因为点阵的公共端是连接在一起的,就像我们在前面讲过的数码管的动态显示类似,是不能同时将这些LED进行点亮的。只能采用按行或者是按列进行控制。那么,怎么样去控制LED显示一个字符的呢?送显示代码过程简单如下:送第一列线代码到P0端口,同时置第一行线为“0”,其它行线为“1”,延时2ms左右,送第二列线代码到P0端口,同时置第二行线为“0”,其它行线为“1”,延时2ms左右,如此下去,直到送完最后一列代码,又从头开始送。以显示字符“0”为例: 首先在P0送首个行码00H,在P2口首个列码FEH; 接着在P0送第二个行码00H,在P2口第二个列码FDH 再在在P0送第三个行码3EH,在P2口第三个列码FBH 再在在P0送第四个行码3EH,在P2口第四个列码F7H 依次把所在的行码送完,这样就可以显示一个“0”字了,接着再重复上述过程,把所有的数字都显示完就可以达到效果了。 思考: 如果要显示A-F等字符,该怎样修改程序呢? 3. 源程序编写 #include “reg51.h” #define uchar unsigned char unsigned char code tab[]={0xfe,0xfd,0xfb,0xf7,0xef,0xdf,0xbf,0x7f}; unsigned char code dispcode[10][8]={ {0x00,0x00,0x3e,0x41,0x41,0x41,0x3e,0x00}, //定义0的代码 {0x00,0x00,0x00,0x00,0x21,0x7f,0x01,0x00}, / /定义1的代码 {0x00,0x00,0x27,0x45,0x45,0x45,0x39,0x00}, //定义2的代码 {0x00,0x00,0x22,0x4
您可能关注的文档
最近下载
- 2024年广西高考化学试卷真题(含答案解析).pdf
- 初中英语单词及短语分类速记表中考1600词.docx
- 条码技术与应用真题单选题100道及答案解析.docx VIP
- 《直升机空气动力学与飞行原理》课件——模块九:直升机特殊飞行(双语).pptx VIP
- 《直升机空气动力学与飞行原理》课件——模块七:直升机的操纵性(双语).pptx VIP
- 《电力工程技术》600MW发电机过激磁保护与VHz限制的配合分析.doc
- 《直升机空气动力学与飞行原理》课件——模块六:直升机的稳定性(双语).pptx VIP
- 云南二级建造师机考真题及答案.pdf VIP
- 《直升机空气动力学与飞行原理》课件——模块五:旋翼挥舞(双语).pptx VIP
- 提高患者口服药服用的准确率品管圈成果汇报ppt模板 - 副本.pptx
文档评论(0)