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

正文內(nèi)容

基于單片機(jī)的智能電風(fēng)扇控制系統(tǒng)畢業(yè)設(shè)計(jì)論文(文件)

2025-07-07 12:56 上一頁面

下一頁面
 

【正文】 始 dq = 1。 //返回?cái)?shù)據(jù)}/*************讀取溫度的值 讀出來的是小數(shù)***************/uint read_temp(){ uint value。 write_18b20(0xcc)。 //500us init_18b20()。 //發(fā)出讀取暫存器命令 low = read_18b20()。 //把溫度的高位左移8位 value |= low。 //開總中斷 TMOD = 0X11。 //開定時(shí)器0中斷 TR1 = 0。 //按鍵值還原 P2 |= 0x07。 } delay_1ms(1)。 (key_new == 1)) { //確認(rèn)是按鍵按下 key_new = 0。 //得到k2鍵值 case 0x05: key_can = 2。 //得到k4鍵值 } flag_lj_en = 1。 //關(guān)閉連加使能 flag_lj_3_en = 0。 } } }/****************按鍵處理數(shù)碼管顯示函數(shù)***************/void key_with(){ if(key_can == 1) //設(shè)置鍵 { f_pwm_l = 30。 //數(shù)碼管顯示3位 } } if(menu_1 == 1) //設(shè)置高溫報(bào)警 { smg_i = 4。 } if(key_can == 3) { if(flag_lj_3_en == 0) t_high 。 //取小數(shù)顯示 dis_smg[1] = smg_du[t_high / 10 % 10] amp。 //H } if(menu_1 == 2) //設(shè)置低溫報(bào)警 { smg_i = 4。 } if(key_can == 3) { if(flag_lj_3_en == 0) t_low 。 //取小數(shù)顯示 dis_smg[1] = smg_du[t_low / 10 % 10] amp。 //L } } /****************風(fēng)扇控制函數(shù)***************/void fengshan_kz(){// static uchar value。amp。 pwm = 1。 //開始初始化保存的數(shù)據(jù) delay_1ms(650)。 0xdf。 //按鍵程序 if(key_can 10) { key_with()。 dis_smg[0] = smg_du[temperature % 10]。 //取溫度的十位顯示 } } fengshan_kz()。 //2ms display()。 } if(flag_lj_en == 1) //按下按鍵使能 { key_time ++。 if(key_value 3) { key_value = 10。 // 定時(shí)10ms中斷一次 TL1=0x0c。 } } else { value_l+=3。 pwm=1。 if(value_l f_pwm_l) //高電平 { value_l=0。 // } } }}/************定時(shí)器1用做單片機(jī)模擬PWM 調(diào)節(jié)***********************/void Timer1() interrupt 3 //調(diào)用定時(shí)器1{ static uchar value_l。 key_500ms = 1。 if(value = 150) { value = 0。 //定時(shí)2ms中斷一次 TH0 = 0xf8。 0xdf。 temperature = read_temp()。 //取溫度的十位顯示 f_pwm_l = 50。 //先讀出溫度的值 dis_smg[0] = smg_du[temperature % 10]。 //初始化定時(shí)器 temperature = read_temp()。 TR1 = 1。 pwm = 0。 //取個(gè)位顯示 dis_smg[2] = smg_du[t_low / 100 % 10] 。 //按鍵按下未松開自動加三次之后每次自動加10 if(t_low = 10) t_low = 10。 //按鍵按下未松開自動加三次 else t_low += 10。 //取個(gè)位顯示 dis_smg[2] = smg_du[t_high / 100 % 10] 。 //按鍵按下未松開自動減三次之后每次自動減10 if(t_high = t_low) t_high = t_low + 1。 //按鍵按下未松開自動加三次 else t_high += 10。 if(menu_1 = 3) { menu_1 = 0。 //清零 key_time = 0。 write_eeprom()。 //得到k3鍵值 case 0x03: key_can = 1。 0x07) { case 0x06: key_can = 3。 0x07) != 0x07) amp。 0x07) != 0x07) //按鍵按下 { if(key_500ms == 1) //連加 { key_500ms = 0。 //按鍵值void key() //獨(dú)立按鍵程序{ static uchar key_new。 //開定時(shí)器0中斷 TR0 = 1。 //轉(zhuǎn)換到溫度值 小數(shù) return value。 //讀溫度高字節(jié) EA = 1。 write_18b20(0xcc)。 //啟動一次溫度轉(zhuǎn)換命令 EA = 1。 //在讀取溫度的時(shí)候如果中斷的太頻繁了,就應(yīng)該把中斷給關(guān)了,否則會影響到18b20的時(shí)序 init_18b20()。 delay_uint(5)。i++) { dq = 0。 //釋放總線 dat = 1。 //把總線拿低寫時(shí)間隙開始 dq = dat amp。 //把總線拿高 釋放總線}/*************寫18b20內(nèi)的數(shù)據(jù)***************/void write_18b20(uchar dat){ uchar i。 //把總線拿高 等待 delay_uint(10)。 //把總線拿高 delay_uint(1)。 a_a = 22。 a_a = byte_read(0x2055)。 t_high |= byte_read(0x2000)。 byte_write(0x2003, t_low / 256)。 //段選 }/***************把數(shù)據(jù)保存到單片機(jī)內(nèi)部eepom中***************/void write_eeprom(){ SectorErase(0x2000)。 if(i = smg_i) i = 0。j++)。 for(i=0。 //bit flag_300ms 。 //用做連加的中間變量bit key_500ms 。 //顯示數(shù)碼管的個(gè)位數(shù)sbit dq = P2^4。 參考文獻(xiàn)[1] :電子工業(yè)出版社,[2] [M].北京:新時(shí)代出版社,1999[3] ,2006,10[4] 梁廷貴、[M].北京:科學(xué)技術(shù)文獻(xiàn)出版社,2003 附錄1 主要程序代碼主要程序代碼及說明(見注釋語句)如下:數(shù)字溫度傳感器模塊和顯示子模塊程序:include //調(diào)用單片機(jī)頭文件define uch
點(diǎn)擊復(fù)制文檔內(nèi)容
電大資料相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1