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

正文內(nèi)容

led數(shù)顯溫度控制器設(shè)計(jì)方案(編輯修改稿)

2025-06-01 23:31 本頁面
 

【文章內(nèi)容簡介】 //菜單設(shè)計(jì)的變量uint t_high = 300,t_low = 100。bit flag_lj_en。 //按鍵連加使能bit flag_lj_3_en。 //按鍵連3次連加后使能 加的數(shù)就越大了 uchar key_time,flag_value。 //用做連加的中間變量bit key_500ms 。uchar flag_clock。uchar zd_break_en,zd_break_value。 //自動退出設(shè)置界面/***********************1ms延時函數(shù)*****************************/void delay_1ms(uint q){ uint i,j。 for(i=0。iq。i++) for(j=0。j120。j++)。}/***********************小延時函數(shù)*****************************/void delay_uint(uint q){ while(q)。}/***********************數(shù)碼顯示函數(shù)*****************************/void display(){ uchar i。 for(i=0。ismg_i。i++) { P3 = smg_we[i]。 //位選 P1 = dis_smg[i]。 //段選 delay_1ms(1)。 P3 = 0xff。 //位選 P1 = 0xff。 //消隱 } }/******************把數(shù)據(jù)保存到單片機(jī)內(nèi)部eepom中******************/void write_eepom(){ SectorErase(0x2000)。 byte_write(0x2000, t_high % 256)。 byte_write(0x2001, t_high / 256)。 byte_write(0x2002, t_low % 256)。 byte_write(0x2003, t_low / 256)。 byte_write(0x2055, a_a)。 }/******************把數(shù)據(jù)從單片機(jī)內(nèi)部eepom中讀出來*****************/void read_eepom(){ t_high = byte_read(0x2001)。 t_high = 8。 t_high |= byte_read(0x2000)。 t_low = byte_read(0x2003)。 t_low = 8。 t_low |= byte_read(0x2002)。 a_a = byte_read(0x2055)。}/***********************18b20初始化函數(shù)*****************************/void init_18b20(){ bit q。 dq = 1。 //把總線拿高 delay_uint(1)。 //15us dq = 0。 //給復(fù)位脈沖 delay_uint(80)。 //750us dq = 1。 //把總線拿高 等待 delay_uint(10)。 //110us q = dq。 //讀取18b20初始化信號 delay_uint(20)。 //200us dq = 1。 //把總線拿高 釋放總線}/*************寫18b20內(nèi)的數(shù)據(jù)***************/void write_18b20(uchar dat){ uchar i。 for(i=0。i8。i++) { //寫數(shù)據(jù)是低位開始 dq = 0。 //把總線拿低寫時間隙開始 dq = dat amp。 0x01。 //向18b20總線寫數(shù)據(jù)了 delay_uint(5)。 // 60us dq = 1。 //釋放總線 dat = 1。 } }/*************讀取18b20內(nèi)的數(shù)據(jù)***************/uchar read_18b20(){ uchar i,value。 for(i=0。i8。i++) { dq = 0。 //把總線拿低讀時間隙開始 value = 1。 //讀數(shù)據(jù)是低位開始 dq = 1。 //釋放總線 if(dq == 1) //開始讀寫數(shù)據(jù) value |= 0x80。 delay_uint(5)。 //60us 讀一個時間隙最少要保持60us的時間 } return value。 //返回?cái)?shù)據(jù)}/*************讀取溫度的值 讀出來的是小數(shù)***************/uint read_temp(){ uint value。 uchar low。 //在讀取溫度的時候如果中斷的太頻繁了,就應(yīng)該把中斷給關(guān)了,否則會影響到18b20的時序 init_18b20()。 //初始化18b20 write_18b20(0xcc)。 //跳過64位ROM write_18b20(0x44)。 //啟動一次溫度轉(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)換到溫度值 小數(shù) return value。 //返回讀出的溫度 帶小數(shù)}/*************定時器0初始化程序************
點(diǎn)擊復(fù)制文檔內(nèi)容
公司管理相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖片鄂ICP備17016276號-1