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

正文內(nèi)容

火災(zāi)煙霧警報器的設(shè)計-本科設(shè)計-資料下載頁

2025-06-30 07:56本頁面
  

【正文】 啟動一次溫度轉(zhuǎn)換命令 delay_uint(50)。 //500us init_18b20()。 //初始化18b20 write_18b20(0xcc)。 //跳過64位ROM write_18b20(0xbe)。 //發(fā)出讀取暫存器命令 EA = 0。 low = read_18b20()。 //讀溫度低字節(jié) value = read_18b20()。 //讀溫度高字節(jié) EA = 1。 value = 8。 //把溫度的高位左移8位 value |= low。 //把讀出的溫度低位放到value的低八位中 value *= 。 //轉(zhuǎn)換到溫度值 return value。 //返回讀出的溫度 }/***********讀數(shù)模轉(zhuǎn)換數(shù)據(jù)********************************************************/ //請先了解ADC0832模數(shù)轉(zhuǎn)換的串行協(xié)議,再來讀本函數(shù),主要是對應(yīng)時序圖來理解,本函數(shù)是模擬0832的串行協(xié)議進行的 // 1 0 0 通道 // 1 1 1 通道 unsigned char ad0832read(bit SGL,bit ODD){ unsigned char i=0,value=0,value1=0。 SCL=0。 DO=1。 CS=0。 //開始 SCL=1。 //第一個上升沿 SCL=0。 DO=SGL。 SCL=1。 //第二個上升沿 SCL=0。 DO=ODD。 SCL=1。 //第三個上升沿 SCL=0。 //第三個下降沿 DO=1。 for(i=0。i8。i++) { SCL=1。 SCL=0。 //開始從第四個下降沿接收數(shù)據(jù) value=1。 if(DO) value++。 } for(i=0。i8。i++) { //接收校驗數(shù)據(jù) value1=1。 if(DO) value1+=0x80。 SCL=1。 SCL=0。 } CS=1。 SCL=1。 if(value==value1) //與校驗數(shù)據(jù)比較,正確就返回數(shù)據(jù),否則返回0 return value。 return 0。}/***********************數(shù)碼顯示函數(shù)*****************************/void display(){ uchar i。 for(i=0。ismg_i。i++) { P2 = smg_we[i]。 //位選 P1 = dis_smg[i]。 //段選 delay_1ms(1)。 P1 = 0xff。 //消隱 P2 = 0xff。 //位選 } }/*************定時器0初始化程序***************/void time_init() { EA = 1。 //開總中斷 TMOD = 0X01。 //定時器0、定時器1工作方式1 ET0 = 1。 //開定時器0中斷 TR0 = 1。 //允許定時器0定時}/****************按鍵處理數(shù)碼管顯示函數(shù)***************/void key_with(){ if(key_can == 4) //緊急報警鍵 手動報警 { if(menu_1 == 0) shoudong = 1。 } if(key_can == 1) //設(shè)置鍵 { menu_1 ++。 if(menu_1 = 3) { menu_1 = 0。 } if(menu_1 == 0) { dis_smg[0] = smg_du[temperature % 10]。 //取溫度的個位數(shù)顯示 dis_smg[1] = smg_du[temperature / 10 % 10]。 //取溫度的十位顯示 smg_i = 3。 } if(menu_1 == 1) { dis_smg[0] = smg_du[s_temp % 10]。 //取個位顯示 dis_smg[1] = smg_du[s_temp / 10 % 10] 。 //取十位顯示 dis_smg[2] = 0xbf 。 dis_smg[3] = smg_du[10]。 //顯示A smg_i = 4。 } if(menu_1 == 2) { dis_smg[0] = smg_du[s_dengji % 10]。 //取個位顯示 dis_smg[1] = 0xbf 。 dis_smg[2] = 0xbf 。 dis_smg[3] = smg_du[11]。 //顯示B smg_i = 4。 } } if(menu_1 == 0) { if((key_can == 2) || (key_can == 3)) shoudong = 0。 //取消手動報警 } if(menu_1 == 1) //設(shè)置高溫報警 { if(key_can == 2) { if(flag_lj_3_en == 0) s_temp ++ 。 //按鍵按下未松開自動加三次 else s_temp += 10。 //按鍵按下未松開自動加三次之后每次自動加10 if(s_temp 99) s_temp = 99。 dis_smg[0] = smg_du[s_temp % 10]。 //取個位顯示 dis_smg[1] = smg_du[s_temp / 10 % 10]。 //取十位顯示 dis_smg[2] = 0xbf 。 dis_smg[3] = smg_du[10]。 //顯示A } if(key_can == 3) { if(flag_lj_3_en == 0) s_temp 。 //按鍵按下未松開自動加三次 else s_temp = 10。 //按鍵按下未松開自動減三次之后每次自動減10 if(s_temp = 10) s_temp = 10 。 dis_smg[0] = smg_du[s_temp % 10]。 //取個位顯示 dis_smg[1] = smg_du[s_temp / 10 % 10]。 //取十位顯示 dis_smg[2] = 0xbf。 dis_smg[3] = smg_du[10]。 //顯示A } } if(menu_1 == 2) //設(shè)置低溫報警 { if(key_can == 2) { if(flag_lj_3_en == 0) s_dengji ++ 。 else s_dengji ++ 。 if(s_dengji = 9) s_dengji = 9。 dis_smg[0] = smg_du[s_dengji % 10]。 //取個位顯示 dis_smg[1] = 0xbf 。 dis_smg[2] = 0xbf 。 dis_smg[3] = smg_du[11]。 //顯示B } if(key_can == 3) { if(flag_lj_3_en == 0) s_dengji 。 else s_dengji 。 if(s_dengji = 1) s_dengji = 1。 dis_smg[0] = smg_du[s_dengji % 10]。 //取個位顯示 dis_smg[1] = 0xbf 。 dis_smg[2] = 0xbf。 dis_smg[3] = smg_du[11]。 //顯示B } } } /****************獨立按鍵處理函數(shù)************************/void key(){ static uchar key_new = 0,key_old = 0,key_value = 0。 if(key_new == 0) { //按鍵松開的時候做松手檢測 if((P2 amp。 0x0f) == 0x0f) key_value ++。 else key_value = 0。 if(key_value = 5) { write_eepom()。 key_value = 0。 key_time = 0。 key_new = 1。 flag_lj_en = 0。 //關(guān)閉連加使能 flag_lj_3_en = 0。 //關(guān)閉3秒后使能 flag_value = 0。 //清零 } } else { if((P2 amp。 0x0f) != 0x0f) key_value ++。 //按鍵按下的時候 else key_value = 0。 if(key_value = 5) { key_value = 0。 key_new = 0。 flag_lj_en = 1。 //連加使能 zd_break_en = 1。 //自動退出設(shè)置界使能 zd_break_value = 0。 //自動退出設(shè)置界變量清零 } } key_can = 20。 if(key_500ms == 1) { key_500ms = 0。 zd_break_en = 1。 //自動退出設(shè)置界使能 zd_break_value = 0。 //自動退出設(shè)置界變量清零 key_new = 0。 key_old = 1。 } if((key_new == 0) amp。amp。 (key_old == 1)) { switch(P2 amp。 0x0f) { case 0x0e: key_can = 4。 break。 //得到k1鍵值 case 0x0d: key_can = 3。 break。 //得到k2鍵值 case 0x0b: key_can = 2。 break。 //得到k3鍵值 case 0x07: key_can = 1。 break。 //得到k4鍵值 } } key_old = key_new。 }/****************報警函數(shù)***************/void clock_h_l(){ static uchar value。 if((dengji = s_dengji) || (temperature = s_temp) || (shoudong == 1)) //報警 { value ++。 if(value = 3) { value = 10。 beep = ~beep。 //蜂鳴器報警 } }else { if((dengji s_dengji) amp。amp。 (temperature (s_temp 1)) amp。amp。 (shoudong == 0)) //取消報警 { value = 0。 beep = 1。 } }}void main(){ static uchar value。 temperature = read_temp()。 //讀取溫度值 init_eepom()。 //讀eepom數(shù)據(jù) time_init()。 //初始化定時器 delay_1ms(650)。 while(1) { key()。 //獨立按鍵程序 if(key_can 10) { key_with()。 //按鍵按下要執(zhí)行的程序 } temperature = read_temp()。 //讀取溫度值 if(flag_300ms == 1) { flag_300ms = 0。 clock_h_l()。 dengji = ad0832read(1,0)。 dengji = dengji * 10 / huoyan = ad0832read(1,1)。 huoyan = 10 huoyan * 10 / if(menu_1 == 0) { if(temperature = 99)
點擊復(fù)制文檔內(nèi)容
電大資料相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1