还剩10页未读,继续阅读
本资源只提供10页预览,全部文档请下载后查看!喜欢就下载吧,查找使用更方便
文本内容:
数码管教学探索电子显示的基础元件第一章数码管简介数码管的定义与用途电子显示中的重要性常见数码管类型数码管是一种电子显示器件,由排列成8作为最早普及的数字显示装置之一,数码管字形的七个发光二极管(LED)组成,通过为电子产品提供了清晰的数字反馈尽管液选择性地点亮这些段来显示数字和有限的字晶显示器LCD和其他技术已经普及,但数母在计算器、时钟、家电和各种测量仪器码管因其高亮度、宽视角和简单可靠的特中广泛应用,提供简单直观的数字信息显性,在特定应用中仍然不可替代示数码管的结构与组成七段LED组成及命名数码管由七个独立的LED段(标记为a至g)和一个小数点DP组成•上横段a、下横段d和中横段g•左上段f、左下段e•右上段b、右下段c•小数点DP用于显示小数值每段独立控制,通过不同组合可显示数字0-9和部分字母数码管七段结构示意图引脚功能介绍数码管的分类12共阴极数码管共阳极数码管在共阳极数码管中,所有LED段的阳极连接在一起并接到电源要点亮特定段,需将该段的阴极接入低电平(接地)•驱动逻辑0点亮,1熄灭(与共阴极相反)•适用于输出低电平的驱动电路•在某些CMOS电路中更常见数码管显示数字原理数码管通过有选择地点亮不同的LED段来形成不同的数字或字符每个数字都有其特定的段码组合数字与段码对应关系数字点亮的段十六进制段码0a,b,c,d,e,f0x3F1b,c0x062a,b,d,e,g0x5B3a,b,c,d,g0x4F4b,c,f,g0x665a,c,d,f,g0x6D6a,c,d,e,f,g0x7D7a,b,c0x078a,b,c,d,e,f,g0x7F9a,b,c,d,f,g0x6F数码管显示0-9的段码组合示例在编程时,这些段码通常使用十六进制或二进制表示,每一位对应一个LED段例如,数字8点亮所有段,其段码为0x7F(二进制01111111)数码管七段结构示意图段位标识与命名段位布局设计原理如图所示,标准七段数码管的各段按字母a-g标识,小数点标记为DP七段布局经过精心设计,以最少的段数表达最多的信息•a段顶部水平段•每段均为独立LED,可单独控制•b段和c段右侧垂直段•通过最优化的排列实现0-9十个数字的清晰显示•d段底部水平段•还可显示部分字母(A-F、H、L、P等)•e段和f段左侧垂直段•小数点DP单独控制,可表示小数值•g段中间水平段•DP右下角小数点第二章数码管的硬件连接数码管与单片机的接口方式直接驱动与译码驱动常用译码器芯片数码管可以通过多种方式与单片机连接,主直接驱动单片机IO口直接连接数码管各常用的数码管译码器芯片包括要包括段,每个数码管需要8个IO口(7段至七段译码器驱动•74HC4511BCD/)优点是控制灵活,可显示自定义字+DP•直接IO口驱动每段使用一个IO口直接器,内置锁存器符;缺点是占用资源多IO控制至七段译码器•CD4511CMOS BCD/译码驱动使用译码器芯片(如•译码器驱动使用专用译码芯片将BCD驱动器)将位二进制数据转换为七段74HC45114码转换为七段码串行接口位七段数码管驱•MAX72198显示码优点是仅需个口即可控制一个4IO移位寄存器驱动通过串行接口控制多动器,可级联•数码管;缺点是只能显示预设字符个数码管,节省口IO接口数码管控制器,集成•TM1637I²C键盘扫描功能选择合适的接口方式需考虑单片机资源、IO显示数量和刷新要求译码器驱动数码管译码器工作原理译码器(如74HC4511)接收二进制编码的十进制数(BCD码),将其转换为对应的七段显示码,从而简化数码管控制•接收4位BCD输入(0-9),输出7位段控制信号•内置锁存器,可保持显示状态•具有消隐控制(BI/RBO)和锁存使能(LE)功能74HC4511译码器驱动数码管电路示例3线或4线控制简化接线使用译码器可将控制线从7根减少到3-4根•A、B、C、D4位BCD数据输入,连接到单片机的4个IO口•LE(锁存使能)控制数据锁存,可连接到单片机IO或直接接地(始终使能)多位数码管显示在实际应用中,通常需要显示多位数字,这就需要控制多个数码管由于IO资源有限,常采用扫描显示技术多位数码管的控制方式扫描显示原理硬件连接注意事项多位数码管有两种主要连接方式扫描显示利用人眼视觉暂留现象,通过快速切在设计多位数码管扫描电路时需注意换点亮不同位的数码管,形成多位数字同时显共阴/共阳控制所有数码管的段连接在一起,•段驱动电流需考虑最大输出能力示的视觉效果各位的公共端(阴/阳)单独控制•添加限流电阻保护LED和驱动电路独立控制每个数码管独立驱动,需要更多IO•所有数码管段线并联连接到控制电路•使用三极管或MOS管增强驱动能力资源•各位数码管的公共端单独控制(开关控制)•扫描频率需足够高(100Hz)避免闪烁扫描显示通常采用共阴/共阳控制方式,更节省•按顺序循环点亮各位,每次只显示一位的•考虑时间分配均匀,避免亮度不均内容IO资源•扫描频率通常大于100Hz,人眼无法察觉闪烁多位数码管扫描显示电路图上图展示了典型的四位数码管扫描显示电路在这种设计中,所有数码管的对应段位连接在一起,而每个数码管的公共端由一个三极管(或MOS管)控制电路工作原理关键电路元件该电路通过时分复用原理显示多位数字电路中的关键组件及其功能•七段控制线(a-g)连接到所有数码管的对应段限流电阻保护LED和驱动电路,通常为200-330Ω•各位数码管公共端通过三极管开关控制驱动三极管提供足够的电流驱动数码管(常用8550/8050或2N3906/2N3904)•单片机按顺序循环激活各位,同时输出对应的段码去耦电容滤除电源噪声,提高显示稳定性•每个数码管在短时间内被点亮,显示各自的数字•由于视觉暂留效应,人眼感知为稳定显示可选译码器如74HC4511,简化段码生成第三章数码管的编程控制基础单片机IO口控制数码管数码管段码的编程表示使用单片机控制数码管的基本流程//共阴极数码管0-9的段码表(低电平熄灭)const unsignedchar SEG_CODE[]={0x3F,//0:0b00111111a,b,c,d,e,f0x06,//1:
1.定义段码表创建0-9数字对应的段码数组0b00000110b,c0x5B,//2:0b01011011a,b,d,e,g0x4F,//3:0b01001111a,b,c,d,g0x66,//4:0b
011001102.配置IO口设置段控制和位选择IO为输出模式b,c,f,g0x6D,//5:0b01101101a,c,d,f,g0x7D,//6:0b01111101a,c,d,e,f,g0x07,//7:0b00000111a,b,c0x7F,//8:0b01111111a,b,c,d,e,f,g0x6F//9:0b01101111a,b,c,d,f,g};//共阳极数码管需对以上段码取反
3.编写显示函数根据需要显示的数字查表获取段码
4.实现扫描功能循环点亮各位数码管并显示相应数字不同单片机平台(如
51、STM
32、Arduino等)的具体实现略有不同,但基本原理相同数码管显示代码示例(基于51单片机)代码示例解析(共阴极数码管显示数字)0代码分析void display_digit_0{//共阴极数码管显示0的段码0x3F//点亮a,b,c,d,e,f段,g段熄灭SEGMENT_PORT=0x3F;//二进制00111111//选择第一位数码管DIGIT_SELECT=0x01;//只激活第一位//延时保持显示delay_ms5;}数码管显示数字0的硬件连接显示原理解析程序改进方向显示数字0需要点亮六个段(a、b、c、d、e、f),保持g段熄灭在共阴极数码管中,点亮某段需要实际应用中,可以对程序进行以下改进将对应IO口输出高电平
(1)•使用中断定时器实现更精确的扫描时序段码0x3F(二进制00111111)中,低六位为1,代表点亮a-f段;第七位为0,代表g段熄灭这样就形•添加消隐功能,避免显示切换时的鬼影成了数字0的显示•实现小数点控制和闪烁效果•添加显示缓冲区,便于数据更新•实现数字到段码的自动转换函数。
个人认证
优秀文档
获得点赞 0