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

正文內容

基于gsm的家居安全報警系統(tǒng)設計-資料下載頁

2024-11-17 21:55本頁面

【導讀】本課題介紹了一種新型的家居安全報警系統(tǒng),它集室內火情檢測、有毒氣體檢測、匪盜檢測功能于一體,能夠自動檢測并分析出具體的險情,通過GSM通信模塊將報警信息發(fā)送至預設的手機上。熱釋電紅外傳感器應用在防盜系統(tǒng)中、溫度傳感器可以實時的檢測室內溫度,判斷險情,CO傳感器用于監(jiān)控室內有毒氣體濃度。西門子的無線通信模塊TC35I具有結構簡單、可靠性高、便于操作等特點。通過RS232串口可以實現短信息及AT命令的測試。矩陣鍵盤用于設定模塊的工作狀態(tài)、液晶顯示器實時顯示當前的安全狀況。該報警系統(tǒng)具有實時性好、人機界面友善、管理操作簡單等優(yōu)點,使該系統(tǒng)具有很好的應用前景和升級空間。單片機部分為該系統(tǒng)的主控部分,負責對探測器信號的采集、處理、控制報警,通過串口對GSM模塊進行控制,并實時地通過液晶模塊顯示系統(tǒng)的工作狀態(tài)。其中西門子的TC35系列模塊性價比很高,并且已經有國內的無線電設備入網證。

  

【正文】 ********************************/void Write12864(uchar lcd_cmd,uchar lcd_data){ WriteCmd12864(lcd_cmd)。 WriteData12864(lcd_data)。}/***************************************************函數名稱:SetCurse(uchar x,uchar y)設置數據指針入口參數:x,y出口參數:無***************************************************///void SetCurse(uchar x,uchar y)//{//}/********************************函數名稱:ReadBusy()判忙入口參數:無返回參數:1忙;0不忙********************************/void ReadBusy(void){ uchar i=5。 while(i)。}/********************************函數名稱:LcdInit()初始化入口參數:無返回參數:無********************************/void LcdInit(){ delay(50)。 WriteCmd12864(FUN_MODE)。 delay(1)。 WriteCmd12864(FUN_MODE)。 delay(1)。 WriteCmd12864(DISPLAY_ON)。 delay(1)。 WriteCmd12864(CLEAR_SCREEN)。 delay(20)。// WriteCmd12864(CURSE_ADD)。}/********************************函數名稱:LcdClear()清屏入口參數:無返回參數:無********************************/void LcdClear(void){ ReadBusy()。 WriteCmd12864(CLEAR_SCREEN)。 delay(3)。}/********************************函數名稱:DisplayCgrom(uchar hz)顯示CGROM里的漢字入口參數:無返回參數:無********************************/void DisplayCgrom(uchar addr,uchar *hz){ ReadBusy()。 WriteCmd12864(addr)。 ReadBusy()。 while(*hz != 39。\039。) { WriteData12864(*hz)。 hz++。 ReadBusy()。 }} endifinclude include define uchar unsigned chardefine uint unsigned intsbit DQ=P1^0。/*操作命令代碼 跳過ROM 0xCC 發(fā)送溫度轉換 0xBE 寫EEPROM 0x4E*/ /////////////低層驅動子程序///////////void Init18B20(void)。 //初始化void Write18B20(uchar ch)。//寫數據unsigned char Read18B20(void)。//讀數據 void Delay15(uchar n)。 void Delay10ms(uint delay_num)。void Display(void)。///////////////////////////////////// code uchar decimalH[]={00,06,12,18,25,31,37,43,50,56,62,68,75,81,87,93}。code uchar decimalL[]={00,25,50,75,00,25,50,75,00,25,50,75,00,25,50,75}。uint ResultTemperatureH ,ResultTemperatureLH,ResultTemperatureLL。//整數,小數高位,小數低位uint ResultSignal。//符號位main(){ uint TemH,TemL,delay,k=0。 for(。 。 ) { Init18B20()。 Write18B20(0xCC)。//跳過ROM _nop_()。 //Write18B20(0x4E)。//寫EEPROM // Write18B20(0x00)。//Th //Write18B20(0x00)。//Tl Write18B20(0x7f)。//12 bits溫度分辨率 Init18B20()。 Write18B20(0xCC)。//跳過ROM _nop_()。 Write18B20(0x44)。//發(fā)送溫度轉換指令 Delay10ms(25)。 Delay10ms(25)。 Delay10ms(25)。 Delay10ms(25)。//等待1s轉換 Init18B20()。 Write18B20(0xCC)。//跳過ROM Write18B20(0xBE)。//發(fā)送溫度轉換指令 TemL=Read18B20()。 //讀低位溫度值 TemH=Read18B20()。 //讀高位溫度值 Delay10ms(2)。 TemH=(TemH4)|(TemL4)。 TemL=TemLamp。0x0f。 //取低4位 if(TemHamp。0x80) { TemH=~TemH。 TemL=~TemL+1。 ResultSignal=1。 //負 } else ResultSignal=0。 //正 ResultTemperatureLH=decimalH[TemL]。 ResultTemperatureLL=decimalL[TemL]。 ResultTemperatureH=TemH。 Display()。 for(delay=0。delay60000。delay++)。 for(delay=0。delay20000。delay++)。 } }void Display(void){ uint i,j,q。 LCD_init()。 CLEARSCREEN。 LCD_en_mand(0x01)。 delay_nms(2)。 q=ResultTemperatureH/100。 i=(ResultTemperatureH%100)/10。 j=ResultTemperatureH(i*10+q*100)。 LCD_write_string(0,LINE1, Jaq1217 18B20 )。 if(ResultSignal) { LCD_write_string(0,LINE2, T is: . )。 } else {LCD_write_string(0,LINE2, T is:+ . )。} LCD_write_char(0x07,LINE2,q|0x30)。 LCD_write_char(0x08,LINE2,i|0x30)。 LCD_write_char(0x09,LINE2,j|0x30)。 LCD_write_char(0x0b,LINE2,(ResultTemperatureLH/10)|0x30)。 LCD_write_char(0x0c,LINE2,(ResultTemperatureLH%10)|0x30)。 LCD_write_char(0x0d,LINE2,(ResultTemperatureLL/10)|0x30)。 LCD_write_char(0x0e,LINE2,(ResultTemperatureLL%10)|0x30)。 }unsigned char Read18B20(void) { unsigned char ch。 unsigned char q 。 for(q=0。q8。q++) {ch=ch1。 DQ=0。 _nop_()。 DQ=1。 _nop_()。_nop_()。_nop_()。_nop_()。 if(DQ==1) {ch=ch|0x80。} else {ch=champ。0x7f。} Delay15(3)。 DQ=1。 } return (ch)。 }void Write18B20(uchar ch) { uchar i。 for(i=0。i8。i++) { DQ=0。 Delay15(1)。 DQ=champ。0x01。 Delay15(3)。 DQ=1。 ch=ch1。 _nop_()。 } }void Init18B20(void) { DQ=0。 Delay15(33)。//至少延時480us DQ=1。 Delay15(10)。//至少延時100us /*if(DQ==1) return 0。 //初始化失敗 else return 1。 DQ=1。 Delay15(18)。 */ }void Delay15(uchar n) { do{ _nop_()。 _nop_()。 _nop_()。 _nop_()。 _nop_()。 _nop_()。 _nop_()。 _nop_()。 _nop_()。 _nop_()。 _nop_()。 _nop_()。 _nop_()。 n。 }while(n)。 } void Delay10ms(uint delay_num){ uchar i。 while(delay_num) { for(i=0。i125。i++) {。} }}
點擊復制文檔內容
環(huán)評公示相關推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1