- 常用驱动电路设计及应用(第2版)
- 周润景 乌日图编著
- 1772字
- 2021-10-15 17:50:38
项目4
数码管驱动电路系统设计
设计任务
设计一个简单的数码管驱动电路,驱动一个数码管循环显示数字0~9。
基本要求
利用单片机I/O接口驱动一个共阳极数码管。当该数码管的某个字段阴极为低电平时,该字段就被点亮;当该数码管某个字段阴极为高电平时,该字段就不亮。要使这个数码管循环显示数字0~9,必须满足以下条件。
☺ 使用5V供电电压。
☺ 数码管的公共端(COM端)要接5V供电电压,而数码管的阴极接到单片机的I/O接口。只要单片机I/O接口的某个引脚输出低电平就能点亮数码管的相应字段。
☺ 数码管的每个字段都由单片机I/O接口的一个引脚驱动。
☺ 数码管的工作电流为5~10mA。
总体思路
首先为单片机设计一个最小系统,并设计一个串口下载模块,能从单片机内下载程序。由于单片机需要5V供电电压,所以设计一个5V供电电路。
系统组成
整个数码管驱动电路系统主要分为以下4个模块。
☺ 电源模块。
☺ 串口下载模块:将在计算机上编写好的程序下载到单片机中。
☺ 单片机模块:利用单片机I/O接口驱动数码管的各个段码。
☺ 数码管模块。
数码管驱动电路系统框图如图4-1所示。
图4-1 数码管驱动电路系统框图
电路原理图(见图4-2)
图4-2 电路原理图
模块详解
1. 电源模块
由于要给整个系统供电,所以必须设计一个直流稳压电源。这里为了设计方便,直接通过一个两引脚排针,外接5V电源对整个系统进行供电,并通过LED指示电源是否供电正常,如图4-3所示。
在图4-3中,J2外接5V电源和地,B2是开关,D1是LED。当外接5V电源后,闭合开关B2,如果D1亮了,就说明外接5V电源供电正常。
2. 串口下载模块
要把在计算机上编写好的程序下载到PCB上的单片机内,就必须设计串口下载模块。串口下载模块如图4-4所示。
图4-3 电源模块
图4-4 串口下载模块
在图4-4中,串口采用的是D9串口母座,与MAX232芯片共同构成串口下载模块。其中,MAX232芯片的12引脚和11引脚分别接AT89C52单片机的P3.0引脚和P3.1引脚,以便把程序下载到AT89C52单片机内。
AT89C52单片机提供的引脚电平与RS-232标准的不一样,必须对AT89C52单片机的引脚电平进行电平转换后才能使AT89C52单片机与计算机进行通信。本设计采用MAX232芯片进行这个电平转换。
MAX232芯片是具有RS-232标准串口的单电源电平转换芯片,使用正5V单电源供电。MAX232芯片的主要特点如下。
☺ 符合RS-232标准。
☺ 只需正5V单电源供电。
☺ 片载电荷泵具有升压、电压极性反转能力,能够产生正、负10V电压。
☺ 功耗低,典型供电电流为5mA。
☺ 内部集成两个RS-232C驱动器。
☺ 高集成度,片外只需4个电容即可工作。
☺ 内部集成2个RS-232C接收器。
3. 单片机模块
单片机模块采用AT89C52单片机,如图4-5所示。
图4-5 单片机模块
在图4-5中,电容C7、电阻R1及开关B1构成复位电路;X1、C5、C6构成时钟电路;AT89C52单片机的P2接口控制数码管。
4. 数码管模块
如图4-6所示,运用一个数码管来循环显示数字0~9,并通过电源模块对该数码管进行供电,该数码管的阴极分别接上470Ω电阻,然后接上AT89C52单片机的P2.0~P2.7引脚。
在图4-6中,用AT89C52单片机的P2.0~P2.7引脚驱动数码管,使其循环显示数字0~9。
数码管显示数字0的仿真如图4-7所示。数码管显示数字9的仿真如图4-8所示。
图4-6 数码管模块
图4-7 数码管显示数字0的仿真
图4-8 数码管显示数字9的仿真
软件设计
根据系统设计要求,首先画出程序流程图,如图4-9所示。
图4-9 程序流程图
按照程序流程图,编写程序如下:
调试与仿真
将程序下载到AT89C52单片机内,对数码管驱动电路系统进行仿真,如图4-10所示。从仿真结果来看,该系统满足设计要求。
图4-10 数码管驱动电路系统仿真
电路板布线图(见图4-11)
图4-11 电路板布线图
实物照片(见图4-12)
图4-12 实物照片
思考与练习
(1)简述数码管显示原理。
答:数码管的每个字段本质就是一个LED。当对这个LED加上适当的正向电压时,就能点亮数码管相应字段。
(2)为什么在电源模块中要设计LED?
答:因为设计了LED后,就能直观地确定外接电源是否供电正常。
(3)在单片机模块中,复位电路的作用是什么?
答:复位电路的主要作用是把特殊功能寄存器中的数据刷新为默认数据。单片机在运算过程中,干扰等外界原因会造成特殊功能寄存器中的数据混乱,从而使单片机不能正常继续执行程序或产生不正确的结果,这时均要通过复位电路进行相应的复位操作,以使程序重新开始运行。
特别提醒
(1)当完成数码管驱动电路系统各模块设计后,必须对各模块进行适当连接,并考虑元器件之间的相互影响。
(2)当完成数码管驱动电路系统设计后,要对数码管驱动电路进行测试,看接线、供电是否正常。
(3)当电路板上的元器件被焊好后,加电测试该电路板,看其能不能正常工作。