freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

基于單片機的酒精濃度測試的設計與研究畢業(yè)設計-資料下載頁

2025-03-25 12:45本頁面
  

【正文】 附錄主程序:include include include include include define INTRAM_enable() AUXR amp。= ~0x02sfr P1ASF = 0x9D。 //12C5A60AD/S2系列模擬輸入(AD或LVD)選擇sfr ADC_CONTR = 0xBC。 //帶AD系列sfr ADC_RES = 0xBD。 //帶AD系列sfr ADC_RESL = 0xBE。 //帶AD系列define ADC_OFF() ADC_CONTR = 0define ADC_ON (1 7)define ADC_90T (3 5)define ADC_180T (2 5)define ADC_360T (1 5)define ADC_540T 0define ADC_FLAG (1 4) //軟件清0define ADC_START (1 3) //自動清0define ADC_CH0 0define ADC_CH1 1define ADC_CH2 2define ADC_CH3 3define ADC_CH4 4define ADC_CH5 5define ADC_CH6 6define ADC_CH7 7sbit K1=P1^1。sbit K2=P1^2。sbit K3=P1^4。sbit SPK=P1^5。sbit LED=P1^6。bit tel_number_ready=0。 unsigned char gsm_ok=0。unsigned char xdata num[20]={0}。unsigned char xdata num_to_send[20]={0}。unsigned char xdata msg[40]={0}。unsigned char state=0。unsigned char cur_value=0。unsigned char waring_value。unsigned int ad_value。unsigned int adc10_start(unsigned char channel)。void init()。void display()。void read_sensor()。void nv_init()。void key()。void waring()。unsigned char is_tel_number(unsigned char *s)。void main(){ unsigned char *p=NULL。 init()。// send_message(15539155318,test)。 while(1) { key()。 display()。 waring()。 read_sensor()。 if(gsm_ok==0) { if(is_message_ing()!=0) { get_message(num,msg)。 send_message(num,receive)。 if(strstr(msg,set:)!=NULL) { p=strchr(msg,39。:39。)。 p++。 memset(num,0,14)。 memcpy(num,p,11)。 if(is_tel_number(num)) { memcpy(num_to_send,num,11)。 EEPROM_write_n(1,num_to_send,11)。 tel_number_ready=1。 } else { p=NULL。 } } memset(msg,0,40)。 } } }}void init(){ uart1_init()。 LCD_Init()。 nv_init()。 switch(gsm_init()) { case AT_ERROR: LCD_ShowString(0,0,AT ERROR)。 gsm_ok=1。 break。 case CSCA_ERROR: LCD_ShowString(0,0,CSCA ERROR)。 gsm_ok=1。 break。 case CNMI_ERROR: LCD_ShowString(0,0,CNMI ERROR)。 gsm_ok=1。 break。 case CMGF_ERROR: LCD_ShowString(0,0,CMGF ERROR)。 gsm_ok=1。 break。 default: LCD_ShowString(0,0,GSM OK)。 break。 } P1ASF = (1 ADC_CH0)。 //12C5A60AD/S2系列模擬輸入(AD)選擇 ADC_CONTR = ADC_360T | ADC_ON。 }void key(){ if(K1==0) { state++。 if(state==2) state=0。 LCD_ClearScreen()。 while(!K1)。 } if(state==1) { if(K2==0) { if(waring_value!=99) waring_value++。 while(!K2)。 } if(K3==0) { if(waring_value!=0) waring_value。 while(!K3)。 } }}void display(){ static unsigned char ct=0。 ct++。 if(ct100) return 。 else ct=0。 if(state==0) { LCD_WriteCmd(CMD_DISPLAY_MODE1)。 LCD_ShowString(0,0,Cur:)。 LCD_ShowChar(0,4,cur_value/100)。 LCD_ShowChar(0,5,cur_value%100/10)。 LCD_ShowChar(0,6,cur_value%10)。 LCD_ShowChar(0,7,39。%39。39。039。)。 LCD_ShowString(0,10,Tel)。 LCD_ShowString(1,0,val:)。 LCD_ShowChar(1,4,ad_value/100)。 LCD_ShowChar(1,5,39。.39。39。039。)。 LCD_ShowChar(1,6,ad_value%100/10)。 LCD_ShowChar(1,7,ad_value%10)。 LCD_ShowChar(1,8,39。V39。39。039。)。 if(tel_number_ready) { LCD_ShowString(1,10,OK )。 } else { LCD_ShowString(1,10,None)。 } } else if(state==1) { LCD_WriteCmd(CMD_DISPLAY_MODE1)。 LCD_ShowString(0,0,num_to_send)。 LCD_ShowString(1,0,Waring Value:)。 LCD_ShowChar(1,13,waring_value/10)。 LCD_ShowChar(1,14,waring_value%10)。 LCD_GoXY(1,14)。 LCD_WriteCmd(CMD_DISPLAY_MODE3)。 } }unsigned char is_tel_number(unsigned char *s){ while(*s++) { if((*s39。939。)||(*s39。039。)) return 0。 } return 1。}void nv_init(){ EEPROM_read_n(0,amp。waring_value,1)。 if(waring_value100) waring_value=50。 EEPROM_read_n(1,num_to_send,11)。 if(is_tel_number(num_to_send)) tel_number_ready=1。 }/********************* 做一次ADC轉換 *******************/unsigned int adc10_start(unsigned char channel) //channel = 0~7{ unsigned int adc。 unsigned char i。 ADC_RES = 0。 ADC_RESL = 0。 ADC_CONTR = (ADC_CONTR amp。 0xe0) | ADC_START | channel。 // for(i=0。 i i++) //13T/loop, 40*13=520T= @ i = do{ if(ADC_CONTR amp。 ADC_FLAG) { ADC_CONTR amp。= ~ADC_FLAG。 // adc = 0。 // adc = (ADC_RES 8) | ADC_RESL。 //ADRJ_enable() adc = (unsigned int)ADC_RES。 adc = (adc 2) | (ADC_RESL amp。 3)。 return adc。 } }while(i)。 return 1024。}void read_sensor(){ float t=0。 t=adc10_start(0)。 cur_value=(unsigned char)(t*)。 ad_value=(unsigned int)(t*)*100。}void waring(){ static unsigned char flag=0。 if(cur_value=waring_value) { if((tel_number_ready==1)amp。amp。(flag==0)) { send_message(num_to_send,waring)。 flag=1。 } SPK=0。 LED=0。 } else { SPK=1。 LED=1。 flag=0。 } }37
點擊復制文檔內(nèi)容
法律信息相關推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1