第六章 单片机设计实例_第1页
第六章 单片机设计实例_第2页
第六章 单片机设计实例_第3页
第六章 单片机设计实例_第4页
第六章 单片机设计实例_第5页
已阅读5页,还剩53页未读, 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

单片机设计实例第六章目录信号发生器的设计直流电动机控制模块设计步进电动机控制模块设计温度采集与显示控制模块的设计PROTEUS与Keil软件联调的应用PROTEUS与IAREMBEDDEDWORKBENCH的联调应用信号发生器的设计设计要求利用AT89S52单片机、DAC0808、ADC0804设计信号发生器,能够产生固定幅度的方波、锯齿波、三角波及正弦波,并且能在程序运行的过程中,可以调节信号的幅度及频率,并且在波形切换过程中,能够给予相应的指示。其中幅值采用DAC0808进行调节,频率的设定部分采用ADC0804进行调节,并可以在不同的波形之间任意切换。设计原理

图6-1

信号发生器总设计图信号发生器的设计

DA转换电路AD转换电路

指示灯

拨码开关控制部分

频率调节电路信号发生器的设计

ADC0804简介

ADC0804是一种8位COMS依次逼近型的A/D转换器,三态锁定输出,存取时间大约为135微秒,8位分辨率,若输入电压VIN=+5V,那么最小输出电压为U=5V/256=0.01953V。转换时间大约为100微秒,总误差为正负1LSB,工作温度区间为0-70摄氏度

图6-2

ADC0804引脚图

图6-3

ADC0804原理图表6-1ADC0804模数转换表信号发生器的设计信号的产生利用8位D/A转换器DAC0808,可以将8位数字量转换成模拟量输出。数字量输入的范围为0~255之间,对应的模拟量输出的范围在VREF-到VREF+之间。根据这一特性,我们可以利用单机的并行口输出的数字量,产生常用的波形。

信号幅度控制当数字量输入为00H时,DAC0808的输出为VREF-,当输入为FFH时,DAC0808的输出为VREF+。所以,为了调节输出波形的幅度,只要调节VREF即可。在VREF+端串接一电位器,调节VREF的电压,即可达到调节波形幅度的目的

信号频率控制通过调节输入ADC0804转换的模拟电压值,从而产生8位二进制数作为延时函数,即可控制输出波形的幅值与频率信号发生器的设计波形切换利用4位DIP开关DSW1来选择波形,并通过四个LED进行指示系统仿真在PROTEUS中对输出波形进行波形分析,选择不同的开关,调节频率控制电位器RV2,可以改变输出波形的频率,同时,调节幅值电位器RV1可以改变输出波形的幅值图6-4

幅值为12.6,周期为125ms的正弦波图6-5幅值为12.6,周期为450ms的正弦波信号发生器的设计图6-6幅值为12.2,周期为82ms的三角波图6-7幅值为12.2,周期为382ms的三角波图6-8幅值为12.3,周期为64.3ms的锯齿波图6-9幅值为12.3,周期为384ms的锯齿波图6-10幅值为12.3,周期为64.3ms的锯齿波图6-11幅值为12.3,周期为190ms的方波直流电动机控制模块设计设计要求利用AT89C51单片机产生固定占空比的PWM信号,并通过驱动电路实现直流电动机的固定方向和固定转速旋转设计原理

图6-12直流电动机物理模型

图6-12表示一台最简单的两极直流电动机模型,它的固定部分(定子)上,装设了一对直流励磁的静止的主磁极N和S,在旋转部分(转子)上装设电枢铁心。定子与转子之间有一气隙。在电枢铁心上放置了由A和X两根导体连成的电枢线圈,线圈的首端和末端分别连到两个圆弧形的铜片上,此铜片称为换向片。换向片之间互相绝缘,由换向片构成的整体称为换向器。换向器固定在转轴上,换向片与转轴之间亦互相绝缘。在换向片上放置着一对固定不动的电刷B1和B2,当电枢旋转时,电枢线圈通过换向片和电刷与外电路接通。直流电动机控制模块设计设计原理

图6-13直流电动机工作模型

如果去掉原动机,并给两个电刷加上直流电源,如图6-13(a)所示,则有直流电流从电刷A流入,经过线圈abcd,从电刷B流出,根据电磁力定律,载流导体ab和cd收到电磁力的作用,其方向可由左手定则判定,两段导体受到的力形成了一个转矩,使得转子逆时针转动。

如果转子转到如图6-13(b)所示的位置,电刷A和换向片2接触,电刷B和换向片1接触,直流电流从电刷A流入,在线圈中的流动方向是dcba,从电刷B流出。此时载流导体ab和cd受到电磁力的作用方向同样可由左手定则判定,它们产生的转矩仍然使得转子逆时针转动。

外加的电源是直流的,但由于电刷和换向片的作用,在线圈中流过的电流是交流的,其产生的转矩的方向却是不变的。直流电动机控制模块设计直流电动机驱动电路

图6-14直流电动机驱动电路当OUTPUT端输入为高电平时,Q1和Q2导通,电机两端有电流流过,即可驱动电机转动。在OUTPUT信号端和负载端加两个电压跟随器,第一级电压跟随器做缓冲级,为了使信号不会有相当的部分损耗在前级的输出电阻中,需要电压跟随器来从中进行缓冲。起到承上启下的作用,提高了输入阻抗。这样,输入电容的容量可以大幅度减小。第二级电压跟随器做隔离电路,构成有源滤波电路。直流电动机控制模块设计电动机转速控制

图6-15电动机转速控制电路用一个电位器作为ADC0808的模拟量输入,最大输入电压及参考电压均为5V,数字量输出范围为0<D_out<255。首先,单片机的PWM端(P3.7)输出高电平,再延时一段时间,延时常数为255-D_out,再输出低电平,延时常数为D_out,这样,通过改变模拟输入电压的大小,就可以改变单片机PWM输出的占空比,从而达到调节电动机转速的目的。直流电动机控制模块设计ADC0808简介

图6-16ADC0808引脚结构图

ADC0808是美国国家半导体公司生产的CMOS工艺8通道,8位逐次逼近式A/D模数转换器。其内部有一个8通道多路开关,它可以根据地址码锁存译码后的信号,只选通8路模拟输入信号中的一个进行A/D转换。它由8路模拟开关、地址锁存与译码器、比较器、8位开关树型A/D转换器、逐次逼近寄存器、逻辑控制和定时电路组成。它的主要特性包括8路输入通道,8位A/D转换器,即分辨率为8位,具有转换起停控制端,转换时间为100μs(时钟为640KHz时),130μs(时钟为500KHz时),单个+5V电源供电,模拟输入电压范围0~+5V,不需零点和满刻度校准,工作温度范围为-40~+85摄氏度,低功耗,约15mW。直流电动机控制模块设计ADC0808简介

图6-17ADC0808的工作时序当通道选择地址有效时,ALE信号一出现,地址便马上被锁存,这时转换启动信号紧随ALE之后(或与ALE同时)出现。START的上升沿将逐次逼近寄存器SAR复位,在该上升沿之后的2μs加8个时钟周期内(不定),EOC信号将变低电平,以指示转换操作正在进行中,直到转换完成后EOC再变高电平。微处理器收到变为高电平的EOC信号后,便立即送出OE信号,打开三态门,读取转换结果直流电动机控制模块设计程序设计流程

图6-18程序流程图直流电动机控制模块设计电路仿真

图6-19连接PWM输出端口与示波器的A端口将AT89C51的PWM输出端口与示波器的A端口相连,单击控制面板中的运行按钮,则示波器显示电路输出波形

图6-20示波输出结果直流电动机控制模块设计利用输出的PWM波对控制转速进行仿真

图6-21输入电压是5V时输出PWM波形(1)当电位器RV1调至最上端即模拟量输入为5V时,电动机的驱动信号为占空比为100%的方波,对应电机的转速最快(2)当电位器RV1调到最下端即模拟量输入为0V时,电动机的驱动信号为0%的方波,此时电机基本不会转动(3)当电位器RV1调到中间位置时,即模拟量输入为2.5V时,电动机的驱动信号是50%的方波,电机以最快转速的一半速度转动

图6-22输入电压是0V时输出PWM波

图6-23输入电压是2.5V时输出PWM波形步进电动机控制模块设计设计要求利用AT89S51单片机实现对步进电动机的控制,编写相关控制程序,用单片机的四路I/O通道实现环形脉冲的分配,用于控制步进电动机的转动,通过按键控制步进电动机的旋转角度。设计原理

图6-24步进电动机控制电路步进电动机控制模块设计

ULN2003A简介

ULN是一种集成了达林顿管的集成电路芯片,内部还集成了一个消线圈反电动势的二极管,可用来驱动继电器。它是双列16引脚封装的NPN晶体管矩阵,最大驱动电压为50V、电流为500mA、输入电压为5V,适用于TTL、COMS等由达林顿管组成驱动电路。它的输出端允许通过电流为200mA,饱和压降VCE约为1V左右,耐压BVCEO约为36V。ULN2003A是一个非门电路,包含7个单元,但每个单元驱动电流最大可达350mA。下面有引用电路图,9脚可以悬空。比如1脚输入,16脚输出,负载可以接在VCC与16脚之间,不用9脚。

ULN2003A是高压大电流达林顿晶体管阵列系列产品,具有电流增益高、工作电压高、温度范围宽、带负载能力强等特点,适应于各类要求高速大功率驱动的系统。

图6-25ULN2003A引脚图步进电动机控制模块设计步进电动机驱动原理步进电动机的励磁方式可分为全部励磁及半步励磁,其中全部励磁又有1相励磁及2相励磁之分,而半步励磁又称1~2相励磁。

1相励磁法:在每一瞬间只有一个线圈导通。消耗电力小,精确度良好,但转矩小,振动较大,每送一励磁信号可走18度。

2相励磁法:在每一瞬间会有二个线圈同时导通。因其转矩大,振动小,故为目前使用最多的励磁方式,每送一励磁信号可走18度。

1~2相励磁法:为1相与2相轮流交替导通。因分辨率提高,且运转平滑,每送一励磁信号可走9度,故亦广泛被采用。

表6-2正转励磁顺序A→B→C→D→A

表6-3正转励磁顺序:AB→BC→CD→DA→AB

表6-4正转励磁顺序:A→AB→B→BC→C→CD→D→DA→A步进电动机控制模块设计控制方法用两个按键分别控制步进电动机正转和反转。当“Positive”键按下时,单击片机的P1.3到P1.0口按正向励磁顺序A→AB→B→BC→C→CD→D→DA→A输出电脉冲,电动机正转;当“Negative”键按下时,单击片机的P1.3到P1.0口按反向励磁顺序A→DA→D→CD→C→BC→B→AB→A输出电脉冲,电动机反转。汇编语言程序设计流程图6-26汇编语言程序流程图步进电动机控制模块设计系统调试及仿真(1)使用Proteus的波形分析功能,可以分析按下一个键以后单片机的步进电机驱动信号输出,这里仿真按下正转和反转按钮的波形图6-27按下正转按钮步进电动机驱动信号波形图6-28按下反转按钮步进电动机驱动信号波形步进电动机控制模块设计系统调试及仿真(2)正向旋转键每按下一次,单片机输出正向励磁信号对应步进电机走9度图6-29正向旋转键按下之前电机转子位置图6-30正向旋转键按下之后电机转子的位置步进电动机控制模块设计系统调试及仿真(3)反向键旋转键每按下一次,单片机输出反向励磁信号走9度图6-31反向旋转键按下之前电机转子的位置图6-32反向旋转键按下之后电机转子的位置步进电动机控制模块设计系统调试及仿真(4)正向旋转按钮和反向旋转按钮都不按下时,电机既不正转,也不反转的情况图6-33正向旋转按钮和反向旋转按钮都不按下时电机转子的位置步进电动机控制模块设计系统调试及仿真(5)长按下正向旋转或者反向旋转的按钮时,步进电机正向或者反向持续转动图6-34步进电机正转仿真图6-35步进电机反转仿真温度采集与显示控制模块的设计设计要求本设计要求设计一个以STC89C52单片机为核心的温度控制系统,要求采用DS18B20为温度传感器,能够实时采集、实时显示在LCD1602液晶显示屏上,并且设定温度值可以通过三个按键来控制以实现设定温度值的加减。具体的技术指标如下:

a.恒温温度控制在20~150℃之间;b.温度超过75℃时报警;

总体设计方案

图6-36系统框图温度采集与显示控制模块的设计设计原理

图6-37温度采集与显示控制模块的电路总设计原理图温度采集与显示控制模块的设计

STC89C52单片机简介

STC89C52单片机是宏晶科技有限公司推出的新一代具有高速、功耗低、超强抗干扰的单片机,指令代码能够完全兼容传统的8051单片机,具有12时钟/机器周期与6时钟/机器周期,可以任意选择

图6-38STC89C52的引脚图温度采集与显示控制模块的设计温度传感器DS18B20简介本设计选用DS18B20作为采集温度信号的传感器,DS18B20是由美国DALAAS半导体有限公司推出的智能型温度传感器,不仅能够直接读取被测温度值。而且它集温度信号的采集与A/D转换工作于一体,测量精度高,足以满足我们设计的精度要求

图6-39DS18B20引脚图温度采集与显示控制模块的设计LCD1602液晶显示屏简介

LCD1602因适合采用大规模集成电路来直接驱动,能实现彩色显示的特点,且它能够显示温度上下限等优点,正好满足本设计要求,所以使用它作为显示器。

图6-40LCD1602引脚图LCD1602的参数:显示容量:32个字符工作电压:4.5-5.5V工作电流:2.0mA最佳工作电压:5.0V字符尺寸大小:2.95×4.40(W×H)mm温度采集与显示控制模块的设计系统的硬件各个部分的设计(1)复位电路

图6-41复位电路单片机的复位是通过连接外部电路实现的,在STC89C52单片机上有一个复位脚RST且为高电平有效。复位电路的功能是当系统上电时,使RC电路充电,从而RST引脚出现正脉冲,提供复位信号直至系统电源稳定后,才撤销复位信号,为防止电源开关或电源插头分合过程中引起抖动而影响复位,因此电源稳定后还要延迟一段时间。RC复位电路能够实现上面的基本功能,调整RC常数会对驱动能力产生影响,查阅相关电路手册,要使复位脉宽一点,实现完全复位,这里选R9=10kΩ,C1=10μf,R3=1kΩ温度采集与显示控制模块的设计系统的硬件各个部分的设计(2)晶振电路

图6-42时钟振荡电路晶振电路为单片机提供时钟控制信号,单片机的时钟产生方式分为内部时钟方式与外部时钟方式。单片机内部有一个用于构成振荡器的高增益反向放大器,引脚XTAL1和引脚XTAL2分别是反相放大器的输入端和输出端,由这个放大器与作为反馈元器件的片外晶体或陶瓷谐振器一起构成一个自激振荡器,这种方式形成的时钟信号称为内部时钟方式。本系统采用的内部方式,即利用芯片内部的振荡电路。内部方式时,时钟发生器对振荡脉冲二分频,如晶振为12MHz,时钟频率就为6MHz。查阅电路设计手册,晶振的频率可以在1MHz-24MHz内选择,电容取30pF左右。因此,此系统电路的晶体振荡器的值为11.05926MHz,电容应尽可能的选择陶瓷电容,电容值C2=C3=30μF温度采集与显示控制模块的设计系统的硬件各个部分的设计(3)温度采集单元

图6-43温度采集电路在本系统采用DS18B20数字温度传感器采集温度信号,在一条总线上挂单个DS18B20,将DS18B20温度传感器接在P3.7口。本设计中DS18B20采用电源供电方式,此时DS18B20的1脚接地,2脚作为信号线,3脚接电源。当DS18B20处于写存储器操作和温度A/D转换操作时,总线上必须有强的上拉,上拉开启时间最大为10us,因此加了一个上拉电阻。通过查阅电路手册,选取R11=4.7k。温度采集与显示控制模块的设计系统的硬件各个部分的设计(4)显示电路

图6-44LCD1602液晶温度显示电路

LCD1602液晶显示部分,将温度传感器采集到的信息转化为可视温度。由前面单片机的介绍,得知P0端口不自带上拉电阻,不能输出高电平,为驱动液晶显示屏显示,这里选用了RESPACKB排阻作为上拉电阻,并将RS、W/R、E接到P2.0、P2.1、和P2.2接口,将VSS接地,VDD接电源,将VEE接滑动变阻器来调节屏幕亮度温度采集与显示控制模块的设计系统的硬件各个部分的设计(5)按键电路

图6-45按键电路按键部分实现的主要原理是通过单片机读取与按键相连接的I/O口状态,来判断按键是否按下,从而达到系统参数设置目的。键盘在单片机应用系统中的作用是实现数据输入、命令输入,是人工干预的主要手段。各按键开关均需要采用了上拉电阻,是为了保证在按键断开时,各I/O有确定的高电平。在这里键盘配置要求比较低,所以上拉电阻无需太大,通过查阅电路设计手册,这里取R7=R12=R13=300Ω温度采集与显示控制模块的设计系统的硬件各个部分的设计(6)报警电路

图6-46报警电路蜂鸣器不能直接接到单片机的端口,因为它需要很大的电流才能发声,这里在蜂鸣器的一端接一个晶体管,用单片机的控制引脚控制晶体管的基极,从而控制晶体管的导通和截止,根据晶体管的原理,基极电流很小,集电极到发射极的电流很大,这样就能用小电流来控制大电流了,通过查阅电路设计手册,R5=200Ω温度采集与显示控制模块的设计系统软件设计部分

(1)DS18B20各个子程序流程图

图6-47DS18B20初始化子程序流程图

图6-48DS18B20写字节的流程图

图6-49DS18B20读字节子程序

图6-50温度采集子程序流程图温度采集与显示控制模块的设计系统软件设计部分

(2)显示子程序

图6-51LCD液晶显示子程序流程图显示子程序是要将温度传感器所测得的实时温度值显示出来,该系统使用的是LCD1602液晶显示器,首先需要把液晶显示器初始化,因为本系统设计要求液晶显示器只写,所以不需要读操作时序图。因此R/W将一直处于低电平,只需控制RS和E管脚就行了温度采集与显示控制模块的设计系统仿真

(1)采集实时温度并显示实时温度与设定温度值

图6-52实时温度采集及显示图图中可以看出设定温度值是初始程序中所设的50℃且能正常显示,DS18B20温度传感器采集到的温度值是109℃且液晶显示屏可以正常显示该温度值,该控制系统经常被用在温室控制系统中,可以通过上位机将现场的实际温度数据远程传输到控制机房,从而达到好的监控作用。温度采集与显示控制模块的设计系统仿真

(2)S2和S3按下时设置设定温度值,使设定温度值升高

图6-53按键设定温度值加的仿真图图中可以看出在按键S2和S3按下后,设定温度值不断增加,从原来的50℃增加到100℃。符合设计要求温度采集与显示控制模块的设计系统仿真

(3)S2和S4按下时,使设定值减

图6-54按键设置设定温度值减的仿真图图中可以看出,将按键S2和S4按下后,可以将温度从100℃不断降低到24℃,满足设计要求温度采集与显示控制模块的设计系统仿真

(4)当实际温度值大于75℃,蜂鸣器报警,发出尖锐的声音

图6-55温度高于75℃,蜂鸣器报警报警电路是由低电平触发的,从上图可以看出,当温度在75℃以下时P1^0为高电平,蜂鸣器不响;当温度高于75℃时,蜂鸣器控制端口变为低电平,蜂鸣器发出声音。PROTEUS与Keil软件联调的应用学习目的(1)熟悉Keil软件平台的使用(2)掌握Keil软件编程编译调试的方法;(3)掌握Proteus与Keil软件联调的学习方法。

学习任务创建源程序实现存储块清零的功能,将该程序在Keil软件和Proteus中调试,完成两者之间的联调。

学习要求利用μVision5创建工程项目,对其进行设置和编译并完成程序的调试,能够完成Proteus与Keil软件联调的学习任务,对仿真结果进行观测。PROTEUS与Keil软件联调的应用Keil软件的μVision5集成开发环境的使用(1)

μVision5开发环境主窗口提供一个菜单、一个工具条、源代码的显示窗口、对话框和信息显示等,以便用户快速选择对应命令按钮和查看信息。μVision5允许同时打开浏览多个源文件(2)建立应用步骤如下:1、在μVision5集成开发环境中创建一个新项目文件(Project),并为该项目选定合适的单片机CPU器件。2、利用μVision5的文件编辑器编写C语言(或汇编语言)源程序文件,并将文件添加到项目中去。一个项

目可以包含多个文件,除源程序文件外还可以有库文件或文本说明文件。3、通过μVision5的各种选项,配置C51编译器、A51宏汇编器、BL51连接定位器以及Debug调试器。4、利用μVision5的构造(Build)功能对项目中的源程序文件进行编译连接,生成绝对目标代码和可选的

HEX文件。如果出现编译连接错误则返回第2步,修改源程序中的错误后重新构造整个项目。5、将没有错误的绝对目标代码装入μVision5调试器进行仿真调试,调试成功后将HEX文件写入到单片机应用

系统的EPROM中。PROTEUS与Keil软件联调的应用Keil软件的μVision5集成开发环境的使用(3)创建项目步骤如下:1、双击“KeilμVision5”图标,启动应用程序,通过单击菜单File→New命令,打开一个新的文本窗口,

即Text源文件编辑窗口2、鼠标左键单击Project→NewProject命令,弹出一个标准的Windows对话框,此对话框要求输入项目文件

名;输入项目文件名max(不需要扩展名),并选择合适的保存路径(通常为每个项目建立一个单独的文件

夹),单击“保存”按钮,这样就创建了文件名为max的新项目3、项目文件名保存完毕后,弹出器件数据库对话框窗口,用于为新建项目选择一个CPU器件4、选好器件后点击“确定”按钮,此时弹出询问是否拷贝标准8051启动代码到工程文件夹并添加文件到工

程的对话框,单击“是”按钮完成项目的新建。创建一个新项目后,项目中会自动包含一个默认的目标

(Target1)和文件组(SourceGroup1)。PROTEUS与Keil软件联调的应用Keil软件的μVision5集成开发环境的使用(4)项目的设置单击Project→OptionsforTarget‘Target1’选项,弹出图6-56所示窗口

图6-56Options选项中的Targe标签页(1)单击“Target”,在出现的界面中芯片的频率一般是需要修改的,为了与单片机时钟电路的频率相同,一般这里将频率设定为12MHz(2)单击“output”,在出现的输出设置中,勾选“CreateHEXFile”选项,即可将输出文件格式改为“.HEX”形式,这是因为在PROTEUS软件中仿真的时候,只能识别“.Hex”的文件格式,所以输出格式必须修改PROTEUS与Keil软件联调的应用Keil软件的μVision5集成开发环境的使用(5)项目的编译、链接将鼠标指向项目窗口中的文件“Text3.asm”并单击右键,从弹出的快捷菜单中单击“Buildtarget”选项或者可以直接点击上面的快捷菜单,自动完成对当前项目中所有源程序模块的编译、链接。

图6-57编译提示信息PROTEUS与Keil软件联调的应用Keil软件的μVision5集成开发环境的使用(6)程序调试单击选择菜单Debug→Start/StopDebugSession命令,即可进入调试状态,在仿真调试状态下,单击选择菜单Debug→Run命令,启动程序将会全速运行

图6-58μVision5仿真调试状态窗口PROTEUS与Keil软件联调的应用Keil软件的μVision5集成开发环境的使用(7)在线汇编将光标定位于需要修改的程序语句上,点选Debug→InlineAssambly命令,弹出“InlineAssambly”的标签页。在“EnterNewInstruction”后面的编辑框内直接输入需要更改的程序语句,输入完成后键入回车,程序将自动指向源程序的下一条语句,继续修改,如果不需要继续修改,可以点击窗口右上角的关闭按钮,关闭窗口。

图6-59Debug菜单在线汇编的功能窗口PROTEUS与Keil软件联调的应用Keil软件的μVision5集成开发环境的使用(1)断点管理断点功能对于用户程序的仿真调试是十分重要的,利用断点调试,便于观察了解程序的运行状态,查找或排除错误。方法一:在汇编窗口光标定位于需要设置断点的程序行,单击Debug→Insert/RemoveBreakpoint命令,可在编辑窗口当前光标所在行上设置/移除一个断点(也可用鼠标在该行双击实现同样功能);单击Debug→Enable/DisableBreakpoint选项,可激活/禁止当前光标所指向的一个断点;单击Debug→DisableAllBreakpoint选项,将禁止所有的已经设置的断点;单击Debug→KillAllBreakpoint选项,可以清除所有已经设置的断点;单击Debug→ShowNextStatement选项,将在汇编窗口显示下一条将要被执行的用户程序指令。方法二:单击Debug→Breakpoint选项,弹出断点设置窗口

图6-60断点设置窗口PROTEUS与Keil软件联调的应用Keil软件的μVision5集成开发环境的使用(2)Keil的模拟仿真调试窗口

Keil软件在对程序进行调试时提供了多个模拟仿真窗口,主要包括主调试窗口、输出调试窗口(OutputWindows)、观测窗口(Watch&CallStatckWindows)、存储器窗口(MemoryWindows)、反汇编窗口(DissamblyWindows)、串行窗口(SerialWindows)等。进入调试模式后,通过单击“View”菜单中的相应选项(或单击工具条中相应按钮),可以更方便地实现窗口的切换

图6-61调试状态下的View菜单PROTEUS与Keil软件联调的应用PROTEUS与Keil的整合在Keil软件中调用PROTEUS进行MCU外围器件的仿真的步骤如下:安装Keil软件与PROTEUS软件;安装Keil软件与PROTEUS软件的链接文件vdmagdi.exe;打开PROTEUS,画出相应电路,在PROTEUS的Debug菜单中选中EnableRemoteDebugMonitor;在Keil软件中编写MCU的程序;点选Keil软件的Project菜单的OptionforTarget‘工程名’选项;在弹出的对话框中,点选DEBUG选项中右栏上部的下拉菜单选中ProteusVSMMonitor-51Driver选项。单击Keil中的启动调试按钮,此时Keil与PROTEUS实现联调。

图6-62在Debug中选择ProteusVSMProteusVSMMonitor-51DriverPROTEUS与IAREMBEDDEDWORKBENCH的联调应用IAREMBEDDEDWORKBENCH(简称IAR)是一套高度精密且使用方便的嵌入式的嵌入式应用编程开发工具。在其集成开发环境(IDE)中包含IAR的C/C++编译器、汇编工具、链接器、文本编辑器、工程管理器和C-SPY调试器。通过其内置的针对不同芯片的代码优化器,IAREMBEDDEDWORKBENCH可以为8051系列芯片生成非常高效和可靠的FLASH/PROMable代码。IAREMBEDDEDWORKBENCH不仅有这些过硬的技术,IARSysterm还为您提供专业化的全球技术支持IAREMBEDDEDWORKBENCH开发环境的使用(1)开发环境运行IARfor8051程序,进入IAREMBEDDEDWORKBENCH用户界面主界面(2)建立应用运行IARfor8051程序,进入IAREMBEDDEDWORKBENCH用户界面主界面1、在IARfor8051集成开发环境中创建一个新项目文件(Project);2、根据所选的芯片及使用的编程语言类别配置项目选项,包括(GeneralOption)基本选项配置、C/C++

编译器配置、汇编器配置、链接器配置、调试器配置等;3、给新建的工程添加文件并编写相关程序;4、利用构造所有(BuildALL)功能对项目中的源程序文件进行编译连接,生成绝对目标代码和可选的HEX文件。如果出现编译连接错误则返回第2步,修改源程序中的错误后重新构造整个项目。PROTEUS与IAREMBEDDEDWORKBENCH的联调应用

IAREMBEDDEDWORKBENCH开发环境的使用5、将没有错误的绝对目标代码装入IARfor8051调试器进行仿真调试,调试成功后将HEX文件写入到单片机应用系统的EPROM中。

(3)创建项目步骤如下:1、双击“IRAfor8051”图标,启动应用程序,进入用户界面主窗口。然后执行“Project”→“CreatNewProject”菜单栏,就会弹出新项目创建窗口。这里选择空工程,然后单击“OK”2、右击工

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论