论文部分内容阅读
摘要 本文设计了一种基于单片机的空调定时控制器,可以方便控制空调的定时开启与关闭。
关键词 单片机 显示电路 键盘电路 输出控制电路
中图分类号:TP36 文献标识码:A
随着科技的进步,单片机在计算机应用领域起到了越来越重要的作用。单片机体积小,功能强,集成了微型机的各部件,大大缩短了系统内部信号的传送距离,从而系统的可靠性及运行速度等指标性能优良。本设计中的定时控制器主要是以单片机AT89C2051作为核心控制元件,通过外围电路来控制空调器压缩机的电源,以达到定时开关机的目的。
一、硬件组成
本控制系统在加电后即可进入正常计时状态,用户可以随时校准时间并设定开关时间,以便控制器能够在设定的开关时刻通过单片机的输出端口控制输出继电器的动作,进而控制压缩机的启闭。
本系统的核心单片机AT89C2051为20脚300MIL封装,是一种带有2KB FLASH E2PROM的单片机。该电路可通过单片机的P3.7口连接一个键盘电路来实现对参数的人工自由设定,同时可通过串口连接6位LED数码管,以分别显示小时、分钟和秒。系统定时启动是通过P3.0口完成的。程序开始时这三个口的输出状态都是低电平,AT89C2051通过程序查询P3.0口输出ON或OFF的状态预置时间是否已到,如果已到时间,则改变相应的输出状态,从而完成对外部电路的控制。
(一)显示电路。
本系统中的显示电路主要由七段共阳显示译码器74LS47、3线-8线译码器74tHC138、7个PNP型三极管和六个数码管组成。通过AT89C2051的P1.4~P1.7口将要显示字符的BCD码输出到74LS47的四个输人端,然后译码并输出相应的笔段来驱动LED数码管(共阳)。LED数码管显示采用动态扫描方式,即在某一时刻,只有一个数码管被点亮。数码管的位选信号由AT89C2051的P3.3~P3.5输出,并经74HCl38译码后通过三极管放大,以驱动相应的数码管。
(二) 键盘电路。
根据硬件连接方式的不同,键盘可以分为独立式键盘和矩阵式键盘。独立式键盘是指各按键相互独立,每个按键分别与单片机的I/O口或外扩I/O芯片的一根输入线相连,通常每根输入线上按键的工作状态不会影响其他输入线的工作状态,通过检测输入线的电平就可以很容易地判断哪个按键被按下了。矩阵式键盘适用于按键数量多的场合,它通常由行线和列线组成,按键位于行、列的交叉点上。单片机的键盘检测通常有三种方式:查询、中断、定时扫描。查询和中断方式同普通的I/O传送是一致的,定时扫描方式是利用单片机内部定时器产生定时中断,在中断服务程序中对键盘进行扫描获得键值。
键盘电路跟显示电路一样采用扫描方式,并利用动态显示时的数码管驱动位置信号来判断相应按键的状态。单片机的P3.3~P3.5口输出的BCD码经译码器译码后,相应的Y口呈低电平,而AT89C205 1的P3.7口平时为高电平(由于有上拉电阻),只有当某一按键按下时,P3.7才被下拉为低,这时,单片机将利用程序查询P3.7是否为低,如果P3.7为低电平,则读回单片机P3.3~.P3.5口的值(从缓冲区读取),并判断是那个按键按下.然后调用相应的处理程序进行处理。
(三) 输出控制电路。
单片机的控制输出是通过P3.0~P3.2口完成的。当程序开始时,这三个口的输出状态都是低电平,AT89C2051通过程序查询三路输出的ON或OFF状态预置时间是否已到,若时间到,则改变相应的输出状态,以完成对外部电路的控制。
二、软件设计
(一) 主程序流程。
本系统的主程序工作过程是首先循环进行六个数码管的扫描显示(DISPLY段),然后比较所有预置时间(COMP段)是否与当前时间相等,如相等则转向相应处理程序。比较完成(或处理完成)后,再判断有无按键(PP2段)按下,没有则返回继续显示、比较、判断;有按键按下则转向相应的处理程序。按键转移采用偏移量加表格跳转转移法(KEY段)。预置时间比较则采用逐一比较法,即对每一个预设的值都进行比较,如果相等,则进行相应的处理。在具体比较时(COMP1段),首先比较TH值,如不相等,则直接转出并置“时间到”标志CCB为0,而如果TH、TM、TS全部对应相等,则置该标志为1。
(二)秒脉冲发生器的软件设计。
系统中的秒脉冲发生器是由定时器T0和内存空间TT0配合完成的。其中T0工作于l 6位计数器模式,当T0向上计数并由全1变为全0时产生中断。本程序中,T0的初值为0DC00H,大约0.01秒中断一次。这里使用的晶振频率为11.0592MHz,由此可计算出日误差约为0.78 s。系统产生中断后,首先保存ACC和PSW的值,然后为T0重装初值,并判断中断次数是否小于100,若是,则转出中断服务,反之则将秒计数器加1。秒计数器大于59时,则为分计数器加1,同时秒计数器清0。同样,分计数器如大于59,则为时计数器加1,同时分计数器清0。时计数器如大于23时则清0并转出中断服务。TD中断100次的时间刚好为1秒钟。
三、结束语
本文通过以AT89C2051单片机为核心并辅以外围电路的设计方法实现了低成本的控制要求。该定时时控制器可定时控制并显示有关参数,在满足系统要求的同时,又具备简单、经济之特点。此外,通过灵活的键盘输入方式来设定参数可增加系统的灵活性。
(作者:内蒙古交通职业技术学院助理讲师,硕士,主要从事电子信息、通信方面的研究)
参考文献:
[1]李士勇.模糊控制.神经控制和智能控制论.哈尔滨工业大学出版社,1996.
[2]FU K S,WALTS M.A Heuristic Approach to Reinforcement Learning Control System.IEEE Trans.1965,10(4):390-398.
[3]施保华,杨三青,周凤星.计算机控制技术.华中科技大学出版社,2007.
关键词 单片机 显示电路 键盘电路 输出控制电路
中图分类号:TP36 文献标识码:A
随着科技的进步,单片机在计算机应用领域起到了越来越重要的作用。单片机体积小,功能强,集成了微型机的各部件,大大缩短了系统内部信号的传送距离,从而系统的可靠性及运行速度等指标性能优良。本设计中的定时控制器主要是以单片机AT89C2051作为核心控制元件,通过外围电路来控制空调器压缩机的电源,以达到定时开关机的目的。
一、硬件组成
本控制系统在加电后即可进入正常计时状态,用户可以随时校准时间并设定开关时间,以便控制器能够在设定的开关时刻通过单片机的输出端口控制输出继电器的动作,进而控制压缩机的启闭。
本系统的核心单片机AT89C2051为20脚300MIL封装,是一种带有2KB FLASH E2PROM的单片机。该电路可通过单片机的P3.7口连接一个键盘电路来实现对参数的人工自由设定,同时可通过串口连接6位LED数码管,以分别显示小时、分钟和秒。系统定时启动是通过P3.0口完成的。程序开始时这三个口的输出状态都是低电平,AT89C2051通过程序查询P3.0口输出ON或OFF的状态预置时间是否已到,如果已到时间,则改变相应的输出状态,从而完成对外部电路的控制。
(一)显示电路。
本系统中的显示电路主要由七段共阳显示译码器74LS47、3线-8线译码器74tHC138、7个PNP型三极管和六个数码管组成。通过AT89C2051的P1.4~P1.7口将要显示字符的BCD码输出到74LS47的四个输人端,然后译码并输出相应的笔段来驱动LED数码管(共阳)。LED数码管显示采用动态扫描方式,即在某一时刻,只有一个数码管被点亮。数码管的位选信号由AT89C2051的P3.3~P3.5输出,并经74HCl38译码后通过三极管放大,以驱动相应的数码管。
(二) 键盘电路。
根据硬件连接方式的不同,键盘可以分为独立式键盘和矩阵式键盘。独立式键盘是指各按键相互独立,每个按键分别与单片机的I/O口或外扩I/O芯片的一根输入线相连,通常每根输入线上按键的工作状态不会影响其他输入线的工作状态,通过检测输入线的电平就可以很容易地判断哪个按键被按下了。矩阵式键盘适用于按键数量多的场合,它通常由行线和列线组成,按键位于行、列的交叉点上。单片机的键盘检测通常有三种方式:查询、中断、定时扫描。查询和中断方式同普通的I/O传送是一致的,定时扫描方式是利用单片机内部定时器产生定时中断,在中断服务程序中对键盘进行扫描获得键值。
键盘电路跟显示电路一样采用扫描方式,并利用动态显示时的数码管驱动位置信号来判断相应按键的状态。单片机的P3.3~P3.5口输出的BCD码经译码器译码后,相应的Y口呈低电平,而AT89C205 1的P3.7口平时为高电平(由于有上拉电阻),只有当某一按键按下时,P3.7才被下拉为低,这时,单片机将利用程序查询P3.7是否为低,如果P3.7为低电平,则读回单片机P3.3~.P3.5口的值(从缓冲区读取),并判断是那个按键按下.然后调用相应的处理程序进行处理。
(三) 输出控制电路。
单片机的控制输出是通过P3.0~P3.2口完成的。当程序开始时,这三个口的输出状态都是低电平,AT89C2051通过程序查询三路输出的ON或OFF状态预置时间是否已到,若时间到,则改变相应的输出状态,以完成对外部电路的控制。
二、软件设计
(一) 主程序流程。
本系统的主程序工作过程是首先循环进行六个数码管的扫描显示(DISPLY段),然后比较所有预置时间(COMP段)是否与当前时间相等,如相等则转向相应处理程序。比较完成(或处理完成)后,再判断有无按键(PP2段)按下,没有则返回继续显示、比较、判断;有按键按下则转向相应的处理程序。按键转移采用偏移量加表格跳转转移法(KEY段)。预置时间比较则采用逐一比较法,即对每一个预设的值都进行比较,如果相等,则进行相应的处理。在具体比较时(COMP1段),首先比较TH值,如不相等,则直接转出并置“时间到”标志CCB为0,而如果TH、TM、TS全部对应相等,则置该标志为1。
(二)秒脉冲发生器的软件设计。
系统中的秒脉冲发生器是由定时器T0和内存空间TT0配合完成的。其中T0工作于l 6位计数器模式,当T0向上计数并由全1变为全0时产生中断。本程序中,T0的初值为0DC00H,大约0.01秒中断一次。这里使用的晶振频率为11.0592MHz,由此可计算出日误差约为0.78 s。系统产生中断后,首先保存ACC和PSW的值,然后为T0重装初值,并判断中断次数是否小于100,若是,则转出中断服务,反之则将秒计数器加1。秒计数器大于59时,则为分计数器加1,同时秒计数器清0。同样,分计数器如大于59,则为时计数器加1,同时分计数器清0。时计数器如大于23时则清0并转出中断服务。TD中断100次的时间刚好为1秒钟。
三、结束语
本文通过以AT89C2051单片机为核心并辅以外围电路的设计方法实现了低成本的控制要求。该定时时控制器可定时控制并显示有关参数,在满足系统要求的同时,又具备简单、经济之特点。此外,通过灵活的键盘输入方式来设定参数可增加系统的灵活性。
(作者:内蒙古交通职业技术学院助理讲师,硕士,主要从事电子信息、通信方面的研究)
参考文献:
[1]李士勇.模糊控制.神经控制和智能控制论.哈尔滨工业大学出版社,1996.
[2]FU K S,WALTS M.A Heuristic Approach to Reinforcement Learning Control System.IEEE Trans.1965,10(4):390-398.
[3]施保华,杨三青,周凤星.计算机控制技术.华中科技大学出版社,2007.