第十章 单片机控制系统设计与调试第一节 单片机控制系统的设计第二节 单片机的开发设备与开发方式第三节 开发设备简介本章要点
简略介绍单片机控制系统的设计方法,
以及单片机与外围器件选择中需要考虑的问题。
简略介绍单片机的开发设备与开发方式。
第一节 单片机控制系统的设计一,硬件设计
1.选择单片机型号选择单片机型号首先要考虑所设计的系统配置状况,例如外设 I/O 口的数量,是否需要配置显示器、键盘,A/D 转换,是否需要连接按键及开关,需要多大容量的片内 RAM和 ROM,是否在片外扩展某些功能器件等等,然后根据这些条件要求,去选择合适的单片机型号。
除此之外,一般还要考虑产品价格,是否有开发工具,设计人员本身对这种型号是否熟悉等等因素 。
2.选择片外程序或数据存储器选好单片机型号之后,可以根据系统所需要的存储器容量,决定是否还要在片外扩展,如要在片外扩展应考虑:
1)选择片外扩展的存储器类型和容量。
2)确定片外扩展存储器的地址分配。
3)根据地址分配确定存储器与单片机的连接方法。
3.选择输入输出通道与接口输入通道是指外设向系统输入信号的电路。
输出通道是指单片机向外设输出控制信号的电路。输入和输出都需要通过接口。
设计时要根据所选的单片机型号,以及系统所需要的接口,决定是否还要在片外扩展,如要在片外扩展应考虑:
1)选择 I/ O接口芯片的类型 。
2)确定扩展后 I/O接口的连接方式与地址空间分配 。
3)根据输入输出信号的性质,考虑是否需要光耦隔离,以及必要的驱动电路 。
开关型或频率型的输入通道对属于开关型或频率型的输入信号,一般只要加上必要的防抖动措施,就可以如下图所示直接与系统连接。
输入输出通道设计中的光耦隔离与控制为防止输入电路因共地引起的干扰,输入电路可用光耦隔离,若要求输入信号为可控制的,则需选用可控三态门,如图所示 。
如果输出通道需要控制外围的 大功率器件,也要进行光耦隔离,防止负载的噪声对系统 的 干扰。
输入输出通道中的信号转换对于输入的模拟信号,需通过 A/D转换。若要输出模拟信号则要经 D/A转换。对于非标准电平的外围设备需要经过电平转换后才能与系统相连。例如图中的 TTL/RS232的电平转换电路。
TTL电平 RS232电平
4.电源选择系统电路的设计工作完成之后,就要根据电路的要求选择功率和电压合适的电源,也可以自行设计。凡采用光耦隔离的电路,光耦两侧的电源不能共地,否则将失去隔离的作用。
二、软件设计进行软件设计可以采用汇编语言或面向单片机的高级语言例如 C语言。
软件设计要经过编写、汇编或编译、调试、
固化等几个步骤。
1.编写源程序源程序可使用任意一种编辑软件进行编写,并以纯文本方式存储,以供下一步汇编或编译时使用。
2.汇编或编译源程序编写后,还要经过汇编或编译,以便转换成以十六进制代码表示的目标程序 。 汇编或编译的具体操作可按以下方法进行 。
在 WINDOWS环境下汇编或编译如果使用 Keil C51的编辑窗口,则编辑好源程序后可通过右击 Project窗口中的 Target1文件夹,
选择 【 Option for Target ‘Target1’】 窗口,
在这个窗口列出的 10项菜单选项中,选择 output,
然后在 Create HEX File可选框中打 √ 。 再从主菜单中,点击 【 Project】,从下拉菜单中点击
【 Rebuild All Target Files】 选项,就可以完成汇编 或编译,生成后缀为 hex的目标程序 。
汇编 也可以在 DOS环境下 进行,即 用汇编器
A51和十六进制符号转换器 OH51进行汇编 。
步骤:
1)汇编,利用命令,A5l 文件名,ASM”
产生后缀为 OBJ的同名文件。
2)链接,利用命令,BL51 文件名,OBJ”
形成同名的无后缀文件。
3)转换,利用命令,OH5l 文件名,,
形成后缀为 HEX的十六进制绝对目标文件。
3.调试 与 固化为检查所编程序是否正确,可将 生成的 十六进制文件在仿真器上进行调试,
也可以直接写入单片机,在 试运行 中 对程序作进一步修改,再重新写入。
编程器 也称烧写器或称固化设备,它可以 将目标程序写入程序存储器,还 可以 将程序加密。
返回本章首页一,硬件仿真+编程器的方式这是一种传统的调试方式,设备连接如图:
通过仿真软件在主计算机上运行,观察各寄存器和外设中的数据变化,检查是否符合设计要求 。 这种方式较易查出用户程序和目标板上的问题,可以完全模拟程序的运行过程,其查错速度快且比较彻底,因此是几种开发方式中最好的一种方式 。
第二节 单片机的开发设备与开发方式
1.硬件仿真 +编程器方式的使用
CPU仿真允许用户使用开发设备的内部 RAM或 I/ O接口代替目标系统的 RAM或 I/ O接口。开发设备可以将全部 RAM或接口借给目标系统使用,也可以只借给一部分,即 仿真时一部分 RAM或接口 指向仿真器内部,一 部分则 指向目标系统。
存储器和 I/ 0接口 仿真开发设备只将 CPU资源借给目标系统使用,RAM或
I/ O接口则使用目标板自身的硬件。 当 目标程序调入开发设备的仿真 RAM之后,借用仿真器的 CPU在线运行,以检查目标程序以及硬件的正确性。
2.仿真器运行的控制为了观察程序的运行状态,仿真器 必须能 对运行过程 进行 控制,包括:
1)单步控制;
2)断点控制;
3)连续运行;
4)运行的停止。
3.读出和修改仿真器 还应具有 读出功能,能 读出程序存储器、数据存储器以及 I/ 0接口 在运行中 的状态,以 检查目标系统的硬件或软件是否正确。
为此,主计算机 应在 屏幕上 设置 显示窗口,一方面 供用户检查存储器及接口状态,
另一方面可以在窗口中对数据进行修改,
使目标程序能在修改数据后的状态下继续运行。
4.跟踪开发设备一般都具备跟踪功能,以便记下目标程序运行过程 中 地址、数据和控制信号的变化情况。 用户 在运行停止后,可以查看一定 范围内 接口或存储器在 某一时刻所具有的数值。
有的仿真器其跟踪功能是指能一步一步地执行程序,即使碰到子程序调用,也能在子程序内部逐条运行。而单步运行则是把子程序调用作为一步处理。
5.固化仿真通过后的用户程序,需要固化到单片机的程序存储器。固化用的编程器有机外盒和插板两种形式。
机外盒需要通过电缆与主计算机的串口、并口或 USB口相接。
二,软件模拟仿真+编程器的方式这种方法不需要仿真器,也不需要任何硬件支持 (如在 Keil C51的 μ vision2
集成开发环境 下的模拟仿真 ),是开发单片机的一种最简便的方式 。
但 这种方法只能检查程序的运行情况,
无法检查目标板的硬件是否能正常工作,
若要 检查还要把仿真通过的程序代码写入单片机,放在目标板上试运行,以检查其他硬件是否能按要求正常工作 。
软件模拟仿真+编程器的方式的 使用在 Keil C51vision2环境下,在 【 Options for
Target ‘target1’ 】 对话框中选择【 Use
Simulator 】。 之后,执行【 Debug】
【 Start/Stop Debug Session】 选项,然后在源程序窗口或反汇编窗口对程序进行单步或跟踪调试。
三,在系统编程 ( ISP) 与在应用编程 ( IAP) 方式这种方式不要仿真器和编程器,只要在个人微型计算机装上 Keil C51的 vision2集成开发环境,
并在目标板上留下一个接口(例如串口插座)其接法如图所示。
ISP( In System Programming) 方式:
利用 ISP功能允许空白单片机插在目标电路板上进行编程而无须拔下,已经编程过的单片机也可以在目标电路板上用 ISP方式进行擦除或再编程,
无需专用编程器。 ISP主要用于空白芯片的第一次编程,或修改后全部重新载入。
具备 ISP功能的单片机,其硬件条件是采用了
Flash程序存储器,软件条件是单片机内部存储器高端驻留有 ISP启动代码,这样就可以通过目标板上的接口与 PC通信,从而实现在线操作,包括在线仿真和在线编程。
IAP(In ApplieationProgramming)方式
IAP方式要求单片机的程序存储器有几个分区,
平时可以运行其中一个分区的用户程序。编程时激活启动代码,通过串口或其他通信接口把新的用户代码下载到另一个分区。下载完成后再转到新下载的分区运行。因为是在运行中下载,所以称 IAP。
用 IAP方式编程,无须拔下芯片,且可以通过远程通信对程序代码的全部或一部分甚至只对几个字节进行更新,不必到设备现场 。
ISP和 IAP必须具备三个条件,。
1)在单片机的程序存储器高端驻留一个启动代码,以便接收从上位机发来的用户代码。
接收结束后,通过更改状态位,自动转到用户代码区,执行用户代码。
2)需要一个上位 PC,通过通信接口把 HEX代码送到单片机。上位机通常需要一个专用软件
(有器件选择、读 FLASH内容、擦除芯片、
FLASH编程、编程验证等功能 ),使其可以对各种可编程器件都能操作。
3)要有上位机与单片机的通信硬件。
返回本章首页第三节 开发设备简介一,DICE单片机实验系统
DICE是一种实验学习机,可以用于仿真,本身是一台可以独立工作的单片单板机。
内部包括 8032单片机,64K程序数据共用的存储器,6个数码显示,32键的键盘、固化用的
8255接口等部件组成。
DICE实验系统还带有一个 RS-232电平的串口,
与 PC机的串口连接之后,可进行实验系统与 PC机间的信息交换。
DICE单片机实验系统示意图
1.DICE作为学习机使用作为单片单板机独立运行作为学习机使用时可以在 EPROM的监控程序支持下,作为单片单板机独立运行;
用户从键盘输入程序,或 从 EPROM调入程序 到 存储 区 (存 储 区可 以从 0000H-
0FFFFH),利用键盘上的控制键,实现单步运行,连续运行或设置断点 。
这是一种基本的运行方式,可以让初学者在 DICE实验机上输入并运行程序,
以了解程序的运行过程 。
联机装载脱机运行方式
DICE实验系统可以与 PC联机运行,联机后在 DBUG组合软件的支持下,使 用 PC
所提供的编辑、汇编、反汇编和编译等功能,在 PC上完成源程序的编辑、汇编并生成目标程序等工作。
有了目标程序之后,用户可以利用装载功能把程序送到 DICE存储区,在监控程序支持下,DICE就可以脱机(指脱开
PC) 进行程序的调试与修改。
联机运行方式将程序装载到 DICE之后,也可以不脱机,在 DBUG组合软件的支持下,在 PC的运行界面上直接控制程序的运行。所有控制命令,都直接由 PC送出,所有的调试信息以及对存储器读写操作都通过串口传送,用户可以在 PC的窗口直接观察到程序运行的过程、以及程序运行的结果。
2.DICE作为仿真器使用作为仿真器使用时,可以通过 ctrl+ s键使
DBUG工作在以下几种工作方式,
为 I指向 DICE内部为 0指向目标板
CPU的取指和读写控制信号指向 DICE存储器内部,即 DICE系统的 CPU和存储器全部借给目标系统。这种方式只能用于调试软件,而无法检查目标系统的硬件状态,而且 DICE的程序与数据存储器是共用的。因此在 DICE上调好的程序用于目标系统时可能还要做适当修改。
方式 0(PSEN=I R/ W=I)
方式 1(PSEN=O R/ W=I)
这种工作方式的 CPU取指信号指向目标系统,而读写控制信号指向 DICE
内部,它适用于目标系统虽已装好,
但外设还没有接入的情况,DICE把数据存储区全部借给目标系统,而程序则装载在目标系统本身的程序存储区内。
方式 2(PSEN=I R/ W=O)
这种工作方式的 CPU取指信号指向
DICE内部,而读写控制信号指向用户的目标系统,由于数据存储区已经全部使用目标系统本身的硬件,所以在这种模式下通过的程序,一般都能够脱机运行。
方式 3(PSEN=0 R/ W=0)
由于具备可转换工作方式的特点,DICE单片机实验系统适合于作学习机也可作一般开发使用。新推出的 DICE2000,可以在 Windows操作系统下用菜单操作,使用更加方便。
这种工作方式的 CPU取指控制信号和读写控制信号全部指向目标系统。在 DBUG组合软件支持下,由 PC机控制单步运行、连续运行或设置断点运行,用于检查系统软件和硬件运行时的工作状态。
二,EasyPack/ E 8252F仿真开发系统
EasyPack是一种在线仿真器,可以对
8051系列单片机包括 INTEL和 Philips等公司的产品进行在线仿真 。
主机有 128K仿真存储器和仿真 CPU,通过仿真头与目标系统连接,通过打印口与 PC相连 。
EasyPack软件是一组 Windows应用程序 。
1.操作步骤使用时目标板先上电,然后仿真器上电;在指示灯闪亮两次以后,调用仿真程序 EPSLD,然后按对话框提示选择目标系统的 CPU类型、打印口地址及所需要的窗口。
EasyPack可提供的窗口:①可位寻址的存储单元窗口;
② CPU窗口;③程序存储器或片内数据或片外数据存储器可选窗口;④源程序窗口;⑤堆栈窗口;⑥跟踪窗口;⑦变量窗口;⑧周边寄存器 (包括所有特殊功能寄存器 )窗口;
⑨ SHELL窗口。
其中 SHELL窗口可以输入操作命令,包括汇编反汇编,仿真操作,存储器操作以及菜单上的一些命令。寄存器窗口可以对寄存器直接进行在线写入或修改。
2.性能
EasyPack具有以下主要性能
1)具有仿真目标系统存储器 的 性能主机具有 128K仿真存储器,其中程序和数据存储器各 64K。 在第一次使用时,用户可以通过 GroupMap菜单命令,设定仿真存储器映射,选择指向内部或指向目标,选择只读或是读写。目标系统也可以完整保留自身的存储器和 I/ O空间,以实现全空间仿真。
2)具有 运行控制 的 功能可以用快捷键实现单步运行,运行至光标所在位,停止运行,运行至断点,连续运行,外部触发运行等 。
也可以用工具条或拉动菜单方法进行操作 。
3)实时跟踪记录功能仿真器主机配有长度为 32K,位宽为 40位的追踪记录存储区。 40位中包括地址 16位,数据
8位,状态 3位,外部追踪点 5位和接口状态位 8
位。选择 跟踪 功能可以在运行后查找系统在过去 32K范围内的工作情况。
4) 软件评估功能软件评估功能对程序进行评估,包括
①程序模块分析:显示子程序调用次数,子程序执行所用的时间,发现死循环或进 入 程序禁区等 毛病;
②程序执行时间分析:记录程序的运行时间,
了解程序运行情况 ;
③程序代码覆盖率分析:显示某一段程序执行效率,用于分析模块在整个程序中所占地位。
其中 跟踪功能 和 评估分析功能 是一些普通仿真设备所不具备的。
返回本章首页