1、单片机系统应用指导单片机系统应用指导BTR一、概述一、概述u 单片机属于超大规模集成电路,单片机系统在时钟脉冲作用下,按节拍顺序执行用户编制的软件程序,从而实现相应的逻辑功能。u 显然,由于有软件的参与,利用单片机可以实现复杂的逻辑功能,使用也很方便、灵活。u 其缺点是由于程序的执行是按节拍进行,随着控制复杂性的增加,程序也将变得复杂,从而导致执行时间增加,系统速度下降。u 因此,单片机只适合工作速度要求不高,但需要对信息作相对复杂处理的场合使用。另外,单片机的应用还需要有相应的软件开发平台支撑 。单片机系统特点单片机系统应用指导单片机系统应用指导BTR在全国大学生电子设计竞赛中,几乎所有竞赛
2、题的设计都会用到单片机系统;依据单片机系统在设计中的作用和地位,有三种可能的情况:二、单片机系统在竞赛题中应用二、单片机系统在竞赛题中应用单片机系统应用指导单片机系统应用指导BTR1.很多赛题以单片机系统为核心进行设计,主要功能由单片机系统完成,如:u测量类的“简易逻辑分析仪”、“数字式工频有效值多用表”等;u数据采集类的“数字化语音存储与回放系统”、“多路数据采集系统”等;u控制类的“悬挂运动控制系统”、 “简易智能电动车”等。u电源类的“简易数控直流电源设计”、“数控直流电流源设计”等。在这类赛题中,单片机系统完成的主要功能有:u信号的采集、输入控制;u信号的存储、运算、分析、判断;u信号
3、的输出控制;u人机交互功能;u多机通讯功能等。单片机系统应用指导单片机系统应用指导BTR2.有些赛题需要单片机系统与专用芯片或可编程器件结合,完成设计要求,如:u信号源类的“正弦信号发生器设计”、“实用信号源设计”等;u无线电类的“调频收音机设计”、“单工无线呼叫系统设计”等;u测量类的“简易数字储存示波器”、 “简易数字频率计”等。u电源类的“三相正弦波变频电源设计”、“开关稳压电源”等。在这类赛题中,单片机系统完成的主要功能有:u信号的输入、输出辅助控制;u信号的存储;u人机交互功能;u多机通讯功能等;u信号的处理过程由专用芯片或可编程器件完成。单片机系统应用指导单片机系统应用指导BTR3
4、.还有少量的赛题单片机系统仅起一个辅助作用,主要功能由纯硬件电路完成,如:u放大器类的“测量放大器设计”、 “实用低频功率放大器设计”等。在这类赛题中,单片机系统完成的主要功能有:u信号的辅助控制;u人机交互功能;u主要功能由纯硬件电路完成。单片机系统应用指导单片机系统应用指导BTR 单片机系统是一个软、硬结合的系统,系统功能的实现既有硬件设计任务,也有软件设计任务。因此,在进行系统软、硬件设计之前,首先要对系统功能进行软、硬件划分; 单片机系统的硬件与软件之间有密切的相互制约的联系,硬件和软件具有一定的互换性; 由硬件来完成一些功能可以提高工作速度,减少软件工作量;由软件来完成某些功能,可降
5、低硬件成本、简化电路,提高系统可靠性; 可根据系统的运行速度、成本、可靠性和研制周期等要求来确定软、硬件功能的划分。三、单片机系统功能划分三、单片机系统功能划分 单片机系统应用指导单片机系统应用指导BTR1. 根据运行速度要求 在绝大多数单片机系统中,划分软、硬件功能往往是由系统的运行速度决定; 例如,单片机的时钟频率一般在612MHz左右,执行一条指令至少需要1s,而完成任何一项工作需要若干条指令,因此比数字逻辑电路(无论是组合电路还是时序电路)都慢得多; 如果某一任务的执行时间要求少于10s,就必须采用硬件电路实现。否则,如采用确能完成此项任务的高速单片机系统,则会造成浪费。单片机系统应用
6、指导单片机系统应用指导BTR2. 根据成本要求 单片机系统研的制费用包括硬件和软件费用,软件的费用不仅是设计师所花费的脑力劳动,还有各种调试工具、消耗品的费用; 软件费用的特点是研制费用昂贵,复制费用低廉; 在批量生产的产品研制中,应尽可能利用软件代替硬件,降低成本; 小批量或单件产品不宜采用软件代替硬件办法,这会增加软件研制费用; 直接利用已成熟原理或软件来替代硬件不受此限。单片机系统应用指导单片机系统应用指导BTR3. 根据可靠性要求 硬件线路越复杂,系统可靠性就越差; 采用软件替代硬件功能,是提高可靠性的一个好办法; 在一些特殊场合,如军用及各种恶劣环境中,往往采用硬件冗余线路来提高系统
7、可靠性。4. 根据研制周期要求 为了加快单片机系统的研制速度,应尽量考虑采用各种标准软硬件或利用已有成熟的软硬件来完成系统的功能,而不必拘泥于前面所述细节。单片机系统应用指导单片机系统应用指导BTR1. 单片机系统组成单片机系统基本系统(信号处理)通道接口(信号传输)最小系统基本系统扩展前向通道后向通道人机通道相互通道四、单片机系统硬件设计四、单片机系统硬件设计 单片机系统应用指导单片机系统应用指导BTRu MCS51系列单片机由8个部件组成:微处理器(ALU)、数据存储器(RAM)、程序存储器(ROM/EPROM)、I/O口(P0P3)、串行口、定时/计数器、中断系统及特殊功能寄存器(SFR
8、)。2.了解单片机的主要应用特性 片内结构 单片机系统应用指导单片机系统应用指导BTR 存储空间 存储空间(内部、外部)程序存储器空间数据存储器空间I/O空间u MCS51系列单片机有三维存储空间:u 程序存储器空间:使用MOVC A,ADPTR等指令;u 内部数据存储器空间:使用MOV A,DIRECT等指令;u 外部数据存储器和I/O空间:使用MOVX A,DPTR等指令。单片机系统应用指导单片机系统应用指导BTRu 时序是指信号变化的先后关系和时间要求;u 在进行单片机系统扩展时,主要要解决的问题就是接口的时序配合问题;u 时序图中给出的主要参数有:地址建立时间tSA,地址保持时间tHA
9、,数据建立时间tSD,数据保持时间tHD,读信号脉冲宽度tRD和写信号脉冲宽度tWR等。 外部存储器读写时序 单片机系统应用指导单片机系统应用指导BTR3.掌握单片机系统接口技术u 当单片机片内集成的功能单元不能满足应用需要时就必须进行基本系统扩展;u 扩展的内容包括程序存储器(ROM/EPROM)扩展、数据存储器(RAM)扩展、输入/输出口(I/O口)扩展、定时/计数器(T/C)扩展、中断系统扩展及其他特殊功能扩展;u 扩展的方法是以接口电路为桥梁,连接CPU与外围芯片或外部设备u 扩展的途径是通过单片机的并行总线、串行总线或I/O口进行扩展。 概述 单片机系统应用指导单片机系统应用指导BT
10、R 接口的功能 u 接口是CPU与外界连接的电路部分,是CPU与外界进行信息交换的中转站;u 单片机外围扩展电路芯片大多是一些常规芯片,因此扩展电路及扩展方法都较为典型、规范;u 但也有一些外设不能直接与CPU相连,必须通过接口电路使CPU与外设之间达到最佳耦合与匹配;u 接口一般有如下功能:数据缓冲功能、设备选择功能和信号转换功能。单片机系统应用指导单片机系统应用指导BTR 信号锁存与缓冲 u 信号的锁存与缓冲的目的是解决主机高速与外设低速的矛盾,避免因速度不一致而丢失数据。u 锁存器的作用是把输入信号锁存起来,等待外设读取;u 缓冲器的作用是在需要时通过选通信号来读取外设提供的信息;u 常
11、用的锁存器有74LS273,74LS373,74LS374,74LS377等,缓冲器有74LS240,74LS241,74LS244,74LS245,74LS367等。CPU锁存器缓冲器外设DDDCLKEN单片机系统应用指导单片机系统应用指导BTR 地址译码 u 单片机系统中通过并行总线扩展的芯片有多种,同一种芯片也可能有多片,而CPU在同一时间里只能与某一芯片交换信息,这就要借助于接口中的地址译码电路对扩展芯片进行寻址,只有被选中的芯片或单元才能与CPU进行数据交换或通信u 译码电路直接确定了每个芯片在单片机访问时的唯一编号(接口地址);u 单片机系统常用译码方式有三种:直接译码、译码器译码
12、和完全地址译码。单片机系统应用指导单片机系统应用指导BTRu 是指不采用专门的译码电路,直接利用单片机地址总线的高位输出作片选信号的地址译码方式;u 直接译码电路的连接较为简单,但许多地址空间因可能使两片以上外设同时被选中而不能使用,存储空间浪费严重;u 一般用在需要译码信号不多的场合。v直接译码8K RAM(1)CS8K RAM(2)CS8K RAM(3)CSA12A0A15A14A13单片机系统应用指导单片机系统应用指导BTRu 是指利用译码器进行地址译码的方式;u 例如A15A13经3/8译码器译码,可产生8个地址连续的片选信号。当需要更多的片选信号时,可采用级联扩展技术;u 译码器译码
13、可获得几个地址连续、大小一样的片选信号;级联扩展译码则可产生更多片选信号,各级之间片选信号对应地址范围大小不同。v译码器译码A15A14A13CS0CS7C Y0BA 3/8译码器(1)EN Y7 C Y0BA 3/8译码器(2)EN Y7 A12A11A10CS5CS8CS15单片机系统应用指导单片机系统应用指导BTRu 是一种译码范围与实际需要完全一致的译码方式,又有固定式和开关式两种;u 完全地址译码有较高的存储空间利用率,开关式译码电路可根据需要调整接口地址,防止地址冲突,但电路相对复杂,一般用于计算机电路。v完全地址译码A9.A3A2A1A0CS&11VccA9.A21010CSP7
14、. COMP.P0Q7 P=QQ6Q5Q4Q3Q2Q1Q0单片机系统应用指导单片机系统应用指导BTRu 由于扩展芯片所能提供的状态信号和它所需要的控制信号往往与单片机的总线信号不兼容,所以信号转换不可避免;u 信号转换包括CPU信号与外设信号的逻辑关系上、时序配合上、以及电平匹配上的转换;u 信号的转换可以通过组合逻辑电路和时序逻辑电路来实现。 信号转换单片机系统应用指导单片机系统应用指导BTRu 单片机最小系统是指能使系统运行的最小配置电路;u 大多数单片机芯片内部都缺乏晶振电路和复位电路,因此,最小系统的组成中一般都包含晶振和复位电路;4.最小系统组成 单片机系统应用指导单片机系统应用指导
15、BTR5.单片机基本系统扩展 u 在单片机系统中,常用的扩展芯片主要有程序存储器、数据存储器、I/O口,以及其他专用功能芯片如定时/计数器、中断控制器、通信控制器等。u 典型单片机基本系统扩展如图所示。该系统中除了包括必需的时钟电路和复位电路以外,还扩充了一片2764作为外部程序存储器,一片6264作为外部数据存储器,一片2864作为掉电保持的外部数据存储器以及用74LS245和74LS273扩展的简单I/O口。单片机系统应用指导单片机系统应用指导BTR单片机系统应用指导单片机系统应用指导BTR5.单片机系统通道设计u 前向通道是被测对象信号输出到单片机CPU信号输入的通道,其结构形式取决于被
16、测对象的环境和输出信号的类型、数量、大小等;u 对于模拟量信号,应将小信号放大到能满足A/D转换、V/F转换要求的输入电压;u 对于频率信号和开关信号,能满足TTL电平要求时可直接接入单片机的I/O口、扩展I/O口或中断入口,否则也应通过放大、整形变换成TTL电平的方波信号后再送入单片机系统。 前向通道设计单片机系统应用指导单片机系统应用指导BTRv对于频率量和开关量u 单片机系统应留有足够的输入口线,例如用单片机芯片提供的I/O口,或通过缓冲器74LS245、可编程I/O扩展芯片8255、8155等提供扩展I/O口。v对于模拟量u 一般考虑用A/D转换器实现模拟量到数字量的转换;u 根据应用
17、场合不同,可以准备普通A/D(如ADC0809、ADC0804等),高精度A/D (如AD574、MAX144等),或高速A/D(如AD9224、TLC5510等)。单片机系统应用指导单片机系统应用指导BTR 后向通道设计u 后向通道是单片机实施控制运算处理后,对控制对象的输出通道接口;u 单片机输出的数字信号形态主要有开关量、二进制数字量和频率量,可直接用于开关量、数字控制系统及频率调制系统;u 对于模拟量控制系统,应通过数/模转换输出模拟量控制信号。单片机系统应用指导单片机系统应用指导BTRv开关量、二进制数字量和频率量u 单片机系统应留有足够的输出口线,例如用单片机芯片提供的I/O口,或
18、通过锁存器74LS273、可编程I/O扩展芯片8255、8155等提供扩展I/O口。v对于模拟量u 一般考虑用D/A转换器实现数字量到模拟量的转换;u 根据应用场合不同,可以准备普通D/A (如ADC0832等),高精度D/A (如MAX539等),或高速D/A (如TLC7528等)。单片机系统应用指导单片机系统应用指导BTR 人机通道设计u 人机通道有人机对话功能,它包括人对应用系统的状态干预、数据输入以及应用系统向人报告运行状态与运行结果;u 人机通道中最常用的输入设备是按键和键盘,拨码盘是对系统置入数据的一种比较廉价、可靠的方法;u 人机通道中最常用的输出设备有各种报警指示灯、LED/
19、LCD显示器以及打印机等。单片机系统应用指导单片机系统应用指导BTRv键盘与LED数码管显示单片机系统应用指导单片机系统应用指导BTRvLCD液晶显示组件单片机系统应用指导单片机系统应用指导BTRv微型打印机单片机系统应用指导单片机系统应用指导BTR 相互通道设计u 相互通道是指单片机系统之间或单片机与微型机、微处理器实现通信的通道接口;u 在较大规模系统中不可避免地要采用多机形式,而单片机在结构上已为实现多机系统提供了很好条件。单片机系统应用指导单片机系统应用指导BTRu 多机系统有两种典型的结构形式:主从分布式和串行总线式;u 主从分布式结构是目前单片机系统构成较大规模测控系统的典型结构;
20、u 串行总线形式结构中的每个单片机或CPU都联在一个串行总线上,各个应用系统的优先、主从关系由多机系统的软、硬件决定。v结构形式单片机系统应用指导单片机系统应用指导BTR6.竞赛用单片机系统u 系统硬件由学生自己设计、组装、调试;u 可用于简单的控制类竞赛题,如: “简易智能电动车”,或仅需要单片机做辅助功能的放大器类竞赛题,如“测量放大器设计”等 。 最小系统89C51最小系统独立式按键字符型LCD显示输入口输出口单片机系统应用指导单片机系统应用指导BTRu 系统硬件可购买成品,也可由教师设计,由学生自己组装、调试,并掌握其用法;u 可用于一般竞赛题中,如:测量类、数据采集类、控制类、电源类
21、等 。 通用系统89C51行列式键盘LED数码管显示图形LCD显示接口开关量输入口键盘与LED显示接口A/D转换器程序存储器数据存储器开关量输出口D/A转换器串行通信接口I/O扩展接口图形LCD显示组件单片机系统应用指导单片机系统应用指导BTR1. 概述五、单片机系统软件设计五、单片机系统软件设计 u 单片机应用系统的开发除了必须注意硬件电路的正确设计与连接外,更重要的工作是系统软件开发。 u 在性能指标允许的条件下,有经验的设计者往往采用最简单的硬件线路加上巧妙的软件处理方法,来简化甚至是完全代替原来由硬件线路实现的功能。单片机系统应用指导单片机系统应用指导BTR2. 软件设计原则u 软件结
22、构清晰、简捷、流程合理;u 各功能程序实现模块化、子程序化。这样既便于调试、连接,又便于移植、修改;u 程序存储区、数据存储区规划合理,既能节约内存容量,又使操作方便;u 运行状态实现标志化管理,各功能程序运行状态、运行结果以及运行要求都设置相应的状态标志以便于查询。程序的转移、运行、控制都可通过对状态标志条件的判断来控制;u 实现全面软件抗干扰设计,以提高应用系统的抗干扰能力。单片机系统应用指导单片机系统应用指导BTR3. 软件编程工具u 可以用C语言程序进行编程。用C语言编程的特点是程序短,特别适合在数值计算及非实时控制中使用,可以方便地编写出大规模的应用软件程序。u 也可以用汇编语言编程
23、。用汇编语言编制的程序运行效率最高,适合在实时响应要求较高的场合,但编程比较麻烦,容易出错,程序也比较冗长。u 最理想的编程方法是用C语言和汇编语言进行混合编程,这样可以发挥C语言和汇编语言各自的优点,但对编程者掌握编程技术的要求就更高。单片机系统应用指导单片机系统应用指导BTR4. 竞赛前应准备的软件模块u 键盘输入u LED显示u 模拟信号输入u 模拟信号输出u 串行口通信u E2PROM读写u 打印输出u 液晶显示 准备的软件模块应与使用的单片机硬件系统配套,主要包括: 将上述软件子程序在某一具体项目中与主程序联接运行,验证其正确性。经验证后的子程序,方可作为竞赛备用子程序。单片机系统应用指导单片机系统应用指导BTR介绍完毕介绍完毕谢谢!谢谢!浙江大学电气工程学院 阮秉涛2008年7月