电子设计工程师师资暨考评员培训班讲义_第1页
电子设计工程师师资暨考评员培训班讲义_第2页
电子设计工程师师资暨考评员培训班讲义_第3页
电子设计工程师师资暨考评员培训班讲义_第4页
电子设计工程师师资暨考评员培训班讲义_第5页
已阅读5页,还剩119页未读 继续免费阅读

下载本文档

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

文档简介

1、中国电子学会第三期电子设计工程师师资暨考评员培训目 录一、中国电子学会第三期电子设计工程师师资暨考评员培训班日程安排3二、中国电子学会第三期电子设计工程师师资暨考评员培训班工作人员分工联系方式5三、中国电子学会第三期电子设计工程师师资暨考评员培训班讲义6第一章 EDP认证系列实验系统介绍61.1 系统概述61.3 系统功能介绍10第二章KEIL uVision2、 uVision3集成开发环境132.1 Keil uVision2(uV2)集成开发环境132.1.1 uVision2(uV2)简介132.1.2 uV2 IDE 集成开发平台的安装142.1.3 uV2的基本用法162.2 单片

2、机在keil c51集成开发环境的仿真过程232.2.1 硬件和软件仿真232.2.2 VIsion IDE的软件模拟仿真242.3 Keil uVision3(uV3)for C51集成开发环境352.4 调试和程序下载372.4.1 单片机调试的一般过程372.4.2 STC单片机的硬件连接和程序下载39第三章 设计例程423.1 电源模块423.1.1设计目的及任务423.1.2 线性直流稳压电源的基本原理423.1.3 设计内容443.1.4 电子设计DIY463.2 单片机最小系统模块473.2.1 设计目的及任务473.2.1 单片机最小系统的组成473.2.3 设计内容483.2

3、.4电子设计DIY503.3 I/O扩展模块523.3.1设计目的及任务523.3.2 8155 I/O扩展芯片的基本工作原理523.3.3设计内容543.3.4电子设计DIY583.4 Led显示模块603.4.1 设计目的及任务603.4.2 LED显示器的基本工作原理603.4.4电子设计DIY683.5 LCD1602字符型液晶模块693.5.1设计目的及任务693.5.2 LCD1602字符型液晶基本工作原理693.5.3 设计内容713.5.4 电子设计DIY763.6 调理模块773.6.1 设计目的及任务773.6.2 运算放大电路773.6.3 设计内容783.6.4 电子设

4、计DIY803.7 A/D模数转换模块813.7.1 设计目的及任务813.7.2 A/D转换器的基本参数和指标813.7.3 12位11路串行 A/D转换器TLC1543823.7.4电子设计DIY903.8 RS232通信模块923.8.1设计目的及任务923.8.2 RS-232串行总线通信的基本原理923.8.3 设计内容963.8.4 电子设计DIY100四、中国电子学会简介108五、中国科协、电子学会文件109六、中国电子学会开展面向高校学生的电子设计初级工程师资格认证111七、电子设计工程师(EDP)专业技术资格认证项目介绍113八、电子设计(EDP)初级、助理工程师专业技术资格

5、认证标准117九、电子设计工程师认证考试中心设备配置表120十、电子设计工程师(EDP)授权考试中心申请表121十一、授权考试中心申请流程124三、中国电子学会第三期电子设计工程师师资暨考评员培训班讲义第一章 EDP认证系列实验系统介绍随着现代科学技术的发展,社会对人才需要的结构发生了很大变化,特别是对具有创新意识和创造能力的综合型、高技能人才的需求量日益增大,这将促使高等院校工科毕业生不但要有扎实的理论知识,而且还必须具有较强的工程实践能力和创新思维能力。尤其是电子信息相关专业的实践教学中更要充分发挥学生的主观能动性,发挥学生的想象力和创造力,理论联系实际,培养学生的动手能力和创新能力。传统

6、的实验教学完全依附于课堂教学,学生要在规定的时间内完成老师指定的实验内容,试验教学大体上实行的是 “课前预习课堂实验课后教师评阅”的模式。大多数实验还必须严格按照规定好的操作步骤来进行,而在实验过程中若发现学生走弯路或遇到挫折时,教师会直接指出甚至重新演示。这种模式下,常常会出现学生不重视预习、实验时不愿意动手、课后不认真总结思考,甚至出现缺课、抄袭实验报告等不良现象。虽然实验做出来了,也对相应的原理、电路进行了验证,但对学生来说只是一种形式,不能提高学生的动手能力和运用理论知识去分析、解决问题的能力。久而久之,学生就会对实验失去兴趣,其主要原因在于传统的实验方式不能激发学生的学习兴趣,学生们

7、认为上实验课学不到什么有用的知识,做实验就是接好线,测测数据,然后写个报告就结束。这种实验模式的弊端已越来越来多地受到批评,一些新的教学模式和经验也不断的推出,其核心问题还是如何提高学生的动手能力,真正做到学以致用。EDP电子工程师实验箱就是为了提高学生的实践能力,促进教学改革这个前提下研制完成的。1.1 系统概述EDP系列电子设计教学实验箱是为电子工程师培训认证和大中专院校进行教学、实验所用的多功能、多模块化的组合电子设计实验装置。内容涵盖模拟数字电子线路、单片机、DSP以及ARM等课程。主要设计思想包括:1. 底板模块化架构设计。其中底板通用,通过接插件上的各种单元模块完成各种实验,实现多

8、个组合实验的完美结合。实验模块采用跳线、跳帽方式连接。在学生实验时,可以不破坏单元模块电路。2. 多模块化组合实验:设计包括电源、AD 转换、CPU、44按键、通信、时钟、I/O扩展、显示、温湿度、信号调理等数十个单元模块。老师和学生可以根据教学目的或者学生的水平灵活选择模块组合,以组成一个完整的系统设计和实验。这样就可以让学生充分了解到一个电子系统的架构、结构以及总体组成,在自己独立设计电路之前,得学生有一个清晰的总体的概念,为学生自己设计电路打下了良好的基础。3. 自主创新的实验模式:在完成组合模块的实验之后,可以利用试验仪专门设计的标准面包板,由老师布置或学生提出,可以不拘泥于教学内容,

9、由学生自行设计电路和编程。期间老师只是给出一个大概的方向,其它的如系统总体设计、电路设计、焊接、调试、软件编程均由学生自己完成,大大提高学生的动手和实践教学能力。1.2 实验仪系统配置与特点1、电子工程师认证实验箱总体布局见图1.1.图1.1: 实验箱总体布局2、各模块功能(1)单片机处理模块:负责协调控制其它模块的微处理器单元。本模块可以使学生熟悉单片机最小系统的组成,包括时钟电路、复位电路、外围扩展等。同时可以使学生熟悉单片机的编辑、编译、下载等项目开发的全过程。(2)电源模块:为实验箱提供5V,12V,12V电源。使学生熟悉线性电源变压、整流、滤波、稳压等全过程。(3)继电器/红外/IO

10、模块:外部四路带光隔的数字输入,一路继电器输出,一对红外输入输出(串口驱动)。本模块可以使学生熟悉光电耦合器的使用,小型继电器的驱动控制,红外通信调制、发射、解调的全过程。(4) 接口模块:模块上有接口的I/O扩展、EEPROM、实时时钟、温度传感器等单元电路。接口在现代电路设计中越来越广泛。本模块可以使学生熟悉接口时序,使学生理解模块化软件设计的思想。(5)、信号调理模块:本模块主要是对输入的模拟信号(包括温度信号、湿度信号等)进行放大整形以提供给下级模拟/数字转换电路进行采样,本模块可以加深学生对模拟电路的理解。(6)、44键盘模块:系统的信息输入人机接口,是现代电子设备必不可少的接口;本

11、模块可以使学生加深对人机接口的理解,熟悉键盘电路和扫描方式,以及按键的防抖动等相关知识。(7)、ADDA模块:外部信号一般是模拟的,进行数字化处理必须经过模拟/数字转换。本模块可以使学生了解模/数、数/模转换的基本概念,模/数、数/模转换的分辨率、精度、建立时间等基本含义。(8)、8155并口扩展模块:实际系统中核心处理器的I/O经常出现不够用的情况,此时就要考虑I/O扩展。试验箱选用8155并行接口进行扩展I/O,本模块可以使学生了解I/O扩展的基本概念。(9)、通信模块:电子系统与外界通信是工程设计的重要一环, RS232与RS485又是常用的两种通信方式。本模块可以使学生了解串行通信的基

12、本概念,波特率设置的基本步骤。本模块还是下载程序的通道,为了方便与没有串口的笔记本电脑接口,本模块还增加了USB转串口通信单元(可选件)。(10)、显示模块:友好的显示界面是电子系统中必不可少的。试验箱支持6位数码管显示、1602字符液晶、汉字显示三种显示模块。数码管显示亮度高;液晶显示信息量大,美观,低功耗。本模块可以调动学生的极大的兴趣,开发出具有个性的显示界面以及菜单。(10)、通用面包板:由学生根据老师的要求,可以自己焊接、设计和调试一些实践性较强的实验或制作,可以和上述的成品模块单元组成一个完整的系统。可以大大提高学生的动手能力,对新时期的教学体制改革具有极大的促进作用。可选模块:(

13、1) 无线遥控模块:通过无线发射与接收装置进行无线通信,接收部分与微处理器连接。本模块可以使学生了解无线通信、数据编码和解码的基本概念以及无线数据传输和控制的基本流程。(2) 232/485转换模块:设计该模块可以使学生掌握市场上常见的232/485模块的基本设计方法以及工作原理。(3) CAN接口模块:CAN控制器局域网是目前工程设计中经常使用的现场控制总线之一,通过设计改模块可以使学生掌握SJA1000、82C250等常见的CAN控制器接口芯片的基本用法。(4) 微型打印机模块:掌握市场上常见的微型打印机的接口方式以及与微处理器的连接和程序设计。(5) USB接口模块:设计该模块可使学生掌

14、握USB通信的基本原理以及与微处理器的接口设计方法。(6) GPS模块:设计该模块可使学生了解GPS的接口协议,掌握时间、经纬度的数据提取和处理过程。(7) GSM/GPRS模块:设计该模块可使学生掌握短信、GPRS数据通信的基本原理和方法。(8) 开关电源模块:与线性电源模块互为补充,设计该模块可使学生掌握开关电源的基本设计方法以及与线性电源的异同。(9) DDS信号源模块: DDS直接频率合成模块,可产生各种常规和调制信号。(10) FPGA模块等1、综合优势: 集下载编程器、试验开发、二次开发实用外设为一体; 丰富的硬件和外设资源,可以完成绝大多数单片机的实验和工程设计; 完整的实验例程

15、及教学课件,大量实用应用例程和专业的应用设计工程实验; 底板模块化架构设计,通过接插件可完成各种扩展实验,实现基本实验和扩展实验的完美结合。2、模块通用性、互换性强和可操作性强所有模块单元均可以按照试验者的要求进行排列组合,所选芯片均为目前常用、易用、价格适中、功能适中的器件。为了更好培训并节约成本,一些实验模块采用跳线、跳帽方式连接。在学生培训或考试时,可以不破坏单元模块电路。考试时仅需通过不同的跳线来出题,操作性强,单位用户只要购买一次便可以多次重复使用,减轻学校和学生经济压力。学员也可以根据底板插件结构,通过标准面包板自行设计电路和编程,极大地提高学员的动手能力,弥补现阶段教学注重理论而

16、忽视实践的弊端,促进教学体制改革。 1.3 系统功能介绍1、系统简介EDP实验平台是一种开放式单片机实验系统,该实验系统的设计密切结合各院校单片机教学的实际,也采用了许多新的接口技术和新器件,体现了实用性和先进性相结合的原则。实验平台结构新颖,样式美观,元件布局紧凑合理,使用方便,集成电路采用双列直插芯片,便于维护。实验箱包含20余个单元电路,其中60%是学习单片机原理及应用应知应会部分,其余属于提高部分。2、整体技术参数 1、 输入电源:AC220V5%50HZ 2、工作电流:1A 详细技术参数1、 MCU: 32kB Flash,512B RAM,16k EEPROM。内置看门狗、可在线I

17、SP下载;2、 AD: 8通道8位并行,精度1/2LSB,转换速度100us;3、 DA:10位串行,精度0.1LSB,建立时间12.5us;4、 按键:44欧姆龙按键(带帽);5、 电源:5V, 12V输出,5V输出电流500mA;6、 通信:1路RS232标准异步串行接口,1路RS485接口,为方便与没有串口的笔记本电脑通信提供了一路USB转串口通信接口(可选件);7、 输入输出模块:4路光隔离输入,1路继电器输出;8、 RTC时钟:(I2C总线)的标准时钟芯片;9、 E2PROM:标准(I2C总线)芯片12k位;10、 I/O扩展模块:8155I/O扩展芯片(含256字节RAM)和I2C

18、总线接口扩展;11、 显示模块: 6个3寸LED 数码管和1602字符型液晶;12、 温度模块:集成半导体温度传感器,分辨率0.125;13、 红外模块:标准IRDA发送和接收; 14、 信号调理模块:标准仪表放大器。3、可提供实验项目 线性电源设计实验 最小单片机系统实验 44键盘人机接口实验 LED数码管显示实验 LCD字符型液晶显示实验 LCD汉字型液晶显示实验 I/O扩展及外部数据读写实验 AD模数转换实验 DA数模转换实验 I/O输入输出实验 后向继电器控制实验 EEPROM数据读写实验 温度控制实验; RTC实时时钟实验; I2C总线扩展实验 PC上位与单片机异步通信实验; 485

19、总线通信实验; 红外通信实验。 运算放大器基础设计实验 各种波形信号产生实验 PWM脉宽调制实验 数据采集分析实验; 分布式多点温度控制系统实验 无线遥控实验; 前后向通道控制实验等。4、软件配置实验配套设备:1. 配套计算机 :CPU:P3或赛扬700以上内存:256M 以上操作系统:WINDOWS 98/2000/XP。外部接口:一个标准9针RS232串口或USB接口(如计算机没有串口,须单独购买一条232/USB转换线)。2配套教材:电子设计工程师EDP实验教程3实验箱与计算机接口:标准9针RS232串口4光盘:试验仪配套光盘,含所有实验C51程序。注:E实验箱的所有程序均在Keil C

20、51的开发环境下完成,配套光盘不含Keil C51开发环境,由购买方自行准备。第二章KEIL uVision2、 uVision3集成开发环境2.1 Keil uVision2(uV2)集成开发环境2.1.1 uVision2(uV2)简介Keil Vision2 IDE(简称uV2)是德国Keil Software公司(现已被ARM公司收购)针对51系列单片机推出的基于32位windows环境,高效率的C语言开发平台。V2从最初的V5.20版本一直发展到最新的V7.50版本。它是一个功能强大的单片机集成开发平台,主要包括:c51交叉编译器,A51宏汇编器,BL51连接/重定位器, LIB51

21、库管理器,OH51 Intel HEX 格式文件转换器,RTX-51实时操作系统以及单片机软件仿真器Dscope 51。uV2将项目管理、源代码编辑、程序调试等集成到一个功能强大的windows 32平台中。其C 编译工具在产生代码的准确性和效率方面达到了较高的水平,对C语言的编译支持几乎达到了完美的程度,当然它也同样支持A51宏汇编。uV2内嵌多种灵活的控制选项,在作为大型项目的开发时尤其理想。 uV2 集成开发环境集成了一个项目管理器,一个功能丰富、有错误提示的编辑器,以及设置选项,生成工具,在线帮助。利用uVision2可方便地创建源代码并将它们组织到一个能确定你的目标应用的项目中去。u

22、Vision2可自动编译、汇编、连接你的嵌入式应用,并为你的开发提供一个单一的焦点。uVision2 集成开发环境包含的开发工具详细说明如下:1.C51编译器和A51汇编器源代码由uVision2 IDE创建,并被C51编译或A51汇编,编译器和汇编器从源程序代码生成可重定位的目标文件。Keil C51编译器完全遵照ANSI C语言标准,支持C语言的所有标准特性。另外,还根据51内内核单片机的结构而增加了一些特殊的功能。Keil A51宏汇编器支持8051及其衍生单片机的全部指令集。2.LIB51 库管理器LIB51库管理器允许用户从由编译器或汇编器生成的目标文件创建目标库。库是一种被特别地组

23、织过并在以后可以被连接重用的对象模块。当连接器处理一个库时,仅仅那些被使用的目标模块才被真正使用。3.BL51 连接器/定位器 BL51 连接器/定位器利用从库中提取的目标模块和由C编译器或汇编器生成的目标模块创建一个绝对地址定位的目标模块。一个绝对地址目标模块或文件包含不可重定位的代码和数据。所有的代码和数据被安置在固定的存储器单元中,绝对地址目标文件可以用来完成操作以下功能: 写入EPROM程序存储器或其它存储器件 通过uVision2调试器模拟和调试用户程序 通过硬件在线仿真器调试和测试程序。4.uV2 调试器uV2源程序代码调试器是一个可靠的程序调试器。调试器包含一个高速模拟器Dsco

24、pe 51,能够让你模拟整个51单片机系统,包括系统的外围器件和外部硬件的连接调试。用户一旦器从库中选中被调试的单片机型号,这个型号的单片机的特性将自动配置到库文件中。 uV2调试器为用户在实际目标板上调试程序时提供了以下几种方法: MON51在线仿真目标调试接口。将MON51仿真器和将用户目标系统连接,通过内嵌的Monitor-51接口以串口和uV2进行通信,并下载程序到用户系统中。利用Monitor-51,uV2调试器可以对用户目标硬件实行源代码级的调试。 模拟软件仿真方式。软件仿真时,除了可以模拟单片机的I/O口、定时器、中断外,甚至可以仿真单片机的串行通信。有关Keil IDE模拟软件

25、仿真器的使用方法,将在以后的有关章节加以介绍。 利用高级的GDI(AGDI)接口,把uV2调试器绑定到你的目标系统。可以通过uV2 的人机交互环境与连接的硬件完成仿真操作。5.RTX51实时多任务操作系统 RTX51实时多任务操作系统是一个针对8051系列的多任务核,它实现了在51单片机内核运行一个操作系统的功能。RTX51包括FULL核TINY两个版本,其实时内核从本质上简化了对实时事件反应速度要求高的复杂应用系统的设计、编程和调试。RTX51实时内核完全集成到C51编译器中,可以方便使用。它的任务描述表达和操作系统的连接由BL51连接器/定位器根据用户对uV2的设定自动控制。2.1.2 u

26、V2 IDE 集成开发平台的安装uV2 IDE 集成开发平台的安装与一般Windows软件相同,在提示选择Eval或Full方式时安装时,应选择Eval方式安装,不需要注册码,但有2K大小的代码限制安装结束后,如果你想在中文环境使用,可安装该版本的中文版汉化软件,将解压后的Uv2.EXE直接拷贝到keil/Uv2目录下并覆盖原先的文件即可。(有关uV2 IDE 集成开发软件测试版的详细内容读者可参照附录光盘的有关内容)。安装完成之后在WINDOWS桌面上会出现一个Vision的图标,如图2.1。用鼠标双击该图标便可启动程序,启动后的界面如图2.2所示。图.2:KEIL For C51界面2.1

27、.3 uV2的基本用法 uV2是一个功能强大的单片机开发平台,如图.所示,它主要由菜单栏、工具栏、源文件编辑窗口、工程窗口和输出窗口五部分组成。工具栏为一组快捷工具图标,主要包括基本文件工具档、建造工具档和除错(调试)工具档。如图所示,基本文件工具档位于第1、2栏,包括新建、打开、拷贝、粘贴等基本操作。建造工具栏在第3栏,主要包括文件编译、目标文件编译连接、所有目标文件编译连接、目标选项和一个目标选择窗口。除错(调试/DEBUG)工具栏位于最后,主要包括一些仿真调试源程序的基本操作,如单步、复位、全速运行等,详细的使用方法将在以后的章节中介绍。在工具栏下面,默认有三个窗口。工程窗口包含一个工程

28、的目标(target)、组(group)和项目文件。一个组里可以包含多个项目文件,项目文件是汇编或C语言编写的源文件。编辑窗口实质上就是一个文件编辑器,你可以在这个窗口里对源文件进行编辑,如移动、修改、拷贝、粘贴等。文件编辑完成后,你可以对源文件编译连接,编译之后的结果显示在输出窗口里,如果文件在编译连接中出现错误,将出现错误提示,包括错误类型及行号,如果没有错误将生成“HEX”后缀的目标文件,用于仿真或烧录芯片。以下举例介绍uV2的用法。1. 编辑源文件 选择主菜单中的命令(FILE)新建(NEW),这时弹出一个文本编辑窗口TEXT1,如图如图2.3所示,你可以在这个窗口编辑源程图2.3:编

29、辑窗口序。如果程序已经用其他编辑工具如EDIT编辑完成,直接选择命令(FILE)打开(OPEN)即可。程序编辑完成后,选择命令另存(save as),将该文件以后缀名.asm、.a51或.C的格式保存在你所建立的一个目录中。如例1中的程序名为demo.c,保存路径是D:ytf asm教程代码,如图2.4所示。 例1的测试程序demo.c#include#includesbit pin_1=P11; /定义引脚sbit pin_2=P12;sbit pin_3=P13;sbit pin_4=P14;/*主程序开始*void main(void)pin_1=0;pin_2=0;pin_3=1;pi

30、n_4=1;while(1);/*程序结束*图2.42.建立工程文件uV2 不支持单文件的操作和处理,只有在建立一个工程的基础上并对该工程进行正确的设置后,才能在VIsion 环境下对程序文件进行编译、连接定位和仿真等操作。1) 新建工程选择主菜单中的工程(Project) 新建工程(New Project),在弹出的新建工程(Creat new Project)栏中,出现对话窗口如如图2.5,选择保存路径。在文件名栏中,输入后缀名为.uv2的工程文件,如demo,然后选择保存。图2.5:新建工程2)为工程文件选择目标器件在建立工程以后,还应该为工程选择合适的目标器件。保存工程文件后,在随后弹

31、出的“为目标target选择设备” (Select Device for Target Target1)对话框中,左边窗口是单片机厂商列表和该厂家生产的器件型号,右边窗口显示该类型单片机功能的具体说明。uV2几乎支持所有的51内核的单片机,读者可根据目标板选用的单片机灵活设置。这里以ATMEL公司的89C51为例说明。用鼠标单击ATMEL前的“+”号,选择“89C51”单片机后确定,如图2.6所示。图2.6:MCU型号选择 3) 添加程序文件 选择目标器件完毕后可以看到在工程窗口出现“+target 1”的图标,单击“+”号,显示“source group1”,选择该项,单击鼠标右键,在出现的

32、下拉窗口中选择”增加文件到source group1(Add files to group source group1),如图2.7所示。在增加文件窗口中选择你刚才以.a51、.asm或.C格式编辑的源程序文件,如例1中的demo.c。鼠标单击“ADD”按钮,这时demo.c文件便加入到source group1这个组里了。点击“Close”返回。如要增加新文件到文件组“Source Group1”, 要先使用“菜单File- New功能建立文件,再进行“添加程序文件”进行文件设置。在输入上述程序文件时,VIsion会自动识别关键字,并以不同的颜色提示用户加以注意,这样会使用户少犯错误,有利于

33、提高编程效率。图2.7 注意:最好把一个工程内的所有文件放在一个目录中或分类到一个目录下的多个不同子目录中。4)编译文件 在对源程序编译之前,首先要设置VIsion的工作环境和参数。一般情况下,一个新的工程所有的配置参数都会使用缺省数值,初学者如果遇到不理解的配置参数可以不予理睬,之后再逐步弄懂各个参数的实际用处。但工程调试参数和“输出Hex 代码文件”一定要设置,因为VIsion 的缺省设置是不生成Hex 代码文件。 人工设置输出Hex 文件的方法如下:在组和文件建立之后,选择主菜单栏中的工程目标target1属性选择(options for target Simulator)项,如图2.8

34、。从左至右有8个选项栏,单击图2.8目标target栏,将出现目标单片机的一些基本信息,如默认晶振频率,存储器空间大小等。在晶体xtal (MHZ)栏中可选择目标板上的单片机晶振频率,默认为24MHZ,你可以根据实际情况手工设置。然后鼠标单击输出OUTPUT栏,在生成HEX格式文件“Create Hex file”前的中打, 同时也可选中“Debug Information”和“Browse Information”两栏浏览信息栏,点击“确定”退出后重新编译连接工程,即可生成Hex 代码文件调试信息和浏览信息,如图2.9。图2.9 参数设置完毕后, 选择主菜单栏中的工程“Project”重新编

35、译所有目标文件“Built all Target files ”(可使用快捷键F7)或鼠标单击建造工具栏中的图标,这时输出窗口出现源程序的编译结果,如果编译出错,将提示错误(ERROR)和警告(WARNIN)的类型和行号,你可以根据提示重新修改源程序,直至编译通过为止,如图2.10所示。编译通过后将输出一个以HEX为后缀名的INTEL格式的绝对目标文件,文中的是demo.hex,你可以将该文件通过编程器写入到单片机或程序存储器中装载到仿真机中对目标板进行实时仿真和调试。图2.102.2 单片机在keil c51集成开发环境的仿真过程2.2.1 硬件和软件仿真源程序编译通过,只能说明代码没有语法

36、错误。要使你的应用系统达到设计目的,还要对目标板进行排错、调试和检查,这就是通常所说的仿真。仿真一般分为两种方式:一种是通过硬件仿真器与试验样机联机进行的“实时”在线仿真;另外一种是在微机上通过软件进行的模拟仿真。“实时”在线仿真的优点是可以利用仿真器的软、硬件完全模拟样机的工作状态,使试验板在真实的工作环境中运行,可以随时观察运行结果和解决问题,缺点是价格较高。另外,随着单片机技术的发展,一些具有ISP在系统可编程和IAP在应用中可编程技术的单片机也应运而生,可以通过ISP接口直接下载程序来验证代码的正确与否,如EDP试验仪便是采用宏晶公司的STC89系列51单片机,可以通过ISP直接下载进

37、行调试程序。模拟仿真的方式简单易行,它是在PC机上通过运行仿真软件来创造一个目标单片机的模拟环境,不需要单独购买硬件仿真器,可以进行大多数的软件开发,如数值计算、I/O口状态的变化等。缺点是对一些“实时”性很强的应用系统的开发显得无能为力,如一些接口芯片的软硬件调试。因此,利用KEIL uV2强大的模拟仿真功能,同时结合STC单片机的ISP程序下载功能是目前较好的一种单片机的调试手段 ,下面简要介绍一下uV2集成开发环境的软件仿真的基本概念和用法。2.2.2 VIsion IDE的软件模拟仿真1.软件模拟仿真的参数设置VIsion IDE内嵌的软件模拟仿真器可以仿真市面上的几乎所有的51内核的

38、单片机,如宏晶 STC89系列、ATMEL公司的的89C(S)51、89C(S)52、89C58和华邦公司的W78E51、78E52以及PHILIPS公司产品。除了可以模拟单片机的I/O口、定时器、中断外,甚至可以仿真单片机的串行通信。在使用VIsion IDE内嵌的软件模拟仿真器进行仿真之前,首先应对VIsion的仿真参数进行设置。这里以keil c51 V6.23版本为例说明。(其它版本的设置与v6.23相同)。首先依照上面介绍的步骤建立一个工程文件并将源程序文件填加到这个工程组里,这里仍以上文介绍的的demo.uv2工程文件为例。建立完毕后,选择菜单Project(工程)-Option

39、for Target Simulator(目标属性选择),如图2.11。在该窗口中选择debug(调试)栏的设置项目,选择左边的Use Simulator。即使用模拟仿真方式。以下为一些参数的设置说明:图2.11Load Application at Start(启动时加载程序):选择这项后,keil会自动装载你的程序代码。 Go till main(运行到MAIN):调试c语言程序时可以选择这一项,pc会自动运行到main程序处。Restore Debug Session Setting(恢复调试会话设置):包括Breakpoint(断点)、Watchpoint(观察点)、Toolbar(工

40、具栏)和Memoy Display(内存显示)四项内容,可全部选中。CPU DLL:为模拟仿真时的驱动DLL文件,在模拟仿真51内核的单片机时请选择8051.dll。待上述参数设置完毕后,鼠标单击“确定”保存设置。2.程序文件的模拟仿真按要求建立好一个工程文件(这里仍以demo. c文件为例),将源文件编译通过后,选择Debug(调试)菜单中的开始(Start)/停止(Stop Debug)(快捷键Ctrl+F5)或鼠标单击工具栏的 图标,就进入模拟仿真状态了。如图2.12所示。其中第三行工具栏即图2.12为调试工具栏,它主要包括仿真调试方式(如单步、跟踪、运行到光标处、全速、断点)和调试窗口

41、(包含寄存器、命令输出、数据存储器窗口)。也可以从主菜单栏的View(视图)和调试(Debug)菜单中找到上述命令。调试工具栏的含义见图2.13,简单介绍如下:图2.13:调试工具栏性能分析窗口代码报告窗口 复位:无论程序以何种方式运行(单步或其它),点击复位按钮时,CPU被强制为初始状态,光标指向程序的第一行。 全速运行:程序从头至尾完全执行并显示应用程序最后的执行结果。全速运行的效果与CPU脱离仿真状态而将代码写入CPU或程序存贮器加电运行的状态是一致的。 跟踪:跟踪执行程序。即一步一步执行程序,当碰到子程序调用时将执行子程序的每一条语句。 单步:与跟踪相仿,不同的是碰到子程序调用时,一步

42、执行完整个子程序过程。它和跟踪方式是仿真调试的主要手段。 运行到光标处:程序从当前指针一直执行到光标所在的位置,即可以一次执行多条语句,并显示执行结果。 反汇编窗口:鼠标点击该图标,程序将以汇编和二进制代码两种格式在源文件窗口表现。存贮器窗口:点击该图标存贮器窗口将被激活,可以显示指定范围内存贮器内容。如在地址框中键入D:0000H,将显示以0000H开始的数据存贮器的内容,如图2.14。如在地址框中键入X:0000H,将显示以0000H开始的外部数据存贮器的内容。图2.14VIsion IDE支持8051及其派生类型的结构,能够访问8051的所有存储器空间。具有下表列出的存储器类型的变量都可

43、以被分配到某个特定的存储器空间。Code:程序空间(64 Kbytes),通过 MOVC A+DPTR 访问。Data:直接访问的内部数据存储器,访问速度最快(128 bytes)。Idata:间接访问的内部数据存储器,可以访问所有的内部存储器空间(256 bytes)。Bdata:可位寻址的内部数据存储器,可以字节方式也可以位方式访问(20H-2FH,共计16 bytes)。xdata :外部数据存储器(64 Kbytes),通过MOVX DPTR访问。pdata :分页的外部数据存储器(256 bytes),通过 MOVX Rn 访问。访问内部数据存储器将比访问外部数据存储器快的多。由于这

44、个原因,你应该把频繁使用的变量放置在内部数据存储器中,把很少使用的变量放在外部数据存储器中。特别是采用C语言编写程序时更应注意。在C语言中通过定义变量时包括存储器类型,可以定义此变量存储在你想要的存储器中。有关其它图标和窗口的含义(如串行通信窗口),将在以后具体的章节中具体使用中加以介绍。源文件编译通过及各项参数设置完成后,便可以在模拟仿真状态下调试程序了。这里以单步方式为例介绍在uV2环境下调使程序的方法。选择主菜单调试(Debug)(开始调试Start Debug),使uV2进入仿真调试状态。鼠标单击“单步”图标,每次执行一条语句,“寄存器”窗口相关参数和“存贮器”窗口的内容也随之变化。寄

45、存器窗口包含常用的特殊功能寄存器如ACC、PSW、DPTR等,其含义可参考有关手册。寄存器窗口的SYS中包含一项内容“SEC”,其含义是执行指令所花费的时间,它与uV2设置的晶振频率有关,编写延时程序时该参数显得尤为方便,如图2.15 所示。程序调试过程中,图2.15:MCU寄存器状态指示你可以随时在命令窗口中键入各种命令,以得到你想要的各种参数内容。如在“”号后键入“DPTR”,输出窗口将显示DPTR的值,键入“A”,将显示累加器A的值,键入“P1”,将显示端口P1的值,如图2.16所示。uV2的命令较多,使用也很灵活,有兴趣的读者可参考附录Keil Uv2的使用说明。在调试过程中你可以随时

46、通过变量观察窗口来观察单片机内部变量和自己定义的变量的数值,如例2下面的程序。例2:观察变量的测试程序#include#define uchar unsigned char #define uint unsigned int 图2.16sbit test_pin=P11;void main(void)uchar data i;uint data sum;sum=0;test_pin=1;for(i=0;iWatch & Call stack Window 出现相应窗口,选择Watch 1-3 中的任一个窗口,按F2键 在Name 栏填入用户变量名,必须是存在的。如修改变量数值,可单击Value

47、 栏,出现文本框后输入相应数值,用户可以同时修改多个不同的变量。 数据在线修改:进入VIsion仿真调试环境,Keil 把51内核的存储器资源分成4个部分:l 内部可直接寻址data区,表示为D:xxl 间接寻址idata 区idata,表示为I:xxl 外部间接寻址xdata数据区,表示为X:xxxxl 代码区code区,表示为C:xxxx这四个区域都可以在Keil 的Memory Windows 中观察和修改。点击菜单View-Memory Windows,便会打开Memory 窗口,可以同时显示4 个窗口,在memory windows窗口的address拦中键入D:00H,如图2.20

48、所示,这时将显示从0000H开始的DATA区数据,鼠标右键点击图2.20你想改动的数据区地址,图2.22中要改动的数据地址是10H,在随后出现的窗口中键入改动后的数据内容如30H,这时地址10H的内容即为30H。如图2.21。图2.21 程序的在线修改:进入VIsion仿真调试环境,鼠标点击VIEW菜单的disassembly window项,如图2.22,在出现的反汇编窗口中,鼠标右击你想修改的语句,在出现的下拉菜单中选择inline assemble,如图2.25,然后在线汇编窗口中重新输入语句,如图图2.222.26。本例是将语句MOV 6AH,#03H改为MOV 6AH,#09H。程序

49、和数据的在线修改功能极大地方便了用户。图2.232.3 Keil uVision3(uV3)for C51集成开发环境随着ARM等新一代微处理器的不断推陈出新,从C51 Version 7.50a 版本之后, KEIL公司发布了基于uVision3 IDE/Debugger/Simulator的微处理器集成开发环境Version 8.00 版本,包括ARM、C51以及C16等多个版本,最新的支持51内核单片机的版本为 Version 8.12 版本,8.00 版本之后的C51集成开发环境均以uVision3为内核。uVision3 for C51 是一款可用于多种最新的8051 MCU的集成开

50、发环境(IDE),该IDE同时也是PK51及其它开发套件的一个重要组件。除增加了源代码、功能导航器、模板编辑以及改进的搜索功能外,uVision3还提供了一个配置向导功能,加速了启动代码和配置文件的生成。此外其内置的仿真器可模拟目标MCU,包括指令集、片上外围设备及外部信号等。uVision3提供逻辑分析器,可监控基于MCU I/O引脚和外设状态变化下的程序变量。 uVision3提供对多种最新的8051类微处理器的支持,包括Analog Devices的ADuC83x/ADuC84x/ADE、Infineon的XC866、Silicon Laboratories的C8051T61x以及Win

51、bond W79E63x系列。 另外,uVision3 Debugger可以精确地模拟仿真一些51内核的SOC片上芯片的外设,如IC、 CAN、 UART、 SPI、 Interrupts外部中断、 A/D转换器、D/A 转换器和 PWM 模块,其模拟仿真类型和种类以及容错性也大大超过了uVision2。uVision3(uV3)与uVision2(uV2)的C51开发环境的界面、菜单、工具栏以及使用方法基本相同,其最大的区别在于对ARM处理器的支持,用户可以通过Device Database来选择不同的处理器, uV3将根据不同的器件来启动相应的编译环境。另外uV3还增加了一项Flash菜单

52、,可以对内置Flash ROM的单片机直接下载程序,如图2.24所示。图2.2uV3的Option for Target选择窗口增加了Device和Utilities两个栏目,通过Device可以直接改变芯片的类型和种类,如图2.25图2.25所示。Utilitie则用于配置具有Flash ROM的单片机的下载驱动或者选择外部下载工具,用户可以通过类似的ulink仿真器直接对单片机进行编程,如图2.26所示。用户在调试一般51的内核的单片机如宏晶公司的STC89系列、ATMEL公司的AT89系列的单片机时,uV2和uV3的用法基本相同,当调试一些比较新的51内核的SOC芯片,如Silicon

53、Laboratories的C8051T61x系列的高速单片机时,可以考虑采用uV3,因为uV3内置的Simulato模拟仿真器可以更好的支持这些芯片。图2.262.4 调试和程序下载2.4.1 单片机调试的一般过程一个成熟的单片机应用系统应包含硬件和软件的设计。硬件设计是整个系统的基础和基石,它包含诸多方面的内容,如单片机选型、接口电路设计、外围器件选择、电路板设计等等。目前世面上流行的单片机很多,如宏晶公司的STC89系列、ATMEL公司的51和AVR系列、PHILIPS公司的87LPC系列、 MICROCHIP微晶公司的PIC系列、ZILOG公司的Z8系列以及MOTOROLA公司的68系列

54、等等。上述单片机以单片机为内核的机型的种类最多,资料和开发设备也最全,在国内流行范围也最广。典型的有宏晶公司的STC89系列、ATMEL公司(已停产)、,华邦公司的、2以及PHILIPS公司的87LPC。它们都是内部含有可编程程序存储器的产品,特别是中国深圳宏晶公司在近年推出的STC89C51RC/RD+、STC12C5410AD 和 STC12C2052AD 系列单片机是宏晶科技推出的新一代超强抗干扰 / 高速 / 低功耗的单片机,指令代码完全兼容传统 8051 单片机,其最大的特点是具有ISP(在系统可编程)/IAP(在应用可编程)功能, 无需专用编程器 / 仿真器,在KEIL环境下程序编译通过生成HEX文件后可以直接通过串口(P3.0/P3.1)直接下载用户程序,极大的方便了用户调试,有效的将低了产品开发成本。下面先简单介绍以下传统单片机的调试过程。单片机硬件电

温馨提示

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

评论

0/150

提交评论