单片机仿真器硬件仿真器与Proteus的区别是什么

单片机调试程序时使用的仿真机的作用是什么_百度知道
单片机调试程序时使用的仿真机的作用是什么
片机调试程序时使用的仿真机的作用是什么,为什么单片机调试程序还离不开他,真搞不明白这个仿真机到底啥用,程序不是在停机机上运行的吗?为什么程序调试由电脑一步一步执行
说实话。所以当时就用仿真器来帮助调试,几十万,EEPROM的极少,价格又太高,一般人用不起,且烧写次数很多,所以大部分学习者都用ISP下载线下载,仿真器内部就是一块可编程可修改的单片机,这个是仿真器的特有功能,对于研发很不利,这样更快,因为它们很多都是一次烧写而且不支持ISP的。 但是对于一些工业用单片机,51什么在工业上用的其实很少,性价比低得很。分步调试可以发现程序的问题。现在单片机和ISP技术都很成熟了,而且价格很贵,动辄几万过去大部分单片机是掩模的(MARK ROM),还是在价格方面都具有很大优势。还有一些单片机不支持在线烧写或者重复烧写次数很少,仿真器还是脱不开。工业单片机无论在功能,功能太弱,掩模单片机一旦写入就无法更改,分步调试也是单片机中断的一个重要应用,成本太高,唯一的缺点就是开发设备太贵了,进行硬件仿真,价格大幅度下降,主要是利用了中断控制进行
来自团队:
其他类似问题
为您推荐:
其他3条回答
那种东西proteus或者multisim甚至是cadence之类的软件就可以满足,那样几乎是不可能实现的,所谓的仿真、内存的分配全都给你,并不是把单片机每个引脚的时序和单片机的状态现在的仿真器,你可以用它进行单步执行,仿真器更主要的是作为“调试器”和“下载器”的集合、设置断点之类的操作
简单点说,就是单片机运行的速度太快了,相对来说,毕竟一般都是1us级别的,需要有个机器让他可以停止在程序的某个地方,以便检验程序的正确性
仿真器的作用是把本该在单片机中跑的程序下载到仿真器中,然后通过一个与所用单片机引脚一样的仿真头插在目标板上,让它执行单片机的功能。现在仿真器用的人不多了。
调试程序的相关知识
等待您来回答
下载知道APP
随时随地咨询
出门在外也不愁什么是 单片机仿真器?_百度知道
什么是 单片机仿真器?
到底什么是仿真器什么是 单片机仿真器,网络资料杂多且说的比较玄乎------乃至一直没弄明白“仿真器”到底是怎么回事。我学着这么久,时不时看到“仿真器”之类的东西?只是隐约觉得仿真器应该具有单片机本身的功能(不然怎么仿它的真)!最好用自己的话描述,从网络中得知所谓仿真器是一种硬件(而不是软件),搞不清仿真器与单片机到底有什么区别?本人学习STC单片机一段时间了
仿真器用于调试单片机软件,为什么不直接用单片机来调试呢?
提问者采纳
紫外擦除的ROM需要用紫外灯照射较长时间(10分钟或者更多)才能擦掉芯片中的内容以便写入新的程序。因此出现了仿真器。现在的单片机高级,其仿真器把程序直接写入单片机的内部的ROM中仿真器的出现也是有原因的,怎么调试呢,这仿真器用RAM当充当单片机的程序存储器:一,写一次程序不对,比如C8051F,比如8751,比如8031?把程序写入ROM然后运行,通过JTAG逻辑读出寄存器和RAM中的数据来判断运行是否正确!如果是8751单片机,这就算“直接用单片机来进行调试”了,早期的单片机内部没有ROM,出问题了就修改程序在写道ROM中再运行、STM32等、8032。因此,就是芯片上带窗口的ROM,要知道当时的单片机比肉价还贵呢,以判断程序运行是否正确,这种单片机只能外部扩展紫外擦除的EPROM存储器。二是有的单片机内部ROM是一次写入成型的。这样就高效快速的设计程序了,这样就可以快速的反复写入程序进行运行测试,程序写入单片机的ROM之后就不能被擦除,如果这样直接用单片机来调试,通过插入其他代码来观察寄存器和RAM中数据的变化?但写一次ROM需要不少时间啊,那这单片机就废了,有两点
提问者评价
拨云见日,茅塞顿开!正是我想要的答案,多谢
单片机仿真器顾名思义就是用来仿真单片机的。使用他可以替代单片机系统里的单片机进行工作。使用仿真器和直接使用单片机的不同之处是仿真器可以通过电脑软件(比如keil)来控制程序的运行。比如单步运行:程序一个语句一个语句执行;设置断点:就是设置一个位置,程序运行到那里就会停止并等待在那里;全速运行:可以像真正单片机一样运行程序。另外仿真器...
其他类似问题
为您推荐:
其他2条回答
单片机仿真器具有基本的输入输出装置,因而与PC机等设备的软件结构也是类似的,也难以容纳用于调试程序的专用软件,观察程序运行结果与中间值,因此要对单片机软件进行调试,使得单片机开发人员可以通过单片机仿真器输入和修改程序指以调试单片机软件为目的而专门设计制作的一套专用的硬件装置,排除软件中存在的问题,其不具备标准的输入输出装置,输入输出接口,可以大大提高单片机的编程效率和效果,具备支持程序调试的软件,存储器等基本单元,就必须使用单片机仿真器,同时对与单片机配套的硬件进行检测与观察。因为单片机在软件开发的过程中需要对软件进行调试。但是由于单片机的应用场合问题,观察其中间结果,受存储空间限制。  单片机在体系结构上与PC机是完全相同的,也包括中央处理器
如proteus、、ICCAVR等等。。。是一种模拟来检测程序集电路是否有问题,然后用于硬件设备
单片机仿真器的相关知识
等待您来回答
下载知道APP
随时随地咨询
出门在外也不愁第三届·无线通信技术研讨会
2015o第二届中国IoT大会
ETFo智能硬件开发技术培训会
ETFo第三届&消费电子电池管理系统技术论坛
ETFo智能安防技术论坛
成都&智能工业创新应用论坛
移入鼠标可放大二维码
Proteus的单片机演奏系统
来源:本站整理
作者:程兴国日 10:03
[导读] 介绍了基于Proteus 的单片机演奏系统的基本原理、硬件电路及软件设计。Proteus的单片机演奏系统方案电路简单,切实可行且效果不错。
&&&&&&&&&当前的很多用单片机实现演奏的系统都是利用开发板结合仿真器实现的,这种方法不是很复杂,实现也较方便,但是调试不是很方便,且成本也较高。 本文提出的一种基于Proteus 的单片机演奏音乐的方法,非常简单实用,且该方法基于软件来实现的,所以成本非常低,调试方便,效果也很不错,适合于爱好音乐的单片机学习者。 单片机系统的设计分两大部分:硬件设计部分和软件设计部分。
  1 硬件设计
  硬件部分比较简单,如果在开发板上做实验可仿下面图1 电路连接。
  AT89C51 单片机的P2.5 口控制一个8550 的三极管,三极管控制电磁蜂鸣器的电源通断。
  如果用Proteus 软件来仿真的话,电路更加简单,见图2。
  图2 在Proteus 环境下用单片机控制蜂鸣器发声的原理图。
  需要的关键元件:单片机和蜂鸣器。
  为了便于软件编程,先要了解单片机唱歌的基本原理。
  什么是声音呢?声音是空气的振荡,不同的振荡频率我们就可以听到不同声调的声音。 音的频谱范围约在几十到几千赫兹。
  其次,如何让蜂鸣器发声?蜂鸣器有很多种类,但大致分为两类:有源式(直流电就发声,但频率单一);无源式(根据输入方波频率而发出不同的声音)。 这里选择无源式蜂鸣器。
  单片机唱歌的基本原理:利用程序来控制单处机某个口线出一定频率的方波到蜂鸣器,蜂鸣器就可以发出一定音调的声音,若再利用不同的延时程序改变输出频率,就可以改变音调,进而就可让单片机发出&1&、&2&,&3&,&4&,&5&,&6&,&7&的音乐。
  2 软件设计
  通过软件延时或者定时器延时来的方式以不同频率改变口线的的高低电平状态来实现的。 如果只是让蜂鸣器发声这已经够了。 但是我们要的是唱歌,所以还有一些工作需要作。
  2.1 音调
  输出不同频率的方波,以实现1、2、3、4 等的不同音调;比如,发出200HZ 的音频,其周期为1/200s,即5ms. 这样,当 P2.5 的高电平或低电平的持续时间为2.5ms 时,就能发出200HZ 的音调。 我们可以写一个延时子程序,用R3 来提供参数,R3=1 时,延时为20us,那么R3 取(7DH)时,就可以发出200Hz 的音调,提供不同的R3 常数,可以得到不同的音调变化。
  利用通用发声程序可以编写乐曲演奏程序,乐曲是按照一定的高低,长短和强弱的关系组成的音调,在一首乐曲中,每音符的音高和音长与频率和节拍有关(如图3 所示)。
  图3 音符的音高和音长与频率的关系
  图3 画出了两个音阶(一个音阶是8 个音符)的钢琴键和每个键的音符名及其频率(HZ),低音阶以低C(130.8Hz)到中C(261.7Hz)高音阶以中C 到高C(523.3Hz)黑键比它旁边的白键高半个音或低半个音。 组成乐曲的每个音符的频率和持续时间是乐曲程序发声所需要的两个重要数据。 频率可以从图中得到,音符的持续时间可根据乐曲速度及每个音符的节拍数来确定,是可以从乐谱中得到的。
  2.2 节拍
  控制一个音符输出的时间,比如1 拍、1/4 拍。 在4/4(四四拍)中,四分音符为一拍,每小节4 拍,全音符持续4 拍,二分音符持续2 拍,四分音符持续1 拍,八分音符持续半拍。 而全音符需要1s 的时间,则二分音符持续时间为0.5s(50&10ms),四分音符的持续时间为0.25s(25&10ms),八分音符持续时间为0.125s(12.5&10ms)。
  知道了音调与频率和时间的关系,就可以按照乐曲的曲谱将每个音符的频率和持续时间定义成两个数据表,然后编写程序依次取出表中的时间值和频率值。
  仅上所叙还不够,要准确奏出一首曲子,必须准确地控制乐曲节奏,即一音符的持续时间。 例如,一首曲子的节奏为每分种94 拍,那么一拍就为60/94=0.64s.
  音乐的节拍我们可用定时器来控制,简单的说,一个一拍的音符唱0.64s,我们就设置一个定时器定时0.64s,时间一到就换下一个音符。 但是,由于单片机的T0,在12MHz 晶振下最大定时时间只能为65ms,因此不可能直接用改变T0 的时间初值来实现不同节拍。 如何定时一个更大的时间,我们可以用T0 来产生10ms 的时间基准,然后设置 一个中断计数器,通过判别中断计数器的值来控制节拍时间的长短。
  例如对1/4 拍音符,定时时间为0.16s,相应的时间常数(中段计数器)为16(即10H);对3 拍音符,定时时间为1.92s,相应时间长数为192(即C0H)。
Proteus相关文章
Proteus相关下载
单片机相关文章
单片机相关下载
技术交流、积极发言! 发表评请遵守相关规定。
Google开发的自动驾驶汽车采用了电动动力系统,没有配备方向盘和油门、刹车踏板。这款车的最高时速仅为25mph,因此符合美国监管机构对智能“园区车(...
今天国内万众创新潮已经催生了数以万计的创新产品孵化平台,但笔者迄今为止看到最具商业价值的创意产品孵化平台当属中国深圳的灵感家(IdeeBank),...
创新实用技术专题
Copyright &
.All Rights Reserved 上传我的文档
 下载
 收藏
该文档贡献者很忙,什么也没留下。
 下载此文档
正在努力加载中...
基于proteus和keil接口的单片机外围硬件电路仿真
下载积分:800
内容提示:基于proteus和keil接口的单片机外围硬件电路仿真
文档格式:PDF|
浏览次数:1|
上传日期: 03:58:25|
文档星级:
该用户还上传了这些文档
基于proteus和keil接口的单片机外围硬件电路仿真
官方公共微信联合仿真在单片机教学中的应用-其它-就爱阅读网
您还可以使用以下方式登录
当前位置:&>&&>& > 联合仿真在单片机教学中的应用
联合仿真在单片机教学中的应用
摘要:文章描述了使用Proteus软件与Keil uVision3软件建立联合仿真的方法,并用实例说明联合仿真的方法和过程。关键词:Proteus软件;Keil uVision3软件目前,单片机技术在实际工程中得到了广泛应用,Proteus软件与Keil uVision3软件的联合仿真在实际的单片机系统开发中被普遍应用。为此,在单片机课程教学过程中,教师一定要结合工程实际做到软件和硬件相结合,实现理论教学与工程实践紧密结合,在传授理论知识的同时,教会学生如何使用实际工程所应用的相关软件进行单片机系统开发。Proteus软件与Keil uVision3软件简介Proteus软件的介绍Proteus软件是英国LabcenterElectronics公司开发的电子设计自动化(EDA)工具软件。该软件主要由实现原理图编辑及仿真的ISIS模块和实现PCB板设计及自动布线的ARES模块组成。Proteus不但具有其他EDA软件的模拟电子和数字电子仿真功能,而且还具有其他EDA软件所没有的单片机系统硬件仿真功能。它可以仿真MS51系列单片机、AVR单片机、PIC单片机和ARM7微处理器,可以直接在电路原理图上实现硬件的虚拟仿真,实现程序的调试,并提供进行测试与分析的虚拟示波器、逻辑分析仪等虚拟仪器及仿真图表。Keil uVision3软件的介绍Keil uVision3软件是德国的嵌入式开发工具专业制造商Keil公司开发的单片机开发软件平台。首先,该软件不但可以进行软件仿真,而且还可以通过其内嵌模块Keil-Monitor-51,实现在不需要连接硬件仿真器的条件下,通过下载线连接硬件系统对项目进行实时仿真。其次,可以与Proteus单片机仿真软件联合实现虚拟硬件仿真。再次,Keil uVision3软件具有良好的调试界面,操作不复杂,具有优秀的编译效果,丰富的学习资料。目前,Keil uVision3软件的用户非常庞大,几乎所有的嵌入式开发工程师都使用该软件。Proteus软件与Keil uVision3软件联合仿真的建立Proteus软件与Keil uVision3软件之间可有相互独立和相互联合两种方式进行单片机系统的虚拟仿真。如用Proteus软件独立进行虚拟仿真,就是用Keil uVision3软件的编辑控制程序,在Keil uVision3软件的Option for Target “Target1”选项卡Output中选择Create HEX File选项,然后进行编译,生成*.HEX文件。然后,将该文件转到Proteus的ISIS模块中,在所仿真的电路中打开单片机的编辑对话框Edit Component,在此窗口中的Program File栏中,选择通过编译生成的*.HEX文件,并在Clock Frequency栏中设置单片机的晶振频率,点击OK完成Edit Component窗口的设置。最后,点击Proteus软件的仿真启动按钮实现电路的仿真。Proteus软件与Keil uVision3软件之间的联合虚拟仿真,指Keil uVision3软件将Proteus软件打开的单片机系统看成一个虚拟的硬件电路,使用Keil uVision3软件对程序进行编译、调试时自动连接Proteus软件中的虚拟单片机系统,虚拟单片机系统的状态随Keil uVision3软件对程序调试实时变化。这样,可实现用Proteus软件与Keil uVision3软件联合虚拟硬件仿真。要实现联合虚拟硬件仿真就必须对Proteus软件与Keil uVision3软件进行如下设置:1.安装好Proteus软件和Keil uVision3软件后,安装压缩包中的vdmagdi.exe文件,此时在路径为Keil\c51\bin的文件夹里有VDM51.DLL文件。2.将压缩包中的Prospice.dll文件复制到Proteus6.9根目录的BIN文件夹中,并将原来的文件覆盖。3.在Proteus软件中打开要仿真的单片机系统原理图,并在Debug菜单中选择Use remote debug monitor。4.在Keil uVision3软件中打开要进行联合仿真的项目和程序,点击Project并在Option for Target“Target1”选项卡Debug中选择Use Proteus VSM Simulator。然后,点击Setting按钮进入Host IP和端口Port的设置,如果在同一台计算机上进行联合仿真,则Host IP地址为127.0.0.1,端口设置为8000。如果两台计算机通过互联网进行联合仿真,则Host IP地址为这台计算机的网上IP地址,端口也为8000,这样,就可以实现一台计算机的Keil uVision3软件平台通过互联网去连接远程的另一台计算机,并远程控制另一台计算机的Proteus软件实现虚拟仿真。按上述的步骤进行设置后,Proteus软件和Keil uVision3软件之间即可进行联合仿真。Proteus软件与Keil uVision3软件联合仿真实例下面通过一个实例来进一步说明用Proteus软件与Keil uVision3软件联合仿真来调试程序的过程。该实例是用一个8×8的LED点阵块来显示字符。启动Proteus软件的ISIS模块设计如图所示的仿真电路原理图。用单片机的串行口输出显示数据,用74HC595芯片将单片机发出的串行数据转换成并行数据,并送给LED显示屏;单片机的P1.0~P1.2管脚输出LED显示屏的行选编码,并通过74HC138芯片译码产生行选信号,实现LED显示屏行扫描显示。用设计好的仿真电路原理图实现显示字符“↑”。根据电路实现的功能要求用Keil uVision3编辑软件编写如下源程序:ORG 0000HMOV SCON,#00H;串行口工作方式0START:MOVR1,#00HMOVR2,#00HMOVR3,#8MOVDPTR,#TABLE;显示字符的数据表首地址送DPTRE1:MOVA,R1;查表索引值送R1MOVCA,@A+DPTR;查字符数据表MOVSBUF,A;串行发送JNBTI,$;一帧发送完毕吗?0CLRTISETBP2.1;关闭显示器,消隐MOVA,R2MOVP1,A;送行选信号CLRP2.0;产生74HC595的数据锁存信号(上升沿)NOP;保证数据锁存信号有一定的脉冲宽度NOPSETBP2.0CLRP2.1;74HC595数据输出给显示器INCR1;准备读取字符的下一行数据INCR2;准备扫描下一行MOVR4,#250;每行的显示时间DJNZR4,$;DJNZR3,E1AJMPSTARTTABLE:DB 10H,20H,40H,0FFH,40H,20H,10H,00H;END 完成源程序的编写后,用Proteus软件打开要仿真的电路,在Keil uVision3编辑平台下选择主菜单Project下的Build target命令对源程序进行编译,如果程序没有语法错误,继续选择主菜单Debug下的Start/stop debug session命令运行源程序,此时,Proteus软件中的仿真电路图已处在单步执行的运行状态。然后,可以在Keil uVision3软件或在Proteus软件中Debug菜单下的命令对源程序进行调试,同时在Proteus软件中可以很直观地查看结果,这样即可像使用仿真器一样调试程序。Proteus软件与Keil uVision软件联合仿真教学的效果近年,笔者将Proteus软件与Keil uVision软件联合仿真应用于单片机接口技术的课程教学,收到了良好的教学效果,教学质量得到明显提高,喜欢学习单片机的学生明显增多。在教学过程中,每个实例都采用Proteus软件与Keil uVision软件联合仿真对程序都像仿真器一样调试,同时在屏幕上学生可以直观地看到电路输出状态,比较容易读懂并理解所调试的程序。这在一定程度上降低了学生学习单片机的难度,也提高了学生学习单片机的兴趣。学生可以只用一部电脑完成一个单片机系统设计、调试等操作,解决了学生想学好单片机但又缺乏硬件条件的问题;用Proteus软件与Keil uVision软件联合仿真技术进行单片机课堂实验演示极大地提高了课堂效率,克服了用传统仿真器进行实验演示时教师要准备很多硬件设备、要进行接线等操作的缺点。在实际工程中,Proteus软件与Keil uVision软件联合仿真技术也被广泛应用,用仿真器仿真调试电路程序将逐渐被淘汰。这样,使用Proteus软件与Keil uVision软件联合仿真技术进行教学可充分做到教学与实际工作需要不脱节,使学生在校学习期间就掌握了实际工作中需要的知识,培养了实际工作需要的单片机开发技能,可提高学生就业成功率,并能够缩短毕业生适应相关工作岗位的时间。参考文献:[1]张晓峰. Keil与Proteus联合虚拟仿真技术在单片机教学中的应用[J].林区教学,2007,(12). [2]马刚.Proteus与Keil整合构建单片机虚拟仿真平台[J].现代电子技术,2006,(24).作者简介:侯继红(1975—),男,硕士,广州科技贸易职业学院讲师,研究方向为单片机应用及电子EDA技术应用。
您可能也喜欢这些

我要回帖

更多关于 stc单片机仿真器 的文章

 

随机推荐