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

正文內(nèi)容

基于單片機(jī)的溫度數(shù)據(jù)采集系統(tǒng)設(shè)計(jì)畢業(yè)設(shè)計(jì)-在線(xiàn)瀏覽

2025-05-01 12:01本頁(yè)面
  

【正文】 展及 16位單片機(jī)的推出階段 第四階段:微控制器的全面發(fā)展階段 單片機(jī)已在各行業(yè)得到廣泛應(yīng)用,為適應(yīng)更多的應(yīng)用領(lǐng)域,廠(chǎng)家采取了在一塊單片機(jī)芯片上集成多種功能部件和大容量存儲(chǔ)器的方法。這種系統(tǒng)成本低廉 ,結(jié)構(gòu)簡(jiǎn)單,常構(gòu)成一些簡(jiǎn)單的控制系統(tǒng),如開(kāi)關(guān)狀態(tài)的輸入 /輸出控制等。 STC89C52 是一種低功耗、高性能 CMOS8 位微控制器,具有 8K 在系統(tǒng)可編程 Flash 存儲(chǔ)器。片上 Flash 允許程 序存儲(chǔ)器在系統(tǒng)可編程,亦適于常規(guī)編程器。 STC89C52 具有以下標(biāo)準(zhǔn)功能: 8k 字節(jié) Flash, 256 字節(jié) RAM, 32 位 I/O 口線(xiàn),看門(mén)狗定時(shí)器, 2 個(gè)數(shù)據(jù)指針,三個(gè) 16 位定時(shí)器 /計(jì)數(shù)器 一個(gè) 6 向量 2 級(jí)中斷結(jié)構(gòu),全雙工串行口,片內(nèi)晶振及時(shí)鐘電路。空閑模 式下, CPU 停止工作,允許 RAM、定時(shí)器 /計(jì)數(shù)器、串口、中斷繼續(xù)工作。 2. 2. 1. 1 引腳結(jié)構(gòu) ,見(jiàn)圖 21 圖 21單片機(jī)封裝及引腳結(jié)構(gòu) 2. 2. 1. 2 內(nèi)部邏輯圖 ,見(jiàn)圖 22 圖 22內(nèi)部邏輯圖 2. 2. 1. 3 引腳功能描述 VCC :電源 GND:地 P0 口: P0 口是一個(gè) 8 位漏極開(kāi)路的雙向 I/O 口。對(duì) P0 端口寫(xiě)“ 1”時(shí),引腳用作高阻抗 輸入。在這種模式下, P0 具有內(nèi)部上拉電阻。程序校驗(yàn)時(shí),大學(xué)畢業(yè)設(shè)計(jì)論文 6 需要外部上拉電阻。對(duì) P1 端口寫(xiě)“ 1”時(shí),內(nèi)部上拉電阻把端口拉高,此時(shí)可以作為輸入口使用。此外, 和 分別作定時(shí)器 /計(jì)數(shù)器 2 的外部計(jì)數(shù)輸入( )和時(shí)器 /計(jì)數(shù)器 2的觸發(fā)輸入( ),具體如下表所示。 P2 口: P2 口是一個(gè)具有內(nèi)部上拉電阻的 8 位雙向 I/O 口, P2 輸出緩沖器能驅(qū)動(dòng) 4 個(gè) TTL 邏輯電平。作為輸入使用時(shí),被外部拉低的引腳由于內(nèi)部電阻的原因,將輸出電流( IIL)。在這種應(yīng)用中, P2 口使用很強(qiáng)的內(nèi)部上拉發(fā)送 1。在 flash 編程和校驗(yàn)時(shí), P2 口也接收高 8 位地址字節(jié)和一些控制信號(hào)。對(duì) P3 端口寫(xiě)“ 1”時(shí),內(nèi)部上拉電阻把端口拉高,此時(shí)可以作為輸入口使 用。P3 口亦作為 STC89C52 特殊功能(第二功能)使用,如下表所示。 RST: 復(fù)位輸入??撮T(mén)狗計(jì)時(shí)完成后, RST 腳輸出 96 個(gè)晶振周期的高電平。 DISRTO 默認(rèn)狀態(tài)下,復(fù)位高電平有效。在 flash 編程時(shí),此引腳( PROG)也用作編程輸入脈沖。然而,特別強(qiáng)調(diào),在每次訪(fǎng)問(wèn)外部數(shù)據(jù)存儲(chǔ)器時(shí), ALE 脈沖將會(huì)跳過(guò)。這一位置“ 1”, ALE 僅在執(zhí)行 MOVX 或 MOVC 指令時(shí)有效。這個(gè) ALE 使能標(biāo)志位地址為 8EH 的 SFR 的第 0 位)的設(shè)置對(duì)微控制器處于外部執(zhí)行模式下無(wú)效。當(dāng) STC89C52 從外部程序存儲(chǔ)器執(zhí)行外部代碼時(shí), PSEN 在每個(gè)機(jī)器周期被激活兩次,而在訪(fǎng)問(wèn)外部數(shù)據(jù)存儲(chǔ)器時(shí), PSEN 將不被激活。 XTAL2:振蕩器反相放大器的輸出端。一線(xiàn)總線(xiàn)獨(dú)特而且經(jīng)濟(jì)的特點(diǎn),使用戶(hù)可輕松地組建傳感器網(wǎng)絡(luò),為測(cè)量系統(tǒng)的構(gòu)建引入全新概念。C~+125176。C 范圍內(nèi) ,精度為 177。C 。 2176?,F(xiàn)場(chǎng)溫度直接以 “ 一線(xiàn)總線(xiàn) ” 的數(shù)字方式傳 輸 ,大大提高了系統(tǒng)的抗干擾性。與前一代產(chǎn)品不同,新的 產(chǎn)品支持 3V~ 的電壓范圍,使系統(tǒng)設(shè)計(jì)更靈活、方便。 DS18B DS1822 的特性 DS18B20 可以程序設(shè)定 9~12 位 的分辨率,精度為 177。C 。分辨 率設(shè)定,及用戶(hù)設(shè)定的報(bào)警溫度存儲(chǔ)在 EEPROM 中,掉電 依然保存。省略了存儲(chǔ)用戶(hù)定義報(bào)警溫度、分辨率參數(shù)的 EEPROM,精度降低為 177。C ,適用于對(duì)性能要求不高,成本控制嚴(yán)格的應(yīng)用,是經(jīng)濟(jì)型產(chǎn)品。 DS18B20 和 DS1822 使電壓、特性及封裝有更多的選擇,讓我們可以構(gòu)建適合自己的經(jīng)濟(jì)的測(cè)溫系統(tǒng)。 DS18B20 的管 腳排列如下 : DQ 為數(shù)字信號(hào)輸入 /輸出端; GND為電源地; VDD 為外接供電電源輸入端(在寄生電源接線(xiàn)方式時(shí)接地)。 64位光刻 ROM 的排列是:開(kāi)始 8位( 28H)是產(chǎn)品類(lèi)型標(biāo)號(hào),接著的 48位是該 DS18B20 自身的序列號(hào),最后 8 位是前面 56位的循環(huán)冗余校驗(yàn)碼( CRC=X8+X5+X4+1)。 DS18B20 中的溫度傳感器可 完成對(duì)溫度的測(cè)量,以 12 位轉(zhuǎn)化為例 :用 16 位符號(hào)擴(kuò)展的二進(jìn)制補(bǔ)碼讀數(shù)形式提供,以 ℃ /LSB形式表達(dá),其中 S為符 號(hào)位 ,見(jiàn)表 21。 例如 +125℃ 的數(shù)字輸出為 07D0H, +℃ 的數(shù)字輸出為 0191H, ℃ 的數(shù)字輸出為 FF6FH, 55℃ 的數(shù)字輸出為 FC90H。 C 64 位 ROM 和 單 線(xiàn) 高速緩存 存儲(chǔ)器與控制邏輯 溫度傳感器 高溫觸發(fā)器 TH 低溫觸發(fā)器 TL 配置寄存器 8 位 CRC 發(fā)生器 Vdd 大學(xué)畢業(yè)設(shè)計(jì)論文 9 圖 23DS18B20內(nèi)部?jī)?nèi)部邏輯圖 DS18B20 讀寫(xiě)時(shí)序 主機(jī)使用時(shí)間隙 (time slots)來(lái)讀寫(xiě) DSl820 的數(shù)據(jù)位和寫(xiě)命令字的位 時(shí)序見(jiàn)圖 24 主機(jī)總線(xiàn) to 時(shí)刻發(fā)送一復(fù)位脈沖 (最短為 480us 的低電平信號(hào) )接著在 tl 時(shí)刻釋放總線(xiàn)并進(jìn)入接收狀態(tài) DSl820 在檢測(cè)到總線(xiàn)的上升沿之后 等待 1560 接著 DS1820 在 t2 時(shí)刻發(fā)出存在脈沖 (低電平 持續(xù) 60240 us)如圖中虛線(xiàn)所示 圖 24DS18B20初始化時(shí)序圖 程序: Init_DS18B20(void)//初始化 ds1820 { DQ = 1。 _nop_()。 //單片機(jī)將 DQ拉低 ,發(fā)出復(fù)位脈沖(要求 480us~960us) Delay(70)。 //拉高總線(xiàn) (要求 16~60us) Delay(5)。 //如果 =0則 初始化成功 =1則初始化失敗 Delay(25)。 return(presence)。 圖 25寫(xiě) 時(shí)間隙 程序: WriteOneChar(unsigned char dat) { unsigned char i=0。 i0。 DQ = datamp。 delay(5)。 dat=1。 unsigned char dat = 0。i0。 // 給脈沖信號(hào) dat=1。 // 給脈沖信號(hào) if(DQ) dat|=0x80。 } return(dat)。 搜索 ROM 0F0H 用于確定掛在同一總線(xiàn)上 DS18B20的個(gè)數(shù),和識(shí)別 64位 ROM地址,微操作各器件做準(zhǔn)備。 告警搜索命令 0ECH 執(zhí)行后只有溫度值超過(guò)限度值才做出反應(yīng), 溫度變換命令 44H 啟動(dòng) DS18B20進(jìn)行溫度轉(zhuǎn)換,轉(zhuǎn)換時(shí)間最長(zhǎng)為 500毫秒,結(jié)果 存入內(nèi)部 就九字節(jié) RAM中。 復(fù)制暫存器 48H 將 RAM中的第 4字節(jié)內(nèi)容 寫(xiě)到 EEPRAM中。 DS18B20溫度傳感器與單片機(jī)的接口電路 DS18B20 可以采用兩種方式供電,一種是采用電源供電方式,此時(shí) DS18B20 的 1 腳接地, 2 腳作為信號(hào)線(xiàn), 3 腳接電源。 大學(xué)畢業(yè)設(shè)計(jì)論文 12 當(dāng) DS18B20 處于寫(xiě)存儲(chǔ)器操作和溫度 A/D 轉(zhuǎn)換操作時(shí),總線(xiàn)上必須有強(qiáng)的上拉, 上拉開(kāi)啟時(shí)間最大為 10us。由于單線(xiàn)制只有一根線(xiàn),因此發(fā)送接口必須是三態(tài)的。 DS18B20 有嚴(yán)格的通信協(xié)議來(lái)保證各位數(shù)據(jù)傳輸?shù)恼_性和完整性。所有時(shí)序都是將主機(jī)作為主設(shè)備,單總線(xiàn)器件作為從設(shè)備。數(shù)據(jù)和命令的 傳輸都是低位在先。 對(duì)于 DS18B20 的讀時(shí)隙是從主機(jī)把單總線(xiàn)拉低之后,在 15 秒之內(nèi)就得釋放單總線(xiàn),以讓 DS18B20 把數(shù)據(jù)傳輸?shù)絾慰偩€(xiàn)上。 DS18B20 的寫(xiě)時(shí)序 對(duì)于 DS18B20 的寫(xiě)時(shí)序仍然分為寫(xiě) 0 時(shí)序和寫(xiě) 1時(shí)序兩個(gè)過(guò)程。 大學(xué)畢業(yè)設(shè)計(jì)論文 13 圖 52覆銅 PCB 系統(tǒng)工作過(guò)程 DS18B20 數(shù)字溫度傳感器溫度數(shù)據(jù)以數(shù)字的形式傳至單片機(jī),單片機(jī)將數(shù)據(jù)轉(zhuǎn)換成十進(jìn)制,送到數(shù)碼管進(jìn)行顯示,這也就完成了,溫度的測(cè)量 ,61。 圖 62溫度數(shù)據(jù)的采集 7 程序框圖及 C 語(yǔ)言程序 ,見(jiàn)圖 71 圖 71溫度采集系統(tǒng)原理框圖 N 初始化 調(diào)用顯示子程序 1S 到? 初次上電? 讀出溫度值溫度計(jì)算處理顯示數(shù)據(jù)刷新 發(fā)溫度轉(zhuǎn)換開(kāi)始命令 N Y主流程圖 Y主流程圖 大學(xué)畢業(yè)設(shè)計(jì)論文 15 顯示數(shù)據(jù)刷新子程序主要是對(duì)顯示緩沖器中的顯示數(shù)據(jù)進(jìn)行刷新操作,當(dāng)最高顯示位為 0時(shí)將符號(hào)顯示位移入下一位。 N Y N Y Y 圖 72溫度顯示模塊流程圖 讀出溫度子程序的主要功能是讀出 RAM 中的 9 字節(jié),在讀出時(shí)需要進(jìn)行 CRC 校驗(yàn),其程序流程,見(jiàn)圖 72。 圖 74溫度轉(zhuǎn)換子程序流程 此程序?qū)?RAM 中讀取值進(jìn)行 BCD 碼的轉(zhuǎn)換運(yùn)算并進(jìn)行正負(fù)判定流程,見(jiàn)圖 75。在這次培訓(xùn)中,我切身感受到了動(dòng)手實(shí)踐的重要性,這對(duì)我以后的學(xué)習(xí)工作將產(chǎn)生深遠(yuǎn)影響。在軟件開(kāi)發(fā)過(guò)程中掌握了一些技術(shù)難題的解決方法和技巧,鞏固和加深了所學(xué)知識(shí)的理解, 能夠 把所學(xué)的知識(shí)與實(shí)踐相結(jié)合, 培養(yǎng)了認(rèn)真嚴(yán)謹(jǐn)?shù)膶W(xué)習(xí)態(tài)度,為以后開(kāi)發(fā)軟件積累了大量的經(jīng)驗(yàn),提高了分析問(wèn)題和解決問(wèn)題的能力。 大學(xué)畢業(yè)設(shè)計(jì)論文 19 致謝 感謝于蕾老師對(duì)我的指導(dǎo),他的嚴(yán)謹(jǐn)細(xì)致、一絲不茍的作風(fēng)一直是我工作、學(xué)習(xí)中的榜樣。無(wú)論是在課題的選題還是定稿、研究的方法、技術(shù)路線(xiàn)以及本文的撰寫(xiě)都得到了于老師的嚴(yán)格要求和精心指導(dǎo),于老師花費(fèi)了大量的精力,在各個(gè)環(huán)節(jié)中給了我許多寶貴的意見(jiàn)。這些都是我不斷前進(jìn)的動(dòng)力,必將對(duì)我今后的學(xué)習(xí)和生活受益匪淺,我將終生學(xué)習(xí)和銘記。感謝在我論文完成過(guò)程中同學(xué)們給我提供的支持、幫助和建議。 sbit fm=P2^3。 // 溫度變量 uchar flag1,count。 sbit wela=P2^7。//不帶小數(shù)點(diǎn)編碼。 //帶小數(shù)點(diǎn)編碼。 for(i=0。i++) for(j=0。j++)。 PCON = 0x00。 TH1 = 0xFd。 TR1 = 1。 //DS18B20 初始化 大學(xué)畢業(yè)設(shè)計(jì)論文 22 DS=0。 while(i0)i。 i=4。 } bit tmpreadbit(void) //read a bit 讀一位 { int i。 DS=0。 //i++小延時(shí)一下 DS=1。i++。 i=8。 return (dat)。 dat=0。i=8。 dat=(j7)|(dat1)。 //將一個(gè)字節(jié)數(shù)據(jù)返回 } 大學(xué)畢業(yè)設(shè)計(jì)論文 23 void tmpwritebyte(uchar dat) //寫(xiě)一個(gè)字節(jié)到 DS18B20 里 { int i。 bit testb。j=8。0x01。 if(testb) // 寫(xiě) 1 部分 { DS=0。i++。 i=8。 } else { DS=0。while(i0)i。 i++。 } } } void tmpchange(void) //發(fā)送溫度轉(zhuǎn)換命令 { dsreset()。 //延時(shí) tmpwritebyte(0xcc)。 //發(fā)送溫度轉(zhuǎn)換命令 } int tmp() //獲得溫度 大學(xué)畢業(yè)設(shè)計(jì)論文 24 { float tt。 dsreset()。 tmpwritebyt
點(diǎn)擊復(fù)制文檔內(nèi)容
試題試卷相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1