单片机仿真试验系统设计

2018-05-26 09:50马雪林
卷宗 2018年11期

马雪林

摘 要:单片微型计算机(MCU)经过多年的发展,在性能上有很大的进步,在型号上发展到上千种类,已經广泛应用于人类社会生活的各个领域。单片机课程已经成为高校计算机、自动化、测控以及电子信息工程等专业的重要课程。在掌握理论知识之余,必须通过编写程序、设计硬件电路、仿真、调试这一系列的实验过程,才能更好地掌握单片机的结构原理和应用技能。随着单片机及其接口技术的飞速发展,目前市场上供应的编程仿真实验资源并不能完全满足高校单片机课程教与学的需求,构建低成本、技术先进、源码公开的单片机编程仿真实验系统,对我国单片机课程的教学和单片机领域人才的培养具有重要的现实意义。

关键词:超声波流量计;时差法;自动增益控制

单片机也叫嵌入式微控制器,它的出现是计算机发展史上重要的里程碑,使计算机的用途从海量数据计算发展到智能化控制,它具有体积小、功能强、可靠性高、价格低、使用方便、性能稳定等优点。单片机系统广泛应用于工业自动化、仪器仪表、家用电器、信息和通信产品和军事装备等方面。在工业自动化技术中,无论是过程控制技术、数据采集和测控技术,还是生产线上的机器人技术,都需要单片机的参与;单片机的使用又将使仪器仪表向数字化、智能化、多功能化和柔性化方向发展;汽车的安全保障系统,计算机的网络通讯与数据传输,飞机上的各种仪表控制,导弹的导航装置等,都有单片机在其中发挥着作用。学习、开发与应用单片机并掌握其应用技术具有重要意义。

1 单片机编程仿真试验系统设计

1.1 单片机选型。在单片机家族中,80C51 系列是其中的佼佼者,Intel 公司将其 MCS-51 系列中的 80C51内核使用权以专利互换或出售形式转让给全世界许多著名 IC 设计厂商,如 Philips、NEC、Atmel、AMD、华邦等,这些公司都在保持与 80C51 单片机兼容的基础上改善了 80C51 的许多特性。目前,单片机进一步向着 CMOS 化、低功耗、小体积、大容量、高性能、低价格和外围电路内装化等几个方面发展,越来越多的高性能和多品种单片机出现[1]。一个好的单片机编程仿真实验系统必须有与之适合的 MCU,本实验系统主要是根据单片机的 ISP在系统编程功能,使程序下载到实验板目标单片机中并即时运行,系统选用了 Atmel 公司生产的具有 ISP 功能的 AT89S51 单片机。

1.2 编程控制设计。根据 MCU 芯片编程手册上规定的命令协议,通过一定的时序向不同的引脚置高或低的编程电压实现对单片机的编程,将代码写入单片机的 ROM 中。单片机编程仿真实验系统中的编程器模块就是根据这一原理,在 PC 上位机和单片机间规定通讯协议,按照通讯协议实现 PC 机上的编程控制软件与单片机通讯,使单片机编程器控制程序中所要求的不同地址的引脚置高或低电平从而实现单片机的编程。 单片机编程仿真实验系统的子程序查询模块通过把单片机子程序的各要素按一定的规则放入数据库,根据 Delphi 强大的数据库查询功能,通过标号和子程序功能字段实现单片机子程序的查询。单片机编程仿真实验系统的编程仿真模块根据实验板仿真的结果,通过 Delphi的编程把实验结果在系统中模拟出来。

1.3 单片机编程仿真试验系统设计

该单片机编程仿真实验板利用其在系统可编程(ISP)功能,在软件仿真正确的前提下,直接对目标单片机进行在系统编程,实时运行并立刻出现实际运行效果。

根据单片机编程仿真实验系统硬件资源,我们设计了如下实验:

实验一、最简单的 LED 灯闪烁实验。实验二、按键控制 LED 亮灭实验。实验三、流水灯的左移右移实验 。实验四、采用查表方式的花样流水灯实验 。实验五、数码管的静态显示实验 。实验六、按键控制蜂鸣器发声实验 。实验七、矩阵式键盘识别技术 。实验八、数码管动态扫描显示“1、2、3、4….9、0”。实验九、时钟实验 。实验十、0~9999计数器实验。实验十一、LCD1602显示实验。实验十二、I2C总线(AT24C01)读写演示实验。实验十三、红外遥控器解码数码管显示实验 。实验十四、继电器控制实验 。实验十五、无线遥控实验 。实验十六、DS18B20温度采集实验。实验十七、8255可编程控制实验。实验十八、步进电机控制实验 。实验十九、串行通讯实验 。学习者还可以根据实际学习的内容,利用实验板的硬件资源和输入输出接口设计拓展实验。

2 编程仿真软件设计与实现

2.1 单片机编程器模块

单片机编程仿真实验系统的编程器模块总体设计主要分为三部分:操作部分、设置部分和显示部分[2]。其中,操作部分包括打开文件、保存文件、擦除器件、写器件、读器件、校验数据和锁定部分;设置部分包括设置加密位,选择编程器类型、串口、波特率和下载线性能设置;显示部分包括提示信息、缓冲存储区1内容和缓冲存储区2内容。

2.2 子程序库查询模块

目前已有若干版本的 MCS-51 单片机实用子程序库公开发表,它们各有特色[3]。本程序库中的开平方算法为快速逼近算法,它能达到牛顿迭代法同样的精度,而速度加快二十倍左右,超过双字节定点除法的速度。子程序库查询系统实现的功能即查询每一个子程序的标号、功能、入口条件、出口信息、影响资源、堆栈需求和程序代码,可以在单片机编程过程中方便的查询所需要的子程序。本子程序库查询系统可以通过两种方法查询:(1)按标号查询;(2)按功能查询。也可以通过导航按钮逐一查看子程序。

3 编程仿真实验板设计

3.1 总体设计

单片机编程仿真实验板的编程模块根据 AT89S51 的 ISP 功能对单片机进行编程。可以直接对锁紧座的目标单片机进行在系统编程,实时运行并立刻出现实际运行效果。单片机编程仿真实验系统可重复对目标单片机进行编程运行,只需在编程前擦除片内 ROM 内容,即可再次编程,省去了拔插芯片的麻烦,使学习更加方便、快捷。单片机编程仿真实验系统对单片机进行编程写入后即时运行,要求在实验板上设计支持实时仿真的实验资源和接口。根据单片机编程仿真的原理和实验过程,实验板上需设计接口部分、操作部分和显示部分使芯片编程后即时地仿真。

3.2 实验板模块

單片机编程仿真实验板由编程电路和仿真扩展电路组成,本系统集成了 8255 可编程I/O 接口芯片构成的键盘和8位数码管电路,还留有P1口、数据总线、地址总线和控制总线以及232串行通信接口等外扩接口。下面分以下几个模块对实验板进行功能设计与实现。实验板模块包括电源、ISP接口、发音、流水灯、行列键盘和数码管、红外接收、继电器控制、I2C实验、温度传感器。

3.3 编程功能设计

ISP(In System Programming)技术即在系统可编程技术,是指在用户设计的目标系统中或印刷电路板上,为重新配置逻辑或实现新的功能而对器件进行编程或反复编程的能力。ISP 技术无需编程器和较高的编程电压,打破了先编程后装配的惯例,形成产品后还可以在系统内反复编程,使具有FLASH-ROM可多次编程或反复编程的微控制器的优越性得以更充分的发挥。目前ISP编程器的使用越来越多,各个厂商分别推出了自己的使用ISP技术的新产品。与此同时,ISP 下载电路的种类也非常多,大多数的区别仅在于并口信号引脚配置不同。使用 ISP 技术可以大大加快硬件开发速度。并且与计算机软件的配合使用也可以降低开发成本,非常适合初学者使用。

4 结语

本论文针对现有单片机编程仿真实验资源所存在的种种不足,根据一些从事实验教学的高校教师通过长期的教学实践摸索提出的实验教学改革意见以及对单片机编程仿真实验资源的要求,根据单片机编程仿真原理,采用模块化的结构,精心设计了一款单片机编程仿真实验系统。该系统可适用于多层次的实验教学和学生自己编程实验,目前已通过调试,并将逐步增加编程支持的芯片和完善其他一些实验电路板。通过开发单片机编程仿真实验系统,实现了理论与实际相结合,提高了分析问题、解决问题和实际动手的能力,同时也使自己对单片机产品的应用开发以及单片机课程的讲授作了比较深入地探讨和研究。

参考文献

[1]吴尝,边玉亮.基于单片机的舵机控制仿真实验研究[J].淮北职业技术学院学报,2017,16(01):136-137+142.

[2]周教生.单片机编程仿真实验系统的设计与开发[J].自动化与仪器仪表,2016(11):202-205.

[3]张钦.基于单片机仿真实验平台的PLC控制[J].现代制造技术与装备,2015(05):147-148.