C51单片机应用系统的设计与开发.ppt
《C51单片机应用系统的设计与开发.ppt》由会员分享,可在线阅读,更多相关《C51单片机应用系统的设计与开发.ppt(72页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、第第1313章章 89C51 89C51单片机应用系统的单片机应用系统的设计与开发设计与开发13.1 89C5113.1 89C51单片机应用系统的设计的步骤单片机应用系统的设计的步骤设计一个单片机测控系统,一般可分为设计一个单片机测控系统,一般可分为四个步骤四个步骤:(1 1)需求分析,方案论证和总体设计阶段)需求分析,方案论证和总体设计阶段需求分析需求分析:被测控参数的形式(电量、非电量、模拟量、被测控参数的形式(电量、非电量、模拟量、数字量等)、被测控参数的范围、性能指标、系统功数字量等)、被测控参数的范围、性能指标、系统功能、工作环境、显示、报警、打印要求等。能、工作环境、显示、报警、
2、打印要求等。方案论证方案论证:根据要求,设计出符合现场条件的软硬件方案,根据要求,设计出符合现场条件的软硬件方案,又要使系统简单、经济、可靠,这是进行方案论证与又要使系统简单、经济、可靠,这是进行方案论证与总体设计一贯坚持的原则。总体设计一贯坚持的原则。(2 2)器件选择,电路设计制作,数据处理,软件的编制)器件选择,电路设计制作,数据处理,软件的编制阶段。阶段。(3 3)系统调试与性能测定。)系统调试与性能测定。(4 4)文件编制)文件编制13.2 13.2 应用系统的硬件设计应用系统的硬件设计为使硬件设计尽可能合理,应重点考虑以下几点。为使硬件设计尽可能合理,应重点考虑以下几点。1 1尽可
3、能采用功能强的芯片尽可能采用功能强的芯片(1 1)单片机的选型)单片机的选型。随着集成电路技术的飞速发展,单片机。随着集成电路技术的飞速发展,单片机的集成度越来越高,的集成度越来越高,许多外围部件都已集成在芯片内,许多外围部件都已集成在芯片内,有有许多单片机本身就是一个系统,这样可以省去许多外围部许多单片机本身就是一个系统,这样可以省去许多外围部件的扩展工作,使设计工作大大简化。件的扩展工作,使设计工作大大简化。例如,美国例如,美国CygnalCygnal公司的公司的C8051F020 C8051F020 8 8位单片机,位单片机,片内集成有片内集成有8 8通道通道A/DA/D、两路、两路D/
4、AD/A、两路电压比较器,内置温度传感器、两路电压比较器,内置温度传感器、定时器、可编程数字交叉开关和定时器、可编程数字交叉开关和6464个通用个通用I/OI/O口、电源监口、电源监测、看门狗、多种类型的串行总线(两个测、看门狗、多种类型的串行总线(两个UARTUART、SPISPI)等。)等。(2 2)优先选用片内带有闪烁存储器优先选用片内带有闪烁存储器的产品。例如,使用的产品。例如,使用ATMELATMEL公司的公司的89C51/89C52/89C5589C51/89C52/89C55,PHILIPS PHILIPS公司的公司的89C5889C58(内有(内有32KB32KB的闪烁存储器)
5、,可省去扩展单片机程的闪烁存储器),可省去扩展单片机程序存储器的工作,减少芯片数量,缩小体积。序存储器的工作,减少芯片数量,缩小体积。(3 3)考虑考虑EPROMEPROM空间和空间和RAMRAM空间空间。目前。目前EPROMEPROM容量越来越大,容量越来越大,一般尽量选用容量大的一般尽量选用容量大的EPROMEPROM。89C5189C51内部的内部的RAMRAM单元有限,单元有限,当需增强软件数据处理功能时,往往觉得不足,这就要求当需增强软件数据处理功能时,往往觉得不足,这就要求系统配置外部系统配置外部RAMRAM,如,如62646264,6225662256芯片等。如果处理的数芯片等。
6、如果处理的数据量大,需要更大的数据存储器空间,可采用数据存储器据量大,需要更大的数据存储器空间,可采用数据存储器芯片芯片DS12887DS12887,其容量为,其容量为256KB256KB,内有锂电池保护,保存数,内有锂电池保护,保存数据可达据可达1010年以上。年以上。(4 4)对对I/OI/O端口的考虑端口的考虑。在样机研制出来进行现场试用时,。在样机研制出来进行现场试用时,往往会发现一些被忽视的问题,而这些问题是不能单靠软往往会发现一些被忽视的问题,而这些问题是不能单靠软件措施来解决的。如有些新的信号需要采集,就必须增加件措施来解决的。如有些新的信号需要采集,就必须增加输入检测端;有些物
7、理量需要控制,就必须增加输出端。输入检测端;有些物理量需要控制,就必须增加输出端。如果在硬件设计之初就多设计出一些如果在硬件设计之初就多设计出一些I/OI/O端口,这些问题就端口,这些问题就会迎刃而解了。会迎刃而解了。(5 5)预留预留A/DA/D和和D/AD/A通道通道。和。和I/OI/O端口同样的原因,留出一些端口同样的原因,留出一些A/DA/D和和D/AD/A通道将来可能会解决大问题。通道将来可能会解决大问题。2 2以软代硬以软代硬原则上,只要软件能做到且能满足性能要求,就不用硬件。原则上,只要软件能做到且能满足性能要求,就不用硬件。硬件多了不但增加成本,而且系统故障率也会提高。以软硬件
8、多了不但增加成本,而且系统故障率也会提高。以软带硬的实质,是以时间换空间,软件执行过程需要消耗时带硬的实质,是以时间换空间,软件执行过程需要消耗时间,因此这种代替带来的问题就是实时性下降。在实时性间,因此这种代替带来的问题就是实时性下降。在实时性要求不高的场合,以软代硬是很合算的。要求不高的场合,以软代硬是很合算的。3 3工艺设计工艺设计包括机箱、面板、配线、接插件等。必须考虑到安装、调试、包括机箱、面板、配线、接插件等。必须考虑到安装、调试、维修的方便。另外,硬件抗干扰措施也必须在硬件设计时维修的方便。另外,硬件抗干扰措施也必须在硬件设计时一并考虑进去。一并考虑进去。13.3 13.3 应用
9、系统的软件总体框架设计应用系统的软件总体框架设计 在进行应用在进行应用系统的总体设计系统的总体设计时,时,软件设计和硬件设计软件设计和硬件设计应统一考应统一考虑,虑,相互结合进行。当系统的电路设计定型后,软件的任务相互结合进行。当系统的电路设计定型后,软件的任务也就明确了。也就明确了。一般来说,一般来说,软件的功能软件的功能分为分为两大类两大类。一类是执行软件一类是执行软件,它能完成各种实质性的功能,如测量、计算、,它能完成各种实质性的功能,如测量、计算、显示、打印、输出控制等;显示、打印、输出控制等;另一类是监控软件另一类是监控软件,它是专门用来协调各执行模块和操作者的,它是专门用来协调各执
10、行模块和操作者的关系,在系统软件中充当组织调度的角色。设计人员在进行关系,在系统软件中充当组织调度的角色。设计人员在进行程序设计时应从以下几个方面加以考虑:程序设计时应从以下几个方面加以考虑:(1 1)根据软件功能要求,)根据软件功能要求,将系统软件分成若干相对独立的部将系统软件分成若干相对独立的部分分,设计出合理的软件总体结构,使其清晰、简洁、流程,设计出合理的软件总体结构,使其清晰、简洁、流程合理。合理。(2 2)各功能程序)各功能程序实行模块化、子程序化。实行模块化、子程序化。既便于调试、链接,既便于调试、链接,又便于移植、修改。又便于移植、修改。(3 3)在)在编写应用软件之前,应绘制
11、出程序流程图编写应用软件之前,应绘制出程序流程图。多花一些。多花一些时间来设计程序流程图,就可以节约几倍于源程序的编辑时间来设计程序流程图,就可以节约几倍于源程序的编辑和调试时间。和调试时间。(4 4)要)要合理分配系统资源,包括合理分配系统资源,包括ROMROM、RAMRAM、定时器、定时器/计数器、计数器、中断源等中断源等。其中。其中最关键的是片内最关键的是片内RAMRAM分配分配。对。对89C5189C51来讲,来讲,片内片内RAMRAM指指00H00H7FH7FH单元,这单元,这128128个字节的功能不个字节的功能不 完全相同,分配时应充分发挥其特长,做到物尽其用。完全相同,分配时应
12、充分发挥其特长,做到物尽其用。例如,在工作寄存器的例如,在工作寄存器的8 8个单元中,个单元中,R0R0和和R1R1具有指针功能,是具有指针功能,是编程的重要角色,避免作为它用;编程的重要角色,避免作为它用;20H20H2FH2FH这这1616个字节具个字节具有位寻址功能,用来存放各种标志位、逻辑变量、状态变有位寻址功能,用来存放各种标志位、逻辑变量、状态变量等;设置堆栈区时应事先估算出子程序和中断嵌套技术量等;设置堆栈区时应事先估算出子程序和中断嵌套技术及程序中栈操作指令使用情况,其大小应留有余量。及程序中栈操作指令使用情况,其大小应留有余量。若系统中扩展了若系统中扩展了RAMRAM存储器,
13、应把使用频率最高的数据缓冲器存储器,应把使用频率最高的数据缓冲器安排在片内安排在片内RAMRAM中,以提高处理速度。当中,以提高处理速度。当RAMRAM资源规划好后,资源规划好后,应列出一张详细的应列出一张详细的RAMRAM资源分配表,以备编程时查用方便。资源分配表,以备编程时查用方便。应用设计者在软件设计时,感觉比较困难的是如何进行系统应用设计者在软件设计时,感觉比较困难的是如何进行系统软件的总体框架设计。下面给出一个典型的例子,供读者软件的总体框架设计。下面给出一个典型的例子,供读者在软件设计时参考。在软件设计时参考。例例13-113-1 有一个有一个89C5189C51的应用系统,假设的
14、应用系统,假设5 5个中断源个中断源都已用到,都已用到,应用系统的程序框架如下:应用系统的程序框架如下:ORG ORG 0000H0000H;系统程序入口系统程序入口LJMP LJMP MAINMAIN;跳向主程序入口跳向主程序入口ORG ORG 0003H0003H;外中断外中断0 0中断向量入口中断向量入口LJMP IINT0PLJMP IINT0P;跳向外中断跳向外中断0 0中断处理程中断处理程;序入口序入口IINT0PIINT0PORG ORG 000BH000BH;T0;T0中断向量入口中断向量入口LJMP IT0PLJMP IT0P;跳向跳向T0T0中断处理程序入口中断处理程序入口
15、IT0PIT0PORG ORG 0013H0013H;外中断外中断0 0中断向量入口中断向量入口LJMP IINT1P;LJMP IINT1P;跳向外中断跳向外中断1 1中断处理程序入口中断处理程序入口IINT1PIINT1PORG ORG 001BH001BH;T1;T1中断向量入口中断向量入口LJMP IT1PLJMP IT1P;跳向跳向T1T1中断处理程序入口中断处理程序入口IT1PIT1PORG ORG 0023H0023H;串行口中断向量入口串行口中断向量入口LJMP ISIOPLJMP ISIOP;跳向串行口中断处理程序入口跳向串行口中断处理程序入口ISIOPISIOPORG 00
16、40HORG 0040H;主程序入口主程序入口MAIN:MAIN:对片内各功能部件,如定时器、对片内各功能部件,如定时器、串行口、中断系统进行初始化;串行口、中断系统进行初始化;对扩展的各个对扩展的各个I/OI/O接口芯片进行初始化接口芯片进行初始化MOV SP,#60H;MOV SP,#60H;对堆栈区进行初始化对堆栈区进行初始化主程序(根据实际主程序(根据实际 处理任务编写)处理任务编写)ORG XXXXHORG XXXXH;外中断外中断0 0中断处理子程序中断处理子程序IINT0PIINT0P入口入口IINT0P:IINT0P:外中断外中断0 0中断处理子程序中断处理子程序RETIRET
17、IORG YYYYHORG YYYYH IT0P:IT0P:T0T0中断处理子程序中断处理子程序RETIRETIORG ZZZZHORG ZZZZH IINT1P:IINT1P:外中断外中断1 1中断处理子程序中断处理子程序RETIRETIORG UUUUHORG UUUUH IT1P:IT1P:T1T1中断处理子程序中断处理子程序RETIRETIORG VVVVHORG VVVVH ISIOP:ISIOP:串行口中断处理子程序串行口中断处理子程序RETIRETI上述程序框架上述程序框架仅供参考,仅供参考,5 5个中断源的中断入口个中断源的中断入口XXXXHXXXXHVVVVHVVVVH要根据
18、主程序、各中断源的中断处理程序的长度而定,不要根据主程序、各中断源的中断处理程序的长度而定,不要重叠。要重叠。13.4 89C5113.4 89C51单片机系统设计举例单片机系统设计举例首先介绍单片机应用系统设计时的地址空间分配和总线驱动首先介绍单片机应用系统设计时的地址空间分配和总线驱动问题,最后举一个应用系统设计的例子供读者参考。问题,最后举一个应用系统设计的例子供读者参考。13.4.1 13.4.1 应用系统设计中的地址空间分配与总线驱动应用系统设计中的地址空间分配与总线驱动系统往往是系统往往是多芯片系统多芯片系统,这时要遇到,这时要遇到两个问题两个问题:一是如何把:一是如何把64KB6
19、4KB程序存储器和程序存储器和64KB64KB数据存储器的空间分配给各个芯片;数据存储器的空间分配给各个芯片;二是如何实现二是如何实现89C5189C51单片机对多片芯片的驱动。单片机对多片芯片的驱动。1 1地址空间分配地址空间分配图图13-113-1是一个全地址译码的系统实例。各器件芯片所对应的是一个全地址译码的系统实例。各器件芯片所对应的地址如地址如表表13-113-1所示。所示。地址空间分配的两种方法:地址空间分配的两种方法:线选法线选法和和译码法译码法。下面通过一个。下面通过一个例子来说明如何解决这个问题。例子来说明如何解决这个问题。图图13-113-1因因62646264、27642
20、764都是都是8KB8KB,故需要,故需要1313条低位地址线(条低位地址线(A12A12A0A0)进)进行片内寻址,低行片内寻址,低8 8位地址线位地址线A7A7A0A0经经8D8D锁存器锁存器74LS37374LS373输出,输出,图中没有画出。其他三条高位地址线图中没有画出。其他三条高位地址线A15A15A13A13经经3-83-8译码器译码器74LS13874LS138译码后作为外围芯片的片选线。图中尚剩余三条地译码后作为外围芯片的片选线。图中尚剩余三条地址选择线,可扩展三片存储器芯片或外围址选择线,可扩展三片存储器芯片或外围I/OI/O接口电路芯接口电路芯片。片。2 2总线驱动总线驱
21、动设计时,有时要扩展多片芯片,注意设计时,有时要扩展多片芯片,注意89C5189C51的的I/OI/O口驱动能力。口驱动能力。89C5189C51有有4 4个并行双向口,个并行双向口,P0P0、P1P1、P2P2、P3P3等等4 4个口都可用作输个口都可用作输出口,但其驱动能力不同,出口,但其驱动能力不同,P0P0口的驱动能力较大,每位可驱口的驱动能力较大,每位可驱动动8 8个个LSTTLLSTTL输入,当其输出高电平时,可提供输入,当其输出高电平时,可提供400400 A A的电流;的电流;当其输出低电平(当其输出低电平(0.45V0.45V)时,可提供)时,可提供3.2mA3.2mA的灌电
22、流,的灌电流,如低电平允许提高,灌电流可相应加大。如低电平允许提高,灌电流可相应加大。P1P1、P2P2、P3P3口的每一位只能驱动口的每一位只能驱动4 4个个LSTTLLSTTL,即可提供的电流只有,即可提供的电流只有P0P0口的一半。所以,任何一个口要想获得较大的驱动口的一半。所以,任何一个口要想获得较大的驱动能力,只能用低电平输出。能力,只能用低电平输出。89C5189C51通常将通常将P0P0、P2P2口用作口用作访问外部存储器,所以访问外部存储器,所以P1P1、P3P3口只能用作输入口只能用作输入/输出口。输出口。P1P1、P3P3口的驱动能力有限,在低电平输出时,一般也口的驱动能力
23、有限,在低电平输出时,一般也只能提供不到只能提供不到2mA2mA的灌电流。当应用系统规模过大时,的灌电流。当应用系统规模过大时,可能造成负载过重,致使驱动能力不够,系统不能可可能造成负载过重,致使驱动能力不够,系统不能可靠地工作,所以通常要附加总线驱动器或其他驱动电靠地工作,所以通常要附加总线驱动器或其他驱动电路。路。多芯片应用系统中首先要估计总线的负载情况,以确定是否需多芯片应用系统中首先要估计总线的负载情况,以确定是否需要对总线的驱动能力进行扩展。要对总线的驱动能力进行扩展。图图13-213-2为为89C5189C51单片机总线单片机总线驱动扩展原理图。驱动扩展原理图。地址总线和控制总线的
24、驱动器为单向驱动器,并具有三态输出地址总线和控制总线的驱动器为单向驱动器,并具有三态输出功能。驱动器有一个控制端,以控制驱动器开通或处于高阻功能。驱动器有一个控制端,以控制驱动器开通或处于高阻状态。通常,在单片机应用系统中不采用状态。通常,在单片机应用系统中不采用DMADMA功能时,地址功能时,地址总线及控制总线可一直处于开通状态,这时控制端接地即可。总线及控制总线可一直处于开通状态,这时控制端接地即可。常用的常用的单向总线驱动器单向总线驱动器为为74LS24474LS244。图图13-313-3为为74LS24474LS244引脚图和引脚图和逻辑图。逻辑图。8 8个三态驱动器分成两组,分别由
25、个三态驱动器分成两组,分别由1 1和和2 2控制。控制。2总线的驱动总线的驱动图图13-213-2图图13-313-3图图13-413-4常用的常用的双向驱动器双向驱动器为为74LS24574LS245,图图13-413-4为其引脚图和逻辑图。为其引脚图和逻辑图。图图13-513-5是是89C5189C51单片机应用系统总线驱动扩展电路。单片机应用系统总线驱动扩展电路。P0P0口的双向口的双向驱动采用驱动采用74LS24574LS245,如图,如图13-513-5(b b)所示;)所示;P2P2口的单向驱动器采口的单向驱动器采用用74LS24474LS244,如图,如图13-513-5(a a
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- C51 单片机 应用 系统 设计 开发
限制150内