基于c8051f021 单片机的测控终端设计毕业设计_第1页
基于c8051f021 单片机的测控终端设计毕业设计_第2页
基于c8051f021 单片机的测控终端设计毕业设计_第3页
基于c8051f021 单片机的测控终端设计毕业设计_第4页
基于c8051f021 单片机的测控终端设计毕业设计_第5页
已阅读5页,还剩55页未读 继续免费阅读

下载本文档

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

文档简介

1、 摘 要选题任务是基于C8051F021 单片机的测控终端设计。该测控部件用于火炮自动操瞄系统实验平台,负责向伺服系统发出位置或转速等控制指 令,实现闭环和开环控制。本文阐述了该测控终端的软硬件设计及调试过程。内容共五章,详细介绍了串行通信接口、模拟量输入与输出接口、人机接口和电源管理等几个模块的硬件电路设计及软件设计,经调试基本达到了预期设计要求。第一章介绍了本设计的总体任务。分别提出了硬件设计和软件设计的主要内容,及本人所作的工作。第二章是本设计所用单片机C8051F021 的简介及其外围电路的设计。第三章主要介绍了本测控终端的硬件设计。第四章主要介绍了本系统的PCB 设计。第五章主要介绍

2、了本系统的软件设计及调试。关键词:C8051F021,数字交叉开关,串行通信接口, 数模转换器(DAC),模数转换器(ADC),印制电路板(PCB) AbstractThe assignment of this research is to design an instrument for measuringand controlling which is used in the experiment system of artillery auto operating and aiming.It sends out command to the servo system for contro

3、lling in the process debugging the experiment system.This thesis is about the design and implement of the method of analog input and output channel and the circuits of communicating interface based on SCM C8051F021.It contains five chapters, introduces the programme and the circuits of serial commun

4、ication interface, analog input and output interface and the measuring of the pulse widthmodulated signals in detail.The design mostly achieves the purpose expected.In the first chapter, the total function that this task will achieve isgiven,including the hardware system,the program language and the

5、 debugging tool.Besides,it also involves the task that the writer has done.In the second chapter,it mainly introduces the characteristic andconfiguration of SCM C8051F021.In the third chapter,it introduces the hardware design of the wholesystem.In the fourth chapter,it stresses on the the design of

6、PCB.The fifth chapter emphasizes on the system debug.Key Words:C8051F021, Digital Cross Switch,Serial Communication interface, DigitalAnalogy Converter(DAC), Analog Digital Converter(ADC), Printed Circuit Board(PCB) 目录第一章 设计概述 (1)1.1 选题的研究内容(1)1.2 系统结构(2)1.3 硬件设计概述(3)1.4 软件设计概述(4)1.4.1 软件设计主要内容(4)1.

7、4.2 软件开发工具简介(4)1.5 本人所做的工作(5)第二章 C8051F021 概述及其外围电路设计 (6)2.1 C8051F021 的增强功能及引脚定义(6)2.2 I/O 端口初始化(8)2.2.1 I/O 端口功能简介(8)2.2.2 I/O 端口初始化的实现(9)2.3 单片机相关外围电路设计 (15)2.3.1 单片机复位电路 (15)2.3.2 JTAG 接口电路 (15)2.3.3 外部时钟电路 (16)2.3.4 内外部基准切换电路 (16)第三章 测控终端硬件设计(17)3.1 串口电平转换电路的设计 (17)3.1.1 RS232 串行通信简介 (17)3.2.2

8、串口电平转换电路的实现(18)3.2 液晶显示接口电路的设计(20)3.3 键盘接口电路的设计(22)3.4 模拟输入调理电路的设计(23)3.4.1 C8051F021 片内的ADC 简介 (23)3.4.2 ADC 输入调理电路的设计 (24)3.5 模拟输出接口的设计(25)3.5.1 C8051F021 的片内DAC(26) 3.5.2 DAC 输出电压调理电路的设计 (27)3.6 电源管理部分的设计(28)3.6.1 电源管理系统概述 (28)3.6.2 电源转换芯片简介及其应用 (29)3.6.3 电源管理部分设计总结(33)第四章 印制电路板(PCB)的设计(34)4.1 PC

9、B 的设计步骤 (34)4.2 系统原理图的准备 (35) 元件封装(35)4.2.2 原理图的抗干扰设计要点(38)4.2.3 网络表的生成及检错(38)4.3 绘制PCB 图 (39)4.3.1 布局(39)4.3.2 布线(39)4.4 PCB 设计总结 (41)第五章 系统软件设计及调试 (43)5.1 电路板基本测试 (43)5.1.1 电源转换电路测试(43)5.1.2 ADC 输入调理电路和DAC 输出调理电路的测试 (44)5.2 液晶模块驱动程序的设计及调试 (44)5.2.1 液晶模块状态初始化子函数dispini() (45)5.2.2 向液晶模块写数据子函数sendda

10、ta(uchar *x,h,k) (48)5.3 键盘输入并显示程序的设计及调试 (50)5.3.1 键的识别 (50)5.3.2 键的处理 (51)结束语 (52)致谢 (53)附录一、二参考文献 (57) 第一章 设计概述本课题的任务是设计一台用于火炮自动操瞄系统实验平台的测控部件。该测控部件以C8051F021 单片机为核心,主要功能模块包括:2 路串口,2 路模拟量输入输出通道,脉宽调制信号测量通道,液晶显示,键盘以及电源转换模块。1.1 选题的研究内容选题研究的控制系统,实现功能如下:(1) 可以通过键盘输入高低指令诸元与方位指令诸元,利用串行通信把指令传给炮控计算机,来实现伺服系统

11、的位置控制性能调试。同时,在伺服系统运转过程中,炮控计算机将身管的当前诸元不断地传给单片机并通过液晶屏进行显示。功能图见图。图1.1 闭环控制系统(2) 可以输出 10V 模拟电压信号,实现对电机正反向3000rpm 范围内的开环转速控制。功能图见图。图1.2 开环控制系统(3) 可以提供另一个串口与伺服系统实验台的其他设备进行信息通信。1.2 系统结构测控部件的组成框图如图1.3 所示。图1.3 测控部件的组成框图该系统可以分为六部分,分别为液晶显示部分,键盘输入部分,串行通信部分,模拟输入电平转换部分,模拟输出电平转换部分和电源管理部分。它的组成结构如图1.3 所示。(1)液晶显示部分主要

12、是将系统接收到的有关火炮基座角度,控制电机转速等数据显示给操作者,同时在键盘输入的时候也要将键盘输入的数据显示出来以确保输入正确、有效。(2)键盘输入部分主要是用来输入要求的控制电机转速,同时也要实现操作界面的切换功能。(3)串行通信部分主要是用来实现测控盒和其它设备之间的数据传输,其硬件核心是完成串口电平转换。(4)模拟输入电平转换部分主要是将倾角传感器传送过来的关于火炮基座倾斜角度的模拟量经过电平转换转化为与单片机相匹配的电压信号后送给单片机内部AD 转换器转换,然后再送入单片机内核进行处理。(5)模拟输出电平转换部分主要功能是将单片机内部DA 转换后的模拟量经过电平转换后再通过外部电机驱

13、动器驱动火炮的控制电机达到一定的转速,带动火炮转动一定的角度。(6)电源管理部分主要是将锂电池的输入电压()经过电压变换后,给其它各个部分提供合适的电源电压。1.3 硬件设计概述硬件设计主要包括单片机相关外围电路,串口电平转换部分,液晶显示部分,键盘输入部分,模拟输入调理部分,模拟输出调理部分,整个系统的电源管理部分,共七大部分。主要端口结构如图1.4 所示。(1)单片机相关外围电路包括复位电路,JTAG 接口电路,外部时钟电路,内外部基准切换电路。(2)液晶显示部分所使用的是点阵图形式的LCD 模块,它的数据线和单片机通过并行接口连接起来,达到快速传送数据的效果,另外还有三条控制线,需要单片

14、机提供11 个通用IO 口,本设计中单片机将P2 和P3 两个IO 端口配置为通用IO 端口提供给液晶显示部分。(3)本设计中所用到的键盘为2*2 的矩阵键盘,也通过并行的方式占用单片机的一个IO 端口P1。在键盘扫描程序中采用了简化硬件电路,采用行扫描和列扫描两次扫描的方式来得到键码。( 4)串口电平转换部分根据优先权交叉开关译码表将通信端口配置到,。(5) 模拟输入调理部分完成倾角传感器输出电压范围到单片机内部AD输入电压范围的转换, 此处两路调理输出到12 位ADC 的输入端口。(6) 模拟输出调理部分完成单片机DA 输出电压范围到电机工作电压范围的转换,此处两路12 位DAC 的输出端

15、口DAC0 和DAC1 的输出电压供给两路调理部分,经调理后供电机正常工作。(7)电源管理部分是系统的重要组成部分。这个系统是由一节可充电的锂电池(约)来供电,而锂电池提供的电压在其电量不同时也不同,所以所选的电源管理芯片要有范围输入的特点。各个部分所需要的电压也不一样,这就需要多种电源芯片配合使用,产生系统所需的各种电压,以实现给系统各个部分同时正常供电的功能。图1.4 本设计端口结构框图1.4 软件设计概述1.4.1 软件设计主要内容在设计过程中要利用调试工具对硬件电路进行调试,通过编程实现所要求的控制功能。软件设计要实现的功能如下:(1) 串行通信传输数据。包括数据的发送和接收。(2)

16、模拟量输入通道模拟量的采样及发送。(3) 模拟量输出通道数模量转换的实现。(4) 键盘输入高低、方位指令诸元。(5) 液晶屏显示姿态参数。1.4.2 软件开发工具简介整个设计中的调试工具为开发板自带的IDE(集成开发环境)。将其通过U-EC2(串行适配器)与装有C8051F020/1MCU 的在片JTAG 调试目标板连接,在系统内编程,可进行非插入式、全速的在线调试和在系统编成,不需要另外的目标RAM、程序存储器或者通信通道,即可实现程序调试。IDE 支持C 语言和汇编语言的源程序级调试,可单步运行(包括步进通过中断服务程序)和多步运行,运行至断点和有条件存储器点(数据断点),可进行寄存器数据

17、存储器以及程序存储器的检查与修改。本设计的编译器为Keil C51,已集成到IDE 中。Keil C 解决了传统的嵌入式系统开发所用汇编语言存在的一些问题,即汇编语言的可读性,可维护性及代码的可重用性都比较低;完全支持C 的标准指令和很多用来优化8051 指令结构的C 的扩展指令。所以,本设计中使用Keil C 对单片机编程。由于C 语言的结构性和模块化使程序有很好的可移植性,Keil C51 有以下优点:(1) 使编程者尽量少地对硬件进行操作;(2) 编译器可以自动完成变量的存储单元的分配,编程者可以专注于软件设计,对硬件知识要求不高;(3) 有利于产品中单片机的重新选型;(4) 可针对单片

18、机常用的接口芯片编制通用的驱动函数;可针对常用的功能模块、算法等编制相应的函数。1.5 本人所作的工作本课题是基于C8051F021 单片机的测控终端设计。本人所做的工作有:(1) 研究学习了C8051F021 单片机的结构、工作原理、开发技术,以及单片机的抗干扰技术;(2) 研究学习了Keil C51 单片机程序设计技术;(3) 研究学习了使用Protel 进行系统原理图绘制和PCB 板设计的基本方法,了解了PCB 制作过程中的电磁兼容性设计常识;(4) 完成了各功能模块的硬件设计,其中模拟输入输出调理部分在设计过程中进行过单独模拟实验并成功;(5) 使用Protel 完成整个测控终端原理图

19、和PCB 图的绘制,并且电路板制作成功;(6) 完成测控终端的硬件调试并基本成功,部分完成软件设计及调试。第二章 C8051F021 概述及其外围电路设计本系统使用的单片机是美国CYGNAL 公司的C8051F021。C8051F0 xx 系列单片机是集成在一块芯片上的混合信号系统级单片机,与普通的8051 单片机相比有以下几个重要的特点:(1) 速度快:高达 25MIPS 的速度,比标准8051 快10 倍左右,丝毫不逊于PIC、AVR 单片机。(2) 强大的模拟信号处理功能:有多达 16 路12 位或10 位ADC(速度为100kHz)或高达500kHz 的8 位ADC、两路12 位精度的

20、DAC、两路模拟比较器、基准电源、程控放大器和温度传感器。(3) 先进的 JTAG 调试功能:支持在系统、全速、非插入调试和编程,不占用任何片内资源。(4) 强大的控制功能:有多达32 位或64 位I/O 口线,所有的口线可以编程为弱上拉或推挽输出。更为独特的是具有数字 交叉开关阵列,可将内部系统资源定向到P0、P1 和P2,即可以把定时器、串行总线、外部中断源、AD 转换输入、比较器输出定向到P0、P1 和P2。(5) 丰富的串行接口:具有标准的全双工 UART、PHILIPS 或INTEL 标准的I 2 C/SMBus 串行总线及MOTOROLA 的SPI 串行总线。不仅覆盖了典型的串行通

21、信标准,而且功能更强大。(6) 存储器:有多达 64KB 的FLASH 存储器,其中的部分可以作为数据存储器用,同时片内可有多达4KB 的RAM 存储器。2.1 C8051F021 的增强功能及引脚定义C8051F021 是TQFP-64 封装的C8051F0 xx 系列单片机,芯片上有32 位数字I/O 口,其引脚图见图2.1 所示。它具有如下增强功能:(1) 真正 12 位100ksps、8 通道带可编程增益放大器的ADC;(2) 真正8 位500ksps、带可编程增益放大器的ADC;(3) 双 12 位可程控更新的DAC;(4) 5 个16 位通用定时器;(5) 具有 5 个捕捉比较模块

22、的可编程计数定时器阵列;(6) 片内看门狗定时器、VDD 监视器和温度传感器;(7) 多达 22 个中断源,可允许大量模拟和数字外设中断微控制器;(8) 多达 7 个复位产生源。图2.1 C8051F021 管脚图C8051F021 的典型工作电压是3V,体现了微功耗的特点。其所需数字电源及模拟电源电压范围都为,一般都提供3V 就可以。它的IO 端口也是3V 系统,但可耐5V 输入。所以整个单片机系统为3V 系统,设计中采用稳压芯片给单片机供电。C8051F021 的主要引脚功能如下: (1) 电源引脚:电源引脚分为数字电源引脚和模拟电源引脚。数字电源引脚VDD和模拟电源引脚AV+的输入均为+

23、3V;DGND 为数字地,AGND 为模拟地;VREF当被配置为输入时输入电压值作为单片机的电压基准,否则以单片机内部电压基准驱动该脚;VREFA 为单片机内部AD 转换器的参考电压输入。(2) 外部晶振引脚:XTAL1 和XTAL2 为外部晶振的引脚。在默认情况下单片机使用的是内部晶振。内部晶振频率可以通过对控制寄存器OSCICN 写入控制字设置为2MHz、4MHz、8MHz 和16MHz。外部晶振的使能可以通过控制寄存器OSCXCN 写入控制字来实现。(3) 模拟输入:AIN0.7 为模拟多路选择器的输入;CP0+、CP0-为比较器0 的同相及反相输入脚,CP1+、CP1-为比较器1 的同

24、相及反相输入脚。(4) 数字 IO 端口:,共32 位数字IO 线。(5) 模拟输出引脚:DAC0、DAC1 分别为单片机内部两个DA 转换器的输出。(6) 与 JTAG 有关的引脚:数字输入TMS,TCK,TDI,及数字输出TDO。(7) 其他:/RST 复位引脚,MONENVDD 监视使能。C8051F021 的MCU 框图如图。图2 .2 所示为C8051F021 的MCU 框图。2.2 I/O 端口初始化液晶显示与键盘输入接口部分涉及到单片机的IO 端口部分,以下首先重点介绍一下单片机IO 端口的初始化。2.2.1 I/O 端口功能简介C8051F021 的可编程数字I/O 引入了数字

25、交叉开关,其原理框图如图2.3 。图中内部数字信号和端口锁存器都被连接到了数字交叉开关上,通过对寄存器XBR0、XBR1 和XBR2 的设置来分配IO 端口。图2.3 IO 端口功能框图这些内部数字资源的优先级高低通过优先权交叉开关译码表来分配。优先权交叉开关译码表为每个IO 功能分配一个优先权,从顶端的SMBus 开始,当被选择时,它的两个信号将被分配到IO 端口0 的引脚0 和引脚1。译码器总是从端口0 开始按从低位到高位的顺序填充IO 位,然后是端口1;如果选择不用某个资源,则表中的下一个功能将填充这个优先权位置,这样就可以只选择设计中用到的功能,充分利用可用的IO 引脚,而未被分配的I

26、O 引脚则组合到一起,作为通用IO 端口使用。如图。2.2.2 I/O 端口初始化的实现IO 端口的初始化是按所需要的数字IO 功能在寄存器XBR0,XBR1 和XBR2中写入正确的值。每个端口都可以配置为漏极开路或推挽方式。当XBR2 中的WEAKUD 位为0 时,被配置为漏极开路的所有IO 端口都被允许为弱上拉,但该位不影响被配置为推挽方式的IO 端口。图2.4 优先权交叉开关译码表在液晶输出和键盘输入部分的设计中,要用到三个IO 端口P1,P2 和P3,其中P1 作为键盘与单片机的接口,P2 作为液晶的数据端口,P3 作为液晶的控制端口。以下首先介绍初始化过程中用到的各配置寄存器。(1)

27、 交叉开关寄存器XBR0图2.4 所示为IO 端口交叉开关寄存器XBR0 及其各位的说明。图2.5 交叉开关寄存器XBR0位7: CP0OEN:比较器0 输出允许位。0:CP0 不连到端口引脚。1:CP0 连到端口引脚。位6:ECIE:PCA0 计数器输入允许位。0:ECI 不连到端口引脚。1:ECI 连到端口引脚。位35:PCA0ME:PCA 模块IO 允许位。000:所有的PCA IO 不连到端口引脚。001:CEX0 连到端口引脚。010:CEX0,CEX1 连到2 个端口引脚。011:CEX0,CEX1,CEX2 连到3 个端口引脚。100:CEX0,CEX1,CEX2,CEX3 连到

28、4 个端口引脚。101:CEX0,CEX1,CEX2,CEX3.CEX4 连到5 个端口引脚。110:保留。111:保留。位2:UARTEN:UART IO 允许位。0:UART IO 不连到端口引脚。1:RXTX 连到2 个端口引脚。位1:SPI0OEN:SPI 总线IO 允许位。0:SPI IO 不连到端口引脚。1:MISO,MOSI,SCK 和NSS 连到4 个端口引脚。位0:SMB0OEN:SMBus 总线IO 允许位。0:SMBus IO 不连到端口引脚。1:SDA 连到P0.0,SCL 连到。(2) 交叉开关寄存器XBR1图2.5 所示为IO 端口交叉开关寄存器XBR1 及各位的说

29、明。图2.6 交叉开关寄存器XBR1位7:SYSCKE:SYSCLK 输出允许位。0:SYSCLK 不连到端口引脚。1:SYSCLK 连到端口引脚。位6:T2EXE:T2EX 允许位。0:T2EX 不连到端口引脚。1:T2EX 连到端口引脚。位5:T2E:T2 允许位。0:T2 不连到端口引脚。1:T2 连到端口引脚。位4:INT1E:/INT1 允许位。0:/INT1 不连到端口引脚。1:/INT1 连到端口引脚。位3:T1E:T1 允许位。0:T1 不连到端口引脚。1:T1 连到端口引脚。位2:INT0E:/INT0 允许位。0:/INT0 不连到端口引脚。1:/INT0 连到端口引脚。位

30、1:T0E:T0 允许位。0:T0 不连到端口引脚。1:T0 连到端口引脚。位0:CP1OEN:比较器1 输出允许位。0:CP1 不连到端口引脚。1:CP1 连到端口引脚。(3) 交叉开关寄存器XBR2图2.6 所示为IO 端口交叉开关寄存器XBR2 及各位的说明。图2.7 交叉开关寄存器XBR2位7:WEAKPUD:IO 端口弱上拉禁止位。0:弱上拉允许。1:弱上拉禁止。位6:XBARE:交叉开关允许位。0:交叉开关禁止。1:交叉开关允许。位51:未用。位0:CNVSTE:ADC 转换器动输入允许位。0:CNVSTE 不连到端口引脚。1:CNVSTE 连到端口引脚。(4) P0 端口寄存器:

31、图2.8 P0 端口寄存器位70:P0.7:0:端口0 输出锁存器位。0:逻辑低电平输出。1:逻辑高电平输出。(5) P0 端口输出方式寄存器(P0MDOUT):图2.9 P0 端口输出方式寄存器位70:P0MDOUT.7:0:端口0 输出方式位。0:端口引脚的输出方式为漏极开路。1:端口引脚的输出方式为推挽。(6) P1 端口寄存器:图2.10 P1 端口寄存器位70:P1.7:0:端口1 输出锁存器位。0:逻辑低电平输出。1:逻辑高电平输出。(7) P1 端口输入方式寄存器(P1MDIN):图2.11 P1 端口输入方式寄存器位70:P1MDIN.7:0:端口1 输入方式位。0:端口引脚被

32、配置为模拟输入方式。数字输入通路被禁止。引脚的弱上拉被禁止。1:端口引脚被配置为数字输入方式。读端口位将返回引脚的逻辑电平。(8) P1 端口输出方式寄存器(P1MDOUT):图2.12 P1 端口输出方式寄存器位70:P1MDOUT.7:0:端口1 输出方式位。0:端口引脚的输出方式为漏极开路。1:端口引脚的输出方式为推挽。端口P2 和P3 同P0,只有端口寄存器和输出方式寄存器,而没有输入方式寄存器。根据设计所实现的功能,正确写入各相关寄存器的控制字,完成I/O 端口的正确配置,才能顺利实现液晶显示和键盘输入功能。综上得到单片机与液晶屏连接的IO 端口初始化函数为:void config(

33、void) /单片机IO 端口初始化 WDTCN=0 xde;WDTCN=0 xad; /看门狗禁止XBR0=0 x00;XBR1=0 x00; /内部数字资源不配置到IO 端口XBR2=0 x40; /IO 端口弱上拉禁止,交叉开关允许P2MDOUT=0 x00; /P2 端口配置为漏极开路模式P3MDOUT=0 x00; /P3 端口配置为漏极开路模式OSCICN=0 x85; /使用频率为4MHz 的内部振荡器OSCXCN=0 x00; /禁止外部振荡器单片机与键盘连接的IO 端口初始化函数为:void initport(void) WDTCN=0 xde;WDTCN=0 xad;XBR

34、0=0 x00;XBR1=0 x00;XBR2=0 x40;P1MDOUT=0 x00;OSCICN=0 x85;OSCXCN=0 x00;2.3 单片机相关外围电路设计2.3.1 单片机复位电路C8051F021 有7 个复位源,本设计采用外部/RST 引脚复位。在/RST 引脚上加一个低电平有效信号,将导致单片机进入复位状态。同时提供一个外部上拉和对/RST 引脚去耦,以防止强噪声引起复位。如图2.13 所示。图2.13 复位电路2.3.2 JTAG 接口电路每个单片机都有一个片内JTAG 和调试电路。通过JTAG 接口,可以使用安装在最终应用系统上的产品单片机进行非侵入式、全速调试。JT

35、AG 接口电路如图2.14 所示。图2.14 JTAG 接口电路2.3.3 外部时钟电路C8051F021 支持外部振荡器,分为三种方式:晶体方式,RC 方式和C 方式。本设计采用C 方式,参数选择参考C8051F020 开发板。外部晶振电路如图所示。图2.15 外部晶振电路2.3.4 内外部基准切换电路为按需给片内AD 和DA 转换器提供精度更高的电压基准,设计了内外部基准切换电路,并采用跳线方便切换。电路如图2.16 所示。图2.16 内外部基准切换电路第三章 测控终端硬件设计本测控系统硬件部分包括六大功能模块:串口电平转换部分,液晶显示部分,键盘输入部分,模拟输入调理部分,模拟输出调理部

36、分,电源管理部分。以下具体介绍各部分的硬件设计。3.1 串口电平转换电路的设计本系统中,MCU 与外部设备的数据通信通过2 个RS-232 串行口完成。串口1 完成单片机与炮控计算机之间的数据通信:一方面单片机将高低和方位指令诸元通过该串口传送给炮控计算机,以控制伺服系统运转;另一方面在伺服系统运转过程中,炮控计算机将身管的当前诸元不断地传给单片机进行显示。串口2 是备用通信接口,可以同火炮自动操瞄系统中的其他串口设备进行数据交换。C8051F021 提供2 个UART。由于UART 与RS-232 的电平不一致,本系统中串行接口设计的核心问题就是通信电平的转换。将单片机UART 的TTL 逻

37、辑电平(逻辑0代表0.4V 以下,逻辑1 代表2.4V 以上)转换为RS232 电平(逻辑0 电平规定在+3V+25V 之间,逻辑1 电平则在-3V-25V 之间)。3.1.1 RS232 串行通信简介RS-232 标准是美国EIA(电子工业联合会)与BELL 等公司一起开发的1969年公布的通信协议。它适合于数据传输速率在020000b/s 范围内的通信。这个标准对串行通信接口的有关问题,如信号线功能、电器特性都作了明确规定,并广泛用于微机通信接口中。目前较为常用的串口有9 针串口(DB9)和25 针串口(DB25),本设计中采用9 针串口,如图31 所示。最为简单且常用的是三线制接法,即信

38、号地、接收数据和发送数据三脚相连,且直接用RS232。本系统中的串口1、串口2即采用这种接线方式。 图3.1 9 针串口图DB9 常用信号引脚定义如表3.1 所示。表3.1 DB9 常用信号引脚定义RS-232所使用的电缆通常均有每英尺4050pF的分布电容,该标准规定最大电容量为2500pF,所以其传输距离只能局限于15m(50英尺)的范围内,其数据传输速率上限只有20kbps。它的逻辑电平以公共地为对称,其逻辑“0”电平规定在+3V+25V之间,逻辑“1”电平则在-3V-25V之间。因而它不仅要使用正负极性的双电源,而且与传统的TTL等数字电路的逻辑电平不兼容,两者之间必须进行电平转换。由

39、于采用非平衡传输方式,接地问题显得特别重要,当传输电缆两端存在较大的地电位差时,它将与信号叠加而使逻辑0与1之间的实际过渡区变窄,从而有可能造成逻辑电平的误判而使数据传输出错。3.1.2 串口电平转换电路的实现(1)电平转换芯片本设计中采用SP3223E。它是单一电源供电,两路输入输出的RS-232 收发器。它的主要特性为: 15kV 静电保护(ESD)电压 3V5.5V 宽范围供电电压 1uA 典型待机电流 1000kbps 最大传输速率 90V/us 转换速率 自动关断功能 接收器输入阻抗 5K 图3.2 SP3223E 典型电路连接图它只需外加5 个0.1uF 的电容就可以在3.3V 或

40、5V 电源电压下实现TTL 电平与RS-232 电平的转换。典型电路如图3.2 所示。本设计采用3.3V 电压供电。芯片说明书指出,在一般情况下,0.1uF 的滤波电容(CBYPASS)就足够了,且滤波电容要尽可能的离芯片近一些。(2)通信接口电路电容值选好之后,按照典型电路图连接。按照交叉开关译码表(见图24)把UART0 的输出TX0 配置到,单片机的P0.0 引脚连到这个芯片的T1IN脚,就是把TTL 电平输入,进行转换以后,RS-232 电平就从T1OUT 脚输出给计算机。同样地,计算机给单片机发送数据时,RS-232 电平从芯片的R1IN 引脚输入,经过转换成TTL 电平从R1OUT

41、 脚输出给单片机,连到UART0 的接收脚。UART1 的发送和接收电路相应地连到第二路即可。这部分的硬件连接图如图3.3 所示。图3.3 串口电平转换硬件连接图3.2 液晶显示接口电路的设计为实现系统的数据显示功能,设计用到LCD 显示器。LCD 显示器按照其显示内容可分为字段式,点阵字符式和点阵图形式三种。字段式主要用来显示数字,如电子表的显示屏;点阵字符式的主要用来显示数字、字母和标点符号等可以用一个字节表示的字符;点阵图形式的除了可以显示字符外,还能显示各种图形和汉字。在实际应用中,把液晶显示器件与控制、驱动电路和PCB 线路板装配在一起就构成了液晶显示模块,它可以直接和单片机、计算机

42、相连,从而方便使用。本设计选用的是带中文字库的点阵图形液晶模块LCM128645ZK,按逻辑电压分为3V 和5V 驱动两种。由于本系统由锂电池供电且单片机为3V 系统,应低功耗和简化电路的要求,选用了3V 驱动的LCM128645ZK。LCM128645ZK 中文液晶显示模块的液晶屏幕分辨率为128*64,可显示四行,每行显示八个汉字。它为黄绿背光,模块逻辑电压为3V,模块电流为;其背光源电压为,电流50160mA。其引脚定义如表。引脚 名称 方向 说 明1 Vss X 地2 VDD X 逻辑电压3 V0 X LCD 亮度调整,外接电阻端4 RS I 选择寄存器(并行) 0:指令寄存器 1:数

43、据寄存器片选(串行) 0:禁止 1:允许5 R/W I 读写控制脚(并行) 0:写入 1:读输入串行数据(串行)6 E I 读写数据起始脚(并行) 输入串行脉冲(串行)7 DB0 I/O 数据线08 DB1 I/O 数据线19 DB2 I/O 数据线210 DB3 I/O 数据线311 DB4 I/O 数据线412 DB5 I/O 数据线513 DB6 I/O 数据线614 DB7 I/O 数据线715 PSB I/O 控制界面 0:串行 1:并行8/4 位16 NC X 未用17 /RST I/O 复位信号,低有效18 VR X LCD 亮度调节,外接电阻端19 LED+ I 背光正极20

44、LED- I 背光负极表3.2 LCM128645ZK 引脚说明由引脚说明看出,该液晶模块有8 条数据线和3 条控制线。设计中选择用端口P2 作为数据线,P3.0 接控制引脚RS,P3.1 接控制引脚R/W,P3.2 接控制引脚E。单片机与液晶模块连接的IO 端口在初始化时设置为漏极开路,且禁止弱上拉。这是因为如果使用单片机弱上拉的话,单片机内部相当于接了一个100K的上拉电阻,这个电阻有些大,在高电平3V 的情况下,上拉电流只有30 A,这样小的电流不足以驱动液晶模块,会导致显示的不正常,所以本设计采用了弱上拉禁止,在外电路中加上11 个10K 的上拉电阻以增大上拉电流。引脚“VR”和“V0

45、”之间必须接可变电阻(010k ),一端接VR,调整端接V0,另一端悬空,且可变电阻须调到显示区域的底色刚刚显示出来为止。+5V 电源经一二极管连到“LED+”引脚,提供背光电源,且加一跳线方便随时切断背光源,以降低功耗。另外将液晶模块的引脚PSB 和/RST 悬空即为高电平,相当于将液晶模块置于并行工作模式;/RST 是复位引脚,因设计中采用软件的方法来实现液晶模块的复位,故将其悬空。综上,确定液晶模块与单片机的接口电路如图3.4 所示。图3.4 液晶模块的接口电路3.3 键盘接口电路的设计在单片机应用系统中经常使用的键盘分为独立式和矩阵式两种。独立式实际上就是一组相互独立的按键,这些按键可

46、直接与单片机的IO 口连接,即每个按键独占一条IO 口线,接口简单。矩阵式键盘也称行列式键盘,因为键的数目较多,所以键按行列组成矩阵。本设计所选用的矩阵键盘规格是2*2 的,共有四条引线,和单片机的P1口连接。电路如图。图3.5 矩阵键盘与单片机的接口电路3.4 模拟输入调理电路的设计虽然C8051F021 内部集成有ADC,简化了模拟量输入通道的设计,但其输入电压范围与倾角传感器的输出范围不符,需要设计信号调理电路。因为片内两路ADC 完全一样,以下以ADC0 为例进行设计。3.4.1 C8051F021 片内的ADC 简介C8051F021 的ADC0 子系统包括一个9 通道的可编程模拟多

47、路选择器(AMUX0),一个可编程增益放大器(PGA0)和一个100ksps、12 位分辨率的逐次逼近寄存器型ADC。AMUX 中的8 个通道用于外部测量,而第九通道在内部被接到片内温度传感器。可以将AMUX 输入对通过编程配置为工作在差分或单端方式。有两个与AMUX 相关的寄存器:通道选择寄存器 AMX0SL 和配置寄存器AMX0CF。PGA 增益可以用软件编程为、1、2、4、8 或16。ADC0 的最高转换速度为100ksps,其转换时钟来源于系统时钟分频,分频值保存在寄存器ADC0CF 的ADCSC 位。有4 种转换启动方式,转换触发源有:1向ADC0CN 的AD0BUSY 位写1;2定

48、时器3 溢出(即定时的连续转换);3外部ADC 转换启动信号的上升沿,CNVSTR;4定时器2 溢出(即定时的连续转换)。3.4.2 ADC 输入调理电路的设计系统中倾角传感器的型号是AccuStar/DAS-20,它同时提供脉宽调制输出和模拟电压输出。ADC0 的输入来自它的模拟电压输出。下面是有关的性能指标: 量程: 20O 分辨率:O 电源电压:9V 灵敏度:100 毫伏/度 负载电阻(最小):10 千欧 0O 输出:1/2 电源电压可知0O 时的输出电压为。又由灵敏度和量程可以得出,正的最大角(+20O)时,电压值与0O 时的输出电压相差20100=2000 毫伏=2 伏,那么+20O

49、时的输出电压为,同理可得-20O 时的输出电压为。所以传感器输出电压的范围是2.5 到6.5 伏。因为ADC0 的基准电压为外部基准(或内部基准),所以在传感器与ADC 输入之间要加入调理电路。电压转换原理框图如图。ADC0 的分辨率是12 位,那么最低有效位代表的电压应该是()。又传感器的分辨率是O,灵敏度为100 毫伏/度,也就是它所能输出的最小电压为1001mV,可以看出,ADC0 12 位的分辨率可以满足转换的需求。图下面介绍调理电路的设计过程。设一路传感器输出电压为VIN0,经调理后输入ADC0 的电压为VO0。我们期望得到的方程是依据模拟电子电路基本理论设计运算电路如图3.7 所示

50、,列方程比较两式得到R19=R22=R26,取为470K;R27/R28=5/8,取R28=24K,R27=15K(由一个12K 电阻和5K 电位器组成,以留出调节余地)。在实际应用中,因传感器输出的信号不稳定且含高频噪声,故调理电路输入处增加一级电压跟随器达到信号缓冲的目的,输出处增加一阶阻容滤波(f=1/(2RC))。电路中的运放使用OP07。它是具有低输入偏移电压、低温漂性能的精密运放。它的偏移电压只有10uV,偏移电流只有。它还拥有高输入阻抗、高开环增益。它的电源电压范围较宽,可以是 3V 到 18V,也为我们提供了很大的方便。电路中运放电源电压是 12V。为增加运放零点的精确度和可调

51、性,我们在A7 反相输入端增加电位器来调零;又为减小干扰,我们为所有的运放正负电源配备一个0.1uF 的电容。图37 ADC0 输入电压调理电路3.5 模拟输出接口的设计在系统中,模拟电压输出信号用来对伺服系统进行开环控制。输出信号的范围为10V,对应电机的转速范围3000rpm。我们要求电机最低转速为2 圈,那么这时需要考虑单片机的片内DAC 的分辨率是否可以达到要求。也就是说DA 的一个最低有效位(LSB)所代表的电压(VLSB),是否可以满足电机转一圈所需要的电压(VR),假如VLS B 大于VR,那么DAC 的数字量输入即使只从0 x000变为0 x001,转换后的电压还是超过了电机转

52、一圈所需的电压,那么不管怎样,电机都不可能最少转一圈,而是比一圈要多。为了回答这个问题,首先要对相关内容加以了解。3.5.1 C8051F021 的片内DACC8051F021 有两路片内12 位电压方式数/模转换器 (DAC)。每个DAC 的输出摆幅均为0V 到(VREF-1LSB)。可以用对应的控制寄存器DAC0CN 和DAC1CN允许/禁止DAC0 和 DAC1。在被禁止时,DAC 的输出保持在高阻状态,DAC 的供电电流降到1A 或更小。每个DAC 的电压基准由VREF 引脚提供。C8051F021的VREF 引脚可以由内部电压基准或外部电压基准源驱动。内部电压基准电路由一个、15pp

53、m/(典型值)的带隙电压基准发生器和一个两倍增益的输出缓冲放大器组成。在环境温度为25时,内部基准输出电压的典型值为,而最大值为。它的精确度只有(),也就是2。如果采用外部电压基准,由精密参考电压芯片产生基准电压会非常精确。为了更方便调理电路的计算,另外外部基准的输入电压范围是1V 到(AV+)0.3V,本系统AV+为,所以采用MAX6225芯片产生精密的2.5V 参考电压作为外部基准电压,精确度可以达到。再来分析前面提出的片内DAC 分辨率可否达到要求的问题。由电机10V可达3000 转得到转一转所需的电压为10/3000。又DAC 是12 位分辨率,基准电压为,那么DAC 最低有效位代表的

54、电压VLSB 为。因为0.6 小于,所以可以达到控制电压的分辨率要求。另外,在本设计中,我们规定环境的温度是25到65这么一个范围。而电压基准的温度系数为15 106/,这样,随着温度的变化,基准电压会发生漂移,以内部基准输出电压为2.43V 计算,漂移的电压为15 106(6525),然而VLSB 为,那么漂移电压就相当于大约2 个最低有效位的电压,所以如果温度太高的话,可能造成转换的不准确。不过,一般情况下,实验都是在室温下进行的,所以可以忽略温度的影响。同样,由于片内两路DAC 完全一样,以下以DAC0 为例进行设计。3.5.2 DAC 输出电压调理电路的设计DAC0 转换采用外部电压基

55、准,也就是说,最大的数字量0 xfff 由单片机DAC0 转换,得出的电压是。然而控制电机的电压要求为10V,所以DA 输出电压调理原理框图如图。图下面介绍调理电路的设计过程。设一路DA 输出电压为VDA0,经调理后供给电机的电压为VOUT0。我们期望得到的方程是VOUT0 = (VDA0 4 2) 2 依据模拟电子电路基础理论设计运算电路如图3.9 所示。列方程:比较两式得到R45/R47=4,R45/R51=2,取R45=100K,R47=25K,R51=50K;R56/R57=2,取R57=10K,R56=20K(由一个18K 的电阻和5K 的电位器组成)。与ADC 输入调理同理,在A1

56、5 反相输入端增加调零电位器,且所有运放(选用OP07)正负电源均接一0.1uF 的电容。0V2.5V 0V10V -5V5V -10V10V图3.9 DAC0 输出电压调理电路设计之初,为兼顾电源管理部分的设计,提出过另一套使用单电源供电的运放的方案。但因为市场上的单电源运放多为5V 供电,而电机所需电压为10V,不能满足运放正常工作时的压差,且成本相对较高。而为确定前述模拟输入输出调理电路设计方案的正确性和可行性,我进行了两种模拟调试:(1)运用电子电路仿真软件EWB 对所设计的电路进行了理论分析和仿真,经过修改得出正确的结果。(2)按原理图用OP07 在面包板上搭了电路进行实验,调试结果

57、表明可以满足设计要求。3.6 电源管理部分的设计本系统的供电电源是一节可充电的锂电池, 锂电池供电电压为。根据本测控部件的功能设计,电源管理部分需要为各功能模块提供以下几种电源电压:(1) 单片机的逻辑电源电压,模拟电源电压,电流最大为12mA;(2) 液晶模块的逻辑电源电压,电流,背光源电源, 电流为50-160mA (可由5V 接二极管降压获得);(3) 串行通信的数字电源电压,所需要的电流为10A;(4) 模拟输入部分需要电源电压+12V 和-12V,所需要的电流仅为14nA;(5) 模拟输出部分的电源电压+12V 和-12V,所需电流也为14nA;(6) 为提高ADC、DAC 的转换精

58、度,设计中采用了外部+2.5V 基准电压源,也用于模拟输入输出调理电路中的偏移给定电压。综上所述,电源管理部分要提供的电压共有,+5V,+12V,-12V,+2.5V 五种。+3.3V 电压所要提供的电流共14mA,+5V 电压所要提供的电流共160mA, +12V 和-12V 各需提供最大10 mA 的电流,2.5V 共需提供3mA 的电流。在选择芯片的时候,不仅要考虑电压是否合适,还要考虑到所提供的电流能否满足要求。3.6.1 电源管理系统概述本设计中因需向系统提供多种电源,故选用多个电源转换芯片配合使用,以得到所有所需电源供系统正常工作。由此,电源转换芯片的选择应尤其慎重。电源管理芯片是

59、为了实现电源电压的升降压变换,提供精密的基准电压等一些电源变换功能的芯片。从变换的工作原理上可以将电源管理芯片分为开关电源控制器、线性电压调节器、电荷泵电压转换器等。设计过程中通过对多种电源芯片的比较,最终选定芯片得到整个电源管理系统的层次结构如图3.10 所示。图3.10 电源管理系统的层次结构图由图可知, 本设计一共用到了五种电源管理芯片, 分别为。其中MAX1771 属于升压型DC-DC 控制器,MAX765 属于DC-DC 反向器,MAX6225 属于2.5V 电压基准,AMS1117-3.3 和AMS1117-5 都属于三端线性稳压器。以下将逐个介绍这些芯片锂电池MAX6225MAX

60、765及它们的应用。3.6.2 电源转换芯片简介及其应用(1)MAX1771MAX1771 是12V 或可调、高效率、低IQ、升压型DC-DC 开关控制器。本设计中我们使用它的固定12V 输出。它的主要特点如下: 输入电压范围为 2V165V; 典型静态电流为 5mA; 输出电流达 0.5A,最高可达2A; 关断电流最大为5A; 所需供电电流最大为110A 高达 90%的转换效率;该芯片的管脚图如下。图3.11 MAX1771 管脚图该芯片的典型应用电路3.12 如图。应用中应特别注意几个外围电容,电感的耐压耐流值。图3.12 MAX1771 应用电路图(2)MAX765MAX765 是输出电

温馨提示

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

评论

0/150

提交评论