新乡学院本科毕业论文(设计)
优化用户变数存储器。
b.文件寻找功能:在特定文件中执行全局文件搜索。 c.工具菜单:允许在V2集成开发环境下启动用户功能。 d.可配置SVCS接口:提供对版本控制系统的入口。 e.PC-LINT接口:对应用程序代码进行深层语法分析。 f.Infineon的EasyCase接口:集成块集代码产生。
g.Infineon的DAVE功能:协助用户的CPU和外部程序。DAVE工程可被直接输入uVision2。
2.3.2.3 第三部分编辑器和调试器 ◆源代码编辑器
uVision2 编辑器包含了所有用户熟悉的特性。彩色语法显像和文件辩识都对C源代码进行和优化。可以在编辑器内调试程序,它能提供一种自然的调试环境,使你更快速地检查和修改程序。 ◆断点
uVision2 允许用户在编辑时设置程序断点(甚至在源代码未经编译和汇编之前)。用户启动V2调试器之后,断点即被激活。断点可设置为条件表达式,变量或存储器访问,断点被触发后,调试器命令或调试功能即可执行。在属性框(attributes column)中可以快速浏览断点设置情况和源程序行的位置。代码覆盖率信息可以让你区分程序中已执行和未执行的部分。 ◆调试函数语言
uVision2中,你可以编写或使用类似C的数语言进行调试。 a.内部函数:如printf, memset, rand及其它功能的函数。
b.信号函数:模拟产生CPU 的模拟信号和脉冲信号(simulate analog and digital inputs to CPU)。
c.用户函数:扩展指令范围,合并重复动作。 ◆变量和存储器
用户可以在编辑器中选中变呈来观察其取值。双层窗口显示,可进行以下调整: a.当前函数的局部变量
b.用户在两个不同watch窗口页面上的自定义变量
8
新乡学院本科毕业论文(设计)
c.堆栈调用(call stack)页面上的调用记录(树)(call tree) d.不同格式的四个存储区 ◆C51编译器
KEIL C51编译器在遵循ANSI标准的同时,为8051微控制器系列特别设计。语言上的扩展能让用户使用应用中的所有资源。 a.存储器和特殊功能寄存器的存取
C51编译器可以实现对8051系列所有资源的操作。SFR的存取由sfr和sbit两个关键字来提供。变量可旋转到任一个地址空间。用关键字-at-还能把变量放入固定的存储器存储模式(大,中,小)决定了变量的存储类型。连接定位器支持的代码区可达32个,这就允许用户在原有64K ROM的8015基础上扩展程序。在V2的编译器和许多高性能仿真器中,可以支持应用程序的调试。 b.中断功能
C51允许用户使用C语言编写中断服务程序,快速进、出代码和寄存器区的转换功能使C语言中断功能更加高效。可再入功能是用关键字来定义的。多任务,中断或非中断的代码要求必须具备可再入功能。 c.灵活的指针
C51提供了灵活高效的指针。通用指针用3个字节来存储存储器类型及目标地址,可以在8051的任意存储区内存取任何变量。特殊指针在声明的同时已指定了存储器类型,指向某一特定的存储区域。由于地址的存储只需1-2字节,因此,指针存取非常迅速
9
新乡学院本科毕业论文(设计)
第3章 硬件部分设计
3.1单片机片介绍
3.1.1单片机的功能特性描述
AT89C52是一种低功耗、高性能CMOS 8位微控制器,存储器是采用Atmel公司高密度非易失性存储器技术制造,与工业80C51产品的指令和引脚完全兼容。在单芯片上,拥有灵巧的8 位CPU 和在系统可编程Flash,使得AT89C52为众多嵌入式控制应用系统提供高灵活、超有效的解决方案。AT89C52具有以下标准功能:8k字节Flash,256字节RAM,32 位I/O 口线,看门狗定时器,2 个数据指针,三个16位定时器/计数器,一个6向量2级中断结构,全双工串行口,片内晶振及时钟电路。另外,AT89C52可降至0Hz静态逻辑操作,支持2种软件可选择节电模式。空闲模式下,CPU 停止工作,允许RAM、定时器/计数器、串口、中断继续工作;掉电保护方式下,RAM内容被保存,振荡器被冻结,单片机停止一切工作,直到下一个中断或硬件复位为止。
图3.1 AT89C52引脚图
AT89C52的引脚结构图如图3.1所示。
P0 口:P0口是一个8位漏极开路的双向I/O口。作为输出口,每位能驱动8个TTL逻辑电平。对P0端口写“1”时,引脚用作高阻抗输入。 在Flash编程时,P0口也用来接收指令字节;在程序校验时,输出指令字节。程序校验时,需要外部上拉
10
新乡学院本科毕业论文(设计)
电阻。
P1 口:P1 口是一个具有内部上拉电阻的8 位双向I/O 口,P1输出缓冲器能驱动4 个 TTL 逻辑电平。对P1 端口写“1”时,内部上拉电阻把端口拉高,此时可以作为输入口使用。作为输入使用时,被外部拉低的引脚由于内部电阻的原因,将输出电流(IIL)。
P2 口:P2 口是一个具有内部上拉电阻的8 位双向I/O 口,P2 输出缓冲器能驱动4 个 TTL 逻辑电平。对P2 端口写“1”时,内部上拉电阻把端口拉高,此时可以作为输入口使用。作为输入使用时,被外部拉低的引脚由于内部电阻的原因,将输出电流(IIL)。
P3 口:P3 口是一个具有内部上拉电阻的8 位双向I/O 口,P3输出缓冲器能驱动4 个 TTL 逻辑电平。对P3 端口写“1”时,内部上拉电阻把端口拉高,此时可以作为输入口使用。作为输入使用时,被外部拉低的引脚由于内部电阻的原因,将输出电流(IIL)。
RST:复位输入。当振荡器工作时,RST引脚出现两个机器周期以上高电平,单片机复位。
ALE/PROG:当访问外部程序存储器或数据存储器时,ALE(地址锁存允许)输出脉冲用于锁存地址的低8位字节。一般情况下,ALE仍以时钟振荡频率的1/6输出固定的脉冲信号,因此它可对外输出时钟或用于定时目的。应注意的是:每当访问外部数据存储器时,将跳过一个ALE脉冲。
PSEN:程序储存允许输出(PSEN)是外部程序存储器的读选通信号,当AT89C52由外部程序存储器取指令(或数据)时,每个机器周期两次PSEN有效,即输出两个脉冲,在此期间,当访问外部数据存储器,将跳过两次PSEN信号。
EA/VPP:外部访问允许,欲使CPU仅访问外部程序存储器(其地址为0000H-FFFFH),EA端必须保持低电平(接地)。需注意的是:如果加密位LB1被编程,复位时内部会锁存EA端状态。 3.1.2单片机的最小系统
单片机的最小系统应包括振荡电路和复位电路等。
振荡电路(时钟电路)的主要任务是为AT89C52单片机正常工作需要的时钟电路提供一个稳定的工作频率。根据AT89C52单片机时钟周期的要求,回路需要选用频
11
新乡学院本科毕业论文(设计)
率为12MHz的晶振。晶振回路由电容和陶瓷谐振器并联组成,作为单片机的时钟源。AT89C52内部有一个用于构成振荡器的高增益反相放大器,此放大器的输入和输出端分别是引脚XTAL1和XTAL2,在XTAL1和XTAL2端口接上时钟电源即可构成时钟电路。本设计中采用内部时钟产生方式。在XTAL1和XTAL2两端跨接晶振,与内部的反相器构成稳定的自激振荡器。其发出的时钟脉冲直接送入单片机内定时控制部件。电容C1和C2对频率有微调作用,应尽可能的安装在单片机芯片附近,以减少寄生电容,保证振荡器稳定可靠的工作。
复位电路的功能就是对CPU进行实时监测,当CPU落入死循环之后,能及时发现并使整个系统复位。为确保微机系统中电路稳未定可靠工作,复位可靠工作,复位电路是必不可少的一部分,复位电路的第一功能是上电复位。一般微机电路正常工作需要供电电源为4.75?5.25V。由于微机电路是时序数字电路,它需要稳定的时钟信号,因此在电源上电时,只有当VCC上电时,只有当VCC超过4.75V,低于5.25V以及晶体振荡器稳定工作时,复位信号才被撤除,微机电路开始正常工作。
单片机在启动时都需要复位,以使CPU及系统各部件处于确定的初始状态,并从初态开始工作。89系列单片机的复位信号是从RST引脚输入到芯片内的施密特触发器中的。当系统处于正常工作状态时,且振荡器稳定后,如果RST引脚上有一个高电平并维持2个机器周期(24个振荡周期)以上,则CPU就可以响应并将系统复位。
为了确保系统中的电路温度可靠工作,复位电路是必不可少的部分 ,其第一功能就是高电平复位,高电平复位是在通电瞬间通过充电来实现的。手动复位是指通过接通一按键开关,使单片机进入复位状态。系统上电运行后,如果需要复位,只需通过手动复位就可以实现。
12