山东大学学士学位论文
10) 硬件看门狗(WTD),高速SPI通讯接口,全双工异步串行口通讯(UART)
兼容普通8051串口。
11) 通用I/O口,可以设置为4种工作模式,有准双向口/弱上拉,仅为输入/高
阻,开漏,推挽/强上拉。每个I/O口驱动能力均可达20mA,但整个芯片最大不得超过55mA.
选择STC12C5410AD单片机为主控器件,单片机的片上资源能满足系统的功能要求,减少了外围器件,加强了系统的抗干扰能力,提高系统稳定性,降低了开发成本和开发难度。 2.6.2 单片机系统电路设计
1) MMA7260Q与单片机的接口。
单片机STC12C5410AD的P1为通用数字I/O与12位AD转换器模拟输入通道复用端口。本文中使用MSP430F1612的P1.0/ADC0、P1.1/ADC1、P1.2/ADC2作为模拟输入通道,分别与加速度传感器MMA7260Q三轴向模拟信号输出XOUT、YOUT、ZOUT连接,实现加速度信号的采集;。MMA7260Q与STC12C5410AD接口电路如图2.9所示。
/SleepModeMMA7260XOUTYOUTZOUTP2.7STC12C5410ADP1.0/ADC0P1.1/ADC1P1.2/ADC2 图2.9 MMA7260Q与MSP430接口示意图
2) 74HC595与单片机接口
单片机的 SPI由MISO(与P1.6共用)、MOSI(与P1.5共用)、SCLK(与P1.7)和/SS(与P1.4共用)4根信号线构成。
由于只是选择主机模式故/SS信号线不用。74HC595与单片机接口电路如图2.10所示
11
山东大学学士学位论文
/GRCKU274HC595SERSRCKP1.5P1.6P20P21U1P22P23/GRCKU374HC595P1.5P1.6SERSRCKSTC12C5410ADP1.5/MOSIP1.6/SCLK 图2.10 74HC595与单片机接口
2.7 其他电路设计
2.7.1.键盘电路设计
系统涉及到压力的上下限报警值的设定,时间的设定,由于没有过多的键,考虑到单片机的I/O口,所以用独立式键盘来实现,如图2.11所示。
接收按键信号的时候,会出现前沿和后沿抖动, 采用用软件延时的办法消除抖动[13]。
图2.11 键盘电路设计
2.7.2.声光报警电路设计
报警功能主要是角度超过设定的上线报警值或低于设定的下线报警值时候会发出报警信号,系统采用较为常用的方案设计——声光报警。声音报警用蜂鸣
12
山东大学学士学位论文
器来实现,光报警采用高亮度红光LED来实现。报警声音可以有高低报警,LED
闪烁报警[14]。原理图如图2.12所示。
13
2.12声光报警电路设计
图山东大学学士学位论文
第三章 软件设计
软件采用Keil uVision3作为下位机系统的开发平台。
3.1数据处理
3.1.1 角度数据采集设计
MMA7260Q输出为模拟信号,采集过程需进行AD转换。 STC12C5410AD单片机集成有8路高速模数转换器(ADC)。,它是一种逐次比较型模数转换器,速度可达到100KHz(10万次/秒),10位的转换精度,ADC输入通道与P1口复用,上电复位后P1口为弱上拉型I/O口,用户可以通过软件设置将8路中的任何一路设置为A/D转换,不需作为A/D 使用的口可继续作为I/O口使用。
A/D采样率的选择不能干扰加速度计采样频率(11kHz) ,以防混叠误差。 AD转换频率: 11.0592MHZ/210=52khz 52khz/2=26khz A/D转换结果计算公式如下:
(ADC_DATA[7:0],ADC_LOW2[1:0])= 1024×Vin/Vcc
其中,Vin为模拟输入通道输入电压,Vcc为单片机实际工作电压,用单片机工作电压作为模拟参考电压。
数据采集子程序流程图如图3.1所示。
14
山东大学学士学位论文
开始AD初始化N10ms到?YAD采样n++Nn>=N?Y数字滤波工程变换结束
图3.1数据采集子程序流程图
3.1.2 数字滤波及工程变换部分
采样结束后进行数字滤波,数字滤波有多种方式,由于角度变化,可慢可快,所以为了适应快速变化的角度的测量,相比之下,采用了均值滤波,由于它实现简单,占用单片机的资源较少,是一种比较好的选择。其滤波效果与所选择的采样次数有关,次数越大,效果越好,但花费时间越长[15]。
--------------------滤波程序--------------------------- float filter(void)//AD滤波 平均值滤波 { float sum=0; float ad_data;
char count;
for(count=0;count sum+=Get_data(); 15