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

正文內(nèi)容

畢業(yè)論文——基于ds18b20的溫度顯示及其報(bào)警控制系統(tǒng)(含完整原理圖及c程序)(文件)

 

【正文】 機(jī)重啟后按 KEY1 鍵顯示的溫度范圍值為上次設(shè)置的值,說(shuō)明溫度范圍值存儲(chǔ)成功 。 整體程序請(qǐng)見(jiàn)附錄 C。 本次設(shè)計(jì)的數(shù)字溫度報(bào)警系統(tǒng)經(jīng)過(guò)多次測(cè)試,工作穩(wěn)定可靠、靈敏度較高、抗干擾能力強(qiáng)等特點(diǎn)。 在此我謹(jǐn)向我的導(dǎo)師以及同樣在畢業(yè)設(shè)計(jì)過(guò)程中給予我很大幫助的豐老師、同學(xué)們致以最誠(chéng)摯的謝意! 最后感謝 08 級(jí)電子一班的所有同學(xué)和物理學(xué)院的所有老師 和同學(xué)們,在這四年里,他們教會(huì)了我許多專業(yè)知識(shí),給了我很多幫助與支持,因?yàn)橛辛怂麄?,我的大學(xué)生活才過(guò)得如此充實(shí),謝謝他們! 湖南科技大學(xué)本科生畢業(yè)設(shè)計(jì) 25 附件 A: 整機(jī)硬件電路圖 湖南科技大學(xué)本科生畢業(yè)設(shè)計(jì) 26 附件 B: 硬件實(shí)物圖 湖南科技大學(xué)本科生畢業(yè)設(shè)計(jì) 27 附件 C: 程序清單 include include define uchar unsigned char define uint unsigned int /***********定義端口 ***********/ sbit sda=P2^7。 //蜂鳴器信號(hào) sbit feng=P2^3。 sbit KEY3=P3^2。 //上限報(bào)警溫度乘 10 后的數(shù)據(jù) uchar xia。 //各按鍵計(jì)數(shù)值 uint key2=0。 /**********延時(shí)函數(shù) ***********/ void delayms(uint z) { uint x,y。y0。 TL0=(65536250)%256。 //蜂鳴器電平取反 } } 湖南科技大學(xué)本科生畢業(yè)設(shè)計(jì) 29 /***********IIC 開(kāi)始信號(hào) ***********/ void start() { sda=1。 sda=0。 scl=1。 } /***********IIC 應(yīng)答信號(hào) ***********/ void respons() { uchar i。amp。 } /***********IIC 初始化 ***********/ /*void init() { sda=1。 } */ /***********向 EEPROM 寫(xiě)一個(gè)字節(jié) ***********/ void write_byte(uchar date) { uchar i,temp。i++) { temp=temp1。 delay()。 delay()。 scl=0。 for(i=0。 k=(k1)|sda。 } /***********向 EEPROM 指定地址寫(xiě)一個(gè)字節(jié) ***********/ void write_add(uchar address,uchar date) { start()。 respons()。 } /***********從 EEPROM 指定地址讀一個(gè)字節(jié) ***********/ uchar read_add(uchar address) { uchar date。 write_byte(address)。 respons()。 } 湖南科技大學(xué)本科生畢業(yè)設(shè)計(jì) 32 /***********顯示程序 ***********/ void dis_temp(uint t) { uchar i。 delayms(5)。 delayms(5)。 delayms(7)。 while(i0)i。 } /***********讀 1 位函數(shù) ***********/ bit tempreadbit(void) { uint i。 //i++ 起延時(shí)作用 ds=1。 i=8。 dat=0。 dat=(d7)|(dat1)。 bit testb。0x01。i++。 } else 湖南科技大學(xué)本科生畢業(yè)設(shè)計(jì) 34 { ds=0。 i++。 dis_temp(temp)。 TR0=0。 tempwritebyte(0xcc)。 //讀高 8 位 temp=b。 //溫度在寄存器中為 12 位 分辨率位 176。 //temp 是整型 } /***********報(bào)警和控制函數(shù) ***********/ void deal() { uint i=temp/10。 //關(guān)風(fēng)扇 warm=1。buzzer=1。amp。 //開(kāi)風(fēng)扇 warm=0。 //開(kāi)風(fēng)扇 warm=0。buzzer=1。 key1++。 i=10。 while(i)dis_temp(xia*10)。 湖南科技大學(xué)本科生畢業(yè)設(shè)計(jì) 37 } } if(key1==2) { dis_temp(shang*10)。 //去抖延時(shí) } if(KEY2==0) { shang++。 i=10。 //如果按鍵值大于 2 則調(diào)零 。 } } } dis_temp(temp)。 while(i)dis_temp(shang*10)。 i=10。 i=10。 //去抖延時(shí) } if(KEY2==0) //如果按 KEY2 則下限溫度加 1 { xia++。 //首先顯示下限溫度,用于延時(shí) while(key13) { if(key1==1) //轉(zhuǎn)換成下限溫度模式 { dis_temp(xia*10)。 //關(guān)風(fēng)扇 warm=0。amp。 //開(kāi)啟定時(shí)器 0 buz=1。buzzer=1。 //關(guān)風(fēng)扇 warm=1。amp。 //啟動(dòng)定時(shí)器 0 buz=5。 //加 是四舍五入 湖南科技大學(xué)本科生畢業(yè)設(shè)計(jì) 35 temp=f_temp*10。 //兩個(gè)字節(jié)組合為 1 個(gè)字 temp=temp|a。 a=tempread()。 //溫度轉(zhuǎn)換 dsreset()。 // 寫(xiě)跳過(guò)讀 ROM 指令 tempwritebyte(0x44)。 } } } /***********DS18B20 開(kāi)始獲取溫度并轉(zhuǎn)換 ***********/ void tempchange() { TR0=0。while(i0)i。 i=8。 if(testb) //寫(xiě) 1 { ds=0。j=8。 } /***********向 18B20 寫(xiě)一個(gè)字節(jié)數(shù)據(jù) ***********/ void tempwritebyte(uchar dat) { uint i。c=8。 return (dat)。i++。 ds=0。 i=4。 ds=0。 P0=table[i]。 P0=tabler[i]。 P0=table[i]。 stop()。 start()。 write_byte(0xa0)。 respons()。 respons()。 delay()。i++) { scl=1。 sda=1。 delay()。 delay()。 delay()。 for(i=0。 scl=1。 scl=0。 delay()。 sda=1。 } /***********IIC 停止信號(hào) ***********/ void stop() { sda=0。 scl=1。 //每 加一次 if(tentbuz) //記滿 buz 次時(shí) { tent=0。 } void delay() {。x0。 /**********不帶小數(shù)點(diǎn)的數(shù)碼管碼 ***********/ uchar code table[]= { 0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f }。 //蜂鳴器頻率計(jì)數(shù) uchar tent。 //整型溫度數(shù)據(jù) float f_temp。 sbit KEY1=P3^0。 sbit ds=P2^5。 湖南科技大學(xué)本科生畢業(yè)設(shè)計(jì) 23 參 考 文 獻(xiàn) [1] 張毅剛、彭喜元 .《單片機(jī)原理與應(yīng)用設(shè)計(jì)》 :電子工業(yè)出版社, :1013 [2] 郭天祥 .《新概念 51 單片機(jī) C 語(yǔ)言教程》 :電子工業(yè)出版社, :343 [3] 郭天祥 .《新概念 51 單片機(jī) C 語(yǔ)言教程》 :電子工業(yè)出版社, :185 [4] 康 華光 .《電子技術(shù)基礎(chǔ)模擬部分》 :高等教育出版社, :103110 湖南科技大學(xué)本科生畢業(yè)設(shè)計(jì) 24 致 謝 本課題在選題及研究過(guò)程中得到聶老師的悉心指導(dǎo),在設(shè)計(jì)過(guò)程中遇到了很多困難,得到了指導(dǎo)老師和周圍同學(xué)的幫助,在他們的幫助下 我順利完成了畢業(yè)設(shè)計(jì)。 在本系統(tǒng)設(shè)計(jì)過(guò)程中遇到了 很 多問(wèn)題, 特別是在程序調(diào)試方面, 在解決這些問(wèn)題的過(guò)程中,使我學(xué)到許多東西, 深深感到實(shí)踐 對(duì)于理論的重要性 。 當(dāng)溫度還差 3176。 蜂鳴器發(fā)聲測(cè)試:經(jīng)測(cè)試,可以通過(guò)程序控制蜂鳴 器發(fā)出不同的聲音。 湖南科技大學(xué)本科生畢業(yè)設(shè)計(jì) 20 小結(jié) 系統(tǒng)采用 C語(yǔ)言編程,編程軟件采用 Keil uVision4,在程序的構(gòu)思和編寫(xiě)及調(diào)試過(guò)程中同樣遇到很多困難,尤其是調(diào)試過(guò)程中發(fā)現(xiàn)了很多編程的不好的習(xí)慣導(dǎo)致程序出現(xiàn) 致命問(wèn)題,但是最后還是通過(guò)努力順利地調(diào)試成功,在以后的編程中一定要注意改掉這些不好的編程習(xí)慣。報(bào)警采用蜂鳴器,利用單片機(jī)的定時(shí)器控制蜂鳴器的頻率進(jìn)行報(bào)警。 date=read_byte()。 //寫(xiě)入地址 respons()。 start()。 write_byte(date)。 //開(kāi)始信號(hào) write_byte(0xa0)。 典型的 I2C 字節(jié)讀取周期的操作過(guò)程是:主執(zhí)行設(shè)備用一個(gè)起始條件啟動(dòng)傳輸,接著發(fā)送設(shè)備地址,該地址是要讀取數(shù)據(jù)字節(jié)的設(shè)備的地址,以高位在前、低位在后的方式發(fā)送。 數(shù)據(jù) 的發(fā)送如圖 45所示,圖中主執(zhí)行設(shè)備將數(shù)據(jù)位的值放在 SDA 信號(hào)線上,同時(shí) SCL 信號(hào)線為低, SDA 信號(hào)線上的值要一直保持到 SCL 信號(hào)線出現(xiàn)時(shí)鐘脈沖。 I2C 總線上的數(shù)據(jù)傳輸用一個(gè)終止 條件來(lái)結(jié)束。 I2C 總線由兩條導(dǎo)線構(gòu)成,數(shù)據(jù)導(dǎo)線稱為串行數(shù)據(jù)線 (SDA),時(shí)鐘導(dǎo)線稱為串行時(shí)鐘線 (SCL),即可發(fā)送數(shù)據(jù),也可接受數(shù)據(jù) 。 按鍵 設(shè)置程序 按鍵 1對(duì)應(yīng)鍵值 key1的大小進(jìn)行模式轉(zhuǎn)換,每掃描到鍵 1按下時(shí) key1加 1,當(dāng) key1=1時(shí)為下限設(shè)置模式, key1=2時(shí)為上限設(shè)置模式, key1=3時(shí)滿足 “key12”,此時(shí)將 key1清零。 if(KEY1==0)set()。 dis_temp(temp)。 //溫度轉(zhuǎn)換 dis_temp(temp)。 TH0=(65536250)/256。 shang=read_add(4)。 系統(tǒng)主流程圖如圖 41: 圖 41 系統(tǒng)主流程 主程序設(shè)計(jì) 系統(tǒng) 軟件 主要在溫度顯示和鍵盤(pán)掃描之間循環(huán),隔一段時(shí)間才對(duì) DS18B20進(jìn)行溫度獲取,所以顯示和掃描循環(huán) 50次后再和溫度測(cè)量部分構(gòu)成系統(tǒng)大循環(huán),即大約每一秒獲取一次溫度數(shù)據(jù)。整機(jī)硬件電路圖請(qǐng)見(jiàn)附錄 A。電路如圖 310 圖 310 溫度控制電路 湖南科技大學(xué)本科生畢業(yè)設(shè)計(jì) 13 顯示電路 顯示部分可以用液晶顯示和數(shù)碼管顯示,由于本系統(tǒng)需要顯示的只有數(shù)字,故用數(shù)碼管顯示即可。 GND:電源地 (GND)。使用 AT24C02 最大可級(jí)聯(lián) 8 個(gè)器件。 AT24C02 的引腳如圖 37,各引腳功能如下 [3]: SCL:串行時(shí)鐘輸入管腳,用于產(chǎn)生器件所有數(shù)據(jù)發(fā)送或接收的時(shí)鐘。 圖 36 溫度調(diào)整按鍵電
點(diǎn)擊復(fù)制文檔內(nèi)容
試題試卷相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1