首页 理论教育 单片机制定总体方案-实用教程

单片机制定总体方案-实用教程

时间:2023-10-20 理论教育 版权反馈
【摘要】:通过分时轮流控制各个LED数码管的COM端,就使各个数码管轮流受控显示,这就是动态驱动。至此,我们已经完成了总体方案设计部分的内容,下面我们将进行的工作包括根据总体方案来具体设计系统的硬件部分和软件部分以及系统的调试。

单片机制定总体方案-实用教程

1.硬件总体方案

在进行硬件总体方案设计之前,有必要对数码管的知识进行介绍。

数码管是一种半导体发光器件,其基本单元发光二极管。数码管按段数分为七段数码管和八段数码管,八段数码管比七段数码管多一个发光二极管单元(多一个小数点显示);按能显示多少个“8”可分为1位、2位、4位等。常用数码管结构如图1-48所示。

LED数码管根据LED的接法不同可以分为共阴极和共阳极两类,共阳极数码管是指将所有发光二极管的阳极接到一起形成公共阳极(COM)的数码管。共阳极数码管在应用时应将公共极COM接到电源正端,当某一字段发光二极管的阴极为低电平时,相应字段就点亮;当某一字段的阴极为高电平时,相应字段就不亮。共阴极数码管是指将所有发光二极管的阴极接到一起形成公共阴极(COM)的数码管。共阴数码管在应用时应将公共极COM接到地线GND上,当某一字段发光二极管的阳极为高电平时,相应字段就点亮;当某一字段的阳极为低电平时,相应字段就不亮。另外,和一般的LED指示灯一样,需要加入限流电阻。了解LED的这些特性,对编程是很重要的,因为不同类型的数码管,除了它们的硬件电路有差异外,编程方法也是不同的。

978-7-111-43308-8-Chapter01-78.jpg

图1-48 常用数码管结构图

LED数码管要正常显示,就要用驱动电路来驱动数码管的各个段码,从而显示出需要的数位,因此根据LED数码管的驱动方式不同,可以分为静态式和动态式两类。

(1)静态显示驱动

静态驱动也称直流驱动,就是显示驱动电路具有输出锁存功能,单片机将所显示的数据送出去后就不再控制LED了。通常,静态驱动时,每个数码管的每一个段码都由一个单片机的I/O端口进行驱动,或者使用如BCD码二—十进位解码器解码进行驱动。静态驱动的优点是编程简单、显示亮度高、占用CPU时间少;缺点是用单片机I/O直接控制每个字段时,占用I/O端口多,如驱动5个数码管静态显示则需要5×8=40根I/O端口来驱动,要知道一个89C51单片机可用的I/O端口才32个,故实际应用时必须增加解码驱动器进行驱动,增加了硬件电路的复杂性。(www.xing528.com)

(2)动态显示驱动

数码管动态显示是单片机中应用最为广泛的一种显示方式,动态驱动是将所有数码管的8个显示笔画“a,b,c,d,e,f,g,dp”的同名端连在一起,另外为每个数码管的公共极COM增加位元选通控制电路。位元选通由各自独立的I/O线控制,当单片机输出字形码时,所有数码管都接收到相同的字形码,但究竟是哪个数码管会显示出字形,取决于单片机对位元选通COM端电路的控制,所以我们只要将需要显示的数码管的选通控制打开,该位元就显示出字形,没有选通的数码管就不会亮。通过分时轮流控制各个LED数码管的COM端,就使各个数码管轮流受控显示,这就是动态驱动。在轮流显示过程中,每位数码管的点亮时间为1~2ms,由于人的视觉暂留现象及发光二极管的余辉效应,尽管实际上各位数码管并非同时点亮,但只要扫描的速度足够快,给人的印象就是一组稳定的显示资料,不会有闪烁感,达到和静态显示一样的显示效果,并且能够节省大量的I/O端口,而且功耗更低。

根据系统功能要求,系统只驱动一个七段共阳极数码管显示,所以只利用7个I/O口直接控制每个字段显示就可以了。但是单片机的输出电流很小,不能驱动LED,我们需要使用一个74HC07缓冲器增加驱动能力。

2.软件总体方案

软件总体方案的设计思想应自顶而下,尽量采用功能框图的方法,确定各个功能模块之间的接口I/O关系。根据系统要求可得到系统的软件流程如图1-49所示。

至此,我们已经完成了总体方案设计部分的内容,下面我们将进行的工作包括根据总体方案来具体设计系统的硬件部分和软件部分以及系统的调试。

978-7-111-43308-8-Chapter01-79.jpg

图1-49 系统软件流程(左边为主程序,右边为T0中断服务程序)

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈