欢迎来到天天文库
浏览记录
ID:14269877
大小:252.50 KB
页数:4页
时间:2018-07-27
《led数码管驱动显示实验》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、LED数码管驱动显示实验实验内容:1、八字段LED数码管驱动显示工作原理2、74LS138三—八译码器工作原理及如何控制数码管工作原理3、数码管动态显示工作原理分析与计算4、数码管多种显示实验实验讲义:一、七字段数码管显示工作原理共阴级接法共阳级接法共阳极接法字形表字符h(DP)gfedcbaP0口P0.7P0.6P0.5P0.4P0.3P0.2P0.1P0.0P0(16进制)全灭11111111FF显示011000000C0H显示111111001F9H显示210100100A4H显示310110000B0H显示
2、41001100199H显示51001001092H显示61000001082H显示711111000F8H显示81000000080H显示91001100098H详情分析可以启动51单片机工具箱软件,选择“数码管字形”生成选项进行字形分析。二、74LS138三—八译码器工作原理及如何控制数码管工作原理注:上图是工程样品图。实际修改后的电路板图将接入9012三极管的Y0-Y7顺序改为Y7-Y0输入3—8译码器输出现象P2口的值P21P21P20CBAY7Y6Y5Y4Y3Y2Y1Y00x0000011111110Y0
3、对应的数码管亮0x0100111111101Y1对应的数码管亮0x0201011111011Y2对应的数码管亮0x0301111110111Y3对应的数码管亮0x0410011101111Y4对应的数码管亮0x0510111011111Y5对应的数码管亮0x0611010111111Y6对应的数码管亮0x0711101111111Y7对应的数码管亮三、数码管驱动方式及动态显示工作原理分析与计算1、人眼的视觉暂留现象数码管要正常显示,就要用驱动电路来驱动数码管的各个段码,从而显示出我们要的数字,因此根据数码管的驱动方
4、式的不同,可以分为静态式和动态式两类。①静态显示驱动:静态驱动也称直流驱动。静态驱动是指每个数码管的每一个段码都由一个单片机的I/O端口进行驱动,或者使用如BCD码二-十进制译码器译码进行驱动。静态驱动的优点是编程简单,显示亮度高,缺点是占用I/O端口多,如驱动5个数码管静态显示则需要5×8=40根I/O端口来驱动,要知道一个89S52单片机可用的I/O端口才32个呢:),实际应用时必须增加译码驱动器进行驱动,增加了硬件电路的复杂性。②动态显示驱动:数码管动态显示接口是单片机中应用最为广泛的一种显示方式之一
5、,动态驱动是将所有数码管的8个显示笔划"a,b,c,d,e,f,g,dp"的同名端连在一起,另外为每个数码管的公共极COM增加位选通控制电路,位选通由各自独立的I/O线控制,当单片机输出字形码时,所有数码管都接收到相同的字形码,但究竟是那个数码管会显示出字形,取决于单片机对位选通COM端电路的控制,所以我们只要将需要显示的数码管的选通控制打开,该位就显示出字形,没有选通的数码管就不会亮。通过分时轮流控制各个数码管的的COM端,就使各个数码管轮流受控显示,这就是动态驱动。在轮流显示过程中,每位数码管的点亮时间为1~2
6、ms,由于人的视觉暂留现象及发光二极管的余辉效应,尽管实际上各位数码管并非同时点亮,但只要扫描的速度足够快,给人的印象就是一组稳定的显示数据,不会有闪烁感,动态显示的效果和静态显示是一样的,能够节省大量的I/O端口,而且功耗更低。2、数码管使用的电流与电压计算电流:静态时,推荐使用10-15mA;动态时,16/1动态扫描时,平均电流为4-5mA,峰值电流50-60mA。电压:查引脚排布图,看一下每段的芯片数量是多少?当红色时,使用1.9V乘以每段的芯片串联的个数;当绿色时,使用2.1V乘以每段的芯片串联的个数。四、
7、数码管显示实验利用3-8译码器来选择需要显示(亮)哪个数码管,利用P0口来负责显示什么数字或符号1、让Y0所对应的数码管显示“0”—“9”,间隔1秒2、让Y0所对应的数码管显示“0”,Y1显示“1”,Y2显示“2”…………以此类推最后Y7显示“7”,间隔1秒3、让Y0所对应的数码管显示“0”,Y1显示“1”,Y2显示“2”…………以此类推最后Y7显示“7”,间隔4毫秒,注意观察现象,和实验2有何区别4、让Y0所对应的数码管显示“5”,停留1秒,再让Y1显示“5”,…………以此类推最后Y7显示“5”,移动字幕5、在8
8、个数码管上稳定显示“iloveyou”6、数码管动态显示程序清单#includevoiddelaym(unsignedintt)//延时子程序,入口参数ms,延迟时间=t*1ms,t=0~65535{unsignedcharj;//j=0~255while(t--){for(j=0;j<125;j++);//j进行的内部循环,1次延迟8us
此文档下载收益归作者所有