下面是小编整理的单片机软硬件联合仿真解决方案,本文共11篇,欢迎您阅读分享借鉴,希望对您有所帮助。本文原稿由网友“高夏明”提供。
篇1:如何仿真单片机的外围设备
如何仿真单片机的外围设备
摘要:单片机开发需要良好的软件开发环境支持,现国内外已经有若干软件仿真器支持51系列单片机,但外围设备的仿真仍是软件仿真的一个薄弱环节。本文针对目前较为流行的Keil公司的51单片机软件仿真器,介绍如何利用VC++编写动态链接库,仿真单片机外围设备,从而为软件仿真器提出一新思路。关键词:单片机 仿真 动态链接库
1 问题提出
目前,单片机因其诸多特点,在各行各业中得到了广泛的应用。单片机本身只有一个电子器件,只有和其它器件、设备有机地组合在一起,并配置适当的工作程序(软件)后,才能构成一个单片机的应用系统。因此,单片机的开发包括硬件和软件两个部分。单片机本身没有自开发功能,必须借助于开发工具。近年来,(本网网收集整理)随着个人计算机系统的不断普及,国内外推出了不少以PC机为基础的单片机开发系统;而软件模拟仿真器是一种新型的开发方法。这种方法是在PC机上,用软件来实现仿真,并配置一系列相关的服务程序,使用时,只要在PC机上运行该软件包,就可以对目标码程序进行调试。对于那些只是用到单片机内部资源的设计来说,可以在软件仿真器内完成仿真工作。但是,由于目前大多数厂商提供的产品还不能模拟单片机的外围设备(如液晶显示板),所以对于那些用到外部设备的设计来说,软件仿真器则显得力从心了。在这种情况下,笔者利用硬件软化的思想及面向对象、窗口等技术,将外围设备的功能在软件中实现。下面就针对Keil公司的51单片机软件仿真器,介绍如何利用VC++编写动态链接库,仿真单片机外围设备,从而弥补纯软件仿真的不足,最大限度地发挥软件仿真的威力。
2 方案构思
目前,Keil公司出品的51系列单片机软件仿真器已经成为国内流行的软件仿真器之一。Keil uVision2是一个标准的Windows应用程序,集成了C51编译器、A51汇编器、L51连接器、实时操作系统、项目管理器及调试器等,可以完成编辑、编译、链接、调试及仿真等整个开发流程,可以用IDE编译C或汇编源文件。
而单片机软件的.设计总要和外部事件打交道,比如响应外部中断,检测某一引脚上输入信号电平的高低,完成A/D转换等;同时某些情况下,还要根据外部信号输出不同的控制信号。如果使用硬件仿真系统或在线调试器时,已有一个实实在在硬件环境,在调试时,可以利用目标系统提供给单片机各种信号的输入,以便测试单片机的实际运行情况。如果使用软件仿真器,没有任何硬件环境可以给出这些外部信号,所以外部信号的输入是面临的一个难题;此外单处常常需要和其它常用器件有机地组合在一起使用,如A/D芯片、液晶显示板等,如何仿真这些常用器件的功能,也是面临的一个难题。
一种解决的方法是,利用Keil提供的调试函数实现。调试函数可以模拟外部设备产生的给CPU的模拟和脉冲输入信号,还可以产生外部中断,周期性更新模拟输入,将串行数据送入片内串行口,解决了外部信号的输入问题。但dScope只支持特殊命令语句及一些特定的表达式,需要花费时间掌握调试命令;而且利用调试函数不能仿真外围设备的界面,不直观。
另一种解决的方法是,利用Keil提供的接口AGSI(Advanced Generic Simulator Interface),用VC++编写动态链接库,仿真单片机外围设备,从而解决外部信号的输入问题及界面问题。Keil提供的SDK是相当于Keil UV2仿真环境的一个插件,以DLL的形式提供在纯软件仿真模式下,仿真A/D芯片、仿真液晶显示板及键盘输入等功能,在PC上就可以开发,调试大部分与界面、功能相关的程序,而不须烧片子来调试、开发,效率将大在提高,成本将大大降低。
另一方面,与单片机配合使用的接口芯片比较固定,接法相对也比较固定,由用户自主开发DLL,模块可以共享,使仿真外围芯片和器件的DLL不断丰富。利用VC++的强大功能以及面向对象,窗口等技术,可以扩展外围设备的仿真功能,实现灵活、通用的面板功能,解决界面不直观的问题。
图3 仿真实现
3 实例分析
下面以传送带控制系统为例,介绍如何编写DLL实时仿真单片机的外围设备,其方法具有普遍意义。
3.1 传送带控制系统的组成原理
图1表示了传送带控制系统的示意图。(漏头中是小球。)
①料箱随传送带按运动方向向前移动。
②当料箱移动到漏斗下方进,传感器B反应,传送带停止运行,漏头落料门打开,单片机对落下的小球计数(通过传感器A计数)。
③当落下的小球数等于装箱数目时,关闭漏斗门,传送带移动。
图4 Debug页
3.2 仿真的具体实现
图2是单片机的硬件电路图。此例中需要仿真的外围设备有:键盘(外供用户输入装箱的小球数目)、传感器(判断料箱是否移动到漏斗下方以及计数)和其它(如传送带)。
具体实现如下:
首先是在调试函数中设置断点,以便查看存储器内容以及控制目标文件与DLL库的执行顺序。其次是DLL的编写:
①加入AGSI.h(其中定义了外部仿真的接口及函数的原型)。
②写初始代码。包括创建AGSI,定义菜单及对话框,定义SFR、VTR,定义中断复位。
③建立用户界面。加入按钮(代表键盘)、指示灯图片(代表传感器)等。
④编写仿真代码,如图3所示。
⑤接口。
*VC中打开菜单Project->Setting,选取Custom Builder页,将编制好的DLL文件拷贝到Keil公司指定的安装路径..下,然后配置环境。
*keil中打开菜单project->Options for Target,选取Debug页,按图4输入。
⑥仿真结果。启动dScope,将自动载入8051仿真动态链接库S8051.DLL及自行设计的外部设备的仿真动态链接库KEY.DLL。用户输入程序,编译成功后进入调试状态,打开菜单Peripheral,会多出一个Interface。通过这个界面可以完成该软件的设计,而不需要外围设备。最终界面如图5所示。
4 小结
本文介绍了利用DLL仿真单片机外围设备的方法,其设计思想具一定的普遍性。软件仿真在硬件诊断、实时仿真等方面存在不足;但在教学研究中或没有硬件情况下,应用前景广泛,对于单片机教学以及程序开发具有一定的指导意义。
篇2:如何仿真单片机的外围设备
如何仿真单片机的外围设备
摘要:单片机开发需要良好的软件开发环境支持,现国内外已经有若干软件仿真器支持51系列单片机,但外围设备的仿真仍是软件仿真的一个薄弱环节。本文针对目前较为流行的Keil公司的51单片机软件仿真器,介绍如何利用VC++编写动态链接库,仿真单片机外围设备,从而为软件仿真器提出一新思路。关键词:单片机 仿真 动态链接库
1 问题提出
目前,单片机因其诸多特点,在各行各业中得到了广泛的应用。单片机本身只有一个电子器件,只有和其它器件、设备有机地组合在一起,并配置适当的工作程序(软件)后,才能构成一个单片机的应用系统。因此,单片机的开发包括硬件和软件两个部分。单片机本身没有自开发功能,必须借助于开发工具。近年来,随着个人计算机系统的'不断普及,国内外推出了不少以PC机为基础的单片机开发系统;而软件模拟仿真器是一种新型的开发方法。这种方法是在PC机上,用软件来实现仿真,并配置一系列相关的服务程序,使用时,只要在PC机上运行该软件包,就可以对目标码程序进行调试。对于那些只是用到单片机内部资源的设计来说,可以在软件仿真器内完成仿真工作。但是,由于目前大多数厂商提供的产品还不能模拟单片机的外围设备(如液晶显示板),所以对于那些用到外部设备的设计来说,软件仿真器则显得力从心了。在这种情况下,笔者利用硬件软化的思想及面向对象、窗口等技术,将外围设备的功能在软件中实现。下面就针对Keil公司的51单片机软件仿真器,介绍如何利用VC++编写动态链接库,仿真单片机外围设备,从而弥补纯软件仿真的不足,最大限度地发挥软件仿真的威力。
2 方案构思
目前,Keil公司出品的51系列单片机软件仿真器已经成为国内流行的软件仿真器之一。Keil uVision2是一个标准的Windows应用程序,集成了C51编译器、A51汇编器、L51连接器、实时操作系统、项目管理器及调试器等,可以完成编辑、编译、链接、调试及仿真等整个开发流程,可以用IDE编译C或汇编源文件。
而单片机软件的设计总要和外部事件打交道,比如响应外部中断,检测某一引脚上输入信号电平的高低,完成A/D转换等;同时某些情况下,还要根据外部信号输出不同的控制信号。如果使用硬件仿真系统或在线调试器时,已有一个实实在在硬件环境,在调试时,可以利用目标系统提供给单片机各种信号的输入,以便测试单片机的实际运行情况。如果使用软件仿真器,没有任何硬件环境可以给出这些外部信号,所以外部信号的输入是面临的一个难题;此外单处常常需要和其它常用器件有机地组合在一起使用,如A/D芯片、液晶显示板等,如何仿真这些常用器件的功能,也是面临的一个难题。
一种解决的方法是,利用Keil提供的调试函数实现。调试函数可以模拟外部设备产生的给CPU的模拟和脉冲输入信号,还可以产生外部中断,周期性更新模拟输入,将串行数据送入片内串行口,解决了外部信号的输入问题。但dScope只支持特殊命令语句及一些特定的表达式,需要花费时间掌握调试命令;而且利用调试函数不能仿真外围设备的界面,不直观。
另一种解决的方法是,利用Keil提供的接口AGSI(Advanced Generic Simulator Interface),用
[1] [2] [3]
篇3:复合材料设计及工艺仿真解决方案
复合材料设计及工艺仿真解决方案
利用ESI的复合材料解决方案,首先可以进行基于几何的'覆盖分析,然后进行复合材料片材成型工艺模拟,得到纤维按实际几何形状的分布,再利用PAM-RTM进行树脂注射的模拟,将模拟结果传递到SYSPLY中进行复合材料结构的真实力学性能分析.
作 者:焦立新 作者单位:伊塞-埃特(ESI-ATE)控股有限公司 刊 名:航空制造技术 ISTIC英文刊名:AERONAUTICAL MANUFACTURING TECHNOLOGY 年,卷(期): “”(12) 分类号:V2 关键词:篇4:领先的复合材料仿真价值链解决方案
领先的复合材料仿真价值链解决方案
7月,ESI集团和空中客车公司宣布在虚拟制造领域进行合作,基于空中客车的声明,ESI集团在CATIA V5环境下,对使用液态复合成型方法的复合材料制造进行了虚拟应用程序的'开发,空中客车在其新型高级航空器项目中会大规模使用复合材料.
作 者:焦立新 作者单位:ESI-ATE控股有限公司 刊 名:航空制造技术 ISTIC英文刊名:AERONAUTICAL MANUFACTURING TECHNOLOGY 年,卷(期): “”(3) 分类号:V2 关键词:篇5:双粒子联合冲击破岩仿真研究
双粒子联合冲击破岩仿真研究
单粒子冲击破岩与粒子冲击钻井的真实工况有一定的差异,因此,需要研究多粒子联合冲击破岩的规律.在双粒子联合冲击破岩条件下,利用LS-DYNA的参数化设计语言,采用无量纲化分析方法,选择粒子间距、直径、初速度和入射角度为设计变量,建立了它们与岩石破碎体积和侵入深度之间的关系,并绘制了它们之间的变化关系曲线图.进一步分析这些曲线图的`变化规律后发现:间距为0.25个左右的基准直径、粒子直径取0.8~1个基准直径、冲击初速度取每秒32 000~40 000个基准直径、入射角度为0°~40°,粒子冲击破碎岩石效果达到最佳或接近最佳.这些结果可以作为深入研究多粒子联合冲击破岩的参考依据.
作 者:伍开松 荣明 李德龙 况雨春 罗进军 作者单位:伍开松,荣明,况雨春,罗进军(西南石油大学,成都,610500)李德龙(新疆油田分公司,新疆,克拉玛依,834000)
刊 名:岩土力学 ISTIC EI PKU英文刊名:ROCK AND SOIL MECHANICS 年,卷(期): 30(z1) 分类号:O347.3 关键词:双粒子 无量纲 冲击破岩 LS-DYNA 钻井篇6:雷达电磁环境的联合建模与仿真
雷达电磁环境的联合建模与仿真
随着雷达灵敏度、精度的提高,对电磁环境的.依赖性也越来越大.首先分析了美军的联合建模与仿真系统(JMASS),指出建立一个综合的、可重用的雷达电磁仿真环境是电子战仿真的关键;重点研究了基于球不变随机过程(SIRP)的K分布杂波模型,以及地面/海面的多路径效应模型;最后建立了雷达电磁环境的模型并进行了仿真.
作 者:张芳 蔡金燕 朱艳辉 ZHANG Fang CAI Jin-yan ZHU Yan-hui 作者单位:张芳,蔡金燕,ZHANG Fang,CAI Jin-yan(军械工程学院,光学与电子工程系,石家庄,050003)朱艳辉,ZHU Yan-hui(驻5413厂军事代表室,石家庄,050031)
刊 名:装备环境工程 ISTIC英文刊名:EQUIPMENT ENVIRONMENTAL ENGINEERING 年,卷(期):2009 6(2) 分类号:V416.5 关键词:雷达 电磁环境 联合建模与仿真 面向对象技术篇7:基于实验平台和仿真平台的AVR单片机的课程开发论文
基于实验平台和仿真平台的AVR单片机的课程开发论文
单片机课程是电子信息类专业的核心课程。单片机芯片中包含微处理器、存储器和外部接口。单片机系统是以单片机芯片为核心开发的应用系统,单片机系统的应用的领域非常广泛,几乎涉及到我们能够想到的各个领域,如生产、生活、军事、教育等各个方面。
单片机芯片的性能直接决定单片机系统的功能,所以单片芯片在高速发展以适应单片机系统功能不断发展的新要求。单片机课程的特点是应用性非常强,使用的芯片发展非常快,整个课程的开发应该围绕使用什么芯片使课程保持先进性,课程有哪些应用项目使课程提高理论结合实践的应用性两个核心,以教学为主题展开。围绕着两个核心,我们做了做了大量研究工作,结合课程的应用项目开发了单片机实验平台。在以教学为主题的研究中将单片机实验平台和PROTUES构建的仿真平台相结合,形成立体化的教学模式,提高教学的效率和效果。
一、单片机实验平台的开发
(一)、使用什么芯片
单片机实验平台开发的第一个要确定的是使用什么样的芯片。在当前流行的众多单片机芯片中,我们选择了AVR单片机芯片ATmega16。AVR单片机芯片是ATMEL公司的`产品,发展非常快,正在逐步成为主流单片机芯片。其优点是它是新型的高速8位单片机,运行速度高,AVR单片机的片上资源非常丰富,具有极高的性价比。因此AVR最小系统构成简单,程序下载方便,只需要一条ISP下载线,进入AVR单片机开发的门槛较低,费用低廉,基于以上出发点,我们选择了AVR单片机芯片。
(二)、实验平台的功能模块和课程项目
实验平台的功能模块来源于实际应用,我们对单片机的应用领域进行了分析,提取了一些公共的应用和特殊应用,做为实验平台的功能模块。在实验平台的开发过程中课程项目开发和实验平台功能模块的开发是相辅相成的。这些模块直接支持课程开发中的具体项目。
1.8-12V电源模块:为电路板提供电源。
2.ATmega16L最小系统模块:是整个实验板的核心,它提供系统的复位、系统所使用的时钟电路和并口下载的接口。
3.16路开关:用于对各功能模块的开关控制。
4.8位发光二极管:可实现LED的指示、流水灯和学习C语言基础等项目。
5.8位数码管:可实现数码的显示功能,如数码的静态显示,动态显示,时钟显示等项目;
6.8*8LED显示:可实现字符点阵的显示项目。
7.液晶1602:可实现16*2液晶显示功能项目
8.74HC595芯片:可实现数字I/O口的串行扩展项目。
9.键盘:可实现4个按键的输入和外部中断源实验项目。
10.4*3矩阵键盘:可实现12个按键的输入项目。
11.频率发生器MC4060:实现单片机定时/计数器的外部时钟及时钟分频等项目。
12.EEPROM存储器:可实现ATmega16外部存储器的的扩展项目。
13.时钟芯片DS1302:是一个时钟功能芯片,主要特点是采用串行数据传输,可为掉电保护电源提供可编程的充电功能,并且可以关闭充电功能。利用它可构成一个时间可调的实时时钟。
14.I2C总线24C01:
15.AD转换器:可实现数/模转换和模/数转换项目。
16.MX232串口通信:可实现ATmega16单片机的异步串行通讯项目。
17.温度传感器DS18B20:可实现ATmega16单片机的温度控制项目。
18蜂鸣器:发声的执行部件,可实现报警和音乐播放等的执行项目。
19.红外接收头:红外信号的接收部件,可实现遥控等项目。
20.放大电路LM358:可实现电流信号的放大功能。
(三)、软件开发工具
在编程语言中我们选择了C语言,在软件平台的选择上,我们使用了CodeVisionAVR作为C语言程序的编辑和编译工具,使用SLISP作为程序的下载工具。
二、仿真平台的应用
在课程的开发中仅研究教什么还远远不够,还应该研究怎样教。使用自己开发实验平台是一个好的解决方法,但还存在效率不高,灵活性不够的缺点。因此,我们在研究怎样教时,使用了单片机的仿真平台Protues。Protues软件是英国Labcenter electronics公司出版的EDA工具软件,它是目前最好的仿真单片机及外围器件的工具。
使用实验平台和仿真平台配合进行单片机教学和学习的过程如下
1. 分析项目要求;
2. 在Protues中画出电路原理图;
3. 根据原理图在CodeVisionAVR中编写、编辑、编译C语言程序;
4. 在Protues中将编译好的目标程序加载到Mega16芯片中;
5. 在Protues中仿真;
6. 在单片机实验平台中连接电路;
7. 使用SLISP软件通过下载线将目标程序下载到实验平台,完成一个学习过程。
三、基于实验平台和仿真平台的单片机实验室建设
从上面的讨论可知,硬件的实验平台和软件的仿真平台的结合,使单片机的课程即保证了实践第一的特色,又做到了灵活多变,事半功倍。在单片机实验室的建设上也就自然将实验平台和仿真平台有机地结合。下面是以上课规模50人,一人一机的单片机实验室建设方案。
1.奔腾及以上的PC电脑50台;
2.并口下载线,50根;
3.5V高稳定专用稳压电源50台;
4.AVR单片机JTAG仿真器个;
5.自行开发的单片机嵌入式开放实验平台50台;
6.C语言程序的编辑和编译环境CodeVisionAVR
7.SLISP单片机程序下载软件
8.PROTUES单片机仿真软件
9.Multisim电子仿真软件
四、课程的考核体系的建立
考核中结合实验平台和仿真平台的项目应用情况,采用过程化考核,注重平时考核,建立日常考核、测验和期末考核三级考核体系,均采用项目考核,以培养学生的实际应用能力。将平时随堂小项目的完成做为日常考核,如流水灯、数码管、LED点阵、LCD液晶显示、按键控制、定时计数器等、将具有典型代表性的项目作为测验如矩阵键盘、音乐播放器、串行通信等,将综合项目做为期末考核如数字时钟、温度测量等。在三级考核体系中日常占30%,测验占30%,期末占40%。
实验平台和仿真平台的配合使用,通过项目的实施,很好地解决了单片机课程教什么和怎样教的问题,课程建设面向实际应用,灵活、高效、节约成本。配以完善的实验室建设和课程考核体系的建立,形成了立体化的单片机的课程体系。
篇8:基于ADAMS和MATLAB的主动悬架控制联合仿真研究
基于ADAMS和MATLAB的主动悬架控制联合仿真研究
汽车悬架的动力学性能直接影响到汽车的平顺性和操纵稳定性,利用ADAMS软件建立四分之一汽车主动悬架模型,通过MATLAB/Simulink求解主动悬架线性最优控制策略, 并对其进行联合仿真[1].结果表明基于最优控制的汽车主动悬架减小了车辆振动,提高了车辆的'平顺性和安全性.为汽车悬架减振性能的开发设计提供了一种有效的方法.
作 者:薛盛兴 张立军 张庆文 XUE Sheng-xing ZHANG Li-jun ZHANG Qing-wen 作者单位:辽宁工业大学,汽车与交通工程学院,辽宁,锦州,121001 刊 名:辽宁工业大学学报 英文刊名:JOURNAL OF LIAONING INSTITUTE OF TECHNOLOGY(NATURAL SCIENCE EDITION) 年,卷(期): 30(3) 分类号:U463.33 关键词:主动悬架 联合仿真 最优控制 ADAMS MATLAB篇9:Proteus仿真软件在单片机项目教学中的应用
Proteus仿真软件在单片机项目教学中的应用
在单片机教学中运用项目教学法,可以培养学生的实践能力.然而,如果利用传统的单片机实验室,不仅需采购大量的'硬件设备,而且设备维护工作量也非常巨大,浪费较多的时间和经费.本文介绍了利用Proteus仿真软件进行单片机项目教学,仿真数据接近真实系统测试数据.为单片机的软硬件结合虚拟仿真提出了一个新的思路.在实际应用中,Proteus软件可以很好应用于单片机系统开发设计,降低设计成本,缩短开发周期,提高效率.
作 者:陈慧 饶成明 作者单位:无锡职业技术学院,江苏,无锡,214121 刊 名:现代企业教育 英文刊名:MODERN ENTERPRISE EDUCATION 年,卷(期): “”(12) 分类号:G71 关键词:高职教育 教学改革 单片机 项目教学 Proteus篇10:基于分散模糊控制的整车主动悬架平顺性联合仿真
基于分散模糊控制的整车主动悬架平顺性联合仿真
应用联合仿真的'方法研究了分散模糊控制在整车主动悬架控制策略中的应用.仿真结果表明,主动悬架系统可以大大降低车身的振动加速度;同时验证了分散模糊控制在整车智能控制策略中的可行性,为复杂系统的建模和仿真提供了新的思路和解决办法.
作 者:孙伟 丰吉贺 王红岩 贺小军 SUN Wei FENG Ji-he WANG Hong-yan HE Xiao-jun 作者单位:装甲兵工程学院机械工程系,北京,100072 刊 名:车辆与动力技术 英文刊名:VEHICLE & POWER TECHNOLOGY 年,卷(期):2009 “”(2) 分类号:U463.33 关键词:主动悬架 分散控制 模糊控制 平顺性 联合仿真篇11:钢筋混凝土箱形拱桥现浇施工拱圈-拱架联合受力仿真分析
钢筋混凝土箱形拱桥现浇施工拱圈-拱架联合受力仿真分析
以某现浇箱板拱桥为基础,利用大型有限元软件msc.marc建立全施工过程数值模型,旨在研究拱圈与拱架的联合作用效应,考虑已形成的拱环和拱架联合作用共同承担后续浇注的混凝土重量.
作 者:蒋云锋 陈思甜 龚尚龙 刘鹏 孟云 何剑星 作者单位:蒋云锋,陈思甜,龚尚龙,孟云,何剑星(重庆交通大学,重庆,400074)刘鹏(四川建筑职业技术学院,四川,德阳,618000)
刊 名:黑龙江科技信息 英文刊名:HEILONGJIANG SCIENCE AND TECHNOLOGY INFORMATION 年,卷(期):2009 “”(4) 分类号:U4 关键词:钢筋混凝土 箱形拱桥 拱架 分环分段施工