单片机的单CPU仿真器的设计
- 格式:doc
- 大小:82.50 KB
- 文档页数:6
单片机EDA、仿真器、编程器、实验仪四合一综合开发平台概述单片机EDA、仿真器、编程器、实验仪四合一综合开发平台是广州致远电子有限公司设计的基于Keil C51集成开发环境下的DP系列单片机仿真实验仪之一,是一套功能强大、性能完美的MCU综合实验开发系统。
在DP-51PRO的基础上增加了编程器和仿真器,形成了单片机仿真器、编程器、实验仪三者俱全的综合性开发平台。
它支持全系列标准8051芯片仿真(包括最新推出的低电压V系列),并且内部集成了一个51PRO编程器,可以对单片机进行并行编程。
四合一功能:EDA、仿真器、编程器、实验仪。
参考照片TKStudy ICE仿真器TKStudy ICE仿真器采用当前最先进的HOOKS仿真技术,设计独到的仿真性能处于全球的全面领先水准,支持大多数常用80C51系列单片机。
硬件上具备高度运行稳定性/芯片兼容性。
运行频率突破HOOKS技术的极限,达到前所未有的32MHz。
可以稳定运行在2.0V以下。
软件上支持TKStudio/Keil中英文双平台,并首次在Keil公司的uVsion2/uVision3上稳定实现64K 超大容量Trace接口/4x64K代码数据覆盖/加彩运行轨迹显示/4x64K运行断点/超精密运行时间显示等多项激动人心的超级仿真功能。
EasyPRO 51通用编程器EasyPRO 51是一款用于烧写标准51系列单片机的通用编程器,为量身定做。
具有以下特点:系统工作稳定可靠,性价比高;支持大部分标准51系列单片机和串行24、25、93系列存储器的编程,共1200余种;采用串口通讯,高速波特率,使用方便、快捷;芯片编程算法经过严格测试,芯片编程安全稳定。
DP-51PRO综合实验仪DP-51PRO单片机综合仿真实验仪是基于Keil C51集成开发环境下的功能强大的单片机应用技术综合性学习、调试、开发工具,为广大单片机初学者和单片机工程师学习和提高技术水平提供了一条捷径。
单片机仿真器的原理随着科技的不断发展,单片机在各个领域中的应用越来越广泛。
单片机仿真器作为一种重要的工具,可以帮助开发者在开发和调试单片机程序时提供便利。
那么,单片机仿真器的原理是什么呢?单片机仿真器是一种能够模拟单片机的工作环境和行为的设备。
它可以通过与单片机的调试接口相连接,并通过软件来模拟单片机的运行状态。
通过单片机仿真器,开发者可以在计算机上进行单片机程序的编写、调试和测试,而不需要实际连接硬件设备。
单片机仿真器的原理主要包括两个方面:硬件部分和软件部分。
首先,硬件部分是单片机仿真器的基础,它包括与单片机的调试接口相连接的电路和芯片。
这些电路和芯片能够模拟单片机的输入和输出信号,并将其传递给计算机。
同时,它们还能够接收计算机发送的命令,并将其转化为单片机可以理解的信号。
通过这样的硬件设计,单片机仿真器可以与单片机进行通信,实现模拟单片机的功能。
单片机仿真器的软件部分起着至关重要的作用。
软件部分主要包括仿真器的控制程序和仿真器与单片机之间的通信协议。
控制程序负责接收开发者在计算机上输入的指令,并将其转发给单片机。
同时,它还能够监控单片机的运行状态,包括程序的执行情况、寄存器的值等,并将这些信息显示在计算机的界面上,方便开发者进行调试和测试。
通信协议则规定了仿真器与单片机之间的数据传输格式和通信方式,确保双方能够正常地进行数据交换。
通过硬件部分和软件部分的协同工作,单片机仿真器能够实现对单片机程序的仿真和调试。
当开发者在计算机上输入程序后,仿真器会按照程序的逻辑执行,并将执行的结果返回给开发者。
开发者可以通过仿真器提供的调试工具,如单步调试、断点设置等,逐步地查看程序的执行过程,分析程序的运行情况,找出潜在的错误和问题。
通过这样的调试过程,开发者可以提前发现和解决程序中的bug,提高开发效率和程序的稳定性。
总结起来,单片机仿真器的原理是通过硬件和软件的协同工作,模拟单片机的工作环境和行为。
它可以帮助开发者在计算机上进行单片机程序的开发、调试和测试,提高开发效率和程序的质量。
单片机开发工具介绍单片机开发工具是指用于设计和开发嵌入式系统的软件和硬件工具。
它们为工程师提供了一种便捷和高效的方式来进行单片机的编程和调试。
本文将介绍几种常见的单片机开发工具,包括集成开发环境(IDE)、编译器、调试器和仿真器等。
一、集成开发环境(IDE)集成开发环境是用于编写、组织和管理单片机代码的软件工具。
它通常包含代码编辑器、编译器、调试器和其他辅助工具。
常见的单片机开发工具IDE有Keil μVision、IAR Embedded Workbench和Code Composer Studio等。
1. Keil μVisionKeil μVision是一种流行的嵌入式系统开发工具,适用于多种不同的单片机架构。
它提供了直观的图形用户界面,方便工程师编写、调试和测试代码。
Keil μVision还集成了许多功能强大的插件和库文件,方便用户快速开发出高效且可靠的嵌入式系统。
2. IAR Embedded WorkbenchIAR Embedded Workbench是一套全面的单片机开发工具,支持多种不同的单片机芯片。
它具有先进的编译器和调试器,能够提供高效和稳定的单片机开发环境。
IAR Embedded Workbench还具备丰富的代码优化功能,可帮助工程师减少代码大小和提高系统性能。
3. Code Composer StudioCode Composer Studio是德州仪器(Texas Instruments)开发的一款用于MSP430和其他TI单片机的集成开发环境。
它提供了丰富的编译器、调试器和分析工具,帮助工程师快速开发和调试嵌入式系统。
Code Composer Studio还支持多种外围设备和通信接口,方便用户在开发过程中进行扩展和调试。
二、编译器编译器是将源代码转换成可执行文件的工具。
它将工程师编写的高级语言代码转换成特定单片机指令集所能识别的低级机器码。
常见的单片机编译器有Keil C Compiler、IAR C/C++ Compiler和GCC等。
单片机课程设计一、课程目标知识目标:1. 让学生掌握单片机的基本原理和结构,理解其工作流程。
2. 使学生了解并熟练运用单片机的编程语言,如C语言或汇编语言。
3. 帮助学生掌握单片机外围电路的设计与搭建,使其能独立完成简单的电路系统。
技能目标:1. 培养学生运用单片机解决实际问题的能力,提高创新思维和动手实践能力。
2. 培养学生具备查阅资料、分析问题、设计方案、调试程序等综合技能。
情感态度价值观目标:1. 培养学生对单片机课程的兴趣,激发学习热情,形成自主学习、合作学习的良好习惯。
2. 培养学生具备团队协作精神,学会与他人分享、交流、合作,提高沟通能力。
3. 培养学生关注科技发展,了解单片机在现实生活中的应用,增强社会责任感和创新意识。
课程性质分析:本课程为单片机课程设计,旨在让学生在掌握理论知识的基础上,通过实际操作,提高解决实际问题的能力。
学生特点分析:学生已具备一定的电子技术基础和编程能力,对单片机有一定了解,但实践经验不足,需要通过本课程加强实践操作和综合运用。
教学要求:1. 理论与实践相结合,注重培养学生的动手能力。
2. 引导学生主动思考,发现问题,解决问题。
3. 创设实际情境,提高学生的学习兴趣和参与度。
4. 注重培养学生的团队协作能力和沟通能力。
二、教学内容1. 单片机原理及结构:介绍单片机的组成、工作原理,重点讲解CPU、存储器、输入输出接口等部分。
参考教材章节:第一章 单片机概述2. 单片机编程语言:学习C语言和汇编语言的基础知识,掌握编程技巧,能独立编写简单的单片机程序。
参考教材章节:第二章 单片机编程语言3. 单片机外围电路设计:讲解并实践常用外围电路的设计与搭建,如LED 灯、蜂鸣器、数码管等。
参考教材章节:第三章 单片机外围电路设计4. 单片机程序下载与调试:学习使用编程器、仿真器等工具,掌握程序下载、调试方法。
参考教材章节:第四章 单片机程序下载与调试5. 实践项目:设计并实现几个实际项目,如温度控制器、智能小车、智能家居系统等,锻炼学生解决实际问题的能力。
51单片机简易仿真器的制作实验目的:由于市场上现有的单片机仿真器非常昂贵,为了减少在开发单片机时的成本,故提出利用SST公司的SST89E564RD系列单片机制作简单的51单片机仿真器。
实验环境:1.硬件环境:计算机一台SST89E564RD单片机MAX232芯片串口线一根2.软件环境:Protel99SE软件和KeilC51软件。
其中Protel99SE可以完成硬件原理图的设计,以及PCB板的制作;KeilC51可以完成工程的建立,代码的编写,程序的编译以及最终的软硬件仿真。
实验内容:1.实验原理:只需将SST单片机的RXD P3.0和TXD P3.1管脚通过一个RS232的电平转换电路连接到PC的COM串口即可,可使用这个RS232的转换电路做一个通用的8051的下载线。
下载时只需将下载线连接到用户目标板上单片机的P3.0P3.1 VCC,GND4个管脚即可进行下载或仿真。
设计的原理图如图1所示,在实际的设计过程中,添加了一个发光二极管,其目的很简单,就是为了验证仿真器供电正常。
图1SST89E564单片机仿真器原理图设计的SST89E564单片机仿真器的测试板如图2所示,在设计并印制PCB 板之后,硬件电路的设计就完成了。
图2仿真器测试板2.实验步骤:1)通过SST串口下载软件BootLoader下载SOFTICE监控代码由于SST的MCU在出厂时已经将BOOT LOADER的下载监控程序写入到芯片中,因此无需编程器就可通过SST BOOT-STRAP LOADER软件工具将用户程序下载到SST的MCU中,从而运行用户程序。
SST BOOT-STRAP LOADER软件工具还可将原来的MCU内部的下载监控程序转换为SoftICE的监控程序,从而实现SOFTICE的仿真功能。
执行SSTEasyIAP11F.exe软件运行SST Boot-Strap Loader,在内部模式下检测到对应器件的型号后,SoftICE固件通过按SoftICE菜单下“Download SoftICE”选项下载,便将SoftICE固件下载到MCU。
XJDP-1单片机原理实验箱一产品特点1.该产品内置仿真器,只需要一根下载线就可以实现仿真,又可以把程序烧入单片机来完成实验。
2.实验系统采用全开放式结构设计,结构更加紧凑,让实验者自行连接,具有自由拆散和组合的特点。
所有实验项目均可采用译码法和线选法来完成。
3.实验内容设置丰富、合理满足教学大纲要求,同时也可作为学生毕业设计及普通研发之用。
4.本实验系统各实验项目大多取自于工业控制系统的直接搬移或略微进行简单化而来,具有很高的实践性。
二技术性能1.方波输出指标1)时钟源频率输出范围:0Hz-12MHz2) 频率输出准确度:≤±5﹪3)在0-70℃,方波输出稳定度为:±3﹪4)占空比为50﹪2.具有过压保护功能,系统安全可靠3.实验连接接口采用圆孔插座,连接可靠三系统组成1.电源模块2.CPU资源实验区3.键盘显示器控制实验模块4.存储器模块5.液晶显示及驱动模块6.A/D、D/A转换模块7.LED电平显示电路8.逻辑电平开关电路9.直流电机电路10.步进电机电路11.转换电路12.可调模拟输入电路13.蜂鸣器输入电路14.压力传感测量电路15.串口通信电路16.仿真器电路四、实验项目一、软件部分1、查表实验2、电子时钟3、阶乘实验4、排序实验5、定时器实验6、广告灯实验7、整数十六进制转十进制实验8、两个四位十六进制数乘法实验9、两个四位BCD数乘法实验10、两个四位十六进制数除法实验二、I/O接口和系统扩展实验1、响铃实验2、系统扩展和调试实验(译码法)3、数据传送和存储器检测实验4、P1口应用实验5、P1口、P3口应用实验-三层楼电梯控制器实验三、应用实验1、键盘输入实验2、步进电机实验3、压力测试实验4、温度测量实验5、电压测量实验6、串口实验7、串转并实验8、直流电机转速测量与控制实验9、点阵式液晶显示屏实验10、顺序控制器实验11、PWM实验12、2I C RAM实验XJDP-1单片机原理实验箱。
单片机仿真器的原理引言单片机(Microcontroller Unit,简称MCU)是一种高度集成的微型计算机系统,具有处理器、存储器、输入输出接口以及各种外设等功能。
在单片机的开发过程中,仿真器是必不可少的工具之一。
本文将介绍单片机仿真器的原理,包括其基本功能和工作原理。
一、单片机仿真器的基本功能单片机仿真器是一种用于开发和调试单片机程序的设备,其基本功能包括以下几个方面:1. 程序下载:仿真器可以将程序从计算机下载到目标单片机中,实现代码的烧录。
2. 调试功能:仿真器可以实时监测单片机执行的状态,包括程序运行过程中的寄存器状态、内存状态等。
开发者可以通过仿真器提供的调试界面,逐行调试程序,检查程序的正确性和性能。
3. 仿真运行:仿真器可以模拟目标单片机的运行环境,使开发者可以在计算机上进行程序的仿真运行。
这样可以大大加快程序开发的速度,减少调试时间。
二、单片机仿真器的工作原理单片机仿真器的工作原理大致可以分为以下几个步骤:1. 程序下载:首先,开发者需要将编写好的程序通过计算机与仿真器连接,并选择下载的目标单片机型号。
然后,仿真器将程序下载到目标单片机的存储器中,准备进行后续的调试工作。
2. 调试功能:在程序下载完成后,开发者可以通过仿真器提供的调试界面对程序进行逐行调试。
仿真器会实时监测目标单片机的状态,并显示相关的信息,如寄存器状态、内存状态等。
开发者可以通过调试界面设置断点,在程序执行到断点处时停止,以便检查程序的执行情况。
3. 仿真运行:除了调试功能外,仿真器还可以在计算机上模拟目标单片机的运行环境,实现程序的仿真运行。
开发者可以通过仿真器提供的功能模拟外部输入信号的变化,观察程序对不同输入的响应情况,以及程序的执行效果。
三、单片机仿真器的应用领域单片机仿真器在嵌入式系统开发中起着重要的作用,广泛应用于以下几个领域:1. 学习教育:单片机仿真器可以帮助学生更好地理解单片机的工作原理和程序开发过程,提高学习效率。
单片机的单CPU仿真器的设计
单片机以它的廉价、体积小、可塑性强、稳定性高的特性,有着广阔的市场前景。
在用单片机开发产品时,虽然许多厂家设计了可编程ISP单片机,但是从安全与便捷方面考虑,单片机仿真器仍然是开发人员不可或缺的工具。
单片机仿真器在产品开发阶段可用来替代单片机进行软硬件调试,从而迅速发现、纠正程序中的错误,大大缩短单片机开发的周期。
但实际中仿真器过于昂贵,因此,设计制作出一款廉价且实用的仿真器有着广泛的市场。
传统的单片机仿真器硬件系统一般有三种实现方法。
一、采用专用仿真的单片机。
二、采用两套单片机,一个单片机用于仿真,并完成诸如通讯,中断等功能;另一个单片机则用于目标单片机,这样其资源不会被占用。
三、用目标单片机作为仿真器,单片机即仿真器也作目标机的单片机用,其实质是一种ROM监控器。
第三种方法会占用单片机的部分资源,但结构简单,对于特定的开发者来说,实用性强,性价比高,且易于自行制作。
本文开发设计的仿真器正是基于第三种原理,巧妙实现了数据空间与程序空间的互换,设计出一款实用廉价的仿真器,工程实践性强。
原理及系统结构
仿真器工作时,要把程序从PC机下载到仿真器的存储器中。
在此先详细分析51单片的存储器结构和寻址方法,再分析片外存储器的扩展,最后给出设计原理并分析系统结构。
图1 存储空间分布
51单片机存储器结构分析
8051单片机的存储器在物理结构上分为程序存储器空间和数据存储器空间,共有4个存储空间:片内程序存储器、片外程序存储器以及片内数据存储器、片外数据存储器空间。
这
种程序存储和数据存储分开的结构形式被称为哈佛结构。
但从用户的角度,8051存储器地址空间可分为3类:片内、片外统一编址0000H~FFFFH的64KB程序存储器地址空间(用16位地址);64KB片外数据存储器地址空间,地址也从0000H~FFFFH(用16位地址)编址;256B片内数据存储器地址空间(用8位地址)。
上述4个存储空间地址是重叠的,如图1所示。
8051的指令系统设计了不同的数据传送指令以区别这4个不同的逻辑空间:CPU访问片内、片外ROM指令用MOVC,访问片外RAM指令用MOVX,访问片内RAM指令用MOV。
程序存储器用于存放编好的程序和表格常数。
程序通过16位程序计数器寻址,寻址能力为64KB。
这使得指令能在64KB的地址空间内任意跳转,但不能使程序从程序存储器空间转移到数据存储器空间。
实际上,当引脚EA接高电平时,8051的程序计数器PC执行片内ROM中的程序,当指令地址超过片内ROM地址时,就自动转向片外ROM中去取指令。
当引脚EA接低电平(接地)时,8051片内ROM不起作用,CPU只能从片外ROM中取指令,地址可以从0000H 开始编址。
8051从片内程序存储器和片外程序存储器取指时的执行速度相同。
存储器外扩
用P0口作地址/数据复用总线,用P2口的口线作高位地址线,最多可以扩展64KB的存储器。
控制信号线包括:使用ALE作为地址锁存的选通信号,以实现低8位地址的锁存;以PSEN信号作为扩展程序存储器的读选通信号;以EA信号作为内、外程序存储器的选择信号;以EA和作为扩展数据存储器和I/O端口的读、写选通信号。
执行MOVX指令时,RD和WR信号分别自动有效。
片外数据存储器RAM的读和写由8051的RD(P3.7)和WR (P3.6)信号控制,而片外程序存储器的输出允许(OE)由读选通PSEN信号控制。
尽管片外数据存储器和片外程序存储器共处同一地址空间,但由于控制信号及使用的数据传送指令不同,故不会发生总线冲突。
图2 仿真器原理图
仿真器原理与结构
由于现在以8051为内核的单片机几乎都带有内部的FLASH程序存储器。
如本设计中要用到的AT89C51或AT89S51均自带4KB的FLASH程序存储器,有的单片机带有20KB 甚至更大容量的程序存储器。
因此在单片机开发中,很少用专门的程序存储器芯片来扩展外部程序存储器,通常也没有必要。
基于以上这些因素,下面分析本文中的仿真器实现的原理。
下载程序时,EA接高电平,单片机执行内部ROM中的程序,把PC机的程序数据下载到片外的RAM62256中;当程序数据下载完后,在保持RAM62256不掉电的情况下,将单片机的EA接低电平,并把单片机复位。
这样单片机就只能从片外存储器中读数据。
然后利用RD与PSEN相“与”来选通RAM62256的读允许片选端OE,使得单片机能够从RAM62 256中读出程序。
这样就实现了仿真功能。
因为单片机从片内程序存储器和片外程序存储器取指时的执行速度相同,所以这个设计方案下的仿真器性能比起传统仿真器毫不逊色。
总系统电路原理如图2所示,系统由单片机AT89C51、地址锁存器74LS373、片外存储器62256、接口电平转换芯片MAX232和相关控制电路组成。
其中AT89C51就是仿真器的核心部件,晶体振荡电路和复位电路与普通单片机系统相同。
不同的是:EA接一个单刀双投开关,表面上没有扩展ROM。
RAM62256的与OE普通单片机系统的接法有所不同,系统中把RD与PSEN相“与”,令其选通RAM62256的读允许片选端OE,就能促成RAM(注意:整个过程中RAM不掉电)由数据空间的角色向程序空间的角色转换。
在执行MOVX指令时,产生RD,WR信号,写入程序信息。
在执行RAM中
的程序时,由PSEN信号与RD信号选通RAM62256的OE端,实现从RAM62256中程序的读入。
软件设计
PC机(上位机)软件可以参考Windows驱动程序开发、串口调试助手等相关书籍;也可以利用现成的KEIL C51的Windows集成开发环境~VISION51和软件仿真器DSCOPE51完成。
下位机软件的主要任务就是设置串口和接收上位机串口发送来的数据,并将数据存入外部“数据”存储器中。
单片机主程序如下:
MOV SCON,#50H ;串口方式1
MOV TMOD,#20H ;T1 方式1
MOV TL1,#0FDH ;波特率9600 的常数
MOV TH1,#0FDH
SETB TR1 ;开中断
SETB ET1
SETB ES
SETB EA
系统“写”时用如下指令:
MOVX @DPTR,A
MOVX @Ri, A
在中断服务子程序中,为区别所接收的信号是联络信号还是字节数、是数据还是校验和,需要设立不同的标志位如下:
FLAG0 BIT 00H ;接收联络信号标志位
FLAG1 BIT 01H ;接收字节数标志位
FLAG2 BIT 02H ;接收数据标志位
FLAG3 BIT 03H ;接收文件结束标志位
程序流程如图3所示,其中R7为接收到的字节数,接收的数据一定要存入片外RAM从0000H开始的单元中。
当单片机复位后,把RAM当作程序存储器时,PC是从0000H开始的。
图3 单片机接收中断服务子程序流程图
几点讨论
(1) 系统中不需要单独的仿真器电源,也不需要晶振电路。
(2) 下位机的片外存储器在重复写数时不用擦除,每次重新下载程序时,总是用覆盖的方式。
新下载的程序都有END为结束,就算新下载的程序比原来的短,也不会执行多余的代码。
(3) 在实际中,可以进一步改进电路,当文件下载完之后,通过串口备用的信号线产生控制信号来控制和复位,从而使得全过程均由上位机控制。
(4) 由于内部结构的限制,被仿真的产品不能扩展片外的程序存储器,但由于片外可以扩展64KB的数据存储器,文中只用了32KB,因此还可以扩展一定的外设。
(5) 被仿真产品的E(--)A(--)的接法有一定的限制,不能直接接地或接电源正极,实际中只要加上一个合适的限流电阻(如10K?)就可以了。
实际上这种方案可以适用于任何可以外扩存储器的单片机。
结束语
对以上的设计进行分析不难发现,整个系统各个功能模块技术非常成熟:在硬件方面,各子电路均有现存的电路套用,而且各个元器件的参数容易确定;在软件方面,仅涉及到CO M口的串行通信程序及上位机的界面程序。
在实际的制作过程中,系统的元器件数目少且价格低廉,容易调试,成功率高,性能稳定。