基于PWM模块的智能风扇调速
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
基于PWM模块的智能风扇调速
摘要:基于PWM模块的智能风扇调速设计采用目前市场上性能价格比较高的89c52单片机作为主控部分。
使用DS18B20数字式温度传感器芯片测量环境温度。
通过共阴极数码管显示出来。
同时利用PWM控制直流电机转速。
主要有单片机最小系统模块、温度测量模块、LED显示模块、PWM电机转速控制模块和电源模块组成。
通过调节输出矩形波的占空比来控制风扇转速。
使用简单的电路实现了智能速度控制。
利用简单的电路实现自动话控制,它在实际生活生产中具有广泛的实用价值
关键词:89S52、温度、智能调速
Based on the PWM module of the intelligent fan speed
Abstract: Based on the PWM module of the intelligent fan speed control design using currently on the market performance of the high price and the
89C52 microcontroller as the main control part. The use of DS18B20 digital temperature sensor chip for measuring environment temperature. Through the common cathode digital tube display. At the same time, the use of PWM control of DC motor speed. Mainly has the minimum system module, a temperature measuring module, LED module, PWM motor speed control module and power supply module. By adjusting the output square wave duty cycle to control the fan speed. Using a simple circuit to realize intelligent speed control. Use a simple circuit to realize automatic control, in real life it has a wide practical value in production
Key words: 89S52, temperature, intelligent control
目录
基于PWM模块的智能风扇调速 (1)
摘要 (1)
关键词 (1)
Based on the PWM module of the intelligent fan speed (2)
第一章引言 (4)
1.1 智能风扇调速设计概述 (4)
1.2本设计任务 (4)
第二章电路工作原理分析 (6)
2.1 系统的硬件构成及功能 (6)
2.2硬件连接方式 (6)
第三章:芯片介绍 (7)
3.1 MCS- 51介绍 (7)
3.2:DS18B20数字温度传感器介绍 (10)
3.3 LED数码管显示 (19)
3.3.1 LED数码管介绍 (19)
3.3.2 LED数码管编码方式 (20)
3.3.3 LED数码管显示方式和典型应用电路 (21)
第四章部分电路介绍 (22)
4.1单片机的最小应用系统 (22)
4.1.1 单片机的时钟电路 (22)
4.1.2 复位电路和复位状态 (23)
4.1.3总线结构 (25)
4.2设计显示电路 (26)
4.3电源电路 (27)
4.4看门狗电路 (28)
4.5 PWM转速控制电路 (28)
第五章程序设计 (29)
5.1主流程图 (29)
5.2 DS18b20测温程序流程 (29)
5.3显示主程序 (30)
第六章原理图和印制板图的设计 (32)
( 一 ) 原理图的设计和网络表的生成 (32)
(二)PCB的制作和设计 (32)
第七章原理图的protues仿真 (34)
7.1PROTUES介绍 (34)
7.2原理图仿真步骤 (37)
总结 (38)
谢辞 (39)
参考资料及文献 (40)
附录一:原理图 (41)
附录二:PCB (42)
附录三程序清单 (43)
第一章引言
本设计采用单片机具有体积小,成本低,抗干扰能力强,面向控制,可以实现分机各分布式控制等优点。
本设计基于PWM模块的智能风扇调速设计采用目前市场上性能价格比较高的89C52单片机设计而成的最小系统。
利用简单的电路实现自动话控制,它在实际生活生产中具有广泛的实用价值。
本文主要阐述了生活中的应用。
1.1 智能风扇调速设计概述
智能风扇调速设计是根据温度来调节风扇的转速,当温度低时转速也低温度越高转速越高,从而达到温度控制的作用。
在实际生活生产中具有广泛的应用,随着空调机在日常生活中的普遍应用,很容易想到电风扇会成为空调的社会淘汰品,电风扇在市场的考验中并没有淡出市场,反而销售在不停的复苏中具有强大的发展空间。
据市场调查,电风扇的不停复苏主要在以下原因:一是电风扇虽然没有空调机的强大的制冷功能,但电风扇是直接取风,风力更加温和,比较适合老年人、儿童以及体质虚弱的人使用。
二是电风扇经过多年的市场使用,较符合人们的使用习惯,而且结构简单、操作方便、安装简易。
三是电风扇比起空调产品而言,其价格低廉,相对省电,更易的进入老百姓的家庭。
在激烈的市场竞争下,虽然电风扇具有广阔的市场空间,但不断新生产品的出现,要使产品更具市场优势,仅仅是靠传统型的电风扇是远远不够的,因此要对传统的电风扇根据市场的需要进行不断的更新,不断的改进,以使自己的产品立于不败之地。
传统的电风扇较为突出的缺点是:风扇的风力大小不能根据温度的变化自动的调节风速,对于那些昼夜温差比较大的地区,这个自动调节风速就显得优其的重要了,特别是人们在熟睡时常常没有觉察到夜间是温度变化,那样既浪费电资源又容易引起感冒。
本设计就是以这个为出发点设计的。
1.2本设计任务
1:能够实时测量环境温度并通过数码管显示出来。
2:能够根据环境温度利用PWM技术调节风扇转速并大致显示转速。
3;掌握proteus的基本原理和使用方法;
4:掌握数码管和LED的显示的方法;
5:掌握绘图软件Protel99 se的使用方法并绘制原理图和PCB电路图;
6:用单片机C语言编写程序并使用LEILC编译;
7:利用PROTUES 7.5软件画出电路原理图并仿真运行
第二章电路工作原理分析
2.1 系统的硬件构成及功能
本设计为实现PWM 的风扇智能调速功能,采用89c52单片机作为主控部分。
使用DS18B20数字式温度传感器芯片测量环境温度。
通过共阴极数码管显示出来。
同时利用PWM 控制直流电机转速。
主要有单片机最小系统模块、温度测量模块、LED 显示模块、PWM 电机转速控制模块和电源模块组成。
通过调节输出矩形波的占空比来控制风扇转速。
使用简单的电路实现了智能速度控制。
框图如下:
2.2P0共阴数码管的作为DS18b20数
第三章:芯片介绍
3.1 MCS- 51介绍
由于Intel公司的单片机问世早、产品系列齐全、兼容性强,得到了广泛的应用,目前我国主要使用MCS-51系列的产品,尤以8031为多。
这是因为8031无片内ROM、应用灵活、价格便宜。
MCS-51是Intel公司的8位系列单片机,包括51和52两个子系列。
51子系列有8031、8051、8751;52子系列有8032、8052。
52子系列的不同在于它多具有定时/计数器2及具有256B的内部数据存储器。
MCS- 52结构框图
1)主要性能[2]
内部程序存储器:4KB
内部数据存储器:128B
外部程序存储器:可扩展到64KB。
外部数据存储器:可扩展到64KB。
输入/输出口线:32根(4个端口,每个端口8根)。
定时/计数器:2个16位可编程的定时计数器。
串行口:全双工,二根。
寄存器区:在内部数据存储器的128B中划出一部分作为寄存器区,分为四个区,每个区8个通用寄存器。
中断源:5个中断源, 2个优先级别。
堆栈:最深128B 。
布尔处理机:即位处理机, 对某些单元的某位做单独处理。
指 令系统(系统时钟为12MHZ 时):大部分指令执行时间为1us ;少部分指 令,执行时间为2us; 只有乘、除指令的执行时间为4us 。
2) 引脚功能说明
图2-2是MCS-51的引脚结构图,有双列直插封装(DIP )方式和方形封装方式。
下面分别叙述这些引脚的功能。
(1) 主电源引脚
1 VCC :电源端。
2 GND :接地端。
(2) 外接晶体引脚XTAL1和XTAL2
① XTAL1:晶体振荡器接入的一个引脚。
当采用外部振荡器时,此引脚接地。
② XTAL2:晶体振荡器接入的另一个引脚。
采用外部振荡器时,此引脚作为外部振荡信号的输入端。
(3) 控制或与其他电源复用引脚RST ,ALE/,/Vpp
1 RST :复
2 位输H 入端。
当振荡器运行时,
3 在该引脚上出现两个机器周期的高电平将使单片机复
4 位。
5 ALE/:当访问外部存储器时,
6 ALE (地址锁存允许)的输出用于锁存地址的低位字节。
即使不
7 访问外部存储器,
8 ALE 端仍以不
9 变的频率(此频率为振荡器频率的1/6)周期性地出现正脉冲信号。
因此,10
它可用作对外输出的时钟,11 或用于定时目的。
然而12 注意的是:每当访问外部数据存储器时,13
将跳过一个ALE 脉冲。
在对Flash 存储器编程期间,14 该引脚还用于输入编程脉冲()。
如果需要的话,通过对专用寄存器(SFR )区中8EH 单元的D0位置数,可禁止ALE 操作。
该位置数后,只有在执行一条MOVX 或MOVC 指令期间,ALE 才会被激活。
另外,该引脚会被微弱拉高,单片机执行外部程序时,该设定禁止ALE 位无效。
③ :程序存储允许()输出是外部程序存储器的读选通信号。
当80C51由外部程序存储器取指令(或常数)时,每个机器周期两次有效(即输出2个脉冲)。
但在此期间内,每当访问外部数据存储器时,这两次有效的信号将不出现。
④ /Vpp :外部访问允许端。
要使CPU 只访问外部程序存储器(地址为0000H ~FFFFH ),则端必须保持低电平(接到GND 端)。
然而要注意的是,如果保密位PROG EA PROG PROG PSEN PSEN PSEN PSEN EA EA
LB1被编程,复位时在内部会锁存
端的状态。
当端保持高电平(接Vcc 端)时,CPU 则执行内部程序存储器中的程序。
在Flash 存储器编程期间,该引脚也用于施加12V 的编程允许电源Vpp (如果选用12V 编程)。
(4) 输入/输出引脚P0.0~P0.7,P1.0~P1.7,P2.0~P2.7和P3.0~P3.7。
① P0端口(P0.0~P0.7):P0是一个8位漏极开路型双向I/O 端口。
作为输出口用时,每位能以吸收电流的方式驱动8个TTL 输入,对端口写1时,又可作高阻抗输入端用。
在访问外部程序和数据存储器时,它是分时多路转换的地址(低8位)/数据总线,在访问期间激活了内部的上拉电阻。
在Flash 编程时,P0端口接收指令字节;而在校验程序时,则输出指令字节。
验证时,要求外接上拉电阻
② P1端口(P1.0~P1.7):P1是一个带有内部上拉电阻的8位双向I/O 端口。
P2的输出缓冲器可驱动(吸收或输出电流方式)4个输入口使用时,因为有内部的上拉电阻,那些被外部信号拉低的引脚会输出一个电流(IIL )。
在对Flash 编程和程序校验时,P1接收低8位地址。
③P2端口(P2.0~P2.7):P2是一个带有内部上拉电阻的8位双向I/O 端口。
P2的输出缓冲器可驱动(吸收或输出电流方式)4个TTL 输入。
对端口写1时,通过内部的上拉电阻把端口拉到高电位,这时可用作输入口。
P2作输入口使用时,因为有内部的上拉电阻,那些被外部信号拉低的引脚会输出一个电流(IIL )。
在访问外部程序存储器和16位地址的外部数据存储器(如执行MOVX@DPTR 指令)时,P2送出高8位地址。
在访问8位地址的外部数据存储器(如执行MOVX@RI 指令)时,P2口引脚上的内容(就是专用寄存器(SFR )区中P2寄存器的内容),在整个访问期间不会改变。
在对Flash 编程和程序校难期间,P2也接收高位地址和一些控制信号。
④ P3端口(P3.0~P3.7):P3是一个带内部上拉电阻的8位双向I/O 端口。
P3的输出缓冲器可驱动(吸收或输出电流方式)4个TTL 输入。
对端口写1时,通过内部的上拉电阻把端口拉到高电位,这时可用作输入口。
P3作输入口使用时,因为有内部的上拉电阻,那些被外部信号拉低的引脚会输出一个电流(IIL )。
在89S52中,P3端口还用于一些复用功能。
复用功能如表2-1所列。
在对Flash 编程或程序校验地,P3还接收一些控制信号。
表2-1 P3各端口引脚与复用功能表
EA EA
P3.1 TXD (串行输出口) P 3.2
(外部中断0) P 3.3
(外部中断1) P3.4
T0(定时器0的外部输入) P 3.5
T1(定时器1的外部输入) P 3.6
(外部数据存储器写选通) P 3.7
(外部数据存储器读选通)
MCS-51的引脚结构
3.2:DS18B20数字温度传感器介绍
3.2.1DS18B20的主要特性 . INTO 1INT WR RD
1.、适应电压范围更宽,电压范围:3.0~5.5V,在寄生电源方式下可由数据线供电
2、独特的单线接口方式,DS18B20在与微处理器连接时仅需要一条口线即可实现微处理器与DS18B20的双向通讯
3、 DS18B20支持多点组网功能,多个DS18B20可以并联在唯一的三线上,实现组网多点测温
4、DS18B20在使用中不需要任何外围元件,全部传感元件及转换电路集成在形如一只三极管的集成电路内
5、温范围-55℃~+125℃,在-10~+85℃时精度为±0.5℃
6、可编程的分辨率为9~12位,对应的可分辨温度分别为0.5℃、0.25℃、0.125℃和0.0625℃,可实现高精度测温
7、在9位分辨率时最多在 93.75ms内把温度转换为数字,12位分辨率时最多在750ms内把温度值转换为数字,速度更快
8、测量结果直接输出数字温度信号,以"一线总线"串行传送给CPU,同时可传送CRC校验码,具有极强的抗干扰纠错能力
9、负压特性:电源极性接反时,芯片不会因发热而烧毁,但不能正常工作。
2、DS12.2.2DS18B20的外形和内部结构DS18B20内部结构主要由四部分组成:64位光刻ROM 、温度传感器、非挥发的温度报警触发器TH和TL、配置寄存器。
DS18B20的外形及管脚排列如下图1:
3.2.2DS18B20引脚定义:
(1)DQ为数字信号输入/输出端;
(2)GND为电源地;
(3)VDD为外接供电电源输入端(在寄生电源接线方式时接地)。
DS18B20内部结构图
3.2.3:DS18B20工作原理
DS18B20的读写时序和测温原理与DS1820相同,只是得到的温度值的位数因分辨率不同而不同,且温度转换时的延时时间由2s 减为750ms。
DS18B20测
温原理如图3所示。
图中低温度系数晶振的振荡频率受温度影响很小,用于产生固定频率的脉冲信号送给计数器1。
高温度系数晶振随温度变化其振荡率明显改变,所产生的信号作为计数器2的脉冲输入。
计数器1和温度寄存器被预置在-55℃所对应的一个基数值。
计数器1对低温度系数晶振产生的脉冲信号进行减法计数,当计数器1的预置值减到0时,温度寄存器的值将加1,计数器1的预置将重新被装入,计数器1重新开始对低温度系数晶振产生的脉冲信号进行计数,如此循环直到计数器2计数到0时,停止温度寄存器值的累加,此时温度寄存器中的数值即为所测温度。
图3中的斜率累加器用于补偿和修正测温过程中的非线性,其输出用于修正计数器1的预置值。
图3:DS18B20测温原理框图
3.2.4:DS18B20有4个主要的数据部件:
(1)光刻ROM中的64位序列号是出厂前被光刻好的,它可以看作是该DS18B20的地址序列码。
64位光刻ROM的排列是:开始8位(28H)是产品类型标号,接着的48位是该DS18B20自身的序列号,最后8位是前面56位的循环冗余校验码(CRC=X8+X5+X4+1)。
光刻ROM的作用是使每一个DS18B20都各不相同,这样就可以实现一根总线上挂接多个DS18B20的目的。
(2)DS18B20中的温度传感器可完成对温度的测量,以12位转化为例:用16位符号扩展的二进制补码读数形式提供,以 0.0625℃/LSB形式表达,其中S为符号位。
表1: DS18B20温度值格式表
这是12位转化后得到的12位数据,存储在18B20的两个8比特的RAM中,二进制中的前面5位是符号位,如果测得的温度大于0,这5位为0,只要将测
到的数值乘于0.0625即可得到实际温度;如果温度小于0,这5位为1,测到的数值需要取反加1再乘于0.0625即可得到实际温度。
例如+125℃的数字输出为07D0H,+25.0625℃的数字输出为0191H,-25.0625℃的数字输出为FF6FH,-55℃的数字输出为FC90H 。
表2: DS18B20温度数据表
(3)DS18B20温度传感器的存储器 DS18B20温度传感器的内部存储器包括一个高速暂存RAM和一个非易失性的可电擦除的EEPRAM,后者存放高温度和低温度触发器 TH、TL和结构寄存器。
(4)配置寄存器该字节各位的意义如下:
表3:配置寄存器结构
TM R1 R0 1 1 1 1 1
低五位一直都是"1",TM是测试模式位,用于设置DS18B20在工作模式还是在测试模式。
在DS18B20出厂时该位被设置为0,用户不要去改动。
R1和R0用来设置分辨率,如下表所示:(DS18B20出厂时被设置为12位)
表4:温度分辨率设置表
R1 R0 分辨率温度最大转换时间
0 0 9位93.75ms
0 1 10位187.5ms
1 0 11位375ms
1 1 12位750ms
4、高速暂存存储器高速暂存存储器由9个字节组成,其分配如表5所示。
当温度转换命令发布后,经转换所得的温度值以二字节补码形式存放在高速暂存存储器的第0和第1个字节。
单片机可通过单线接口读到该数据,读取时低位
在前,高位在后,数据格式如表1所示。
对应的温度计算:当符号位S=0时,直接将二进制位转换为十进制;当S=1时,先将补码变为原码,再计算十进制值。
表 2是对应的一部分温度值。
第九个字节是冗余检验字节。
表5: DS18B20暂存寄存器分布
根据DS18B20的通讯协议,主机(单片机)控制DS18B20完成温度转换必须经过三个步骤:每一次读写之前都要对DS18B20进行复位操作,复位成功后发送一条ROM指令,最后发送RAM指令,这样才能对DS18B20进行预定的操作。
复位要求主CPU将数据线下拉500微秒,然后释放,当DS18B20收到信号后等待16~60微秒左右,后发出60~240微秒的存在低脉冲,主CPU收到此信号表示复位成功。
表6: ROM指令表
3.2.5:DS18B20的应用电路
DS18B20测温系统具有测温系统简单、测温精度高、连接方便、占用口线少等优点。
下面就是DS18B20几个不同应用方式下的测温电路图:
DS18B20寄生电源供电方式电路图如下面图4所示,在寄生电源供电方式下,DS18B20从单线信号线上汲取能量:在信号线DQ处于高电平期间把能量储存在内部电容里,在信号线处于低电平期间消耗电容上的电能工作,直到高电平到来再给寄生电源(电容)充电。
独特的寄生电源方式有三个好处:
1)进行远距离测温时,无需本地电源
2)可以在没有常规电源的条件下读取ROM
3)电路更加简洁,仅用一根I/O口实现测温
要想使DS18B20进行精确的温度转换,I/O线必须保证在温度转换期间提供足够的能量,由于每个DS18B20在温度转换期间工作电流达到1mA,当几个温
度传感器挂在同一根I/O线上进行多点测温时,只靠4.7K上拉电阻就无法提供足够的能量,会造成无法转换温度或温度误差极大。
因此,图4电路只适应于单一温度传感器测温情况下使用,不适宜采用电池供电系统中。
并且工作电源VCC必须保证在5V,当电源电压下降时,寄生电源能够汲取的能量也降低,会使温度误差变大。
图4
5.2、DS18B20寄生电源强上拉供电方式电路图改进的寄生电源供电方式如下面图5所示,为了使DS18B20在动态转换周期中获得足够的电流供应,当进行温度转换或拷贝到 E2存储器操作时,用MOSFET把I/O线直接拉到VCC就可提供足够的电流,在发出任何涉及到拷贝到E2存储器或启动温度转换的指令后,必须在最多10μS内把I/O线转换到强上拉状态。
在强上拉方式下可以解决电流供应不走的问题,因此也适合于多点测温应用,缺点就是要多占用一根I/O 口线进行强上拉切换。
图5
注意:在图4和图5寄生电源供电方式中,DS18B20的VDD引脚必须接地
5.3、DS18B20的外部电源供电方式在外部电源供电方式下,DS18B20工作电源由VDD引脚接入,此时I/O线不需要强上拉,不存在电源电流不足的问题,可以保证转换精度,同时在总线上理论可以挂接任意多个DS18B20传感器,组成多点测温系统。
注意:在外部供电的方式下,DS18B20的GND引脚不能悬空,否则不能转换温度,读取的温度总是85℃。
图6:外部供电方式单点测温电路图7:外部供电方式的多点测温电路图
外部电源供电方式是DS18B20最佳的工作方式,工作稳定可靠,抗干扰能力强,而且电路也比较简单,可以开发出稳定可靠的多点温度监控系统。
站长推荐大家在开发中使用外部电源供电方式,毕竟比寄生电源方式只多接一根VCC引线。
在外接电源方式下,可以充分发挥DS18B20宽电源电压范围的优点,即使电源电压VCC降到3V时,依然能够保证温度量精度。
3.2.6:DS1820使用中注意事项
DS1820虽然具有测温系统简单、测温精度高、连接方便、占用口线少等优点,但在实际应用中也应注意以下几方面的问题:
6.1、较小的硬件开销需要相对复杂的软件进行补偿,由于DS1820与微处理器间采用串行数据传送,因此,在对DS1820进行读写编程时,必须严格的保证读写时序,否则将无法读取测温结果。
在使用PL/M、C等高级语言进行系统程序设计时,对 DS1820操作部分最好采用汇编语言实现。
6.2、在DS1820的有关资料中均未提及单总线上所挂DS1820数量问题,容易使人误认为可以挂任意多个 DS1820,在实际应用中并非如此。
当单总线上所挂DS1820超过8个时,就需要解决微处理器的总线驱动问题,这一点在进行多点测温系统设计时要加以注意。
6.3、连接DS1820的总线电缆是有长度限制的。
试验中,当采用普通信号电缆传输长度超过50m时,读取的测温数据将发生错误。
当将总线电缆改为双绞线带屏蔽电缆时,正常通讯距离可达150m,当采用每米绞合次数更多的双绞线带屏蔽电缆时,正常通讯距离进一步加长。
这种情况主要是由总线分布电容使信号波形产生畸变造成的。
因此,在用DS1820进行长距离测温系统设计时要充分考虑总线分布电容和阻抗匹配问题。
6.4、在DS1820测温程序设计中,向DS1820发出温度转换命令后,程序总要等待DS1820的返回信号,一旦某个DS1820接触不好或断线,当程序读该DS1820时,将没有返回信号,程序进入死循环。
这一点在进行DS1820硬件连接和软件设计时也要给予一定的重视。
测温电缆线建议采用屏蔽4芯双绞线,其
中一对线接地线与信号线,另一组接VCC和地线,屏蔽层在源端单点接地。
3.3 LED数码管显示
在单片机应用系统中,如果需要显示的内容只有数码和某些字母,使用LED数码管是一种较好的选择。
LED数码管显示清晰、成本低廉、配置灵活,与单片机接口简单易行。
3.3.1 LED数码管介绍
LED数码管是由发光二极管作为显示字段的数码型显示器件。
图4-3a为0.5inLED 数码管的外形和引脚图,其中七只发光二极管分别对应a~g笔段构成“”字形另一只发光二极管Dp作为小数点。
因此这种LED显示器称为七段数码管或八段数码管。
图4-3 LED数码管
LED数码管按电路中的连接方式可以分为共阴型和共阳型两大类,如图4-3示b、c所示。
共阳型是将各段发光二极管的正极连在一起,作为公共端COM,公共端COM接高电平,a~g、Dp各笔段通过限流电阻接控制端。
某笔段控制端低电平时,该笔段发光,高电平时不发光。
控制这几段笔段发光,就能显示出某个数码或字符。
共阴型是将各数码发光二极管的负极连在一起,作为公共端COM接地,某笔段通过限流电阻接高电平时发光。
LED数码管按其外形尺寸有多种形式,使用较多的是0.5in和0.8in;按显示颜色也有多种形式,主要有红色和绿色;按亮度强弱可分为高亮和普亮,指通过同样的电流显示亮度不一样,这是因发光二极管的材料不一样而引起的。
LED数码管的使用与发光二极管相同,根据其材料不同正向压降一般为 1.5~2V 额定电流为10mA,最大电流为40mA。
静态显示时取10mA为宜,动态扫描显示可加大,加大脉冲电流,但一般不超过40mA。
3.3.2 LED数码管编码方式
当LED数码管与单片机相连时,一般将LED数码管的各笔段引脚a、b、…、g、Dp按某一顺序接到MCS-51型单片机某一个并行I/O口D0、D1、…、D7,当该I/O口输出某一特定数据时,就能使LED数码管显示出某个字符。
例如要使共阳极LED数码管显示“0”,则a、b、c、d、e、f各笔段引脚为低电平,g和Dp 为高电平,。
C0H称为共阳极LED数码管显示“0”的字段码,不计小数点的字段码称为七段码,包括小数点的字段称为八段码。
LED数码管编码方式有多种,按小数点计否可分为七段码和八段码;按共阴共阳可分为共阴字段码和共阳字段码,不计小数点的共阴字段码与共阳字段码互为反码;按a、b、…、g、Dp编码顺序是高位在前,还是低位在前,又可分为顺序字段码和逆序字段码。
甚至在某些特殊情况下将a、b、…、g、Dp顺序打乱编码。
表4-2为共阴和共阳LED数码管几种八段编码表。
[15]
3.3.3 LED数码管显示方式和典型应用电路
LED数码管显示电路在单片机应用系统中可分为静态显示方式和动态显示方式。
①静态显示方式
在静态显示方式下,每一位显示器的字段需要一个8位I/O口控制,而且该I/O 口须有锁存功能,N位显示器就需要N个8位I/O口,公共端可直接接+5V(共阳)或接地(共阴)。
显示时,每一位字段码分别从I/O控制口输出,保持不变直至CPU刷新显示为止。
也就是各字段的亮灭状态不变。
静态显示方式编程较简单,但占用I/O口线多,即软件简单、硬件成本高,一般适用显示位数较少的场合。
②动态扫描显示方式
当要求显示位数较多时,为简化电路、降低硬件成本,常采用动态扫描显示电路。
所谓动态扫描显示电路是将显示各位的所有相同字段线连在一起,每一位的a 段连在一起,b段连在一起…g段连在一起,共8段,由一个8位I/O口控制,而每一位的公共端(共阳或共阴COM)由另一个I/O口控制,如图4-4所示。
这种连接方式由于将多位字段线连在一起,当输出字段码时,由于多门同时选通,每一位将显示相同的内容。
因此要显示不同的内容,必须采取轮流显示的方式。
即在某一瞬间时,只让某一位的字位线处于选通状态(共阴极LED数码管为低电平,共阳极为高电平),其他各位的字位线处于开断状态,同时字段线上输出这一位相应要显示字符的字段码。
在这一瞬时,只有这一位在显示,其他几位暗。
同样在下一瞬时,单独显示下一位,这样依次轮流显示,循环扫描。
由于人的视觉滞留效应,人们看到的是多位同时稳定显示。
、
图动态显示LED数码管连接方式。