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

正文內(nèi)容

單片機(jī)整套實(shí)驗(yàn)及程序-資料下載頁(yè)

2025-07-07 13:13本頁(yè)面
  

【正文】 /*讀 20 次,取平均值 */getdata = 0。for(i = 0。i 20。i++){getdata += read_tlc()。} getdata /= 20。/*電壓顯示處理*/temp=((ulong)getdata*500)/256。 // 將十六進(jìn)制轉(zhuǎn)換為十進(jìn)制ge = temp / 100。 //個(gè)位 x1 = (temp % 100) / 10。 //第一位小數(shù) x2= (temp % 100) % 10。 //第二位小數(shù) write_(0x95)。 //顯示數(shù)據(jù)的地址地write_data(0x30+ge)。write_data(0x2e)。 //顯示小數(shù)點(diǎn)write_data(0x30+x1)。write_data(0x30+x2)。 write_data(0x56)。 //顯示單位/*50ms 更新一次數(shù)據(jù) */delay(500)。}}六、實(shí)驗(yàn)思考題? 查看 TLC549 技術(shù)手冊(cè),說(shuō)明 TLC549 操作過(guò)程。? 在采集模擬信號(hào)時(shí),一般不可避免會(huì)受到噪聲干擾,我們一般要做什么處理?根據(jù)本實(shí)驗(yàn)編寫(xiě)處理相關(guān)程序。37 / 92實(shí)驗(yàn) 8 DS18B20 溫度傳感器實(shí)驗(yàn)?zāi)康? 熟悉數(shù)字溫度傳感器DS18B20的工作原理和使用方法。? 掌握單總線(xiàn)的讀/寫(xiě)控制方法。實(shí)驗(yàn)儀器? 硬件:PC機(jī)、HNIST1型單片機(jī)實(shí)驗(yàn)系統(tǒng)? 軟件: uVision2單片機(jī)集成開(kāi)發(fā)環(huán)境實(shí)驗(yàn)內(nèi)容? 編寫(xiě)程序,實(shí)現(xiàn)數(shù)字溫度的采集與顯示;? 記錄采集的溫度數(shù)據(jù),分析實(shí)驗(yàn)結(jié)果的正確與否。實(shí)驗(yàn)原理本實(shí)驗(yàn)采用 AT89S52 單片機(jī) P3 .5 口控制溫度傳感器 DS18B20 的溫度測(cè)量,以四位數(shù)碼感形式輸出測(cè)量溫度,原理圖如下圖 所示:圖 DS18B20 與單片機(jī)接口原理圖? DS18B20特性介紹DS18B20是DALLAS公司生產(chǎn)的單總線(xiàn)數(shù)字溫度傳感器, 它的體積小、適用電壓更寬、更經(jīng)濟(jì)。DS18B20 是世界上第一片支持” 單總線(xiàn)”接口的溫度傳感器。單總線(xiàn)獨(dú)特而且經(jīng)濟(jì)的特點(diǎn), 使用戶(hù)可輕松地組建傳感器網(wǎng)絡(luò), 為測(cè)量系統(tǒng)的構(gòu)建引入全新概念。它的測(cè)量溫度范圍為55~+125℃ , 在10~+85℃范圍內(nèi), 精度為177。0、5℃。現(xiàn)場(chǎng)溫度直接以”一線(xiàn)總線(xiàn)” 的數(shù)字方式傳輸大大提高了系統(tǒng)的抗干擾性。適合于惡劣環(huán)境的現(xiàn)場(chǎng)溫度測(cè)量, 如: 環(huán)境控制、設(shè)備或過(guò)程控制、測(cè)溫類(lèi)消費(fèi)電子產(chǎn)品等。與前一代產(chǎn)品不同, 新的產(chǎn)品支持3~5V 的電壓范圍, 使系統(tǒng)設(shè)計(jì)更靈活、方便。而且新一代產(chǎn)品更便宜, 體積更小。DS18B20可以程序設(shè)定38 / 929~12位的分辨率, 精度為177。0、5℃??梢赃x擇更小的封裝方式,更寬的電壓適用范圍分辨率設(shè)定及用戶(hù)設(shè)定的報(bào)警溫度存儲(chǔ)在E2PROM 中, 掉電后依然保存。DS18B20 的性能是新一代產(chǎn)品中最好的, 性能價(jià)格比也非常出色, 繼”單總線(xiàn)” 的早期產(chǎn)品后,DS18B20開(kāi)辟了溫度傳感器技術(shù)的新概念。DS18B20和DS18B22 使電壓、特性及封裝有更多的選擇,讓我們可以構(gòu)建適合自己的經(jīng)濟(jì)的測(cè)溫系統(tǒng)?!鬌S18B20的內(nèi)部結(jié)構(gòu)DS18B20內(nèi)部結(jié)構(gòu)主要由4 部分組成:64位光刻ROM、溫度傳感器、非揮發(fā)的溫度報(bào)警觸發(fā)器TH和TL ,配置寄存器。: DS18B20引腳結(jié)構(gòu)與封裝圖 DS18B20 中的溫度傳感器可完成對(duì)溫度的測(cè)量, 以12位轉(zhuǎn)化為例: 用16 位符號(hào)擴(kuò)展的二進(jìn)制補(bǔ)碼讀數(shù)形式提供, ℃/LSB 形式表達(dá),其中S為符號(hào)位。表2 12 位轉(zhuǎn)化后得到的12 位數(shù)據(jù)表2是12 位轉(zhuǎn)化后得到的12 位數(shù)據(jù), 存儲(chǔ)在18B20的2 個(gè)8 bit 的RAM 中, 二進(jìn)制中的前面5 位是符號(hào)位,如果測(cè)得的溫度大于0℃, 則這5 位為0,只要將測(cè)到的數(shù)值乘于01062 5 即可得到實(shí)際溫度。 如果溫度小于0℃,則這5 位為1,測(cè)到的數(shù)值需要取反加1 再乘于01062 5即可得到實(shí)際溫度。例如: +125℃的數(shù)字輸出為07D0H, +20625℃ 的數(shù)字輸出為0191H,20625℃的數(shù)字輸出為FF6FH ,55℃的數(shù)字輸出為FC90H。39 / 92表3  溫度與數(shù)字輸出的對(duì)應(yīng)關(guān)系◆DS18B20 溫度傳感器的存儲(chǔ)器DS18B20 溫度傳感器的內(nèi)部存儲(chǔ)器包括一個(gè)高速暫存RAM 和一個(gè)非易失性的可電擦除的E2 RAM , 后者存放高溫和低溫觸發(fā)器TH , TL 和結(jié)構(gòu)寄存器。暫存存儲(chǔ)器包含了8 個(gè)連續(xù)字節(jié), 前2 個(gè)字節(jié)是測(cè)得的溫度信息, 第1個(gè)字節(jié)的內(nèi)容是溫度的低8位, 第2個(gè)字節(jié)是溫度的高8 位。第3個(gè)和第4個(gè)字節(jié)是TH,TL 的易失性拷貝, 第 5個(gè)字節(jié)是結(jié)構(gòu)寄存器的易失性拷貝, 這3個(gè)字節(jié)的內(nèi)容在每一次上電復(fù)位時(shí)被刷新。第6 , 7 , 8個(gè)字節(jié)用于內(nèi)部計(jì)算。第 9 個(gè)字節(jié)是冗余檢驗(yàn)字節(jié)。根據(jù)DS18B20 的通訊協(xié)議, 主機(jī)控制DS18B20 完成溫度轉(zhuǎn)換必須經(jīng)過(guò)3 個(gè)步驟: 每一次讀寫(xiě)之前都要對(duì)DS18B20 進(jìn)行復(fù)位。 復(fù)位成功后發(fā)送一條ROM 指令。 最后發(fā)送RAM 指令。這樣才能對(duì)DS18B20 進(jìn)行預(yù)定的操作。復(fù)位要求主CPU 將數(shù)據(jù)線(xiàn)下拉 500μs,然后釋放, DS18B20收到信號(hào)后等待16 ~60μs 左右,后發(fā)出 60~ 240μs低脈沖, 主CPU 收到此信號(hào)表示復(fù)位成功。◆DS18B20 使用中的注意事項(xiàng)DS18B20 雖然具有測(cè)溫系統(tǒng)簡(jiǎn)單、測(cè)溫精度高、連接方便、占用口線(xiàn)少等優(yōu)點(diǎn), 但在實(shí)際應(yīng)用中也應(yīng)注意以下幾方面的問(wèn)題:(1) DS18B20 從測(cè)溫結(jié)束到將溫度值轉(zhuǎn)換成數(shù)字量需要一定的轉(zhuǎn)換時(shí)間, 這是必須保證的, 不然會(huì)出現(xiàn)轉(zhuǎn)換錯(cuò)誤的現(xiàn)象, 使溫度輸出總是顯示85 。(2) 在實(shí)際使用中發(fā)現(xiàn), 應(yīng)使電源電壓保持在5 V 左右。若電源電壓過(guò)低, 會(huì)使所測(cè)得的溫度與實(shí)際溫度出現(xiàn)偏高現(xiàn)象, 經(jīng)過(guò)試驗(yàn)發(fā)現(xiàn), 一般在5 V 左右。(3) 較小的硬件開(kāi)銷(xiāo)需要相對(duì)復(fù)雜的軟件進(jìn)行補(bǔ)償,由于DS18B20與微處理器間采用串行數(shù)據(jù)傳送, 因此,在對(duì)DS18B20 進(jìn)行讀寫(xiě)編程時(shí), 必須嚴(yán)格保證讀寫(xiě)時(shí)序,否則將無(wú)法讀取測(cè)溫結(jié)果。 (4)在DS18B20 測(cè)溫程序設(shè)計(jì)中, 向DS18B20 發(fā)出溫度轉(zhuǎn)換命令后, 程40 / 92序總要等待DS18B20 的返回信號(hào),一旦某個(gè)DS18B20 接觸不好或斷線(xiàn), 當(dāng)程序讀該DS18B20 時(shí), 將沒(méi)有返回信號(hào), 程序進(jìn)入死循環(huán)。這一點(diǎn)在進(jìn)行DS18B20 硬件連接和軟件設(shè)計(jì)時(shí)也要給予一定的重視。? 對(duì)DS18B20的一般控制流程  整個(gè)對(duì)DS18B20的操作都是以”復(fù)位”、 ”等待應(yīng)答” 、 ”讀一字節(jié)”、 ”寫(xiě)一字節(jié)”這幾個(gè)操作為基礎(chǔ)的, 所以他們是使 DS18B20 能否正常測(cè)溫的關(guān)鍵。對(duì)不同的操作只要發(fā)出相應(yīng)的命令控制字即可, 詳情請(qǐng)參看有關(guān)技術(shù)文檔。典型的測(cè)溫流程如下圖所示: DS18B20控制流程? 實(shí)驗(yàn)過(guò)程? 連線(xiàn):溫度傳感器輸入輸出口 OUT 接 P3 .5 口;? 打開(kāi)電源,觀(guān)察數(shù)碼管顯示的溫度;? 改變溫度傳感器DS18B20附近溫度,觀(guān)察數(shù)碼管上溫度的變化。流程圖與程序設(shè)計(jì)? 流程圖◆ 主函數(shù)部分: 圖 主函數(shù)流程圖◆ 溫度測(cè)量部分:41 / 92圖 溫度測(cè)量流程圖◆數(shù)據(jù)計(jì)算處理部分整數(shù)部分圖 數(shù)據(jù)處理-整數(shù)部分小數(shù)部分42 / 92圖 數(shù)據(jù)處理-小數(shù)部分 ●源程序/*************************************************************************************************程序名: *************************************功 能:溫度傳感器測(cè)量溫度 ************************************ **************************************單 位:湖南理工物電系創(chuàng)新基地 ************************************ All rights reserved *********************************** **************************************開(kāi)始時(shí)間: ******* ****************結(jié)束時(shí)間: ***************************** ******版本信息: ************************************備 注:DS18B20 的輸入輸出口接單片機(jī)的 P3^5 口******************* *********************************************************************************/includedefine uint unsigned intdefine uchar unsigned chardefine negative 100uchar tplsb。//溫度值低位字節(jié)uchar tpmsb。//溫度值高位字節(jié)/***************************數(shù)字 09 及字母 A,b,C,d,E,F(xiàn),負(fù)號(hào)*******************/uchar code table1[]={0xfc,0x60,0xda ,0xf2 ,0x66,0xb6,0xbe,0xe0 ,43 / 920xfe,0xf6,0xee,0x3e ,0x9c,0x7a,0x9e ,0x8e,0x02}。/***********************************帶小數(shù)點(diǎn)的數(shù)字 09*************************/uchar code table2[]={0xfd,0x61, 0xdb,0xf3 ,0x67,0xb7,0xbf,0xe1,0xff,0xf7}。/**************************************端口定義******************************/sbit DQ=P3^5。sbit P14=P1^4。/*************************************延時(shí) t 秒********************************/void delay(uint t){uint i。while(t)for(i=0。i125。i++)。}/******************************產(chǎn)生復(fù)位脈沖,初始化 DS18B20*******************/void TxReset(void){uint i。DQ=0。/*拉低約 900us*/i=100。while(i0) i。DQ=1。 //產(chǎn)生上升沿i=4。while(i0) i。}/************************************等待應(yīng)答脈沖*****************************/void RxWait(void){uint i。while(DQ)。while(~DQ)。i=4。while(i0) i。}/***************************讀取數(shù)據(jù)的一位,滿(mǎn)足讀時(shí)限要求*********************/44 / 92bit RdBit(void){uint i。bit b。DQ=0。i++。 //保持低至少 1usDQ=1。i++。 //延時(shí) 15us 以上,讀時(shí)隙上升沿后 15us,DS18B20 輸出數(shù)據(jù)才有效i++。b=DQ。i=8。while(i0) i。//讀時(shí)延時(shí)不低于 60usreturn(b)。}/********************************讀取數(shù)據(jù)的一個(gè)字節(jié)***************************/uchar RdByte(void){uchar i,j,b。b=0。for(i=1。i=8。i++){j=RdBit()。b=(j7)|(b1)。}return(b)。}/**********************寫(xiě)數(shù)據(jù)的一個(gè)字節(jié),滿(mǎn)足寫(xiě) 1 和寫(xiě) 0 的時(shí)隙要求**************/void WrByte(uchar b){uint i。uchar j。bit btmp。for(j=1。j=8。j++){btmp=bamp。0x01。b=b1。 //取下一位(由低位到高位)if
點(diǎn)擊復(fù)制文檔內(nèi)容
黨政相關(guān)相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1