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

正文內(nèi)容

基于單片機(jī)的數(shù)字溫度計和數(shù)字鐘的設(shè)計與研究(留存版)

2025-01-11 14:56上一頁面

下一頁面
  

【正文】 3 口管腳是 8 個帶內(nèi)部上拉電阻的雙向 I/O 口,可接收輸出 4 個 TTL門電流。 2. 主要性能特點(diǎn) 4k Bytes Flash 片內(nèi)程序存儲器; 128 bytes 的隨機(jī)存取數(shù)據(jù)存儲器( RAM); 32 個外部雙向輸入 /輸出( I/O)口; 5 個 中 斷優(yōu)先級 、 2 層 中斷嵌套 中斷; 6 個中斷源; 2 個 16 位可編程 定時器 /計數(shù)器 ; 2 個全雙工串行通信口; 看門狗 ( WDT)電路; 片內(nèi) 振蕩器 和 時鐘電路 ; 與 MCS51 兼容; 1全靜態(tài)工作: 0Hz33MHz; 1三級程序存儲器保密鎖定; 1可編程串行通道; 主 控 制 器 LCD顯 示 溫 度 傳 感 器 單片機(jī)復(fù)位 DS1302 掉電保護(hù)電路 湖南科技大學(xué)本科生畢業(yè)設(shè)計(論文) 2 1低功耗的閑置和掉電模式 。湖南科技大學(xué)本科生畢業(yè)設(shè)計(論文) 第二章 方案論證 系統(tǒng)總體設(shè)計方案 論證 方案一 采用熱敏電阻的感溫效應(yīng)測量溫度,采用 LED 數(shù)碼管顯示實(shí)時溫度和同步的時間日歷。傳統(tǒng)的溫度檢測以熱敏電阻為溫度敏感元件。本系統(tǒng)顯示部分 采用 LCD 液晶顯示屏顯示,工作方便,外形美觀。 目前常用的實(shí)時時鐘,很多采用單片機(jī)的中斷服務(wù)來實(shí)現(xiàn),這種方式一方面 需要采用計數(shù)器,占用硬件資源,另一方面需要設(shè)置中斷、查詢等,同樣耗費(fèi)單片機(jī)的資源,而且某些測控系統(tǒng)可能不允許;有的則使用并行接口的時鐘芯片,如 MC14681DS12887 等,它們雖然能滿足單片機(jī)系統(tǒng)對實(shí)時時鐘的要求,但是這些芯片與單片機(jī)接口復(fù)雜,占用地址、數(shù)據(jù)總線多,芯片體積大,占用空間多,給其它設(shè)計帶來諸多不便。 系統(tǒng)總體設(shè)計框圖 本 系統(tǒng)由主控模塊、時鐘模塊、顯示模塊、 測溫 模塊共 4 個模塊組成。 P1 口: P1 口是一個內(nèi)部提供上拉電阻的 8 位雙向 I/O 口, P1 口緩沖器能接收輸出 4TTL 門電流。在 FLASH 編程期間,此引腳用于輸入編程脈沖。 顯示電路 LCD1602 液晶顯示器以其微功耗、體積小、顯示內(nèi)容豐富、超薄輕巧的諸多優(yōu)點(diǎn) , 在袖珍式儀表和低功耗應(yīng)用系統(tǒng)中得到越來越廣泛的應(yīng) 用 。 指令 6:功能設(shè)置命令 DL:高電平時為 4位總線,低電平時為 8位總線 N:低電平時為單行顯示,高電 平時雙行顯示 F: 低電平時顯示 5x7的點(diǎn)陣字符,高電平時顯示 5x10的點(diǎn)陣字符。 這是 12 位轉(zhuǎn)化后得到的 12 位數(shù)據(jù),存儲在 18B20 的兩個 8 比特的 RAM 中,二進(jìn)制中的前面 5 位是符號位,如果測得的溫度大于 0,這 5 位為 0,只要將測到的數(shù)值乘于 即可得到實(shí)際溫度;如果溫度小于 0,這 5 位為 1,測到的數(shù)值需要取反加 1再乘于 即可得到實(shí)際溫度。若T> TH 或 T< TL,則將該器件內(nèi)的報警標(biāo)志位置位,并響應(yīng)主機(jī)發(fā)出的報警搜索命令。為操作各器件作好準(zhǔn)備。試驗(yàn)中,當(dāng)采用普通信號電纜傳輸長度超過 50m 時,讀取的 測溫數(shù)據(jù)將發(fā)生錯誤。X1 和 X2 是振蕩源,外接 晶振。 我們現(xiàn)在已經(jīng)知道了控制寄存器和 RAM 的邏輯地址,接著就需要知道如何通過外部接口來訪問這些資源。采用寄生電源供電方式時 VDD 端接地。 圖 16 溫度轉(zhuǎn)換流程圖 Y 發(fā) DS18B20 復(fù)位命令 發(fā)跳過 ROM 命令 發(fā)讀取溫度命令 讀取操作, CRC 校驗(yàn) 9 字節(jié)完? CRC 校驗(yàn)正?確? 移入溫度暫存器 結(jié)束 N N Y 湖南科技大學(xué)本科生畢業(yè)設(shè)計(論文) 4 計算溫度子程序 計算溫度子程序?qū)?RAM 中讀取值進(jìn)行 BCD 碼的轉(zhuǎn)換運(yùn)算,并進(jìn)行溫度值正負(fù)的判定,其程序流程圖如圖 13 所示。 在本次設(shè)計過程中,我 也 發(fā)現(xiàn)很多的問題,雖 然以前學(xué)習(xí)并設(shè)計過簡單單片機(jī)電路,但這次課程設(shè)計仍然讓我學(xué)到了很多。 //實(shí)時時鐘數(shù)據(jù)線引腳 sbit DS1302_RST = P1^5。 void show_time()。 DBPort=input。 if(y==1) LCD_Write(LCD_COMMAND,0x80|(x0x40))。 define AM(X) X define PM(X) (X+12) // 轉(zhuǎn)成 24 小時制 define DS1302_SECOND 0x80 //時鐘芯片的寄存器位置 ,存放時間 define DS1302_MINUTE 0x82 define DS1302_HOUR 0x84 define DS1302_WEEK 0x8A define DS1302_DAY 0x86 define DS1302_MONTH 0x88 define DS1302_YEAR 0x8C 湖南科技大學(xué)本科生畢業(yè)設(shè)計(論文) 13 void DS1302InputByte(unsigned char d) //實(shí)時時鐘寫入一 字節(jié) (內(nèi)部函數(shù) ) { unsigned char i。 } void Write1302(unsigned char ucAddr, unsigned char ucDa) //ucAddr: DS1302 地址 , ucData: 要寫的數(shù)據(jù) { DS1302_RST = 0。 // 地址,命令 ucData = DS1302OutputByte()。 //相當(dāng)于匯編中的 RRC ACC7 = DS1302_IO。 unsigned char DateString[11]。 LCD_SetDisplay(LCD_SHOW|LCD_NO_CURSOR)。 } //向 LCD 寫入命令或數(shù)據(jù) ************************************************************ define LCD_COMMAND 0 // Command define LCD_DATA 1 // Data define LCD_CLEAR_SCREEN 0x01 // 清屏 define LCD_HOMING 0x02 // 光標(biāo)返回原點(diǎn) void LCD_Write(bit style, unsigned char input) { LcdEn=0。 //立刻跳出調(diào)整模式按鈕 sbit DQ = P1^0。 我還要感謝我的班主任 ※※※老師以及在大學(xué)四年中給我們授課的所有老師們,是他們讓我學(xué)到了很多很多知識,讓我看到了世界的精彩,讓我學(xué)會了做人做事。 在這次課程設(shè)計的整個過程中,我做了一次全面、較規(guī)范的設(shè)計練習(xí),全面地溫習(xí)了以前所學(xué)過的知識,用理論聯(lián) 系實(shí)際并結(jié)合單片機(jī)原理課程和解決實(shí)際問題,鞏固、加深和擴(kuò)展了有關(guān)單片機(jī)設(shè)計方面的知識。 圖 14 主程序流程圖 讀出溫度子程序 讀出溫度子程序的主要功能是讀出 RAM 中的 9 字節(jié),在讀出時需進(jìn)行 CRC 校驗(yàn),校驗(yàn)有錯時不進(jìn)行溫度數(shù)據(jù)的改寫。在外接電源方式下, 可以充分發(fā)揮 DS18B20 寬電源電壓范圍的優(yōu)點(diǎn),即使電源電壓 VCC 降到 3V 時,依然能夠保證溫度量精度。此外, DS1302 還有年份寄存器、控制寄存器、充電寄存器、時鐘突發(fā)寄存器及與 RAM 相關(guān)的寄存器等。在主電源關(guān)閉的情況下,也能保持時鐘的連續(xù)運(yùn)行。在使用 PL/M、 C 等高級語言進(jìn)行系統(tǒng)程序設(shè)計時,對 DS1820 操作部分最好采用匯編語言實(shí)現(xiàn)。復(fù)位要求主CPU 將數(shù)據(jù)線下拉 500 微秒,然后 釋放,當(dāng) DS18B20 收到信號后等待 16~ 60 微秒左右,后發(fā)出 60~ 240 微秒的存在低脈沖,主 CPU收到此信號表示復(fù)位成功。單片機(jī)通過單線接口讀出該數(shù)據(jù),讀數(shù)據(jù)時低位在 前 ,高位在后,數(shù)據(jù)格式以 ℃ / LSB 形式表示。 光刻 ROM 中的 64 位序列號是出廠前被光刻好的,它可以看作是該 DS18B20 的地址序列碼。 指令 4:顯示開關(guān)控制。注意加密方式 1 時, /EA 將內(nèi)部鎖定為 RESET;當(dāng) /EA端保持高電平時,此間內(nèi)部程序存儲器。 P3 口也可作為 AT89C51 的一些特殊功能口,如下表所示: 口管腳 備選功能 RXD(串行輸入口) TXD(串行輸出口) /INT0(外部中斷 0) /INT1(外部中 斷 1) T0(記時器 0 外部輸入) T1(記時器 1 外部輸入) /WR(外部數(shù)據(jù)存儲器寫選通) /RD(外部數(shù)據(jù)存儲器讀選通) P3 口同時為閃爍編程和編程校驗(yàn)接收一些控制信號。 P0 口: P0 口為一個 8 位漏級開路雙向 I/O 口,每腳可吸收 8TTL 門電流。 方案二 采用溫度傳感器 DS18B20 測量溫度,采用 LCD 液晶顯示屏顯示實(shí)時溫度和同步的時間日 歷。選用 AT89C51 型單片機(jī)作為主控制器件, DSl8B20 作為測溫傳感器 , 通過 LCD1602 液晶顯示器 實(shí)現(xiàn)溫度顯示。湖南科技大學(xué)本科生畢業(yè)設(shè)計(論文) 摘 要 隨著時代的進(jìn)步和發(fā)展,單片機(jī)技術(shù)已經(jīng)普及到生活 、 工作 、 科研等各個領(lǐng)域,已經(jīng)成為一種比較成熟的技術(shù) 。通過 DSl8B20直接讀取被測溫度值,進(jìn)行數(shù)據(jù)轉(zhuǎn)換,該器件的物理化學(xué)性能穩(wěn)定,線性度較好,在0℃ ~100℃ 最大線性偏差小于 ℃ 。本系統(tǒng)可考慮選用一只溫度傳感器 DS18B20, DS18B20 不僅可以很容易直接讀取被測溫度值進(jìn)行顯示,而且溫度傳感器 DS18B20 具有 獨(dú)特的一線接口,只需要一條口線就可多點(diǎn)通信,無需外部元件,簡化了分布式溫度傳感應(yīng)用。當(dāng)P1 口的管腳第一次寫 1 時,被定義為 高阻 輸入。 RST:復(fù)位輸入。在 FLASH 編程期間,此引腳也用于施加12V 編程電源( VPP)。 D:控制整體顯示的開與關(guān),高電平表示開顯示,低電平表示關(guān)顯示 C:控制光標(biāo)的開與關(guān),高電平表示有光標(biāo),低電平表示無光標(biāo) B:控制光標(biāo)是否閃爍,高電平閃爍,低電平不閃爍。 64 位光刻 ROM 的排列是:開始 8 位( 28H)是產(chǎn)品類型標(biāo)號,接著的 48位是該 DS18B20 自身的序列號,最后 8 位是前面 56 位的循環(huán)冗余校驗(yàn)碼( CRC=X8+X5+X4+1)。當(dāng)符號位S= 0 時,表示測得的溫度值為正值,可以直接將二進(jìn)制位轉(zhuǎn)換為十進(jìn)制;當(dāng)符號位 S= 1 時,表示測得的溫度值為負(fù)值,要先將補(bǔ)碼變成原碼,再計算十進(jìn)制數(shù)值。 以下 DS18B20的主要指令。 在 DS1820 的有關(guān)資料中均未提及單總線上所掛 DS1820 數(shù)量問題,容易使人誤認(rèn)為可以掛任意多個 DS1820,在實(shí)際應(yīng)用中并非如此。 DS1302 由 Vcc1 或 Vcc2 兩者中的較大者供電。時鐘突發(fā)寄存器可一次性順序讀寫除充電寄存器以外的寄存器。 在外部電源供電方式下, DS18B20 工作電源由 VDD 引腳接入,此時 I/O線不需要強(qiáng)上拉,不存在電源電流不足的問題,可以保證 轉(zhuǎn)換精度,同時在總線上理論可以掛接任意多個 DS18B20 傳感器,組成多點(diǎn)測溫系統(tǒng)。其程序流程圖如 上 圖 圖 11 所示。尤其重要的是讓我們養(yǎng)成了科學(xué)的習(xí)慣,在設(shè)計過程中一定要注意掌握設(shè)計進(jìn)度,按預(yù)定計劃完成階段性的目標(biāo),在底圖設(shè)計階段,注意設(shè)計計算與結(jié)構(gòu)設(shè)計畫圖交替進(jìn)行,采用正確的設(shè)計方法。 最后感謝四年里陪伴我的同學(xué)、朋友們,有了他們我的人生才豐富,有了他們我在奮斗的路上才不孤獨(dú),謝謝他們。 //溫度傳送數(shù)據(jù) IO 口 char done,count,temp,flag,up_flag,down_flag。 LcdRs=style。 //開啟顯示 , 無光標(biāo) LCD_Write(LCD_COMMAND,LCD_CLEAR_SCREEN)。 unsigned char TimeString[9]。 DS1302_CLK = 1。 // 讀 1Byte 數(shù)據(jù) DS1302_CLK = 1。 } return(ACC)。 //定義的時間類型 SYSTEMTIME CurrentTime。 //AC 遞增 , 畫面不動 } //液晶字符輸入的位置 ************************ void GotoXY(unsigned char x, unsigned char y) { if(y
點(diǎn)擊復(fù)制文檔內(nèi)容
試題試卷相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1