鱿鱼钓机计时器的Proteus程序设计与仿真
2013-09-04宋连伟孔祥洪钱卫国郭阳雪王伟杰
宋连伟, 孔祥洪, 钱卫国, 郭阳雪, 周 华, 王伟杰, 陈 功
(1.上海海洋大学工程学院,上海201306;2.上海海洋大学物理实验中心,上海201306;3.国家远洋渔业工程技术研究中心,上海201306)
0 引言
电子设计自动化(Electronic Design Automation,EDA)[1]技术是现代电子技术和信息技术发展的杰出成果,它的发展与应用正引领着一场工业设计和制作领域的革命。EDA技术为电子工程师提供了理想的设计工具。EDA的工具软件很多,应用的设计领域也不同,Proteus是一个用于电路设计和仿真的EDA工具软件,它是最流行的电子仿真软件之一,被称为虚拟电子实验室。Proteus电子电路仿真软件提供了从分立元件到集成元件,从无源器件到有源器件,从模拟器件到数字器件甚至高频类元器件及机电类元器件等庞大的元器件库,并且提供了功能强大、设备齐全的虚拟仪器和能满足各种分析需求的分析方法[2-4]。利用这些仪器和分析方法,不仅可以清楚地了解电路的工作状态,还可以测量电路的稳定性和灵敏度。Proteus不仅可以作为专业软件真实地仿真分析电路的工作,将设计错误尽可能地消灭在制作样机之前,而且还可以在“电路基础”、“模拟电子技术”、“数字电子技术”等电子实验课中充当模拟实验平台[5],将电子实验搬到计算机屏幕上来做。
鱿鱼钓机是鱿钓渔业中最基本的生产工具[6-7],而其中电机控制部分是关键所在。如果要在速度控制模式下实现钓绳的位置监测,则需要一个准确的计时器。本文以时钟程序的设计为例,使用 Proteus[8-9]中的AT89S51芯片[10]、LCD1602 芯片、DS1302 芯片、电压表以及示波器等虚拟电子元件和虚拟仪器,完成鱿鱼钓机计时器的程序和硬件电路设计与仿真。不仅大大提高可操作性,而且降低成本、缩短产品开发周期。
1 基于Proteus的时钟程序设计与仿真
1.1 设计要求
(1)时钟可以正确显示时间。
(2)时钟时间可以修改调整。
1.2 功能框图
如图1所示为所设计时钟的系统功能框图,本系统由AT89S51模块、DS1302模块、LCD1602模块、键盘模块和供电模块共五大模块组成。
图1 功能框图
①AT89S51模块。根据用户通过键盘输入的控制命令完成DS1302时钟芯片的读写操作,并将时间数据送往LCD1602模块进行实时显示。②DS1302模块。进行时间计数,为AT89S51模块提供时间源数据。③LCD1602模块。人机交互,完成时间数据的显示。④键盘模块。人机交互,完成用户命令的输入。⑤供电模块。为整套系统各个模块进行供电。
1.3 硬件设计
1.3.1 最小系统电路设计
图2为基于AT89S51的最小系统电路设计。
图2 系统电路
1.3.2 晶振模块电路设计
图3为晶振模块电路,该模块电路为AT89S51模块提供系统时钟源。
图3 晶体模块电路
1.3.3 复位模块电路设计
图4为复位模块电路[11-13],该模块电路为AT89S51模块提供复位信号,使系统复位。
图4 复位模块电路
1.3.4 DS1302时钟芯片模块电路设计
图5为DS1302时钟芯片模块电路[14],该模块电路完成时间计数,为AT89S51模块提供时间源数据。
图5 时钟芯片模块电路
1.3.5 LCD1602 模块电路设计
图6为LCD1602模块电路[15],该模块电路完成时间数据的显示。
图6 时间显示模块电路
1.3.6 键盘模块电路设计
图7为键盘模块电路设计,该模块电路由MENU和UP 2个按键组成,完成人机交互,实现用户命令的输入。
图7 键盘模块电路
1.3.7 系统电路的设计
图8为系统电路DS1302模块的RST、SCLK、IO 3个引脚分别与 AT89S51 模块的 P2.5、P2.6、P2.7 连接;LCD1602模块的数据/命令端口与AT89S51模块的P0端口连接,其控制端E和R/W分别于AT89S51模块的P2.0和P2.1相连接;键盘模块的MENU按键与AT89S51模块的P3.2(即外部中断0)连接,UP按键与AT89S51模块的P3.3(即外部中断1)连接;系统各个模块电路共地。
图8 系统模块电路
1.4 软件设计
图9 为系统软件流程图。系统一上电,程序便运行各外设的初始化程序对硬件设备进行初始化。然后,时钟进入正常显示状态并开始等待用户从键盘输入的命令。当时钟系统接收到用户输入的命令,如果时钟处于年调整状态,则通过点击UP按键使年数据加加;如果时钟处于月调整状态,则通过点击UP按键使月数据加加;如果时钟处于日调整状态,则通过点击UP按键使日数据加加;如果时钟处于时调整状态,则通过点击UP按键使时数据加加;如果时钟处于分调整状态,则通过点击UP按键使分数据加加;如果时钟处于秒调整状态,则通过点击UP按键使秒数据加加,如此循环,实现时间数据的调整与正确显示。
图9 系统软件系统图
1.5 仿真测试
DS1302之BCD码到十进制时间数值的转换公式,定义时间数值的一位为 X,从DS1302读取的1 Byte 数据为 Val,则:
图10为系统仿真图,所设计时钟程序要求能够满足:①时间数据的读取并正确显示;② 时间数据可以修改调整。经测试,该程序设计满足要求。
图10 系统仿真图
2 结语
本文设计的鱿鱼钓机计时器程序和电路,将基本的AT89S51、DS1302、LCD1602和键盘模块电路有机的结合起来。将计算机仿真软件Proteus引入到电路设计与程序设计中,给鱿鱼钓机计时装置的程序及电路设计、调试、仿真带来了极大的方便。以本文设计的鱿鱼钓机计时器程序和电路为例,设计仿真过程中使用到了 Proteus中的 AT89S51芯片、LCD1602芯片、DS1302芯片、电压表以及示波器等虚拟电子元件和虚拟仪器。Proteus虚拟电子元件和仪器的使用可以突破实验室元器件短缺和实验经费有限的限制,让学生学会从不同角度思考同一问题,提出不同的解决方案,从而提高解决实际问题的能力。与此同时,仿真软件Proteus的利用使电子系统的设计变得轻而易举,增强了可操作性,缩短了开发周期,利于推广和利用。
[1] 王建新,姜 萍.电子线路实践教程[M].北京:科学出版社,2005:11-12.
[2] 张靖武.单片机系统的PROTUES设计与仿真[M].北京:电子工业出版社,2007:21-26.
[3] 郭天祥.51单片机C语言教程:入门、提高、开发、拓展全攻略[M].北京:电子工业出版社,2009.1:323-331.
[4] 寇 戈,蒋立平.模拟电路与数字电路[M].北京:电子工业出版社.2008.7:36-45.
[5] 张俊涛.电路仿真软件在电子技术教学实践中的应用[J].实验技术与管理,2007(6):117-118.
[6] 奈须敬二,奥谷乔司,小仓通男.イカその生物から消费で[M].东京:成山堂书店,1991:67-69.
[7] 小仓通男.ィカ釣渔业と火光[J].日本水产学会誌,1992,38(8):881-889.
[8] 林 立,张俊亮,曹旭东,等.单片机原理及应用——基于Proteus和 Keil C[M].北京:电子工业出版社,2009:9-16.
[9] 彭伟.单片机 C语言程序设计实训100例——基于8051+Proteus仿真[M].北京:电子工业出版社,2009:13-21.
[10] 李 华,孙晓民,李红青,等.MCS-51系列单片机实用接口技术[M].北京:北京航空航天大学出版社,1993:2-30.
[11] 孔祥洪,孟 健,王令群.凌阳16位单片机原理与应用[M].北京:北京航空航天大学出版社,2009:2-17.
[12] 顾 滨,孔祥洪,董昌春,等.凌阳16位单片机实训教程[M].北京:北京航空航天大学出版社,2009:34-36.
[13] 孔祥洪,顾 滨,董昌春,等.基于SPMC75F2413A的感应电机开环V/F控制[J].实验室研究与探索,2008(4):31-35.
[14] 孔祥洪,郭阳雪.微机原理与汇编语言的可视化教学[J].计算机教育,2011(12):76-78.
[15] 郑 峰,王巧芝,陈绘兵,等.51单片机应用系统典型模块开发大全[M].北京:中国铁道出版社,2010:273-293.