1、单片机选择方案单片机选择方案1.选择原则选择原则 a.尽可能选择自己熟悉的尽可能选择自己熟悉的,如如51内核类内核类 b.资源配备要适应需要资源配备要适应需要,留少量余量留少量余量 c.考虑开发难度考虑开发难度(第三方软硬件支持情况第三方软硬件支持情况 如各种驱动程序如各种驱动程序) d.货源情况货源情况 e.性能价格比性能价格比 单片机应用系统的设计单片机应用系统的设计- 概述概述2.技术指标方面技术指标方面a.运行速度运行速度,主频和总线吞吐量主频和总线吞吐量b.存储器配置数量和种类存储器配置数量和种类 Flash SRAM EEPROM c.I/O口数量口数量d.C/T,中断源中断源,串
2、行口配置情况串行口配置情况e.外部器件扩展能力外部器件扩展能力: I2C,SPI,USB等等f.封装形式及引脚数封装形式及引脚数g.电源电压电源电压,静态功耗静态功耗h.支持高级语言情况支持高级语言情况(C,C51,PLM等等)可与可与51配套使用的外围芯片节选配套使用的外围芯片节选通用并行通用并行I/O口:口:Intel 8255/8155 打印机、键盘、显示、开关量打印机、键盘、显示、开关量专用并行专用并行I/O口:口:8279 键盘键盘/显示显示 8253 定时定时/计数器计数器 8251 串行接口串行接口UART DS12887 实时时钟实时时钟串行接口调整电路:串行接口调整电路: M
3、C1488/1489 RS-232C MAX232 RS-232C MC3486/3487 RS-422 DS75176/MAX485/MAX1487 RS-485 A/D、D/A器件:器件:ADC0809 8位逐次比较式位逐次比较式 ADC1210 12位逐次比较式位逐次比较式 AD574 12位逐次比较式位逐次比较式 LM331 V/F转换式,最高频率转换式,最高频率100KHz AD650-654 V/F转换式,最高频率转换式,最高频率2MHz MC14433 双积分式,三位半双积分式,三位半 DAC0832 8位电流型位电流型D/A转换器转换器 DAC1210 12位电流型位电流型D/
4、A转换器转换器模拟开关电路:模拟开关电路: CD4051 单单 8选选1 模拟开关模拟开关 CD4052 双双4选选1模拟开关模拟开关 CD4053 三组二路双向模拟开关三组二路双向模拟开关 CD4066 4双向模拟开关双向模拟开关 CD4067 单单16选选1模拟开关模拟开关其他:几乎可以直接使用全部其他:几乎可以直接使用全部TTL、MOS、MC系列逻辑芯片系列逻辑芯片应用极限应用极限: 时钟频率时钟频率 12MHz 外部外部ROM 64K 外部外部RAM+I/O 64K (可超过此限制可超过此限制) 负载能力负载能力 4/8 个个TTL负载负载 (1TTL=8CMOS) I/O口线口线 1
5、4/32 中断源中断源 5/6 通讯波特率通讯波特率 62.5K bps (12MHz) 堆栈深度堆栈深度 128B I/O端口数端口数 64K51单片机的几个应用技巧单片机的几个应用技巧:大容量大容量RAM扩展扩展(用用I/O口模拟高位地址线分页寻址口模拟高位地址线分页寻址);构造构造2个数据地址指针个数据地址指针DPTR (利用利用P2锁存器和锁存器和Ri);用用T0/T1作为外部中断源作为外部中断源;用用ROM作为作为RAM使用使用(存储字库存储字库,表格等表格等);利用利用VPD引脚保护引脚保护RAM区数据区数据(外加电池外加电池);引脚引脚XTAL2,ALE可做系统其他电路时钟或脉冲
6、源可做系统其他电路时钟或脉冲源 (ALE信号不够准确信号不够准确);几种常用中低档单片机介绍几种常用中低档单片机介绍1. ATMEL 系列系列(美国美国Atmel公司公司) a. 51内核内核,基本型与基本型与8031引脚和指令全兼容引脚和指令全兼容 b. 主要区别主要区别:增加片内增加片内Flash 型型ROM, 因此因此: 简化硬件设计简化硬件设计,适应低功耗要求适应低功耗要求; 可加密可加密; 扩大可用扩大可用I/O资源数资源数,通常不必再扩展通常不必再扩展 c. 子型号子型号: 89C1051/2051 20脚脚,适合嵌入式应用适合嵌入式应用 89C51/52 40脚脚,4/8K 片内
7、片内ROM 89C55/58 40脚脚,16/32K 片内片内ROM Fmax=24MHz 电源电源2.7-7V , 功耗功耗20mA 此系列产品彻底淘汰此系列产品彻底淘汰8751芯片芯片d. 适用场合适用场合v直接替代直接替代8031,8051等等;v嵌入式控制器嵌入式控制器(如足球机器人如足球机器人);v多多CPU系统中的从机系统中的从机(通讯网络分站通讯网络分站);v便携式仪表便携式仪表. 设计要点设计要点: 避免使用外部并行器件避免使用外部并行器件(RAM或或I/O); 根据软件规模选择子型号根据软件规模选择子型号; 全部全部32条条I/O线可任意使用线可任意使用,但但P0口需外接上拉
8、电阻口需外接上拉电阻; 若需使用若需使用A/D,D/A器件器件,应考虑串行接口方式应考虑串行接口方式; 最小系统最小系统:单片机单片机+晶体晶体+复位电路复位电路2.PIC系列系列 (美国(美国Microchip公司)公司) 主要特点:主要特点: 运行快(约快运行快(约快4倍)倍) 工作电压低工作电压低 2.5-5V 低功耗低功耗, 典型电流典型电流2mA/15AA 精简指令集精简指令集 (33-58条条) 可有小封装可有小封装 (8P) 优势优势: 适合于便携式设备适合于便携式设备, 电池供电超小型设备电池供电超小型设备, 如单一功能的产品可如单一功能的产品可 考虑使用考虑使用8引脚器件引脚
9、器件. 代表性产品代表性产品 PIC 12C508/93. Motorola 系列系列主要特点主要特点: 采用锁相环技术采用锁相环技术,外外32K,内内32M,降噪声抗干扰降噪声抗干扰; 片上片上Flash型型ROM; 指令功能强指令功能强,16位堆栈指针位堆栈指针,支持支持C语言编程语言编程; 仿真器不通用仿真器不通用;代表性子系列代表性子系列: MC68HC08(99年年) 子型号举例子型号举例:MC68HC908GP32命名规则命名规则:MC 正规合格产品正规合格产品 68 Motorola 产品标识产品标识 HC 高速高速CMOS工艺工艺 GP 通用通用PC类类4.CYGNAL系列系列
10、(美国美国Cygnal公司公司)要点要点: 51内核内核 片内片内Flash (可多达可多达64K) 片内片内RAM 4K 8路路12位位A/D,2路路12位位D/A 8个个(4个个)8位位I/O口口 双串行口双串行口 I2C、SPI、SCI接口接口 2.7-3.6V供电供电 20MHz主频主频 100/64引脚封装引脚封装 交叉开关交叉开关(Cross Bar)和和Jtag 接口接口 支持支持C51编程编程应用潜力应用潜力a. 控制应用控制应用,高速采样和高精度数字量输出高速采样和高精度数字量输出; (广义上广义上,其其A/D资源也可以做开关量输入检测资源也可以做开关量输入检测)b. 多开关
11、量多开关量I/O; 如报警输入如报警输入,能量表脉冲信号采集能量表脉冲信号采集,逻辑控制等逻辑控制等c. 通讯中间环节通讯中间环节,可设计上下游独立的通讯接口可设计上下游独立的通讯接口;d. 片内存储器资源丰富片内存储器资源丰富,不必扩展不必扩展,系统结构紧凑系统结构紧凑;e. 装置小型化装置小型化.C8051F020功能框图功能框图5.Philips 系列系列(荷兰菲力浦公司荷兰菲力浦公司)典型机型典型机型 P89C668特点特点:51内核内核 带带16K/64K Flash存储器存储器 指令周期指令周期6t,比比51快快2倍倍资源资源: 4个个8位位I/O口口 3个个16位位C/T 4个中
12、断优先级个中断优先级 增强型增强型UART(帧错误检测帧错误检测,自动地址识别自动地址识别) 与与89C51系列全兼容系列全兼容 两个两个DPTR I2C串口串口 可编程计数器阵列可编程计数器阵列(PCA)101单片机测控前向通道单片机测控前向通道传感器、小信号放大电路传感器、小信号放大电路 前向通道前向通道输入数据采集通道输入数据采集通道1011传感器传感器传感器:一般指非电物理量与电量的转换,即传感器是将被传感器:一般指非电物理量与电量的转换,即传感器是将被 测的非电物理量,转换成对应电量的一种装置。测的非电物理量,转换成对应电量的一种装置。1012模拟信号放大模拟信号放大根据各种运放的特
13、点,运放可分为根据各种运放的特点,运放可分为4类类一、通用型(如一、通用型(如A741)二、高精度型(如二、高精度型(如OP07,OP37等)等)-失调参数小失调参数小三、斩波稳零型(如三、斩波稳零型(如7650)四、高输入阻抗型(四、高输入阻抗型(1071012,如,如LF347)第十章单片机应用系统的设计第十章单片机应用系统的设计V0仪用放大器仪用放大器 特点:高输入阻抗,高共摸抑制比,低失调。特点:高输入阻抗,高共摸抑制比,低失调。 程控放大器程控放大器 使用放大器应注意的主要问题使用放大器应注意的主要问题A. 供电制度供电制度B. 输出饱和问题输出饱和问题C. 泄放回路泄放回路D. 前
14、级的箝位保护前级的箝位保护E. 测量放大器的参数对称性及调整测量放大器的参数对称性及调整F. 周边电阻参数的选取周边电阻参数的选取(除比值外还考虑功耗除比值外还考虑功耗)G. 多级放大器的增益分配多级放大器的增益分配(高共模抑制者增益大高共模抑制者增益大)H. 设计设计PCB板时注意屏蔽和设置去耦电容板时注意屏蔽和设置去耦电容1013多路开关的选用多路开关的选用1、在选择多路模拟开关的速度时,要考虑到其后级、在选择多路模拟开关的速度时,要考虑到其后级 采样保持电路和采样保持电路和A/D的速度。的速度。 2、在精密数据测量时,需考虑模拟开关的传输精度问题,、在精密数据测量时,需考虑模拟开关的传输
15、精度问题, 如模拟开关漂移特性(性能稳定性)、开关导通电阻,如模拟开关漂移特性(性能稳定性)、开关导通电阻, 漏电流等,将会大大影响测量精度。漏电流等,将会大大影响测量精度。 如如4051,可进行多通道测量,零点、基准增益校正。,可进行多通道测量,零点、基准增益校正。 4051输出输出VEFIN选用注意事选用注意事项项10. 1. 4 采样采样/保持保持 为什么要采样保持?为什么要采样保持? 对模拟信号进行模拟数变换时,从启动变换到变换结对模拟信号进行模拟数变换时,从启动变换到变换结束的数字量输出,需要一定的时间,故必须在束的数字量输出,需要一定的时间,故必须在A/D转换开转换开始的将信号电平
16、保持住,而在始的将信号电平保持住,而在A/D转换结束后,又能跟踪转换结束后,又能跟踪输入信号的变化,故需加采样保持器。输入信号的变化,故需加采样保持器。是否要加采样保持器要看:模拟信号变化频率和是否要加采样保持器要看:模拟信号变化频率和A/D转换转换的孔径时间。的孔径时间。 采样保持原理电路采样保持原理电路 TT102 前向通道中的前向通道中的A/D转换器及接口技术转换器及接口技术 1021 A/D转换器的原理及分类转换器的原理及分类 A/D有两大类:有两大类:1、直接型、直接型A/D模拟量模拟量 数字代码数字代码2、间接型、间接型A/D模拟量模拟量 中间量(时间、频率等)中间量(时间、频率等
17、)目前常用的目前常用的A/D有三种类型有三种类型逐次逼近式、双积分式、逐次逼近式、双积分式、V/F变换式变换式 数字代码数字代码双积分式 1022 A/D的选择及应用要点的选择及应用要点一、选择要点一、选择要点1、如何确定、如何确定A/D的位数的位数A/D转换器的位数至少要比总精度要求的最低分辨率高转换器的位数至少要比总精度要求的最低分辨率高1位,对位,对8位机采用位机采用8位位A/D接口简单接口简单 一般为一般为8位(低分)位(低分)912位(中分)位(中分)13位以上(高分)位以上(高分)2、A/D的转换速率的转换速率转换时间:转换时间:A/D从启动转换从启动转换 转换结束的时间转换结束的
18、时间 积分型,电荷平衡型等转换速率较慢一般为积分型,电荷平衡型等转换速率较慢一般为ms级级. (温度、流量、压力等工业参数温度、流量、压力等工业参数) 逐次逼近型等逐次逼近型等 转换速率较快一般为几十转换速率较快一般为几十s级级(用于控制系统,声频等信号)(用于控制系统,声频等信号) 高速高速A/D转换时间为转换时间为20100 ns 另外,选另外,选A/D的转换速率要结合的转换速率要结合cpu的处理速度等因素。的处理速度等因素。如,按采样定理及实际要求:如,按采样定理及实际要求:若,一个周期波形采若,一个周期波形采10个点,转换数率为个点,转换数率为1s, 可处理信号的频率为可处理信号的频率
19、为100 kHZ。要在要在1s内完成数据的读、存、循环计数等处理很困难。内完成数据的读、存、循环计数等处理很困难。可能要用到可能要用到DMA技术技术3、工作电压和基准电压、工作电压和基准电压为保证转换精度:需要基准电源与工作电压要分开。为保证转换精度:需要基准电源与工作电压要分开。4、参考电压、参考电压利用对参考电压利用对参考电压REF(+),REF(-)施加不同的电压实现零点及施加不同的电压实现零点及量程的迁移。量程的迁移。 如传感器测量输出范围为如传感器测量输出范围为1.25 V3.75V 若若 REF(-)= 1.25V, REF(+) = 3.75V时时 转换的数字代码对应为转换的数字
20、代码对应为00FFH5.6 A/D转换电路的基准源问题转换电路的基准源问题 对于逐次比较式和双积分式来说对于逐次比较式和双积分式来说,因为其工作原理的因为其工作原理的需要需要,必须提供精确的电压基准必须提供精确的电压基准,通常在器件引脚上通常在器件引脚上标记为标记为Vref. 基准源的处理方法基准源的处理方法: A.某些器件本身具有内部基准源某些器件本身具有内部基准源,如如AD574. B.可以用高稳定度稳压器件搭建可以用高稳定度稳压器件搭建,如如LM336.TL431一、一、ADC 0809与与MCS一一51单片机的连接单片机的连接 10. 2. 3 各种类型各种类型A/D转换器接口技术转换
21、器接口技术二、二、12位位A/D转换器转换器AD574A与与MCS-51单片机的接口设计单片机的接口设计 三、积分三、积分A/D转换器及接口技术转换器及接口技术 四、四、V/F转换器及应用转换器及应用 1、 用用V/F转换器实现转换器实现A/D的方法的方法启动频率计数器启动频率计数器 f = D /T D 计数器,计数器,T 计数时间。计数时间。 T = DS / fs DS 定时计数器计数初值,定时计数器计数初值,fs- 基准频率。基准频率。 故故 f = D/DS * fs。 定时器定时器 基准频率基准频率 V/F 频率计数器 DATA BUS LM331实用电路图如下实用电路图如下:10
22、3开关量开关量输入通道及接口输入通道及接口1.数字量数字量(开关量开关量,脉冲量脉冲量)输入输入 即为二值信息即为二值信息,如开关状态如开关状态,指示灯亮灭指示灯亮灭; a. 输入通道输入通道b.基本输入方法基本输入方法输入前向通道举例:输入前向通道举例: 热电偶信号输入电路热电偶信号输入电路热电偶测温技术细节热电偶测温技术细节 热电偶产生微弱温差电势信号热电偶产生微弱温差电势信号,易受干扰易受干扰,用仪用放用仪用放大器进行信号放大大器进行信号放大,用点温度计用点温度计AD590或或PN结测冷端进结测冷端进行数字化补偿行数字化补偿.E(0,T)=E(0,t0)+E(t0,T) t0为冷端温度为
23、冷端温度1、输出接口隔离技术、输出接口隔离技术 为防止现场强电磁干扰或工频电压通过输出通道反串到为防止现场强电磁干扰或工频电压通过输出通道反串到测控系统,一般需采用通道隔离技术,常用的是光测控系统,一般需采用通道隔离技术,常用的是光-电隔离电隔离 即即 电电 光光 电转换电转换光电隔离其输出级分为光电隔离其输出级分为 三极管型三极管型单向可控硅型单向可控硅型 双向可控硅型双向可控硅型 10. 4 系统后向通道配置及接口技术系统后向通道配置及接口技术选用光电隔离器要注意以下几个参数选用光电隔离器要注意以下几个参数 导通电流和截止电流:导通电流和截止电流: 一般导通电流一般导通电流10mA左右左右
24、 频率响应:对高频信号频率响应:对高频信号 传输要考虑其频率特性传输要考虑其频率特性 输出端工作电流输出端工作电流: 光耦驱光耦驱 动能力,一般为动能力,一般为mA级。级。 过流会使输出端击穿。过流会使输出端击穿。输出端暗电流:越小越好输出端暗电流:越小越好隔离电压隔离电压注意:对光耦输入、输出注意:对光耦输入、输出 不能使用同一电源不能使用同一电源作用:光耦可实现隔离及作用:光耦可实现隔离及 电平转换作用电平转换作用2、继电器输出接口技术、继电器输出接口技术 完成中低压直流完成中低压直流 高压交流的过度高压交流的过度对继电器的使用要注意以下几个参数对继电器的使用要注意以下几个参数、线圈电源和
25、功率、线圈电源和功率直流或交流直流或交流 、额定工作电压,电流、额定工作电压,电流继电器正常工作时,线圈需要继电器正常工作时,线圈需要 的电压或电流。的电压或电流。 、接点负荷:如、接点负荷:如28(DC)10A,220(AC)5A 通过控制角通过控制角,控制可控硅导通程度,控制可控硅导通程度触发电压触发电压 1.5V左右左右 4、固态继电器输出接口技术、固态继电器输出接口技术 直流型直流型SSR开关量开关量输入驱动电流输入驱动电流15mA输入电压为输入电压为432V输出工作电压:输出工作电压:30180V3、可控硅接口技术、可控硅接口技术 交流型交流型SSR 输入电压输入电压432V 输入电
26、流输入电流500mA 通态压降通态压降2V 断态电流断态电流外加电源外加电源高些。高些。把稳压管换为把稳压管换为电阻也可以达到抑制电阻也可以达到抑制反电势的目的反电势的目的 适用于交流驱动的线适用于交流驱动的线圈,直流驱动的线圈圈,直流驱动的线圈抑制反电势。抑制反电势。五五、 反电势干扰抑制技术反电势干扰抑制技术 诸如继电器、电动机、电磁阀等大电感量的元件或设备。当电诸如继电器、电动机、电磁阀等大电感量的元件或设备。当电感回路的电流被切断时,会产生很大的反电势而形成噪声干扰。感回路的电流被切断时,会产生很大的反电势而形成噪声干扰。 10. 4. 2 单片机应用系统的软件抗干扰设计单片机应用系统
27、的软件抗干扰设计1. 数据采集中的软件抗干扰。数据采集中的软件抗干扰。(1).超值滤波法超值滤波法(2).算术平均值滤波法算术平均值滤波法(3).比较舍去法比较舍去法(4).零点误差及零点漂移零点误差及零点漂移的软件补偿的软件补偿2. 控制失灵的软件抗干扰控制失灵的软件抗干扰(1). RAM 数据冗余数据冗余(2). 软件冗余软件冗余3. 程序运行失常的软件抗干扰程序运行失常的软件抗干扰“看门狗看门狗” 、”软件陷阱软件陷阱 LJMP 0000H(02 00 00)” .10. 4. 3 软件开发(嵌入式系统)软件开发(嵌入式系统) 一一、高质量的编程高质量的编程 评估软件的质量评估软件的质量
28、 1、定量指标:如动态效率(执行速度),静态效率、定量指标:如动态效率(执行速度),静态效率 (ROM,RAM占用大小)执行后的运行结果。占用大小)执行后的运行结果。 便于验证(证明其正确性)便于验证(证明其正确性)便于维护便于维护2、定性指标:、定性指标: 便于调试(修改错误)便于调试(修改错误)衡量:衡量:1年还能读懂自己程序年还能读懂自己程序 他人能修改吗他人能修改吗二二、内存分配内存分配 全局变量被永久分配全局变量被永久分配 堆栈动态分配空间堆栈动态分配空间, 局部变量通常分配到堆栈中局部变量通常分配到堆栈中汇编语言中汇编语言中程序员:要对内部、外部程序员:要对内部、外部RAM、及、及
29、ROM的地址空间分配的地址空间分配要进行详尽的安排要进行详尽的安排C语言中语言中编译器在已知现有资源的(由进入编机器之前的一些对话编译器在已知现有资源的(由进入编机器之前的一些对话菜单)的情况下,自行地对菜单)的情况下,自行地对RAM、ROM地址空间进行安地址空间进行安排。但有时,也需要程序员进行人为的调整。排。但有时,也需要程序员进行人为的调整。 三三、自成文档的代码自成文档的代码 软件的维护:包括错误修改,增加新功能,优化速度或内存软件的维护:包括错误修改,增加新功能,优化速度或内存 大小,向新的硬件平台移植等。大小,向新的硬件平台移植等。 建立文档必须辅助软件的维护建立文档必须辅助软件的
30、维护 此处:文档化:仅指包括在软件内的注释此处:文档化:仅指包括在软件内的注释 注释有注释有2类读者类读者1类是客户类是客户 关心的是哪些是有效输入,结果输出,错误条件关心的是哪些是有效输入,结果输出,错误条件2类是同事类是同事 关心的是软件维护关心的是软件维护即软件的运行机制(如软即软件的运行机制(如软件如何工作,如何算法)件如何工作,如何算法) 对(使用者)客户对(使用者)客户注释包括:函数如何使用目的,如何传递参数,出现何种注释包括:函数如何使用目的,如何传递参数,出现何种错误,如何返回结果,这类注释应包含在文件中,和原型错误,如何返回结果,这类注释应包含在文件中,和原型定义在一起。定义
31、在一起。对软件维护的程序员对软件维护的程序员注释:解释函数如何工作,放在函数体内在中注释:解释函数如何工作,放在函数体内在中.注释应明确以下内容:注释应明确以下内容:模块目标模块目标输入参数输入参数 参数传递方法参数传递方法 合适的值范围(模块会做输入越界检查吗?)合适的值范围(模块会做输入越界检查吗?) 格式格式 输出参数输出参数参数传递方法格式参数传递方法格式四四 、 模块化软件开发模块化软件开发理由理由 1、重用软件模块、重用软件模块2、将复杂的系统划分、将复杂的系统划分3、可移植、可移植 模块模块模块化编程:将软件问题划分为独立模块,便于软件维护。模块化编程:将软件问题划分为独立模块,
32、便于软件维护。C语言模块语言模块五五 、将软件任务划分为模块将软件任务划分为模块 划分模块的原则划分模块的原则 使软件项目容易理解使软件项目容易理解 增加模块的数量增加模块的数量尽量减少模块间通信的信息尽量减少模块间通信的信息 减少相关性(耦合度)减少相关性(耦合度) 一般一般 全局变量全局变量 会导致模块的耦合会导致模块的耦合. 常见错误:在模块中执行不必要的操作,使以后的重用常见错误:在模块中执行不必要的操作,使以后的重用困难,因此有固定地址困难,因此有固定地址 一般被看作全局属性一般被看作全局属性编程规则,尽量少用编程规则,尽量少用goto语句语句 层次化软件系统层次化软件系统原则:位于
33、某层的模块能够调用本层或低层的模块原则:位于某层的模块能够调用本层或低层的模块,而不能调用高层模块。,而不能调用高层模块。 好处:将模块组织为层次,替换任何一层,不影响其他层,好处:将模块组织为层次,替换任何一层,不影响其他层,图中图中gateAPI(应用程序接口)(应用程序接口) 例例1. 8K RAM ,8K ROM, 4个个 I/O接口接口10.5应用实例应用实例系统扩展系统扩展例例2.16K ROM, 8KRAM, 8个个I/O器件器件此题的难度在于此题的难度在于:空余地址线减少空余地址线减少,设备增多设备增多.用多级译码法用多级译码法.OM的空间计算:的空间计算:A15 A14 A1
34、3 A12 A11 A1 A0 0 0 0 0 0 0 0 首地址首地址0000H 0 0 1 1 1 1 1 末地址末地址3FFFH 所以地址空间为所以地址空间为 0000H-3FFFH, 共共16K字节字节RAM空间计算空间计算: 0 1 X 0 0 0 0 首地址首地址4000H 0 1 X 1 1 1 1 末地址末地址5FFFH 所以地址空间为所以地址空间为:4000H-5FFFH各各I/O 端口地址计算端口地址计算:I/O1: A15 A14 A13 A12 A10 A9 A8 A7 A1 A0 1 1 X X 0 0 0 X 0 0 所以端口地址为所以端口地址为:C000H(X为无
35、关位为无关位,取取0) I/O2: 1 1 X X 0 0 1 X 0 0 1 所以端口地址为所以端口地址为: C100H/C101H 同理可得同理可得I/O3端口地址端口地址: C200H-C203H 其他其他I/O端口地址请同学自己写出端口地址请同学自己写出.3. 大容量存储器管理大容量存储器管理例例3 单片机系统中有单片机系统中有1片片128K字节的字节的RAM,可采用可采用I/O线模拟高位地址线的方法来解决寻址问题线模拟高位地址线的方法来解决寻址问题:例例3问题补遗问题补遗:l 若系统中的若系统中的RAM是是256K字节字节,当如何解决当如何解决?l 若系统中还有其他若系统中还有其他I
36、/O接口接口,怎样译码怎样译码?l 对分页操作情况对分页操作情况,软件上应如何进行软件上应如何进行?l 这种处理方法是否适用于这种处理方法是否适用于ROM?10.6应用实例单片机温度控制系统10.6.1硬件电路1. 温度检测和变送器温度检测和变送器2. 接口电路接口电路3. 温度控制电路温度控制电路过零触发电路311输出输出交流电压交流电压Q1、Q274LS00与非门与非门可控硅可控硅输出输出T0 中断:扫描键盘中断:扫描键盘/显示。显示。T1中断:采集温度及加热控制中断:采集温度及加热控制T0、T1外中断触外中断触发方式。发方式。P1.3光耦:通光耦:通可控硅触发可控硅触发 断断可控硅不触发
37、可控硅不触发10.6.2 步进电机控制系统步进电机控制系统v步进电机控制原理步进电机控制原理v步进电机控制程序设计步进电机控制程序设计v步进电机变速控制步进电机变速控制步进电机控制原理步进电机控制原理(步距角步距角,相相,拍拍)v三相步进电机的通电方式有:三相步进电机的通电方式有:(1)三相三拍通电方式:)三相三拍通电方式: ABCA。(2)三相双三拍通电方式:)三相双三拍通电方式:ABBCCAAB。(3)三相六拍通电方式:)三相六拍通电方式: AABBBCCCA。v按以上顺序通电,步进电机正转。按以上顺序通电,步进电机正转。v要使电机反转,将上述步进电机各相绕组的通电相序要使电机反转,将上述
38、步进电机各相绕组的通电相序反过来即可。反过来即可。v如三相三拍反转的通电方式为:如三相三拍反转的通电方式为:ACB A。+27VMLAMLBMLC1K1 5K1 5K1 5K1K1K74068031P1.0P1.1P1.2P2.3P2.0D7D0Q7Q0A11A8A7A0D7D0D7D02732CE OEGOEA LEP S EN图图10-1 单片机控制三相步进电机原理图单片机控制三相步进电机原理图节节 拍拍通电顺序通电顺序控制模型控制模型正转正转反转反转二进制二进制十六进制十六进制16A000000010125AB000000110334B000000100243BC000001100652
39、C000001000461CA0000010105步进电机控制程序设计步进电机控制程序设计v步进电机控制的任务就是:步进电机控制的任务就是:判断旋转方向判断旋转方向按顺序送出控制脉冲按顺序送出控制脉冲判断脉冲是否送完判断脉冲是否送完v正反转控制模型数据的存放单元见表正反转控制模型数据的存放单元见表10-2和表和表10-3,其,其中中26H和和2DH中存放模型结束标志中存放模型结束标志.表10-2 正转控制模型数据内存字节地址20H21H22H23H24H25H26H控制模型数据01H03H02H06H04H05H00H表10-3 反转控制模型数据内存地址27H28H29H2AH2BH2CH2D
40、H控制模型数据01H05H04H06H02H03H00H内存地址27H28H29H2AH2BH2CH2DH控制模型数据01H05H04H06H02H03H00HY置反转模型地址置反转模型地址恢复模型首址恢复模型首址保护现场保护现场设步长计数器设步长计数器置正转模型地址置正转模型地址输出控制模型输出控制模型返回返回恢复现场恢复现场是数据结束是数据结束?步数为步数为0?YYNNN转向标志为转向标志为1?图图10-2 程序延时控制程序流程图程序延时控制程序流程图 步进电机变速控制步步长长fcfL1L2L3图图10-3 变速控制过程变速控制过程设频率阶梯计数器设频率阶梯计数器设阶梯步长计数器设阶梯步长
41、计数器设置定时器设置定时器转向标志为转向标志为1?CPU开中断开中断CPU关中断关中断结束结束频率阶梯为频率阶梯为0?主程序主程序设置正转模型地址设置正转模型地址YN设设T0初值地址指针初值地址指针设置反转模型设置反转模型地址地址YNT0初值地址更新初值地址更新恢复模型首址恢复模型首址保护现场保护现场输出控制模型输出控制模型模型地址增模型地址增1赋升频赋升频T0初值初值恢复现场恢复现场模型结束模型结束?频率阶梯为频率阶梯为0?阶梯步长为阶梯步长为0?阶梯步长赋值阶梯步长赋值中断服务程序中断服务程序是升频是升频?返回返回赋降频赋降频T0初值初值YYYNNNNY图图10-4 变频控制程序流程图变频
42、控制程序流程图v编写变频控制程序作如下说明:编写变频控制程序作如下说明:(1)利用定时器)利用定时器T0延时,其初值存放在延时,其初值存放在EPROM的同一的同一页中。降频是升频的逆过程。页中。降频是升频的逆过程。(2)步进电机控制模型数据及存放地址(如表)步进电机控制模型数据及存放地址(如表10-210-5所示)。所示)。(3)在升、降频过程中,考虑步进电机惯性,要求每改)在升、降频过程中,考虑步进电机惯性,要求每改变一次频率,需持续运行一定步数,称频率阶梯步长。变一次频率,需持续运行一定步数,称频率阶梯步长。 表表10-4 标志位定义表标志位定义表 表表10-5 初值分配表初值分配表位地址
43、位地址标志内容标志内容 字节地字节地址址存储内容存储内容70H运行方式:运行方式:0代表恒速,代表恒速,1代代表变速表变速 1AH频率阶梯步长计数器频率阶梯步长计数器R2的值的值71H变速方式:变速方式:0代表降速,代表降速,1代代表升速表升速 1BH频率阶梯计数器频率阶梯计数器R3的的值值72H恒速转向:恒速转向:0代表正转,代表正转,1代代表反转表反转 1CH恒速段步长低恒速段步长低8位位73H升速转向:升速转向:0代表正转,代表正转,1代代表反转表反转 1DH恒速段步长高恒速段步长高8位位74H降速转向:降速转向:0代表正转,代表正转,1代代表反转表反转 1EH恒速段恒速段T0初值低初值
44、低8位位75H程序结束标志:程序结束标志:02代表程序代表程序结束结束 1FH恒速段恒速段T0初值高初值高8位位 单片机的内部资源结构、原理、应用编程及外单片机的内部资源结构、原理、应用编程及外围接口技术都已讲授完毕,大家有了开发系统的基围接口技术都已讲授完毕,大家有了开发系统的基本能力。本能力。 由于学时有限,且新接口层出不穷,有了基由于学时有限,且新接口层出不穷,有了基础知识和查阅资料的能力,教材后面内容到需要时础知识和查阅资料的能力,教材后面内容到需要时完全有能力自学。学习其他的嵌入式困难也不大了。完全有能力自学。学习其他的嵌入式困难也不大了。教学内容到此结束,欢迎提出宝贵意见。教学内容到此结束,欢迎提出宝贵意见。