首先点阵:(以最简单的8X8为例,16X16的以后再说)
8X8点阵
个人感觉点阵需要注意的地方有:
第一个就是驱动点阵的方式
我认为8X8点阵的驱动程序分为行扫描和列扫描两种。
比如行扫描就是用一层for循环:
先选中第一行,然后送入这一行的数据,再选择第二行,然后送入第二行数据,如此循环下去,直至显示完一个屏幕(即8行),同时记得要消隐和微延时(后面会说消隐和微延时),列扫描同理。如图是代码示例:
8X8点阵,无滚动效果
第二个就是滚动效果的实现。
思路是:
一:扫描函数不变,每扫描一个屏幕,所有数据移动一位;(代码实现简单)
二:数据不变,每次读取数据的起始位置移动一位。(代码实现有点难,反正我不会╮(╯▽╰)╭)
以第一种为例:
代码实现:实现滚动效果的基础是一个扫描函数和一个数据处理函数,扫描函数有两层for循环组成:第一层for循环控制图像每移动一次的时间间隔,然后第二层for循环显示整个屏幕。
如图扫描函数:
扫描函数
滚动的重点是数据循环函数的写法,我觉得数据处理分两种:(仅个人愚见,新手)
第一种:
如果显示的内容整个点阵足以显示(这样的情况一般没有),那么就不用另外写数据处理函数,直接用 intrins.h里面的 _cror_(*,*) 函数或者 _crol_(*,*)函数对数据进行循环处理就可以了.不用 <
第二种:
自然就是指显示的数据在一张屏幕上显示不了,从而导致需要滚动显示。
此时就要另外写一个数据处理函数,原理很简单,比如StreamData[80]这个数组里面存着数据,那么只需将数据中的每一个数据往前(或者往后)移一位就可以了,最后将StreamData[0]移至StreamData[79]的位置就大功告成了。
注:以上两种的扫描还是只扫描一个屏幕(当然最大就只能扫描一个屏幕嘛),每当扫描完一个屏幕,接着进行数据处理就行了。
如图为第二种的数据处理函数:
注:但是我这种方法比较麻烦,但是我也没有想到其他比较好的方法,所以如果读者有比较好的方法的话,希望可以分享一下。
(来一张萌图:)
出自《刀剑神域》 亚丝娜,抱枕上的是Kirito
对于LED灯的显示,点亮LED的原理我就不说了,大家都懂,我说几个小细节吧:(补上上面挖的坑)
1、微延时。
当对动态数码管进行操作时,每点亮一位数码管,在点亮下一个数码管之前要进行微延时,这样可以提高亮度,延时太久的话整体效果会大打折扣(俗称:晃眼),但是不延时的话,亮度会很低,所以到底延时多久就取决于处理速度啦,其实到头来还是取决于你的眼睛啦。
(不晃眼的延时就是好延时!)
2、消隐。(就是消除隐约的光,也就是重影)
消隐就是说在所有的灯写完一次数据进行下一次数据刷新的之前要先把所有的灯灭掉,不然的话就会出现重影。记得我刚学的时候就总是出现重影,然后就改延时时间(当时不会嘛,不知道消隐这回事),怎么改都不对,直到最后找回原来的视频、例程又看了一遍才知道要消隐。
下面是我刚开始学单片机时自己做的:
我自己做的心形灯,当时更新手,更菜,大家不要笑哈
(做那个灯的时候刚刚开始学,电阻接小了,导致太亮,眼都快瞎了....)
16X16点阵一般会用74HC595驱动,所以要涉及到其他的知识,所以这里就先不说了,下次再说。拜拜~☂
上一篇:51单片机--LED类编程技巧续
下一篇:51单片机--矩阵键盘
推荐阅读
史海拾趣
Altera是一家以FPGA(可编程逻辑器件)和相关技术为主的半导体公司,于1983年成立于美国加利福尼亚州的圣塔克拉拉。以下是关于Altera公司发展的五个相关故事:
成立与早期发展:Altera公司由Robert Hartmann和Michael Magranet等人创立,最初以设计和制造EEPROM(可擦除可编程只读存储器)为主。1984年,Altera推出了全球第一个可编程逻辑器件EP300系列,开创了FPGA行业。随后,Altera不断扩大产品线,致力于FPGA技术的研发和推广。
FPGA技术创新:Altera在FPGA技术方面持续进行创新,推出了一系列新产品和技术。1992年,公司推出了第一个基于SRAM(静态随机存储器)的FPGA器件,从而实现了更高的速度和灵活性。随后,Altera不断改进器件结构、设计工具和软件支持,提高了产品性能和用户体验。
与竞争对手的竞争:在FPGA市场,Altera与Xilinx是两大竞争对手。两家公司在技术、产品性能、市场份额等方面展开激烈竞争。为了在市场上取得优势,Altera不断加大研发投入,推出了更具竞争力的产品,并积极开展营销和销售活动。
收购与合并:Altera在发展过程中进行了一系列收购与合并,以扩大市场份额和提升技术实力。2015年,英特尔公司以约160亿美元的价格收购了Altera,将其并入英特尔旗下,成为英特尔的子公司。这一收购使英特尔获得了Altera在FPGA领域的技术优势和市场份额,进一步巩固了英特尔在半导体行业的领先地位。
公司发展与创新:作为英特尔的子公司,Altera继续发展和创新。公司不仅致力于FPGA技术的进一步改进和推广,还在其他领域进行探索和拓展,如数据中心、人工智能、物联网等。Altera不断推出新产品和解决方案,满足不同行业和应用领域的需求,保持了在半导体行业的竞争优势。
以上是关于Altera公司发展的五个相关故事,这些故事展示了Altera从成立初期到被英特尔收购的发展历程,以及其在FPGA技术领域的技术创新、市场竞争和业务拓展等方面的重要进展。
随着全球电子市场的不断扩张,First Silicon公司意识到单一市场已无法满足其长远发展需求。于是,公司制定了全球化战略,通过设立海外研发中心、生产基地和销售网络,实现了从研发、生产到销售的全球化布局。这一战略不仅有效降低了公司的运营成本,还极大地提升了其品牌影响力和市场份额。在全球化进程中,First Silicon还积极与当地企业开展合作,共同推动电子技术的进步和应用。
CANOPUS公司最初由创始人Shinichi Usuda于1977年创立,当时他经营着一家乐器商店。他深知音乐的力量和乐器的重要性,于是决定将自己的商店逐渐转型为专注于鼓类乐器的制造与销售。经过几年的努力,CANOPUS逐渐在乐器市场上崭露头角,赢得了音乐爱好者的青睐。
佰宏公司始终将品质放在首位,通过严格的生产流程和质量控制体系,确保每一件产品的稳定性和可靠性。同时,公司还注重环保和可持续发展,积极采用环保材料和节能技术,努力为社会和环境做出贡献。
这五个故事只是佰宏公司发展历程中的一部分,但它们却生动地展现了佰宏公司从创立到发展的艰辛与辉煌。在未来的道路上,佰宏将继续秉承“创新、品质、合作、共赢”的理念,为电子行业的发展贡献更多的力量。
圜达实业于1985年在台湾新北市创立,创始人凭借对电子开关行业的深刻理解和前瞻视野,决定专注于研发制造各类程序开关、触动开关等产品。公司初创时期面临资金短缺、市场竞争激烈等挑战,但创始人凭借坚定的信念和不懈的努力,逐步在市场上站稳脚跟。
dxf文件中LWPOLYLINE和POLYLINE有什么区别 dxf文件中LWPOLYLINE和POLYLINE有什么区别?另外,POLYLINE部分是否只有由VERTEX连成的线段?… 查看全部问答∨ |
请问有谁做过VGA 转 RGB的系统没? 电脑显卡出来的VGA显示信号,转变为RGB数字信号,24位的最好, 就是想用480x272的LCD液晶来显示电脑输出的显示信号呀 ,各位高 手请指点一下,用哪个芯片好?… 查看全部问答∨ |
请问DNW v0.50L版本中UBOOT功能怎么使用? 我将三星带USB下载功能的Eboot.nbo下到RAM后,进入main menu,然后按U选中USB下载项,再选DNW的USB Port->uboot,选中待下载的NK.BIN ,但下载进度条出来 后没有任何反应。 请问这是什么原因? … 查看全部问答∨ |
ffmpeg已变成多媒体处理领域最有影响力的开源组件,接近50万行源代码的工程对ARM模拟器来说是个巨大的挑战,但多年的稳定性给了我很大信心。整个过程比较顺利,前后大约花2个半小时,包括在ARM开发板上验证。ffmpeg0.6的移植成 ...… 查看全部问答∨ |
设计资源 培训 开发板 精华推荐
- 【抢楼赢礼】聊聊“我眼中的ADI实验室电路”
- 是德科技(Keysight)有奖征文,下笔赢示波器啦!
- 模电怎么学?TI帮你定制课程清单!体验“模电选课测试”功能,赢精彩好礼
- 下载赢礼 | 雅特生 PMBus 接口非隔离数字 DC-DC 转换器
- PI HiperPFS-4系列功率因数校正IC,了解产品特色,答题享好礼!
- 看是德科技5G精彩专题,让你了解更多关于5G的那些事~ 下载赢好礼!
- 已结束|TI 直播【创新下一代汽车网关系统】
- 有奖直播|相约Keysight World 2019“汽车电子及新能源汽车测试”论坛
- 有奖直播:万物互联 -世健公司携手Microchip专家,共同探讨IoT解决方案