参考文献
[1] 马家辰,张颖.MCS-51单片机原理及接口技术[M].哈尔滨:哈工大出版社,1998:25-45
[2] 赵新民,王祁.智能仪器设计基础[M].哈尔滨:哈尔滨工业大学出版社,1999:37-48 [3] 张凡,戴胜华.微机原理与接口技术[M].北京:清华大学出版社,2003:2-15 [4] 葛顺明.基于标签变换的无线网络关键技术的研究[D].北京:北京邮电大学,2007 [5] 高继传.PC机无线互联系统的设计[D].南京:东南大学,2002
[6] 沈合利.机场跑道摩擦系数车标定方法的研究[D].天津:河北工业大学,2009 [7] 张荣.智能电液执行机构控制系统的研究[D].兰州:兰州理工大学,2011 [8] 张士福.半导体设备数据控制系统的设计及实现[D].西安:西安电子科技大学,2009 [9] 任亚军.基于USB的气体传感器检测装置的研究[D].西安:西安科技大学,2010 [10] 胡斌.基于HT50C-T钻机的钻进参数检测系统的研究[D].北京:中国地质大学,2007
31
附录A 硬件原理图
图A1 多功能参数检测系统电路原理图
32
附录B 程序代码
主程序
#include
char Temp_Buffer[2][16]; //---显示屏使用数据缓存 uchar Dis_Pot = 0; uchar T0_Com = 0;
uint Compear_Data[12] = { 50,0, 10,0, 4,0, 900,0, /*最大值为*/100,14,6,1000}; uint Measure_Data[4];
//Measure_Data Compear_Data bit TIME_FLAGE = 0;
bit AUTO_FLAGE = 1; //--默认自动模式 uchar Error_Check=0;
char code Fsmc_DisPlay_Data[10][16] = { {\ \ Down:20 \ {\ {\ \ {\ {\ \ }; void Refresh_DisPlay( uchar Dis_n ); void anjian( void ); void Adc_Conversion( uchar Adc_n ); void Check_Error_Arlm( uchar Error_Changle ); /******************************************** **函数名称:void Init_Timer( void ) **函数功能:定时器处理 **入口参数: **出口参数:
********************************************/ void Init_Timer( void ) { TMOD = 0X01;ET0 = 1; TH0 = 0X3C;TL0 = 0XB0; EA = 1;TR0 = 1; }
/******************************************** **函数名称:void main( void ) **函数功能:主函数处理
33
**入口参数: **出口参数:
********************************************/ void main( void ) { uchar Main_n = 0; LCD_init( ); Lcd_Clear( );Init_Timer( );Refresh_DisPlay(0);beep(100); while(1) { Adc_Conversion( Dis_Pot ); Check_Error_Arlm( Dis_Pot ); if( Error_Check == 0 ) { if( AUTO_FLAGE == 1 ) { if( TIME_FLAGE == 1 ) {Refresh_DisPlay( Dis_Pot++ ); if( Dis_Pot > 3 ) { Dis_Pot = 0; } TIME_FLAGE = 0; } } else {Refresh_DisPlay( Dis_Pot );} } else { for( Main_n=0; Main_n<16; Main_n++ ) {Temp_Buffer[0][Main_n] = Fsmc_DisPlay_Data[8][Main_n]; Temp_Buffer[1][Main_n] = Fsmc_DisPlay_Data[9][Main_n];} for( Main_n=0; Main_n<4; Main_n++ ) { if( (Error_Check&(1< 34 } } /********************************************************** **函数名称:void Check_Error_Arlm( uchar Error_Changle ) **函数功能:检查错误 **入口参数:无 **出口参数:无 **********************************************************/ void Check_Error_Arlm( uchar Error_Changle ) { //Measure_Data Compear_Data LED1 = 1;LED2 = 1; if( Measure_Data[Error_Changle] > Compear_Data[Error_Changle*2] ) { //---上线报警 Error_Check = Error_Check|(1< /******************************************** **函数名称:void Adc_Conversion( uchar Adc_n ) **函数功能:ADC采集 **入口参数:Adc_n 采集通道 **出口参数: ********************************************/ void Adc_Conversion( uchar Adc_n ) { uint Adc_Value; uchar Bl_Value; Adc_Value = adc_operation( Adc_n ); if( Adc_Value > 410 ) {Adc_Value -= 410; } else {Adc_Value = 0;} 35