您好,欢迎来到汇意旅游网。
搜索
您的当前位置:首页单片机编程仿真实验系统的设计与开发

单片机编程仿真实验系统的设计与开发

来源:汇意旅游网
'fL片fJl编 仿亢实验系统的设汁与开发 周教生 单片机编程仿真实验系统的设计与开发 周教生 (兰州义理学院电子信息L氍学院什肃 州,730010) 摘要:构建成夺低,技术先进的单片机仿真实验系统对单片机领域人才的培养具有重大的意义 苓文针对当前单片机仿 真实验的实际需求.采用模块化结构设计思想,设计并实现了单片机编程仿真实验系统PC端的编程控制软件自动检测连接 到仿真实验板上的单片机,并控制单片机上数据的读写等,然后仿真实验系统实现控制程序的实时执行,并呈现实际运行效果 关键词:单片机;编程仿真:实验系统 中图分类号: l'P36g.1 文献标识码:A DOI编码:10.14016/ 1lki.1001—9227.2016.11.202 Abstract:It is lnt anin ll to c(}nst)’u(.t low(_f】st,technologi(-ally a(Ivan( ed si)lglP—rhip simulation ̄' ̄s[elll in MCL edtl(。ation. II)side)’ing lhe aetual demalltj()f Ihe present tea(‘lirng of SCM in simulation experinlen|system proglanmfing.the pape)’adopts lht、idea()f’ tilt)dular s|rtl(、ttIre to design alld implentent 1lle MCU progt’anlllirng sitnulalion expet’iment s?slem.The prograIllnring control soflwatP on the PC dele(-Is the single(・hip mici‘ocontrolle,‘whi‘ h conneets 10 the sinrelation expel’iment l,oard atitolnatiealh.and tl1P data reading ttll(J 、、1’ititlg【Il1 lh ̄・control single chip mierocontroller.the simulation expel’iment sys[eln can FUll the pl‘ogl‘aIll writlen in lni( i’()con[i’olle,’all(] ‘h()、v Ihr rPal resuh. Key words:MCU;lJJ’ogw atirming simulation;experimerit system .0 引言 本文开发千u没计r模块化的单片机编程仿真系统,主要 也括编程控制软件和教学实验课程编辑等。编程控制软件主 要根据Atme1 AT89S51单片机 为编程仿真芯片进行编程 仿真实验,恨据该 片饥的命令协议,挎制程序所需的不同地 址产 小问的电平实现甲.片机的编程,编程软件通过单片机 f 的fl'【I_片门,ISP等模块实现埘实验板的编程,该功能主 编 环境中实现,子程序的 询主要通过数据库操作功 能 观,编程仿真模块将编译成功的稗序通过串【_==I以16进制 的恪』 人 片机的flasl,t}I'Jf 住仿真实验板上文时的仿真 吱现“;来 炎验设汁部分主要通过实验板卜的硬件电路的 计 删,PCB实验板的绘制设计和制作等 什 L 韧始化编程接【] 单片机管脚,设为读取状态 控制筚片牡L执行 序一—— l一 ] 足 程命令,埘单片机进行编程 ……_____ _ l… 一 返同结粜给拧制端 图2单片机执行程序流程 1 编程仿真软件设计 I.1 设计原理 片机编程仿真实验系统主要包括以下子馍块 成.齐 子模块的功能如F: 表l 单片机编程仿真实验系统的子模块列表 模块 子模块 功能娃小 人【I揄测 功能 当前 程序的 要功能 愉测 前 程alJr ̄-足 满足入1 J条件 愀撕 片的命令 议.通过串【1将数据写入单片机的 flash 1{I. 现 片机程序的编写 一般情况来说,我仃】的编 仿 软件也采用r这种筷式。住PC端将科序编与成功, 然后使Ⅲ交叉编译器将这 编译成 片机识别的■:进制 可执仃程序.然后通过串u将_二进制程序写入 片机的flash IIl一 ,然 通过启动 片机执行相关编译女『的程序: 片fJ【编 仿真实验系统主要包括两部分:PC端控制秤 J f1j .片fJl执干t徉 流 :Pc端控制 J芋主要是将 从 t 片fJ川I 1滇f¨或 写入等t 片fJ【执仃徉序主蛰是将样序从 lfash一},缕取 数据并执行该程序 片机编程仿真实验 系统的主要J 作流 1昕示 ./J 出L1愉洲 腹川资源 堆栈!【I!_示 接功能查咖 榆测、『,前子程序是 满足flI【I条件 检测当前子程 当前使朋的资源 示当前子 序的堆栈状况 根据功能 咖子 序的 序列 浏览当前系统rf1的所有子系统 十J印 潮剑的f系统 rd, 查咖 浏览 于丁印 『J‘印 1.2单片机编程器模块 单片饥编徉 丰婴包括操作,没置 !lI!.示 部分 lfasl1存储器的并仃干u串仃编程力‘法,1SP的编程方法 1.2.1 flash存储器的编程方法 r{ 得个子模块1 f1:需要一定的编程 ‘法, 体水说,主婴包 AR89S5I单片机中包括4K的町编 flash存储阵列,通 过传统的12V离 i以及 调的 制信号实现EPROM的编 器 Flash的J}仃编 力‘法 1卜: 图1 PC端控制程序 (1)将带编程单元的地-hi:f; 放 地址线} ; (2)将数 )J【l载 数据线长; (3)激滔控制信号, 现数据的波与; (4)通过加载编 I乜 .将数掂 入tlash I_}I fl江次lifJ 收稿日期:2016—06—22 作者简介:J 敦 (1966一).粥,硕十,爵0教授,丰要从事电 [电j二 ‘ 的 教学 j研究【 f1 ・202・ lfash中写入一个字节,都需要添加一个相应的加密位,每个 字节的写入都具备自身定时,从而改变编程单元的地址和写 入的数据。 对于flash的串行编程而言,主要是通过ISP接口进行串 行编程,具体的编程方法如下: (1)在Vcc和GND引脚家电,设置RST为‘H’状态,同时 等待10ms,将XTAL1和XTAL2接上3-33MHz的时钟频率。 (2)在MOSI管脚加载编程控制指令,将编程时钟接在 SCK管脚上; (3)将代码阵列的编程设为字节模式,写周期是定时的, 在5v电压的同时,设为0.5ms; (4)在MISO管脚以及读指令激发的状态可实现数据的 检验; (5)编程结束时将RSL置为L。 1.2.2 ISP编程方法 ISP编程方法主要指令集参见AR89S51单片机的串行编 程指令集合,ISP的指令主要包括编程使能,芯片擦除,flash 内容读取,flash内容写入,加密位的读写指令,标志字节的 读写。 复位信号为“H”后,复位脉冲持续约64个时钟周期,使 SCK为低电平,SCK时钟频率不大于XTAL1时钟的1/16。在 页面的读写过程中,数据从地址0x00到0xff,命令字节后紧跟 高4位地址,将全部的256字节逐一进行读写。 本文中编程的主要结果以HEX文件存储,整个文件以行 为单位,每行以冒号开头,内容全部为16进制码(以ASCII码 形式显示)。每个记录包含5个域,具体格式如下: L 一 L…I一I  — 一一aaaa 一叩 一tt f0 :; 一dd・・ 一・ 每| …cc f … #  图3 HEX文件格式结构 在图3中,每个字母表示一个十六进制编码的数字,每个 域有至少两个十六进制编码数字组成。每个HEX记录由一 个冒号开头。 HEX记录中的ll是数据长度域,表示该记录当中数据 字节的数量,也就是上图中[dd…]的数量;aaaa是地址域, 由于AR89¥51的flash只有4k,因此两个字节可以表示全部 的地址空间;tt表示HEX记录类型的域,可能的值为O0(数 据记录),叭(文件结束标识符),02(扩展地址段记录),04 (扩展线性地址记录);[dd…]表示数据域,每个记录可以有 多个字节组成,长度为ll中指定;CC是校验和,表示该记录 的校验和。 2.3子程序查询模块 AR89S51单片机有发布了很多预编译的子程序,本系统 将这些子程序组织起来,以便后续使用,在做单片机程序开发 的过程中,可以将子程序链接在应用程序,统一编译之后就可 以形成自己的应用程序,不仅降低了应用程序的编译难度,同 时也降低了编写硬件相关部件程序的错误率。同时,编译的 程序紧凑,适用于只有4k lfash存储的单片机。 子程序查询模块的主要功能是查询子程序的相关信息, 如子程序的编号,功能,输入输出参数,系统需求,程序代码 等。子程序的查询主要包括:按功能查询,按标号查询以及子 程序浏览等功能。子程序查询模块的实现方法是通过查询数 据库,查找到相关记录,然后将查询的结果返回给前端。子程 序数据库的表结构如下表2所示。 《自动化与仪器仪表 ̄2016年第11期(总第205期) 表2子程序数据库表格式 名称 类型 长度 是否为空 说明 ProgramID Int 4 No 子程序的ID ProgramName Stirng l28 No 子程序的名字 Function Stirng 1024 Yes 子程序的主要功能描述 子程序的主要输入参数,如 Conditions Stirng 1024 No 果该子程序的参数为空,则 输入为NULL 子程序的主要输出参数,如 Resuh String 1024 NO 果该子程序无输出,则返回 值为NULL Resource String 1024 N0 该子程序在运行期间使用的 主要资源列表 Stack Stirng 1024 NO 子程序在运行过程中的堆栈 信息 Address String 1024 No 子程序的存放位置 2.4通信协议 编程器和单片机之间的通信需要一定的通信协议,单片机 的微处理单元的通信协议简单,每次通信只有18个字节,其中 第0个字节为编程操作标识符,第1个字节是FID,第2—17字 节表示操作相关的数据。FID的主要协议如下表3所示。 表3 FID标识符 数值 函数 含义 Ox0o RstPro() 复位编程器 0) 1 ReadSign() 读取单片机的特征字 Ox02 EraseFlash() 擦除单片机器件 0)r03 WriteFlash() 写单片机器件 0x04 ReadFlash() 读单片机器件 0) 5 Lock() 写锁定位 Oxff SendData() 默认发送数据 编程器与单片机之间的通信主要包括发送数据和接收数 据,具体操作如表4所示。 表4通信具体操作过程 发送数据 接收数据 BOOL SerialPro::SendData(){ BOOL SerialPro::RecvData(){ If(!in—bPon){ Stoic int n=0: Notify(KNIT SERIAL);//初始化发 n++: 送数据过程 if(nLen!=18){ Return false; Notify(RECV—ERROR); } Return false; } If(!m—bUsing){ Switch(buffer[0]){//这里的处理 Notify(PRO—INVALID); 逻辑与表2一一对应 Returnfalse; Case 0xOO: }else{ //编程器就绪,可以接收命令 sendBlock(TxdBuf,18); Case 0x01: nl—bUsing=false: //读取特征字 return true; Case 0xO2: } //擦除单片机器件 Case 0x03: //编程器等待读期间的回应,建立 读ROM的线程 Case Ox04: //读单片机器件 Case 0x05: //写锁定位 default: //发送数据 ・203・ 单片机编程仿真实验系统的设计与开发周教生 3 编程仿真实验板的设计 3.1总体设计 单片机仿真实验板的编程模块主要根据单片机的ISP功 能对单片机进行编程。ISP可以加速产品的研发,降低研发 成本,同时可以缩短从设计,制造到现场调试,简化生产流程 并可以实现系统的快速升级和调试,可以快速提高工作效率。 单片机编程仿真实验系统可重复对目标单片机进行编程运 行,只需要在擦除单片机中flash中的内容。单片机编程仿真 实验板主要有以下接口功能:(1)电源模块;(2)32电平转换 模块;(3)音频方法模块;(4)8×8点阵模块;(5)串并转换模 块;(6)行列式键盘模块;(7)ISP下载模块。 3.2实验板各功能模块设计 3.2.1 电源模块 电源模块为系统板上其它模块提供+5V电源,电源输入 有两种方式,一种为交直流电源从电源插座输入,输入的电压 要求,直流输入应大于7.5V,交流输入应大于5V,通过7805 三端稳压器得到5V的直流电源供给系统其它模块工作,另 一种为从USB接口获取+5V电源,只要用相应配套的USB线 从电脑主机获取+5V直流电源,在电源模块中加有保护电路。 其原理图如图4所示。 生生 1 GrND GND GND OND 0 {一……h∞“j }… … l L—— ———L— - ——L.J L— j—— ▲. ▲——. 图4电源模块原理图 3.2.2 232电平转换模块 232电平转换采用MAX232芯片把TTL电平转换成RS一 232电平格式,可以用于单片机与微机通信,以及单片机与单 片机之间的通信,在该系统板上提供了两个DB9的接口,其 中一个用ISP下载器模块的程序下载接口,称为“ISP Interface”,另一个接口为单片机与其它具有RS232接口的通 信端口,称为“Common Port”。具体的电路原理图如图5 所示。 彳9 ‘ ’ (『 (『 (『 (『 董 ;l 。 ON D IOuFC5 I { l 上5鍪黧 ̄曼 ;1-V-lC1C%t蛰 开: vcc', l ’ 6 l广—— 一 R…21N…R2…0 i 2 8 图5 232电平转换模块 3.2.3音频放大模块 音频放大模块的主要功能放大芯片的主要功率,通过放 大SPK IN的输入,同时从SPK OUT端口输出相关数据,可实 现音频的放大。具体的电路原理如图6所示。 .204・ 图6音频放大模块 3.2.4 8x8点阵模块 点阵模块的主要功能是实现点阵数码管的工作过程,其 输入有行和列之分,这两个端口分别控制行和列的显示结果, 其中DR1一DR8为行信号的输入控制端口,DC1一DC8是列信 号的输入控制端口。具体的电路原理图如图7所示。 』 鞋錾 …… — 一 雕 ~ 屋 1}=趟 暑打  图7点阵模块原理图 3.2.5串并转换模块 串并转换模块的主要功能是实现串口到并口的转换,这 包括4路转换模块,且四路模块通过串联的方法实现级联,该 模块的主要输入端口为RXD TXD,输出的结果为并行数据。 具体的电路原理图如图8所示。 图8串并转换模块 3.2.6矩阵式键盘模块 矩阵式键盘主要有行和列组成,每个行列上有一个按键, 其中每个按键都包含一个行脉冲和一个列脉冲,当按键按下 之后,系统会捕获一个行信号,一个列信号,从而系统判断具 体的按键。具体的电路原理图如图9所示。 三-_ SW-PB I I SW j口 l I B o o SW PB 0 O 55V-pB S” o O 图9行列式键盘模块原理图 3.2.7 ISP下载模块 1SP下载模块的主要功能是实现数据的下载,该模块需 《自动化与仪器仪表}2016年第11期(总第205期) 要和PC端的客户端程序配合,将编译好的HEX程序下载到 lfash中。具体的电路原理图如图l0所示。 中,如果程序执行成功,则单片机上可以正常的执行,否则显 示错误信息。本系统中主要设计的实验包括多路开关状态指 示;广告灯;报警产生器;动态数码显示技术;电子琴;LED点 阵显示技术等。 -"l A.... vcc 5 结束语 本文提出了单片机仿真实验系统,本系统根据高校中单 片机教程的需求,设计并定制了相关实验,本系统采用模块化 设计,主要包括PC客户端以及单片机数据的下载过程,通过 将结果显示在PC端上,可以实现单片机编程的直观化。该 系统可适用于多层次的实验教学和学生自己编程实验,目前 已通过调试,并将逐步增加编程支持的芯片和完善其他一些 实验电路板。 参考文献 沙占友,孟志永,王彦朋.单片机外围电路设计[M],北京:电子工 业出版社,2006. 晃阳.单片机MCS一51原理及应用开发教程[M].清华大学出版 社,2007. AT89S518一 l Mieroeontroller with 4K Bytes In—System Programmable I二 Flash.ATMEL Corporation,2001. 徐惠民,安德宁.单片微型计算机原理接口及应用[M].北京:北京 邮电大学出版社,2003. 张丽云.计算机接口实验平台的研制与开发[D].北京交通大学, 2007(3). 杨瑛洁.微机与单片机实验平台的设计与开发[D].电子科技大 学,2004(2). 廖平.单片机实验教学的改革[J].实验室研究与探索,2004,23 (7):36—38. 图11 PC端主界面 焦振宇.浅谈新形势下我国高校单片机教学的课程改革[J].高教 论坛,2005,(1):102—104. 单片机编程仿真实验系统的实验过程如图l0所示,首先 在单片机IDE中编写单片机源程序,经过编译生成HEX文 件,然后通过Pc客户端将HEX文件写入目标单片机的ROM 张铮,苏旭武,张道德.多功能单片机实验板的开发与应用[J].湖 北工业大学学报,2005,20(1):21—23. (上接第201页) 4 结论 本文所提出的一套智能的报表生成方法及设计原则,进 大学,2013. 王禹衡。报表模型系统的研究[D].吉林大学,2014. 郑略略.基于BusinessObjects、数据仓库的智能商务报表系统研究 分析与实现[D].江西农业大学,2014. 肖华.基于ERP的商业智能报表系统的研究与实现[D].湖南大 学,2013. 王楠.基于商业智能的财务分析系统设计[D].大连理工大 学,2015. 步完善了财务分析系统中的报表分析系统,起到了信息传 递、信息展示和为最终的决策支持提供依据的重要作用。但 一是,本文在研究中忽略了报表分析系统与整个商业智能系统 的其它部件的衔接,而这与报表生成后的企业决策指导有着 直接而密切的关系。因此,接下来还应从这方面着手进行进 一关鑫.基于J2EE的通用报表系统的研究与实现[D].成都理工大 学,2010. 步的研究与改进。 张金辉.基于局域网 ̄2,Jk监控生产报表系统的软件设计与实现 参考文献 张金辉.基于局域网工业监控生产报表系统的软件设计与实现 [J].自动化与仪器仪表,2015,07:18—20. [2] 高峰.基于综合数据平台的电力智能报表系统研究[D].上二海交通 [J].自动化与仪器仪表,2015,07:18—20. 皇甫汉聪.一种适用于电网企业的报表管理体系的设计与应用 [J].电子设计 工程,2015,23:37—39. ・205・ 

因篇幅问题不能全部显示,请点此查看更多更全内容

Copyright © 2019- hids.cn 版权所有 赣ICP备2024042780号-1

违法及侵权请联系:TEL:199 1889 7713 E-MAIL:2724546146@qq.com

本站由北京市万商天勤律师事务所王兴未律师提供法律服务