定时开关控制器设计
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
关键词:STC89C51RC;定时器;数码管
Timer Switch Controller Design
Abstract:This design uses STC89C51RC chip as the core, with the necessary peripheral circuits, designed a timer, which is powered by 5V DC power supply.In terms of hardware, in addition to CPU, the use of four LED seven segmentdigital tube display, LED digital tube by using dynamic scanning display. The digital tube can display, divided. 5 keys can be achieved on the timingadjustment. Software using C programming language. The timing system canachieve time display, timing, opening and closing load power function.
图3-6 继电器控制电路
3.6显示系统
LED显示器由多位数码管组成,各段LED显示器需要由驱动电路驱动。七段LED数码管显示器通常将各段发光二极管的阴极或阳极连在一起作为公共端。将各段发光二极管阳极连在一起的叫共阳极显示器,用低电平驱动;将阴极连在一起的叫共阴极显示器,用高电平驱动。静态显示就是每一个显示器各笔画段都要独占具有一个锁存功能的输出口线,CPU把要显示的字形代码送到输出口上,就可以使显示器上显示所需的数字或符号,此后,即使CPU不再去访问它,因为各笔画段接口具有锁存功能,显示的内容也不会消失。动态显示是指显示器显示某一字符时,相应段的发光二极管恒定地导通或截止。在本系统中为共阴极数码管,采用动态扫描显示。如图3-7所示。
2.2电路设计方案确定
综上要求所述,对此次设计的方案选定:以单片机STC89C51为主控制器,采用单片机内部定时、独立式按键和动态LED显示。
采用51单片机可以实现一些功能不多的控制环境,既节约经济又达到了我们所需的智能化控制。
本设计主要从以下三个方面入手:一是实现按键功能,可以接通和关闭电源并设定时间;二是实现显示功能,显示设定时间;三是实现定时功能,当时间到达设定值时可以通过继电器动作控制负载电源的启闭,并通过指示灯显示任务的完成。设计的总体方案如图2-1所示,由单片机最小系统、LED数码管显示电路、继电器控制电路、按键电路及5V直流供电电路组成。为了实现智能控制和简化设计,选用了STC89C51集成芯片。
2.工作频率范围:0~40MHZ,相当于普通8051的0~80MHZ;
3.STC89C5xRC对应Flash空间:4KB\8KB\15KB;
4.内部存储器(RAM):512B;
5.定时器\计数器:3个16位;
6.通用异步通信口(UART)1个;
7.中断源:8个;
8.有ISP(在系统可编程)\IAP(在应用可编程),无需专用编程器\仿真器;
图3-7 时间显示电路
3.7整机工作原理
定时器电路图如附录2所示。
开启仿真开关后,按下开始,电源接通。通过设置按钮,我们可以很方便的设置时间。我们调整好时间后,按开始键,当时间到达所定时时间时,通过控制继电器的动作接通电源,电源接通指示灯亮。
4.
整套系统的运行都是基于8051内核指令控制运行的。由任务目标分析,采用中断处理方式设计程序流程图,如下图所示,主要程序见附录1。
图3-2 复位电路
3.2数码管驱动电路
由于P0口的输出端为漏极开路门,必须通过外接上拉电阻和+5V电源连接,输出高电平。本设计中上拉电阻的值为10kΩ。由于P0口输出电流有限,为减轻单片机的负担,在P0口外接了一个8路同相三态双向驱动器74LS245(起电流放大作用)。19脚是它的片选端,低电平有效,1脚是输入/输出端口转换用,当该引脚接高电平时,信号由“A”端传向“B”端,该引脚接低电平时,信号由“B”端传向“A”端。P1口通过一个六反相器74LS04和数码管的位码输入端相连,故P1.0~P1.3输出高电平时,相应的数码管才能点亮。驱动电路如图3-3所示。
2.
2.1要求功能
定时开关控制器广泛应用于日常生活及工业生产中负载电源的通断,达到方便用电和节电的目的。用单片机实现电源开关控制,可以由人通过按键来设定负载电源的开/关时间,并通过显示器观察时间,达到定时开关机的目的。本设计中4位数码管中前两位显示“小时”,后两位显示“分”,最大预约时间为12小时。
5.减“1”键:按下该键,调“小时”时减1,最小值为0;调分钟时,“分钟”减1,最小值为0。
6.预留键:在本设计中,无作用。
显示功能:
(1)按键指示灯D1:只要有按键被按下,指示灯会点亮。
(2)电源开关状态指示灯D3:当电源和负载接通时,该灯点亮。
7.四位数码管:前两位为小时,后两位显示分。上电即显示“- - - -”;预约调时前两位闪烁,预约调分钟后两位闪烁。预约时间内,倒计时显示。
9.通用I\O口:32\36个;
10.工Байду номын сангаас电压:3.8~5.5V;
11.外形封装:40脚PDIP、44脚PLCC和PQFP等。
2.3.2引脚分配
STC89C51RC单片机引脚图如图2-2所示。
图2-2 STC89C51RC引脚图
根据设计要求,选用STC89C51RC作为电路的控制核心,电路中包含了时钟电路,复位电路作为单片机的最小系统。
P2.0口表示开始键;P2.1口表示关闭键;P2.2口表示预约键;P2.3口表示数字加1键;P2.4口表示数字减1键;P2.5口表示预留键,在本任务中该键预留。按键电路如图3-4所示。
图3-4 按键电路
3.4中断触发电路
中断触发电路主要由8输入与非门74HC30及非门74LS04构成,当六个按键中只要有一个按键按下,8输出与非门74HC30的输出端必然输出高电平(它的逻辑功能为:全1出0,有0出1),经非门电路74LS04倒相后,按键按下时输出为负脉冲,该负脉冲信号接单片机的外部中断信号输入端 (即P3.2引脚),从而引起单片机中断,停止执行正在执行的程序,转而去执行中断服务程序。电路图如图3-5所示。
程序开始首先对按键变量和小时、分钟变量进行定义,对共阴极数码管的段码(字型码)以一维数组方式定义。另外对延时函数、定时器初始化子函数、求按键子函数、按键处理子函数、计时子函数、显示子函数进行声明。
图2-1 基于STC89系列单片机的定时控制系统
2.3 STC89C51单片机介绍
STC系列单片机是最新推出的一种新型51内核的单片机。片内含有Flash程序存储器、SRAM、UART、SPI、A\D、PWM等模块。该器件的基本功能与普通的51单片机完全兼容。
2.3.1主要功能、性能参数
1.内置标准51内核;
定时开关控制器设计
摘要:本次设计以STC89C51RC芯片为核心,辅以必要的外围电路,设计了一个定时器,它由5V直流电源供电。在硬件方面,除了CPU外,使用四个七段LED数码管来进行显示,LED数码管采用的是动态扫描显示。数码管能够准确显示时、分。5个按键可以实现对定时时间的调整。软件方面采用C语言编程。整个定时系统能完成时间的显示,调时,启闭负载电源等功能。
按键操作:
1.开始键:按下该键,电源接通。或当调时结束后按下该键,电源将在设定时间到达后接通。
2.关闭键:按下该键,切断电源。
3.预约键:第一次按下该键,可以对电源的接通时间进行“小时”调整;第二次按下该键,可以对电源的接通时间进行“分钟”调整。
4.加“1”键:按下该键,调“小时”时间加1,最可加到11;调“分钟”时加1,最大可加到59。即最长定时时间为11小时59分。
Keywords:STC89C51;timer;Digital tube
目 录
随着产业结构的不断调整、生产工艺的飞速发展、人们生活水平的不断提高及家用电器的逐渐普及,市场对定时控制系统的需求越来越大. 如定时自动报警、定时自动打铃、定时开关烘箱、定时通断动力设备以及各种电气的定时启动等都属于定时控制系统。定时控制系统的实现方法很多, 本文主要介绍以80C51 系列单片机中的STC89C51为核心的智能定时控制系统的设计实现方式. 80C51 系列单片机进入市场时间早, 总线开放, 仿真开发设备多, 芯片及其开发价格低廉、速度较快、电磁兼容性较好。
晶体振荡器频率为12MHz,P0.0~P0.7作为四位七段数码管的段码输出端,P1.0~P1.3作为四位数码管(共阴极)的位码输出端。P2.0~P2.5作为键盘信号的输出端。P3.6作为控制端信号的输出,控制继电器吸合与释放。
3.
3.1单片机最小系统
3.1.1振荡电路
STC89C51是内部具有振荡电路的单片机,只需在18脚和19脚之间接上石英晶体,给单片机加工作所需的直流电源,振荡器就开始振荡起来。振荡电路为单片机工作提供了所需要的时钟脉冲信号,单片机开始执行程序。振荡电路不工作,整个单片机电路都不能正常工作。本设计中STC89C51外接12MHz的石英晶体,单片机的机器周期恰好为1us。18脚和19脚分别对地接了一个30pF的电容,目的是防止单片机自激。若从18脚输入外部时钟脉冲,则19脚接地。振荡电路如图3-1所示。
图3-5 中断触发电路
3.5继电器控制电路
继电器控制电路如图3-6所示。
由于单片机I/O口输出电流小驱动能力有限,从图中可以看出我们利用三极管来控制,通过如图的连接方式,可以提高驱动负载的能力,利用三极管截止和饱和导通去控制继电器的闭合/断开。因为P3.6口作为控制信号的输出口,控制继电器吸合与释放,所以当定时时间未到时,P3.6引脚输出的是高电平,三极管处于截止状态,继电器无动作,开关不会闭合,负载不工作。当定时时间到,P3.6引脚输出的是低电平,三极管饱和导通,继电器动作,开关闭合,负载得电运行。电路如图3-6所示。
图3-1 单片机内部晶振电路连接图
3.1.2复位电路
复位电路就是在RST端(9脚)外接的一个电路,目的是使单片机上电开始工作时,内部寄存器进行初始化,让单片机从初始状态开始工作。在时钟电路工作的情况下,只要复位引脚高电平保持在两个机器周期以上的时间,STC89C51便能完成系统初始化工作,使得内部特殊功能寄存器的内容均被设置成已知状态,并且从ROM中地址0000H处读入程序代码而执行程序。复位电路如图3-2所示。
本文所述定时开关控制系统主要包括时间设置,数码管显示,中断程序设置等功能。硬件与软件方面的设计。硬件部分主要由STC89C51单片机,LED显示电路,以及调时按键电路等组成,系统通过LED显示数据,所以具有人性化的操作和直观的显示效果。软件方面主要包括中断程序、键盘程序,显示程序等。
本系统以单片机的C语言进行软件设计,为了便于扩展和更改,软件的设计采用模块化结构,使程序设计的逻辑关系更加简洁明了,以便更简单地实现调整时间及显示功能。所有程序编写完成后,在Keil软件中进行调试,确定没有问题后,在Proteus软件中嵌入单片机内进行仿真。在日新月异的21世纪里,家用电子产品得到了迅速发展。许多家电设备都趋于人性化、智能化,这些电器设备大部分都含有单片机控制器,具有操作简单的特点。
图3-3 驱动电路
3.3按键电路
按键的开关状态通过一定的电路转换为高、低电平状态。按键闭合过程在相应的I/O端口形成一个负脉冲。闭合和释放过程都要经过一定的过程才能达到稳定。这一过程是处于高、低电平之间的一种不稳定状态,称为抖动。抖动的持续时间长短与开关的机械特性有关,一般在5—10ms之间。为了避免CPU多次处理按键的一次闭合,应采用软件法去抖动消除抖动。本设计采用的是独立式按键,直接用I/O口线构成独立按键电路,每个按键占用一条I/O口线,每个按键的工作状态不会产生相互影响。6个独立按键分别和P2.0~P2.5口相连接,通过上拉电阻和电源相连接,当按键没有按下时,P2.0~P2.5端口输出为“1”,表示无信号输入。6个按键只要有1个按键按下,相应的引脚变为低电平,表示有信号输入,执行相应的按键命令。
Timer Switch Controller Design
Abstract:This design uses STC89C51RC chip as the core, with the necessary peripheral circuits, designed a timer, which is powered by 5V DC power supply.In terms of hardware, in addition to CPU, the use of four LED seven segmentdigital tube display, LED digital tube by using dynamic scanning display. The digital tube can display, divided. 5 keys can be achieved on the timingadjustment. Software using C programming language. The timing system canachieve time display, timing, opening and closing load power function.
图3-6 继电器控制电路
3.6显示系统
LED显示器由多位数码管组成,各段LED显示器需要由驱动电路驱动。七段LED数码管显示器通常将各段发光二极管的阴极或阳极连在一起作为公共端。将各段发光二极管阳极连在一起的叫共阳极显示器,用低电平驱动;将阴极连在一起的叫共阴极显示器,用高电平驱动。静态显示就是每一个显示器各笔画段都要独占具有一个锁存功能的输出口线,CPU把要显示的字形代码送到输出口上,就可以使显示器上显示所需的数字或符号,此后,即使CPU不再去访问它,因为各笔画段接口具有锁存功能,显示的内容也不会消失。动态显示是指显示器显示某一字符时,相应段的发光二极管恒定地导通或截止。在本系统中为共阴极数码管,采用动态扫描显示。如图3-7所示。
2.2电路设计方案确定
综上要求所述,对此次设计的方案选定:以单片机STC89C51为主控制器,采用单片机内部定时、独立式按键和动态LED显示。
采用51单片机可以实现一些功能不多的控制环境,既节约经济又达到了我们所需的智能化控制。
本设计主要从以下三个方面入手:一是实现按键功能,可以接通和关闭电源并设定时间;二是实现显示功能,显示设定时间;三是实现定时功能,当时间到达设定值时可以通过继电器动作控制负载电源的启闭,并通过指示灯显示任务的完成。设计的总体方案如图2-1所示,由单片机最小系统、LED数码管显示电路、继电器控制电路、按键电路及5V直流供电电路组成。为了实现智能控制和简化设计,选用了STC89C51集成芯片。
2.工作频率范围:0~40MHZ,相当于普通8051的0~80MHZ;
3.STC89C5xRC对应Flash空间:4KB\8KB\15KB;
4.内部存储器(RAM):512B;
5.定时器\计数器:3个16位;
6.通用异步通信口(UART)1个;
7.中断源:8个;
8.有ISP(在系统可编程)\IAP(在应用可编程),无需专用编程器\仿真器;
图3-7 时间显示电路
3.7整机工作原理
定时器电路图如附录2所示。
开启仿真开关后,按下开始,电源接通。通过设置按钮,我们可以很方便的设置时间。我们调整好时间后,按开始键,当时间到达所定时时间时,通过控制继电器的动作接通电源,电源接通指示灯亮。
4.
整套系统的运行都是基于8051内核指令控制运行的。由任务目标分析,采用中断处理方式设计程序流程图,如下图所示,主要程序见附录1。
图3-2 复位电路
3.2数码管驱动电路
由于P0口的输出端为漏极开路门,必须通过外接上拉电阻和+5V电源连接,输出高电平。本设计中上拉电阻的值为10kΩ。由于P0口输出电流有限,为减轻单片机的负担,在P0口外接了一个8路同相三态双向驱动器74LS245(起电流放大作用)。19脚是它的片选端,低电平有效,1脚是输入/输出端口转换用,当该引脚接高电平时,信号由“A”端传向“B”端,该引脚接低电平时,信号由“B”端传向“A”端。P1口通过一个六反相器74LS04和数码管的位码输入端相连,故P1.0~P1.3输出高电平时,相应的数码管才能点亮。驱动电路如图3-3所示。
2.
2.1要求功能
定时开关控制器广泛应用于日常生活及工业生产中负载电源的通断,达到方便用电和节电的目的。用单片机实现电源开关控制,可以由人通过按键来设定负载电源的开/关时间,并通过显示器观察时间,达到定时开关机的目的。本设计中4位数码管中前两位显示“小时”,后两位显示“分”,最大预约时间为12小时。
5.减“1”键:按下该键,调“小时”时减1,最小值为0;调分钟时,“分钟”减1,最小值为0。
6.预留键:在本设计中,无作用。
显示功能:
(1)按键指示灯D1:只要有按键被按下,指示灯会点亮。
(2)电源开关状态指示灯D3:当电源和负载接通时,该灯点亮。
7.四位数码管:前两位为小时,后两位显示分。上电即显示“- - - -”;预约调时前两位闪烁,预约调分钟后两位闪烁。预约时间内,倒计时显示。
9.通用I\O口:32\36个;
10.工Байду номын сангаас电压:3.8~5.5V;
11.外形封装:40脚PDIP、44脚PLCC和PQFP等。
2.3.2引脚分配
STC89C51RC单片机引脚图如图2-2所示。
图2-2 STC89C51RC引脚图
根据设计要求,选用STC89C51RC作为电路的控制核心,电路中包含了时钟电路,复位电路作为单片机的最小系统。
P2.0口表示开始键;P2.1口表示关闭键;P2.2口表示预约键;P2.3口表示数字加1键;P2.4口表示数字减1键;P2.5口表示预留键,在本任务中该键预留。按键电路如图3-4所示。
图3-4 按键电路
3.4中断触发电路
中断触发电路主要由8输入与非门74HC30及非门74LS04构成,当六个按键中只要有一个按键按下,8输出与非门74HC30的输出端必然输出高电平(它的逻辑功能为:全1出0,有0出1),经非门电路74LS04倒相后,按键按下时输出为负脉冲,该负脉冲信号接单片机的外部中断信号输入端 (即P3.2引脚),从而引起单片机中断,停止执行正在执行的程序,转而去执行中断服务程序。电路图如图3-5所示。
程序开始首先对按键变量和小时、分钟变量进行定义,对共阴极数码管的段码(字型码)以一维数组方式定义。另外对延时函数、定时器初始化子函数、求按键子函数、按键处理子函数、计时子函数、显示子函数进行声明。
图2-1 基于STC89系列单片机的定时控制系统
2.3 STC89C51单片机介绍
STC系列单片机是最新推出的一种新型51内核的单片机。片内含有Flash程序存储器、SRAM、UART、SPI、A\D、PWM等模块。该器件的基本功能与普通的51单片机完全兼容。
2.3.1主要功能、性能参数
1.内置标准51内核;
定时开关控制器设计
摘要:本次设计以STC89C51RC芯片为核心,辅以必要的外围电路,设计了一个定时器,它由5V直流电源供电。在硬件方面,除了CPU外,使用四个七段LED数码管来进行显示,LED数码管采用的是动态扫描显示。数码管能够准确显示时、分。5个按键可以实现对定时时间的调整。软件方面采用C语言编程。整个定时系统能完成时间的显示,调时,启闭负载电源等功能。
按键操作:
1.开始键:按下该键,电源接通。或当调时结束后按下该键,电源将在设定时间到达后接通。
2.关闭键:按下该键,切断电源。
3.预约键:第一次按下该键,可以对电源的接通时间进行“小时”调整;第二次按下该键,可以对电源的接通时间进行“分钟”调整。
4.加“1”键:按下该键,调“小时”时间加1,最可加到11;调“分钟”时加1,最大可加到59。即最长定时时间为11小时59分。
Keywords:STC89C51;timer;Digital tube
目 录
随着产业结构的不断调整、生产工艺的飞速发展、人们生活水平的不断提高及家用电器的逐渐普及,市场对定时控制系统的需求越来越大. 如定时自动报警、定时自动打铃、定时开关烘箱、定时通断动力设备以及各种电气的定时启动等都属于定时控制系统。定时控制系统的实现方法很多, 本文主要介绍以80C51 系列单片机中的STC89C51为核心的智能定时控制系统的设计实现方式. 80C51 系列单片机进入市场时间早, 总线开放, 仿真开发设备多, 芯片及其开发价格低廉、速度较快、电磁兼容性较好。
晶体振荡器频率为12MHz,P0.0~P0.7作为四位七段数码管的段码输出端,P1.0~P1.3作为四位数码管(共阴极)的位码输出端。P2.0~P2.5作为键盘信号的输出端。P3.6作为控制端信号的输出,控制继电器吸合与释放。
3.
3.1单片机最小系统
3.1.1振荡电路
STC89C51是内部具有振荡电路的单片机,只需在18脚和19脚之间接上石英晶体,给单片机加工作所需的直流电源,振荡器就开始振荡起来。振荡电路为单片机工作提供了所需要的时钟脉冲信号,单片机开始执行程序。振荡电路不工作,整个单片机电路都不能正常工作。本设计中STC89C51外接12MHz的石英晶体,单片机的机器周期恰好为1us。18脚和19脚分别对地接了一个30pF的电容,目的是防止单片机自激。若从18脚输入外部时钟脉冲,则19脚接地。振荡电路如图3-1所示。
图3-5 中断触发电路
3.5继电器控制电路
继电器控制电路如图3-6所示。
由于单片机I/O口输出电流小驱动能力有限,从图中可以看出我们利用三极管来控制,通过如图的连接方式,可以提高驱动负载的能力,利用三极管截止和饱和导通去控制继电器的闭合/断开。因为P3.6口作为控制信号的输出口,控制继电器吸合与释放,所以当定时时间未到时,P3.6引脚输出的是高电平,三极管处于截止状态,继电器无动作,开关不会闭合,负载不工作。当定时时间到,P3.6引脚输出的是低电平,三极管饱和导通,继电器动作,开关闭合,负载得电运行。电路如图3-6所示。
图3-1 单片机内部晶振电路连接图
3.1.2复位电路
复位电路就是在RST端(9脚)外接的一个电路,目的是使单片机上电开始工作时,内部寄存器进行初始化,让单片机从初始状态开始工作。在时钟电路工作的情况下,只要复位引脚高电平保持在两个机器周期以上的时间,STC89C51便能完成系统初始化工作,使得内部特殊功能寄存器的内容均被设置成已知状态,并且从ROM中地址0000H处读入程序代码而执行程序。复位电路如图3-2所示。
本文所述定时开关控制系统主要包括时间设置,数码管显示,中断程序设置等功能。硬件与软件方面的设计。硬件部分主要由STC89C51单片机,LED显示电路,以及调时按键电路等组成,系统通过LED显示数据,所以具有人性化的操作和直观的显示效果。软件方面主要包括中断程序、键盘程序,显示程序等。
本系统以单片机的C语言进行软件设计,为了便于扩展和更改,软件的设计采用模块化结构,使程序设计的逻辑关系更加简洁明了,以便更简单地实现调整时间及显示功能。所有程序编写完成后,在Keil软件中进行调试,确定没有问题后,在Proteus软件中嵌入单片机内进行仿真。在日新月异的21世纪里,家用电子产品得到了迅速发展。许多家电设备都趋于人性化、智能化,这些电器设备大部分都含有单片机控制器,具有操作简单的特点。
图3-3 驱动电路
3.3按键电路
按键的开关状态通过一定的电路转换为高、低电平状态。按键闭合过程在相应的I/O端口形成一个负脉冲。闭合和释放过程都要经过一定的过程才能达到稳定。这一过程是处于高、低电平之间的一种不稳定状态,称为抖动。抖动的持续时间长短与开关的机械特性有关,一般在5—10ms之间。为了避免CPU多次处理按键的一次闭合,应采用软件法去抖动消除抖动。本设计采用的是独立式按键,直接用I/O口线构成独立按键电路,每个按键占用一条I/O口线,每个按键的工作状态不会产生相互影响。6个独立按键分别和P2.0~P2.5口相连接,通过上拉电阻和电源相连接,当按键没有按下时,P2.0~P2.5端口输出为“1”,表示无信号输入。6个按键只要有1个按键按下,相应的引脚变为低电平,表示有信号输入,执行相应的按键命令。