1四路彩灯的纯硬件分析设计与仿真
四路彩灯是数字电路设计中的一个非常有趣的课题,利用纯硬件电路来实现四个彩灯的控制,使得彩灯按设计要求亮或者灭。虽然利用单片机在Proteus环境下能够非常简单的实现此课题,但在数字电路的学习中,此纯硬件电路的设计能够很好地帮助学习者实现对数字逻辑关系的深层理解,同时Proteus直观方便的界面能使枯燥的数字逻辑关系在教学的课堂上显得丰富多彩,虚拟的仿真能使学习者有身临其境的实践效果。
1.1设计要求
设计一个彩灯控制电路,利用纯硬件电路使得4个彩灯实现如下三个过程:(1)4个灯依次点亮,每灯亮1s,共4s;(2)4个灯依次熄灭,先亮的灯后灭,共4s;(3)4个灯同时亮1下灭1下,闪4下,共4s。
1.2电路分析设计
此课题的设计是在一定数字电路学习基础上进行的,4个彩灯的实现可以用四个发光二极管表示,要实现彩灯在12s内的三个循环过程,其核心是四位双向通用移位寄存器74LS194。4个彩灯应连接在74LS194的Q0~Q3上,DSR稳定接高电平,DSL稳定接低电平,P0~P3接周期为1秒的方波信号。接下来需要考虑时钟和方式控制的信号如何实现。由课题的设计要求可知,彩灯闪烁的周期是12s,前8s实现依次点亮和依次熄灭(先亮后灭)的功能,每个彩灯的时钟信号频率为1Hz;后4s实现同时闪烁4次的功能,故后4s的时钟频率应为前8s的2倍,即2Hz。理论上可以用555定时器产生2Hz的方波信号,再用D触发器分频产生1Hz的方波信号,这样就可以实现所需的时钟信号;除此之外可以采用晶振、CD4060和合适的门电路来实现1Hz的时钟信号。彩灯三个状态的循环可以由S1S0按01、10、11顺序循环来实现,为了帮助学习者更好理解时序逻辑电路,可以使用D触发器设计一个同步三进制计数器,时钟周期为4s,实现对S1S0的循环控制。由以上设计分析后,在Proteus中绘制好电路原理图,其中时钟产生电路直接用脉冲信号源代替。
1.3电路仿真验证
单击ProteusISIS界面中的“Play”开关即可启动电路仿真。此时可以非常清楚地看到电路中各节点的电平高低情况,同时四只彩灯也会依次按要求亮灭。如果不能满足设计要求,则可以根据彩灯的亮暗显示和各节点的电平情况较轻松地找出问题所在,不仅能够解决设计问题,而且能很好地帮助学习者理解电路及各部分功能。Proteus还提供了很多自带的虚拟测量工具,比如此例中可以利用示波器来实时观测电路中重要节点的波形。如图3给出的是加在4个彩灯上的信号波形。由图中可以看出,横轴每小格表示的时间长度是0.5s,从图示的0时刻开始D1~D4同时亮灭,闪烁一次的周期是1s;随后D1亮1s后D2亮,依次直到D4亮1s;下一个动作是D4到D1依次熄灭,间隔时间是1s,满足课题的设计要求。
2四路彩灯的单片机设计与仿真
目前,单片机的应用越来越广泛,在电路系统的学习中,如果光靠书本进行理论学习,不仅空洞乏味,而且效果很不理想;如果都利用实物进行试验设计,不仅成本较高,而且费时费力。所以,Proteus软件为学习者和设计者提供了一个很好的虚拟实验平台,基于单片机的电子系统仿真是Proteus的特色,它完全支持MCS-51及其派生系列单片机的设计系统,另外也能仿真基于AVR和PIC系列的单片机系统。仍然以四路彩灯的课题为例来看看Proteus在单片机的学习和应用中的优势。
2.1电路的设计
运行ProteusISIS后在编辑窗口绘制电路原理图,此设计中的电路非常简单,从元件库中调出AT89C51单片机放入编辑窗口的合适位置,在单片机的18引脚和19引脚上接入由C1、C2和晶振X1构成的时钟电路,在9号引脚上接入由R1、C3构成的上电复位电路。然后在P10~P13上接D1~D44个发光二极管,再在后面串上限流电阻接地就行了。完成后的电路图如图4所示。
2.2软件的编制
程序的编辑在Keil软件中实现,这里使用KeilCμVision4开发环境,首先打开软件,单击Project/NewuVisionProject新建一个工程,在保存时会弹出一个“选择单片机型号”的对话框,这里选用Atmel的89C51。然后设置输出需要生成“HEX”文件。现在可以通过File/New来编写程序了,注意程序若用C语言编写,则保存时文件名后缀需用“.c”;程序若用汇编语言编写,则保存时文件名后缀需用“.asm”。要实现4个灯依次点亮,每灯亮1s,然后4个灯依次熄灭,先亮的灯后灭,最后4个灯同时亮1下灭1下,共闪4下。运行Project/Builttarget对程序进行编译和修改,直到没有错误出现,此时在保存路径中会得到一个“HEX”的目标代码文件。
2.3仿真结果
在已绘制好电路图的ProteusISIS界面中,双击AT89C51元器件,在出现的窗口中“ProgramFile”栏里将前面生成的“HEX”文件添加进来,然后就可以对电路进行仿真了。图5是仿真后的部分结果,由于与纯硬件电路相比,单片机电路中发光二极管公共端接高电平,故此波形在实际基础上作了反向处理。利用Proteus与Keil的联调,可以很好地实现单片机电路的学习仿真,并且仿真结果与工程实践十分接近。
3结语
该文结合同一实例详解介绍了Proteus软件在普通电路仿真和单片机学习仿真中的功能。从中可以看出,Proteus功能强大,使用方便,可以作为高等学校电子电路实验和单片机实验的模拟仿真工具,多门相关课程的学习仿真只需要这一种软件即可,避免学生对专业软件学习多且不深的现状,可以提高学生的学习兴趣,同时还克服了实验箱教学中固定硬件资源导致实验内容固定的局限性。而且Proteus还可以为开发者提供很好的仿真平台,在具体工程实践中,降低开发成本,缩短开发周期。
作者:杨玲玲 单位:武汉软件工程职业学院电子工程学院
相关专题:公司宗旨 创业理念 多边税收征管互助公约