为了正常的体验网站,请在浏览器设置里面开启Javascript功能!

数码管动态显示乱码现象分析

2017-11-26 9页 doc 25KB 185阅读

用户头像

is_601191

暂无简介

举报
数码管动态显示乱码现象分析数码管动态显示乱码现象分析 数码管动态显示乱码现象分析 第24卷第5期 2009年1O月 液晶与显示 ChineseJournalofLiquidCrystalsandDisplays Voi.24.No.5 0Ct.,2009 文章编号:1007—2780(2009)05—0704—04 数码管动态显示乱码现象分析 熊再荣,雷建龙,李汉玲. (1.武汉船舶职业技术学院实iJll中心,湖北武汉430050,E—mail:lj162823073@yahoo.com.ci1 2.武汉船舶职业技术学院电子系,湖北...
数码管动态显示乱码现象分析
数码管动态显示乱码现象分析 数码管动态显示乱码现象分析 第24卷第5期 2009年1O月 液晶与显示 ChineseJournalofLiquidCrystalsandDisplays Voi.24.No.5 0Ct.,2009 文章编号:1007—2780(2009)05—0704—04 数码管动态显示乱码现象分析 熊再荣,雷建龙,李汉玲. (1.武汉船舶职业技术学院实iJll中心,湖北武汉430050,E—mail:lj162823073@yahoo.com.ci1 2.武汉船舶职业技术学院电子系,湖北武汉430050) 摘要:提出了在单片机控制数码管动态显示时出现显示乱码现象这一问题;从人眼的特性 及动态显示的过程出发,分析了单片机程序控制数码管时,产生显示混乱现象的原因;并且正 反两方面的实验验证了所做的分析;最后还提出了解决这些问题的. 关键词:数码管;动态显示;单片机;乱码 中图分类号:TN873.5;TP368.1文献标识码:A 1引言 数码管是一种由发光二极管组成的段码型显 示器件.虽然现在段码型液晶显示器件占据了数 字显示的大部分市场,但由于LED数码管具有主 动发光,使用温度范围宽,抗震性能好等优点,在 仪器,仪表的数字显示方面仍然有广泛的应用. 数码管一般由7个条状LED按"8"字形排列 而成,可实现数字"0,9"及少量字符的显示;另外 为了显示小数点,增加了1个点状的LED,因此 数码管就由8个LED组成.数码管的驱动方式 有静态式和动态式两类.静态驱动是指数码管的 每一个段码都由一个单片机的I/O端口进行驱 动,或者使用如BCD码二一十进制译码器译码进 行驱动.静态驱动的优点是编程简单,显示亮度 高;缺点是占用I/O端口多,实际应用时必须增 加译码驱动器进行驱动,增加了硬件电路的复杂 性.动态驱动是将所有数码管的8个显示笔划的 同名端连在一起,另外为每个数码管的公共极 COM增加位选通控制电路,位选通由各自独立 的I/O线控制,当单片机输出字形码时,所有数 码管都接收到相同的字形码,但究竟是哪个数码 管会显示出字形,取决于单片机对位选通COM 端电路的控制,所以只要将需要显示的数码管的 选通控制打开,该位就显示出字形,没有选通的数 码管就不会亮.通过分时轮流控制各个数码管的 的COM端,就使各个数码管轮流受控显示.动 收稿日期:2009,03—14;修订日期:2009—04—1l 基金项目:2007年湖北省教育厅科研项目(No.B2oo753001) 态显示的效果和静态显示是一样的,但能够节省 大量的I/0端口,而且功耗更低. 在单片机控制的数码管动态显示过程中,由于 显示程序给数码管送出的段码及位码的次序不一 样,所以有时会产生显示混乱现象,一些文献上虽有 正确的参考程序],但对由于颠倒送位码与段码次 序出现乱码问题并没有进行分析,在其它论文及有 关资料上也未看到对这一问题的详细分析.作者在 以前的研究过程中曾出现过类似问题[3],相信很多 显示接口设计人员在工作中也会遇到这一问题.作 者通过研究及实验验证,这一问题终于得以解决. 本文将对这一有现实意义的问题进行实验及分析. 2实验及现象 实验电路如图1所示,由单片机控制8位数 码管.单片机AT89C51的P0口通过总线驱动 器74LS244连接数码管的段码,P2.2,P2.0通 过地址译码器74LS138连接数码管的8个位码. 先采用仿真手段.仿真软件选用了能仿真单片机 的优秀仿真软件Proteus,它内置了多达上万个元 件的仿真模型库,包括8位单片机8051系列.数 码管的驱动程序在KeilC下编辑,运行. 驱动数码管的显示程序如下: #include<reg51.h> //共阴数码管O,9的段码 unsignedcharcodelistr]一{0x3f,0x06,Ox5b, Ox4f,Ox66,0x6d,0xTd,0x07,Ox7f,Ox6f}; 第5期熊再荣,等:数码管动态显示乱码现象分析705 //待显示的数字 unsignedchardatadisp[]一{0,7,4,4,2,0,3,7); //显示子程序 voiddisplay(unsignedchari) { PO—list[-disp[-i~];//送显示段码 P2一i;//送显示位码 //定时中断程序,每5ms中断一次,更新显示. voidtimer1一 int(void)interrupt3 { TH1一一5000/256: TI1一一5000%256; j++; if(j>7) j—o; display(j); } //主程序,初始化定时器,等待中断 main() { TMOD===0xl0: TH1—5000/256: TI1一一5000%256; EA一1; ET1—1: TR1—1: while(1); ) 图1数码管动态显示电路 Fig.1DynamicdisplaycircuitofLED 程序设计成每隔5ms依次扫描一位数码管, 数码管循环动态显示.正常情况下8位数码管的 显示效果应如图1所示,但是实际显示的效果却 如图2所示,为乱码.图中是通过Proteus仿真 软件得到的结果,为进一步分析,制作了实际的实 验电路,但效果也是如此. 图2数码管显示乱码现象 Fig.2MessycodeofLEDdisplay 3乱码原因分析 为分析原因,采用了单片机仿真软件Proteus 与单片机编译分析软件KeilC联调的方式.在 Proteus软件中画好如图1所示的仿真电路图,并 将其主菜单调试"Debug"设置为"useremotede— bugmonitor",即远程调试模式,通过KeilC中的 程序来调试.在KeilC环境下输入如上的程序, 将其主菜单的"Project"下的"OptionforTarget" 选项卡中的调试项"Debug"选择为"useProteus VSMSimulator",即使用Proteus来调试.这样 在KeilC中编译好程序后,选择主菜单"Debug" 下的"Start/StopDebugsession"就可启动仿真, 在Proteus中可以同步观察仿真的结果. 为精确定位产生乱码的位置,在KeilC中采 用单步运行方式,当运行到"P0一list[disp[i]];" 时,要显示的数字不出现在应显示的位置而是在 前一位的位置上;当运行下一句"P2一i;"时,数字 才移到了应显示的本来位置.产生问题的地方找 到了,看来出现乱码的原因是数字在显示器上产 生了移动现象. 动态显示是利用人眼对光刺激的滞留效应, 光线引起视觉后会在人的视觉系统中留下约 0.24S的停滞时间.在数码管动态显示中,只要 扫描的时间足够快,虽然在一个时刻只有一位数 码管发光,但却可以看到8位数码管"同时"显示 的效果.在上面的显示程序中,先送的是段码,这 一 时刻位码并没有改变,故所送的数仍然显示在 前一位上;虽然紧接着改变显示位,送位码,前一位的显示仍将"滞留"在人眼上,这样由于前一位 原来的显示与之在人眼上重叠,便显示了乱码. 706液晶与显示第24卷 在图2中第三位数码管的显示也说明了这种分 析.由于第三位和第四位都是显示的数字"4",重 叠后仍然应显示"4",而其它数码管由于相邻的数 字不同,则出现乱码. 4解决办法 既然乱码现象是由于位码没有更新,两次显 示重叠造成的,所以为了能正确显示,可以在每次 扫描更新显示时,先关闭显示器,如在显示程序前 面加上"P0一OxO0;"即可解决这一问题.其实只 要颠倒上面显示程序中送段码与送位码的次序, 先送位码,再送段码,也不会显示乱码.同样采用 单片机仿真软件Proteus与单片机编译分析软件 KeilC联调的方式.在KeilC中单步运行,运行 到"P2===i;"句时,前次显示的数字出现在现应显 示的位置,运行到下一句"P0一list[disp[i]];"时, 本次要显示的数字才出现,即这时本位数字才更 新,似乎数字也产生了移位,应产生乱码,但实际 连续运行程序时并不产生乱码.原因是,先送位 码时,由于段码没有更新,仍是前一位的段码,前 参考文献: 一 位显示的数字会在下一位停留很短的几微秒的 时间(仅仅是执行送位码语句的执行时间),但之 后送来的本位的段码使之立即更新,并且要在人 眼上停留长得多的时间(这里是5ms),故所看到 的效果是本位的显示,而不是前一位的显示码. 将更改后的程序烧写到所制作的实验电路中,实 验时显示正常,没有出现乱码,说明解决问题的方 法是正确的. 5结论 由实验及分析可见,在使用单片机等微控制 器控制LED数码管及其它数码管显示时,如果采 用动态扫描的方法,控制程序先送段码再送位码, 由于人眼的"滞留"效应,将会产生乱码现象;为了 让显示器不显示乱码,其控制程序要么在每次显 示更新前先关闭显示器再送段位及位码,要么先 送位码再送段码,都可解决这一问题., 以上修改了的程序已运用到所做的课题研究 中,LED显示电路能正常稳定地工作,了本 文分析的正确性. [1]于斌.单片机原理与接口技术EM].北京:人民邮电出版社,2008:156158. [2]戴佳,戴卫恒.51单片机c语言应用程序实例精讲[M].北京:电子工业出版社,2007:108110. [3]雷建龙.基于单片机的超声波液位测量仪[J].仪表技术与传感器,2004,256(6):8-10. [4]姜道连,宁延一.用AT89C2051设计超声波测距仪[J].国外电子元器件,2000,135(12):3l一35. [5]刘全,靳桅.超长LED显示屏控制系统的实现EJ].液晶与显示,2008,23(6):744—750. [6]赵才荣,丁铁夫,郑喜凤,等.大屏幕LED显示控制系统的设计[J].液晶与显示,2005,20(6):564—569. [7]赵才荣,刘金娥,丁铁夫.基于LED图文屏的多灰度图像实现方法LJ].液晶与显示,2006,21(1):82—86. [8]梁志明,李斌.基于FPGA的大屏幕全彩LED扫描控制器设计[J].液晶与显示,2007,22(4):477481. [9]冯道宁,王念春.地铁列车LED显示屏的设计[J].液晶与显示,2007,22(1):99—103. [1o]郑喜凤,邓春健,冯永茂,等.一种实现LED显示屏显示信息的方法[J].液晶与显 示,2007,22(3):331—335 [11]田秀伟,郑喜凤,丁铁夫.基于SOPC的LED显示屏控制器设计[J].液晶与显 示,2007,22(6):737—741. 第5期熊再荣,等:数码管动态显示乱码现象分析7O7 AnalysisofMessyCodeinLEDDynamicDisplay XIONGZai—rong,LEIJian—long,LIHan—ling (1.TrainingCenterofWuhanInstituteofShipbuildingTechnology, Wuhan430050,China,Email:ljl62823073ahoo.com.cn; 2.ElectronicDepartmentofWuhanInstituteofShipbuildingTechnology,Wuhan430050,China) Abstract ThearticleputouttheproblemofmessycodeappearedindynamicdisplayofICDcontrolledby MCU.Bystudyingthecharacteristicofeyesandtheprocessofthedisplay,thearticleanalyzed the causesofconfusiondisplaywhentheLEDwascontrolledbytheMCUprogram.Theexperimentspros andconsprovedtheanalysisofthisarticlewasright.Themethodhowtosolvetheproblemwasgiven out. Keywords:LED;dynamicdisplay;MCU;messycode 作者简介:熊再荣(1965一),女,湖北武汉人,实验师,研究方向:嵌入式技术. '',''l,',''',?'',',''',',,'','l,'',,'l,'l'?l,',,''''l,'l'',,,'l',,,'l''l,'I,,I?'l,'》,,'m'l 欢迎订阅2010年《液晶与显示》 《液晶与显示》是中国最早创办的液晶学科专业期刊,也是中国液晶学科和显示 技术领域中惟一的 综合性专业学术期刊.它由中国科学院长春光学精密机械与物理研究所,中国光学 光电子行业协会液 晶分会和中国物理学会液晶分会主办,科学出版社出版. 《液晶与显示》以创新性,综合性,实用性为办刊特色,内容丰富,涵盖面广,信息量大,可读性强,既 是启迪科技人员开拓创新思路的参考期刊,又是从事液晶和显示技术研究与开发的广大科技人员,大专 院校师生及相关领域的科技工作者进行学术交流的论坛,也是图,情报等部门必不可少的信息来源. 《液晶与显示》为双月刊,国内定价4O..0元,全年240.00元,国内外公开发行.国内邮发代号:12— 203,国内读者可在当地邮局订阅;也可通过"全国非邮发报刊联合发行部"订阅(地址:天津市大寺泉集 北里别墅l7号,邮编300385),本刊的代号为:5074.国外读者可通过中国国际图书贸易总公司订阅 (地址:北京399信箱,邮编:l00044),国外发行代号:4868BM.同时,《液晶与显示》编辑部将竭诚为广 大读者服务,随时办理订阅. 地址:长春市东南湖大路3888号中国科学院长春光学精密机械与物理研究所 《液晶与显示》编辑部邮编:130033 电话:0431-861760590431—84613406传真:0431—84695881 E—mail:yjxs@ciomp.ac.cn;yJyxs@126.com
/
本文档为【数码管动态显示乱码现象分析】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。 本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。 网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。

历史搜索

    清空历史搜索