张琳琳
(苏州高博软件技术职业学院信息工程系,江苏苏州 215163)
Proteus仿真软件在高职单片机课程改革中的应用
张琳琳
(苏州高博软件技术职业学院信息工程系,江苏苏州 215163)
针对学生学习单片机的积极性不高、系统设计难等问题,设计出基于Proteus的单片机实训模块,从而使学生主动参与单片机系统设计。将单片机开发过程中常用的单片机最小系统、二极管点亮电路、数码管显示电路、矩阵键盘、温度采集、模数转换、数模转换进行集成,并对各模块的作用进行了详细的说明。学生在设计控制系统原理图时,只需将模块进行相应的组装并加以设计即可达到目的。以温度测量存储系统的设计实例,学生采用模块式的设计方法,既降低了开发系统的难度,又使其参与细节设计,对单片机实训课程的学习起到了一定的促进作用。
Proteus;电路集成;模块组装;温度测量
单片机课程往往采用理论授课为主、实验为辅的教学方式。理论教学主要讲解单片机的内部结构、指令系统、接口技术等,学生普遍觉得枯燥无味,并且感到很抽象,一些知识点很难掌握;实验教学主要采用实验箱[1],其内部电路连接图都已封装好,学生只需按照实验步骤将程序下载到单片机上,即可得出实验结果。综上所述,学生在学完这门课之后,对单片机的了解仅限于一个验证的阶段,很难掌握具体电路的内部细节,动手能力也没有得到很好的提高,这就违背了单片机课程开设的初衷。
Proteus软件是英国Lab Center Electronics公司出版的EDA工具软件。它不仅具有其它EDA工具软件的仿真功能(原理图布图、代码调试到单片机与外围电路协同仿真),还能仿真单片机及外围器件[2]。
2.1 仿真处理器及其外围电路
Proteus软件可以仿真51系列、AVR、PIC、ARM等常用主流单片机,同时还支持各种数字和模拟电路的仿真,软件还自带各种虚拟仪器[3]。学生只需直接在基于原理图的虚拟原型上编程,再配合显示及输出,就能看到运行后输入输出的效果。
2.2 减少硬件投入
学生在单片机课程学习过程中,可以在Proteus软件中搭建实际电路,然后将编译好的程序下载到相应的单片机中观察其结果。这一过程只需安装Proteus仿真软件和KEIL的编程软件即可[4],不需要额外的硬件投入,就可以达到较好的效果。
单片机是一门理论与实践相结合的课程,如何使学生在学习理论知识的同时,将其应用于实际是任课教师需要考虑的问题。因此,在单片机实训环节,采用一种循序渐进的系统,对学生掌握单片机知识有一定的帮助。
单片机系统设计中常用的电路模块主要有单片机最小系统、二极管点亮模块、数码管显示模块、矩阵键盘模块、DS18B20温度采集模块、模数转换模块、数模转换模块等。本文所介绍的单片机实训模块,既能使学生参与到具体电路的设计中,又不至于让学生感觉知识太难。采用的方法是将常用的电路模块设计好,并预留相应的接口,学生在使用过程中只需根据不同系统的需求将相应的模块组装到一起即可。
3.1 单片机最小系统
AT89S51单片机最小系统,就是使单片机正常运行的最低配置,如图1所示。它由一系列模块组成[5]:
(1)复位系统。当引脚9出现两个机器周期以上高电平时,单片机复位,程序从头开始运行。
(2)时钟系统。有振荡器电路产生频率等于晶振频率,这时用的是外界晶振。也可以由外部单独输入,此时XTAL2脚接地,时钟信号由XTAL1输入。
(3)电源系统。VCC和GND引脚,供电电压4~5.5V。
图1 单片机最小系统
图2 二极管点亮电路
3.2 二极管点亮电路
二极管点亮电路主要由74HC573和发光二极管构成,如图2所示。其中,74HC573在电路中是对数码管的驱动,还可以作为数据锁存器、缓冲器,在74HC573的输入端留有接口,用于连接单片机的输出端。学生可以根据该二极管点亮模块实现的程序有:8个二极管同时亮或灭、顺次点亮、循环点亮等。
3.3 矩阵键盘电路
如图3所示,该4×4矩阵键盘电路由4根行线和4根列线构成,在其行、列交汇点处接有16个键盘。
(1)判断键盘中有无键按下。将全部行线置低电平,然后检测列线的状态。只要有一列的电平为低,则表示键盘中有键被按下,而且闭合的键位于低电平线与4根行线相交叉的4个按键之中。若所有列线均为高电平,则键盘中无键按下。
(2)判断闭合键所在的位置。确认有键按下后,即可进入确定具体闭合键的过程。其方法是:依次将行线置为低电平,即在置某根行线为低电平时,其它线为高电平。在确定某根行线位置为低电平后,再逐行检测各列线的电平状态。若某列为低,则该列线与置为低电平的行线交叉处的按键就是闭合的按键。
学生可以根据此模块设计出矩阵键盘输入等电路。
图3 矩阵键盘电路
3.4 DS18B20温度采集模块
如图4所示,该模块采用DS18B20温度传感器,采集到的温度值输入单片机进行处理。DS18B20数字温度计是DALLAS公司生产的1-Wire,即单总线器件,具有线路简单、体积小的特点。因此用它来组成一个测温系统,只需一根通信线,就可以连接很多这样的数字温度计,十分方便。
图4 DS18B20温度采集电路
3.5 A/D转换电路
如图5所示,该电路采用ADC0809芯片实现将模拟量转化为数字量的过程。ADC0809是美国国家半导体公司生产的CMOS工艺8通道,8位逐次逼近式A/D模数转换器。其内部有一个8通道多路开关,它可以根据地址码锁存译码后的信号,只选8通路模拟输入信号中的一个进行A/D转换,是目前国内应用最广泛的8位通用A/D芯片。
图5 A/D转换电路
3.6 D/A转换电路
如图6所示,该电路采用DAC0832芯片实现将数字量转化为模拟量的过程。DAC0832也是单片机教学中常用的芯片,它需要和一个运算放大器配合使用,可以把8位二进制数变换成模拟电压。
图6 D/A转换电路
AD变换的公式为:
学生根据本课程所学知识,能够利用模块化的方法设计出温度采集存储系统的电路仿真,并运用程序编写实现具体的功能。
4.1 温度采集存储系统功能
(1)数码管采用十进制显示当前采集的环境温度;
(2)当测量温度≤5℃时,发光二极管D2闪烁,提示温度过低;
(3)当测量温度≥40℃时,发光二极管D1闪烁,提示温度过高;
(4)当测量温度≥45℃时,单片机将DS18B20采集到的温度存储。
4.2 仿真系统设计
基于DS18B20的温度采集存储系统包括数码管驱动和显示模块、DS18B20温度测量模块、二极管发光模块和单片机最小系统。
在Proteus中设计出温度采集存储系统的仿真系统(其中涉及到的仿真元件清单见表1),具体操作步骤如下:
(1)新建文件;
(2)添加元件,按照表1所示的元器件清单,搜索相应元器件;
(3)绘制仿真图,用鼠标将元器件放置到编辑区的合适位置,并修改相应参数;
(4)连线,将鼠标放到每个元件的引脚处,鼠标会自动变成连线状态,单击鼠标即可连线;(5)添加电源和地;(6)设计完成。
温度采集存储系统如图7所示。
图7 温度采集存储系统
表1 温度采集存储系统仿真元件清单
4.3 软件设计
在进行该系统的软件设计之前,先根据系统要求设计出系统流程图,明确各模块的作用以及单片机的时序。系统上电后,先进行必要的初始化,然后温度传感器DS18B20测量出环境温度,送入单片机进行处理。如果测量温度≤5℃,发光二极管D2闪烁,提示温度过低;如果测量温度≥40℃,发光二极管D1闪烁,提示温度过高;如果测量温度≥45℃,单片机保存此温度。图8为软件设计流程图。
图8 软件设计流程图
4.4 联合调试
在Keil uVision4中,根据图8的流程编写程序,并将其下载到单片机芯片AT89C51中。步骤如下:
(1)启动Keil uVision4,新建工程,选择与单片机型号相匹配的CPU(Atmel公司的AT89C51),再新建文件,保存为“温度采集.asm”;
(2)根据图8的流程编写程序;
(3)程序编写完成后,进行编译,确认无误后,生成“温度采集.hex”文件;
(4)启动Proteus,打开如图7所示的温度采集存储系统;
(5)双击图7中的AT89C51,将步骤(3)生成的“温度采集.hex”文件下载到单片机中;
(6)运行该仿真,出现仿真结果,如图9所示。
图9 仿真图
本文设计的单片机实训系统涉及到的常用电路模块有:单片机最小系统、二极管点亮电路、数码管显示电路、矩阵键盘、温度采集、模数转换、数模转换。在该系统中将这些单片机常用的电路模块进行封装,学生在搭建系统的过程中,只需根据实际系统的需求对这些模块进行组装。这一过程既能使学生参与到系统原理图的设计中,又减少了重复劳动,提高了设计效率。该系统在学生学习单片机的过程中,真正达到了理论与实际相结合的目的,增强了学生学习的积极性。
[1]王开,刘美,曾宪桥.基于Proteus的单片机控制系统的仿真设计[J].电子设计工程,2015,23(8):180-184.
[2]高艳芬,蔡恒.基于Proteus仿真与实验板结合的单片机实验教学改革探讨[J].教育教学论坛,2015(23):138-139.
[3]刘文光,张铭铭.Proteus仿真在单片机课程项目式教学中的应用[J].信息技术与信息化,2012(2).
[4]徐金增.单片机编程仿真实验系统的设计与实现[D].济南:山东师范大学,2009.
[5]陈淑芳.基于51单片机的教学实验系统的设计与开发[D].青岛:中国海洋大学,2011.
The application of Proteus in the curriculum reform of single-chip computer
ZHANG Lin-lin
(Department of information engineering,Global Institute of Software Technology,Jiangsu Suzhou 215163,China)
In order to improve students'interest in MCU learning,this thesis designs some training modules which are based on Proteus.Using the models,students can active-ly participate in curriculum design aspects.This thesis integrates some circuits which are in common use of MCU development process,such as,single chip microcomputer system、diode light circuit、matrix keyboard circuit、DS18B20 temperature acquisition circuit、A/D Circuit and D/A Circuit. The role of each module,in this thesis,has a detailed description.In the design of control system schematics,students only need to assemble appropriated models and in addition with their own idea,they can achieve their goals.Finally,a system with storage temperature measurement is given in this thesis.Students use a modular design approach to achieve it.This approach not only reduces the difficulty of system development,but also enables students to participate in it.So,the modular design approach has played a certain role in the MCU learning.
Proteus;integrated circuits;module assemble; temperature measurement
G642
A
1673-2022(2016)04-0060-05
2016-06-13
张琳琳(1988-),女,江苏泰州人,讲师,硕士,主要从事工业自动化和智能控制方面的研究。