图2.6所示为该A/D功能框图。
图2.6 ADC0功能框图
2.4.2 ADC设计
本系统需要对多个采样点进行采样,那么它需要设置多个输入端,先设置P1.5、P1.6、P1.7三个端口为采样端口,如果需要更多的端口进行采样,可以增加除P0.4、P0.5、P1.3、P1.4、P2.7这五个端口之外的P0.0~P2.7的任意19个端口。
本系统是12位的转换精度,但是为了提高传输效率和较少的数据缓存,所以再传输时系统只将转换完成后的最高8位进行传输,这样可以方便的进行传输并且进行数据的相关处理。
2.5 系统复位电路设计
对于任何微处理器,复位电路都是必需的。为了增强可靠性,有的处理器甚至包括多复位源。复位电路允许很容易地将控制器置于一个预定的缺省状态。处理器由于干扰等因素影响造成无法纠正错误的发生,此时最有效也是最必须的就是复位,只有这样才能避免更大损失的发生,
C8051F410内部包括了多种复位源,任何其中之一发生复位,都将发生以下过程:
1) CIP-51内核停止程序运行;
2) 特殊功能寄存器被初始化为默认的复位值;
3) 外部端口引脚被置于一个已知状态;
4) 中断和定时器被禁止。
复位后寄存器被初始化为预定值,具体的复位值请参照相关寄存器说明。在复位期间数据储存器的内容不变。但由于堆栈指针SP被复位,尽管堆栈中的数据未发生变化,其中存储的压栈信息实际已失去意义。
系统复位有多种方式,主要有:上电复位、掉电复位和VDD监视器、外部复位、失踪丢失检测器复位、比较器0复位、PCA看门口定时器复位、FLASH错误复位、智能时钟复位、软件复位。
本系统采用外部复位,即当C8051F410单片机的C2CK/RST引脚收到一个大于15us的低电平时会产生一次系统复位。复位引脚上应接一个上拉电阻和去耦电容,增强复位引脚的抗干扰性,电路图2.7如图所示[5,6,7]。其中VCC连接到MAX1615的电压输出端;RESET连接到单片机C8051F410的C2CK/RST端口。
图2.7 复位电路原理图
2.6 上位机与单片机之间串行通信模块设计
2.6.1 串口通信模块总体设计
C8051F410的UART0是一个异步、全双工串口,它提供标准8051串行口的方式1和方式3。在通用51串口的基础上又进行了功能优化,比如增加了可用时钟源减少了方式0。同时UART0具有增强的波特率发生器电路,有多个时钟源可用于产生标准波特率。接收数据缓冲机制允许UART0在软件尚未读取前一个数据字节的情况下开始接收第二个输人数据字节。UART0有两个相关的特殊功能寄存器:串行控制寄存器SCON0和串行数据缓冲器SBUF0。SBUF0用一个地址可以访问发送寄存器和接收寄存器。写SBUF0时自动访问发送,寄存器,读SBUF0时自动访问接收寄存器。
如果UART0中断被允许,则每次发送完成,SCON0中的TI0位被置1或接收到数据字节,SCON0中的RI0位被置1时,将产生一个中断。当CPU转向中断服务程序时硬件不清除UART0中断标志。中断标志必须用软件清除,此举允许软件查询UART0中断产生的原因:进而判断发送完成或接收完成。图2.8为UART0的原理框图。
图2.8 UART0原理框图
UART0可提供标准的异步、全双工通信,其工作方式为8位或9位,通过S0MODE位SCON0.7来选择。该串口可以经过RS-232电平转换后与上位PC机连接,同时还可具有串口的外设连接。典型的UART连接方式如图2.9所示。
图2.9 UART连接图
2.6.2 串行通信设计
由于上位机端与单片机之间的电压信号不匹配,所以必须经过一定的电平信号转换才能够实现串口通信。由于MAX3232的性能比较优良,所以本系统采用MAX3232芯片来实现电平信号的转换[8],根据MAX3232的技术手册,采用技术手册中的推荐接法,电路图如图2.10所示,其中TX、RX连接到C8051F410的串口通信的端口RX和TX;P1的2、3接口连接到上位机的九针串口DB-9的TxD、RxD端口。GND位系统电路板的公共接地端。关于MAX3232芯片的性能参数如下[9]: C8051F410单片机引信性能考核电路检测系统设计+源代码(6):http://www.youerw.com/jixie/lunwen_3491.html