


版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、实验四数码管显示1.驱动原理数码管由7个发光二极管组成,行成一个日字形,它门可以共阴极,也可以共 阳极.通过解码电路得到的数码接通相应的发光二极而形成相应的字,这就是它的工作原理基本的半导体数码管是由7个条状的发光二极管(LED按图1所示排列而 成的,可实现数字"09"及少量字符的显示。另外为了显示小数点,增加了 1 个点状的发光二极管,因此数码管就由8个LED组成,我们分别把这些发光二极 管命名为"a,b,c,d,e,f,g,dp",排列顺序如下图1。图1:数码管引脚图及外形图2.数码管的结构及分类特别提示:注意段码和位码的概念;会找出不同接法的段码分
2、析方法。数码管按各发光二极管电极的连接方式分为共阳数码管和共阴数码管两种 共阴数码管是指将所有发光二极管的阴极接到一起形成公共阴极(COM的数码管。共阴数码管在应用时应将公共极 COh接到地线GNDt,当某一字段发光二极 管的阳极为高电平时,相应字段就点亮。当某一字段的阳极为低电平时,相应字 段就不亮。共阴数码管部连接如图 3所示。共阳数码管是指将所有发光二极管的阳极接到一起形成公共阳极(CO M的数码管。共阳数码管在应用时应将公共极 COMS到+5V,当某一字段发光二极管的 阴极为低电平时,相应字段就点亮。当某一字段的阴极为高电平时,相应字段就 不亮。共阳数码管部连接如图2所示。艾阳极7段数
3、码営a b c c 心 f F 、撐丰欢立於§1 e f 5 h? 辛 p 罕 “ 祺女* W立卅、砂C共阴极丁)GNU段数码営图2:共阳数码管部连接图图3:共阴数码管部连接图显录字彎典阴共阳樓股其砌股诜科03FHCOHC39HCCH1(MHF9HD5EHA1H2兄HA4EE79HS6H34fHBUHF71HWH4MH99HF73HOH56DH?2HU3EHC1H6TOMS2HI31HCEH1D1HF3Hy6EH91Hg7fHSOHgFFHOOH6THPOMOOHFFHTH託HI-BTCH83H七段LED的段选码、多位数码管的驱动方法A.静态法静态显示驱动:静态驱动也称直流驱动。静态
4、驱动是指每个数码管的每一个 段码都由一个单片机的I/O端口进行驱动,或者使用如 BCD码二-十进制译码器 译码进行驱动。静态驱动的优点是编程简单,显示亮度高,缺点是占用I/O端口 多,如驱动5个数码管静态显示则需要5X 8= 40根I/O端口来驱动,要知道一 个89S51单片机可用的I/O端口才32个呢:),实际应用时必须增加译码驱动器进行驱动,增加了硬件电路的复杂性。送数后可保持 E.动态扫描法Di k V V k L1/0(2)八位LED动态显示器电路动态显示驱动:数码管动态显示接口是单片机中应用最为广泛的一种显示方式之一,动态驱动是将所有数码管的8个显示笔划"a,b,c,d,e
5、,f,g,dp"的同名端连在一起,另外为每个数码管的公共极 COM曾加位选通控制电路,位选通由各自 独立的I/O线控制,当单片机输出字形码时,所有数码管都接收到相同的字形码, 但究竟是那个数码管会显示出字形,取决于单片机对位选通CO朗电路的控制,所以我们只要将需要显示的数码管的选通控制打开,该位就显示出字形,没有选通的数码管就不会亮。通过分时轮流控制各个数码管的的 COM端,就使各个数码 管轮流受控显示,这就是动态驱动。在轮流显示过程中,每位数码管的点亮时间 为12ms由于人的视觉暂留现象及发光二极管的余辉效应,尽管实际上各位 数码管并非同时点亮,但只要扫描的速度足够快,给人的印象就
6、是一组稳定的显 示数据,不会有闪烁感,动态显示的效果和静态显示是一样的,能够节省大量的I/O端口,而且功耗更低。注意:需要不停送数。实验任务一:静态扫描显示在数码管上循环显示0000至9999。打开锁存器74HC573锁存端,使数码管和P0 口直通,向P0 口送段码,打开 数码管位选。注意:若P0 口只需要用数码管功能,则锁存器 573可以为直通方式若P0 口 需要数码管和其它器件复用,则需要用上573的锁存功能(1) 硬件的连接图qu P右JOil二"Trl二产厂.DSI4HC573(2) 实验目的:学会对数码管静态显示操作DO DID2D3 D斗D5D6D7LEOE19 a(3)
7、 实验步骤分析设计容,设计软硬件设计方法 编写C语言代码编译代码下载可执行文件硬件调试 观察现象(4) 程序源码:头文件#i nclude"regx52.h"#defi ne uchar un sig ned char#defi ne uint un sig ned int uchar code dispcode=0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f; 09 共阴显示子码sbit LOCK=P1A0; sbit D1= P1A1;sbit D2=PM2; sbit D3=P1A3;sbit D4=P1A4;/定义
8、锁存端/数码管位选第一位 /数码管位选第二位 /数码管位选第三位 /数码管位选第四位/*毫秒级延时函数 */void delayms( uint ms)uchar b; while(ms-)for(b=0;b<125;b+);主函数void mai n() uint i;LOCK=1;D仁0;D2=0;D3=0;D4=0;while(1)for(i=0;i<9;i+)P0=dispcodei; delayms(1000);/高电平通,低电平锁/此程序因为不复用端口,所以让它全通 /依次打开全部数码管位选II向P0 口送段码/延时1S(6) 现象数码管循环显示0000999Q(7)
9、扩展任务设计09自减器用数码管静态显示。实验任务二:动态扫描显示分别在各位上,显示7、6、5、4四个数,然后依次关闭显示,如此反复(1) 硬件的连接图(2) 实验目的:学会对数码管的基本操作(3)程序设计容O573可以为直通方式;若 P0 口需打开锁存器74HC573锁存端,使数码管和P0 口直通,向P0 口送段码,依 次打开数码管位选,延时1S再依次关闭位选,如此往复循环 注:若P0 口只需要用数码管功能,则锁存器 要数码管和其它器件复用,则需要用上 573的锁存功能(4)程序流程图:(5)程序源码:/*#i nclude"regx52.h"#defi ne uchar
10、un sig ned char#defi ne uint un sig ned int头文彳牛 */uchar code dispcode=0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f;09 共阴显示子码sbit LOCK=PMO; sbit D1= P1A1;sbit D2=PM2; sbit D3=P1A3;sbit D4=P1A4;/定义锁存端 数码管位选 数码管位选 数码管位选 数码管位选第一位 第二位 第三位 第四位/*void delayms( uint ms)uchar b;while(ms-)for(b=0;b<125
11、;b+); 毫秒级延时函*/* void mai n()LOCK=1;主函数 */高电平通,低电平锁此程序因为不复用端口,所以让它全通while(1)D仁0;P0=dispcode8; delayms(1000); D1=1;delayms(1000);D2=0;依次打开全部位选把数组的第八位(7)取出来赋给P0P0=dispcode7;把数组的第七位(6)取出来赋给P0delayms(1OOO); D2=1; delayms(1OOO);D3=0; PO=dispcode 6; delayms(1OOO);D3=1; delayms(1OOO);D4=0;PO=dispcode 5;把数组的
12、第六位(5)取出来赋给P0把数组的第五位(4)取出来赋给P0delayms(IOOO); D4=1;delayms(IOOO); (6)现象DI显示7延时1s,关闭延时1s; D2显示6延时1s,关闭延时1s; D3显示 5延时1s,关闭延时1s; D4显示4延时1s,关闭延时1s;(7)扩展任务拉布显示 8765->7654->6543->5432->4321->3210->2108如此循环。实验任务三:数码管动态扫描使用进阶09999自加器,满9999清0重新计数。(1)硬件连接图如上(2)实验目的:学会对数码管的更进一步的控制(3)程序设计容本实验使用
13、了定时器0中断完成4位数码管的显示。注意:若P0 口只需要用数码管功能,则锁存器 573可以为直通方式;若 P0 口 需要数码管和其它器件复用,则需要用上 573的锁存功能。(4)实验步骤分析设计容,设计软硬件设计方法编写C语言代码编译代码下载可执行文件硬件调试观察现象(5)程序源码:/*头文件 */#i nclude"regx52.h"#defi ne uchar un sig ned char#defi ne uint un sig ned int uchar code dispcode=0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0
14、x7f,0x6f; 09 共阴显示子码数码管位选码,低电平为选通,分别是P12, P13, P14uchar dispbuf=""uint num=0;计数变量uchar con t=0;显示偏移量uchar i=0;计时变量sbit LOCK=P1A0;定义锁存端uchar code dispbit=0xfd,0xfb,0xf7,0xef;P11,毫秒级延时函数void delayms( uint ms) uchar b;while(ms-)for(b=0;b<125;b+);/*void mai n()LOCK=0;IE=0X82; TMOD=0X01;TL0=(
15、65536-5000)%256;TH0=(65536-5000)/256;TR0=1; while(1) nu m+; if(n um=10000) num=0;主函数*/数码管直通/EA=1 ET0=1打开总中断 打开定时器0中断/T0方式2 8位定时器自动重装定时5MS启动定时器T0/大循环计数变量自增满10000清0 (数码管最大显示9999)dispbuf3=num/1000%10;/分离千位,放缓冲区 dispbufdispbuf2=num/100%10; 分离百位dispbuf1=num/10%10; 分离十位dispbufO=num/1%10;分离个位delayms(50);延时 50MS (时间自定)定时器 0 的 中断服务程序 */利用中断服务函数,完成4位数码管的显示 void timetodisplay() interrupt 1/定时器 T0 TL0=(65536-5000)%256;/定时 5MSTH0=(65536-5000)/256;P0=dispcod
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 粮油食品检验人员通关考试题库(突破训练)附答案详解
- 期货从业资格之《期货基础知识》过关检测附参考答案详解(a卷)
- 小儿西医课件
- 大学生职业规划书3000字
- 小儿腹泻课件
- 期货从业资格之期货投资分析试卷附答案详解(巩固)
- 期货从业资格之期货投资分析考试押题卷含答案详解【考试直接用】
- 外墙乳胶漆施工合同
- 期货从业资格之期货投资分析测试卷含答案详解【a卷】
- 返聘如何解除劳动合同协议
- 2025年高考化学四川卷试题答案解读及备考指导(精校打印)
- 拍卖合同范本大全2025年
- 2025企业级AI Agent(智能体)价值及应用报告
- 脑机接口与教育心理学的未来
- 班主任常规管理实施策略
- 【高考真题】2025年高考英语真题试卷(北京卷)(含答案)
- 展览会布展工程质量保证措施
- 危险化学品应急演练计划
- 2025秋部编版(2024)八年级上册语文上课课件 第六单元 阅读综合实践
- 单元整体设计下教、学、评一体化的实施策略
- DB32T 5124.3-2025 临床护理技术规范 第3部分:成人危重症患者有创动脉血压监测
评论
0/150
提交评论