探究单片机编程仿真实验系统的设计原理
来源:用户上传
作者: 叶家顺
内容摘要:本文主要以当前单片微型计算机(MCU)课程的教学现状为基础,提出了理论教学与实验教学形结合的方式,结合单片机的仿真原理,以模块化方式,对单片机编程仿真的实验室系统设计进行具体分析与阐述,以满足不同层次实验教学的需要。
关键词:单片机; 编程; 仿真; 实验
目前,单片微型计算机已经在人们的工作生活中广泛应用。就我国而言,大部分高等院校中的电子信息专业也开设有涉及到单片机相关内容的专业教学课程。大量的实践研究结果表明,实验是单机片技术教学过程中最必不可少一大环节。然而在当前单片机技术蓬勃发展的推动作用下,市场所提供的各种实验仪器无法满足教学的发展要求,同时增大了教学成本。因此,如何才能降低教学成本、满足教学需要,已成为单片机教学中不得不思考的问题,设计高技术、易更新的单片机编程仿真实验系统,对支持单片机课程教学以及培养单片机专业人才具有重要意义。
1、 单片机编程仿真实验系统概述
一般而言,单片机编程仿真实验系统使用主板以及诸多12C总线基础上进行扩展的实验板共同构成。在这一实验系统系统当中,主板部分实现了包括单片机仿真、单片机基本实验电路、ISP在线系统编程以及总线等子系统结构的有机结合。在这当中,仿真实验系统的仿真部分发挥着最为重要的功效,其各种应用功能均是通过“SST89E564RD”的仿真监控芯片得以实现的。
该单片机的仿真系统CPU利用SST89E564RD,兼容性强、功能丰富、应用较为广泛,且其中集合了很多功能部件,这使得该仿真系统能够在降低系统的复杂性与研发应用成本投入的基础上,对整个系统运行稳定性以及可靠性提供支持与依据。本文设计的单片机编程仿真实验系统,具有较强的综合性,集合编程、仿真、实验为一体,全面支持单片机的实验教学,提高教学质量与效率[1]。
大量的实践研究结果表明,在单片机编程仿真试验系统中应用模块式的结构设计思路,不仅实现了各个实验接口相互间依存性与独立性的统一,促进各项实验工作内容循序渐进的开展,同时这种以该系统支持为基础建设的编程仿真实验系统平台,在顺利完成基础性的单片机原理、理论传授的同时,还可对单片机的扩展接口、外围串等进行实验。这样做既满足了高等学院不同层次的学生对发散性知识的学习需求,为学习过程中各阶段实践性教学模式,例如课程实验、电子设计比赛以及毕业设计等工作的开展营造练好的外部环境,同时也利于学生形成创新精神与创新能力,提高学习积极性。
2、 单片微型计算机(MCU)的选型
单片机从本质上来说是嵌入式微控制器的具体体现。单片机的问世意味着现代社会计算机应用技术的发展迈入一个崭新的阶段,其最大的特点在于实现了计算机应用功能由模式下单一的计算数据逐步发展为智能化的计算与分析,这也使得单片微型计算机具备了体积小、性能稳定、成本投入低、操作性强、可靠性高、以及适用性强等诸多特点。其主要运行思路在于:单片机系统能够将其嵌入对象所处基本环境当中,并与结构、体系发生联动关系,从而形成一个智能化的控制单元[2]。单片机的应用系统主要包括硬件与软件两大类。据相关数据显示,目前全世界已研发MCU的品种与数量高达一千种,普遍应用的约为30多种,以8051体系为代表。一个良好的单片机编程仿真实验运行系统,必须选择相匹配的MCU支持开展工作。有关MCU的选择应主要参照以下原则:
2.1典型性
首先,选择MCU应先了解有关单片机使用的产品概念。美国英特尔公司于1980年推出的MCS-51单片机,其中就包含有包含8031,但由于这种型号单片机并未设置系统程序存储器,使用起来不够方便,现已基本被市场淘汰;而8051系列所采用的HMOS芯片决定了其使用过程中的功耗较高;以及8751等通用性产品。目前,MCS-51仍然是单片机应用中的主流产品,各高校及相关专业的教材也主要以MCS-51为实验代表开展理论教学,因此实验系统的设计,应该始终坚持系统、理论的充分契合[3]。
2.2可编程功能
当前单片机编程可以划分为三种形式:专业级。它所采用的高端仿真芯片虽然能够仿真包括单片机、接口在内的系统运行全部资源,但芯片投入成本高,普及性不够;二是单片机生产商提供的IDE软件烧录,目前多应用在高档单片机的芯片中,其最要功能在于仿真芯片并支持单片机实验的进行。其价格适中,仿真单机资源较为全面并且调试方便[4];三是以单片机可编程功能为参考依据,在软件仿真性能得以确保的基础上,对单片机实施直接的系统编程,并将运行效果及时呈现出来。其成本不高,便于进一步研究与推广。这也就说明,单片机的可编程技术是该行业领域发展中的必然选择与趋势。。
2.3性价比
微控制器的成本问题是所有单片机仿真实验系统需要考虑的基本问题之一,如忽略成本因素,将会造成产品造价过高,市场竞争力比较弱,进而对仿真实验的开展带来一定影响。为了控制成本,本文中提到的单片机编程仿真实验系统,集合了编程、仿真、实验为一体,具有强大的MCU功能性[5],一方面是MCS-51系列的基本作用;另一方面则具备仿真功能与在线编程。由美国艾特梅尔公司生产的AT89S51单片机,性价比较高,既可满足各种基本功能,同时成本不高。
3、 单片机编程仿真实验系统的设计
3.1单片机的编程器模块
一般而言,单片机编程仿真实验系统所涉及到的编程器模块总体设计可以划分为操作部分、显示部分以及设置部分三大板块。在这一系统当中,操作部分还能够进一步划分为文件保存、文件打开、读器件、写器件、擦除器件、数据检测以及系统锁定等子功能;而设置部分则将括编程器类型选择、串口和波特率的性能设置、加密位的设置纳入工作范畴;显示部分包括缓冲存储区的1内容与2内容、提示信息等。
3.2 Flash闪速存储器的并行编程
以AT8951单片机为例,它所具备的4K字节的快速Flash编程存储阵列使其在编程方法的选择过程中可以采取以EPROM编程器为中心,以高压及协调控制信号为主要手段进行编程的方式。具体方法可以归纳为以下几个步骤:①在地址线中添加编程的地质信号;②在数据线中加入需写入数据的字节;③将相对应的控制信号激活,以备使用;④在EA/VPP终端加入编程电压(+12V)[6];⑤当Flash存储阵列写入新建字节或是写完程序时,ALE/PROG编程脉冲需要做到及时的,在编程过程中循环以上步骤,直至整个文件编写工作的顺利完成。
3.3 Flash闪速存储器的串行编程
一般来说,其串口接口主要包括:输入线(MOSI)、输出线(MISO)、SCK线。当RST被拉高之后,应该在进行其他操作之前,发出编程的相关指令,并擦除芯片。以33MHz的晶体为例,最高串行时钟的频率为2MHz[7]。那么其具体编程方法与步骤分析包括以下几方面:①上电的程序。将电源添加到GND与VCC,将RST设置成“H”代码,若系统还存在XTSL1/XTAL2接入晶体、时钟频率等,需要等候约10ms;②将编程的指令发送至MOSI,编程的时钟接到SCK,在该频率状态下,应比晶体时钟频率小于1/16;③代码阵列编程的可选择字节模式,由自身定时决定写周期,一般在0.5ms范围内;④所有的代码单元都可以与读指令选择相对应的地址,并与回读数据进行验证;⑤完成整个编程过程之后,将RST设置成“L”,即代表操作结束;⑥断电的程序,如果没有在系统中应用任何晶体,那么将XTAL设置为低档、RST设置为低档,对VCC进行判断。
3.4系统的可编程功能
系统涉及到了ISP可编程接口的设置与应用。ISP 下载的同时配合上位机的应用编程软件,整个仿真实验系统能够实现直接插入单片机的功能,并以此完成编程、烧写等过程,这种方法既稳定又快捷。在实际应用过程中,这些编程软件不需要再额外安装绿色软件,使用起来非常便捷,且功能强大,支持写入、读写、代码区的数据检验、器件的自动检验等,完成自动化、智能化过程。
参考文献:
[1]马忠梅等.单片机的C语言应用语言设计[M].北京:北京航空航天大学出版社.2007
[2]姚烨.基于PROTEUS和KEIL C的单片机仿真技术浅析[J].科技经济市场.2008(6)
[3]范维浩.控制器编程智能仿真模块[J].仪表技术与传感器.2011(4)
[4]马淑华、王凤文、张美金.单片机原理与接口技术[J].北京:北京邮电学院出版社.2005
[5]谭林.基于单片机的温度监控系统设计[J].国外电子测量技术.2009(4)
[6]周艳香.掌握Visual FoxPro 应用的一些小技巧[J].职业圈.2007(17)
[7]赵义强、康静、郭向亮.Proteus仿真软件在单片机设计中的应用[J].中国集成电路.2007(2)
[8]张靖武、周灵彬.单片机系统的PROTEUS设计与仿真[M].北京:电子工业出版社.2007
转载注明来源:https://www.xzbu.com/8/view-44121.htm