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

正文內(nèi)容

基于單片機的數(shù)字溫度計和數(shù)字鐘的設(shè)計與研究(整理版-預(yù)覽頁

2024-12-14 14:56 上一頁面

下一頁面
 

【正文】 珍式儀表和低功耗應(yīng)用系統(tǒng)中得到越來越廣泛的應(yīng) 用 。 表 1 LCD1602 的接口定義 引腳號 標(biāo)識 說明 PIN1 GND 接 0V PIN2 VCC 接 PIN3 V0 對地接電阻 4702K PIN4 RS RS=0,指令寄存器; RS=1,數(shù)據(jù)寄存器 PIN5 R/W R/W=0,寫; R/W=1,讀 PIN6 E 允許信號 PIN7 D0 數(shù)據(jù) 0 PIN8 D1 數(shù)據(jù) 1 PIN9 D2 數(shù)據(jù) 2 PIN10 D3 數(shù)據(jù) 3 PIN11 D4 數(shù)據(jù) 4 PIN12 D5 數(shù)據(jù) 5 PIN13 D6 數(shù)據(jù) 6 JKDFHJDSHFJKHSDJKFH DDK SLFHALDSFJ DSHF JDSHFKLDHFKDSH FJHDSAF JDSHFL DSHFLK ASHLFDSJK PIN14 D7 數(shù)據(jù) 7 PIN15 LED+ 背光正極,接 5V PIN16 LED 背光負極,接 0V LCD1602 顯示字符原理 ( 1 ) 線段的顯示 點陣 圖形式液晶由 M*N個顯示單元組成,假設(shè) LCD顯示屏有 64行,每行有 128列,每 8列對應(yīng) 1字節(jié)的 8位,即每行由 16字節(jié),共 16*8=128個點組成,屏上 64*16個顯示單元與顯示 RAM區(qū) 1024字節(jié)相對應(yīng),每一字節(jié)的內(nèi)容和顯示屏上相應(yīng)位置的亮暗對應(yīng)。 LCD1602 指令 1602模塊的設(shè)定,讀寫,與光標(biāo)控制都是通過指令來完成,共有 11條指令,如下: 表 2 LCD1602 指令表 指令 RS RW D7 D6 D5 D4 D3 D2 D1 D0 1 清屏 0 0 0 0 0 0 0 0 0 1 2 光標(biāo)返回 0 0 0 0 0 0 0 0 1 * 3 輸入模式 0 0 0 0 0 0 0 1 I/D S 4 顯示控制 0 0 0 0 0 0 1 D C B 5 光標(biāo) /字符移位 0 0 0 0 0 1 S/C R/L * * JKDFHJDSHFJKHSDJKFH DDK SLFHALDSFJ DSHF JDSHFKLDHFKDSH FJHDSAF JDSHFL DSHFLK ASHLFDSJK 6 功能 0 0 0 0 1 DL N F * * 7 置字符發(fā)生器地址 0 0 0 1 字符發(fā)生存貯器地址 8 置數(shù)據(jù)存貯器地址 0 0 1 顯示數(shù)據(jù)存貯器地址 9 讀忙標(biāo)志和地址 0 1 BF 計數(shù)器地址 10 寫數(shù)據(jù)到指令 所設(shè)地址 1 0 要寫的數(shù)據(jù) 11 從指令 所設(shè)的地址讀數(shù)據(jù) 1 1 讀出的數(shù)據(jù) 指令說明如下: 指令 1:清顯示,光標(biāo)復(fù)位到地址 00H位置。 指令 4:顯示開關(guān)控制。 指令 6:功能設(shè)置命令 DL:高電平時為 4位總線,低電平時為 8位總線 N:低電平時為單行顯示,高電 平時雙行顯示 F: 低電平時顯示 5x7的點陣字符,高電平時顯示 5x10的點陣字符。 指令 10:寫數(shù)據(jù)。 DS18B20 具有耐磨耐碰,體積小,使用方便,封裝形式多樣,適用于各種狹小空間設(shè)備數(shù)字測溫和控制領(lǐng)域。 光刻 ROM 中的 64 位序列號是出廠前被光刻好的,它可以看作是該 DS18B20 的地址序列碼。 這是 12 位轉(zhuǎn)化后得到的 12 位數(shù)據(jù),存儲在 18B20 的兩個 8 比特的 RAM 中,二進制中的前面 5 位是符號位,如果測得的溫度大于 0,這 5 位為 0,只要將測到的數(shù)值乘于 即可得到實際溫度;如果溫度小于 0,這 5 位為 1,測到的數(shù)值需要取反加 1再乘于 即可得到實際溫度。第三個和第四個字節(jié)是 TH、 TL 的易I/O C 64 位ROM 和 單線接口 高速緩存 存儲器控制邏輯輯輯 溫度傳感器 高溫觸發(fā)器 TH 低溫觸發(fā)器 TL 配置寄存器 8 位 CRC 發(fā)生器 Vdd JKDFHJDSHFJKHSDJKFH DDK SLFHALDSFJ DSHF JDSHFKLDHFKDSH FJHDSAF JDSHFL DSHFLK ASHLFDSJK 失性拷貝,第五個字節(jié)是結(jié)構(gòu)寄存器的易失性拷貝,這三個字節(jié)的內(nèi)容在每一 次上電復(fù)位時被刷新。在 DS18B20 出廠時該位被設(shè)置為 0,用戶不要去改動。單片機通過單線接口讀出該數(shù)據(jù),讀數(shù)據(jù)時低位在 前 ,高位在后,數(shù)據(jù)格式以 ℃ / LSB 形式表示。若T> TH 或 T< TL,則將該器件內(nèi)的報警標(biāo)志位置位,并響應(yīng)主機發(fā)出的報警搜索命令。JKDFHJDSHFJKHSDJKFH DDK SLFHALDSFJ DSHF JDSHFKLDHFKDSH FJHDSAF JDSHFL DSHFLK ASHLFDSJK 圖 4 DS18B20 測溫原理 圖 減法計數(shù)器 1 對低溫度系數(shù)晶振產(chǎn)生的脈沖信號進行減法計數(shù),當(dāng)減法計數(shù)器 1 的預(yù)置值減到 0 時,溫度寄存器的值將加 1,減法計數(shù)器 1 的預(yù)置將重新被裝入,減法計數(shù)器 1 重新開始對低溫度系數(shù)晶振產(chǎn)生的脈沖信號進行計數(shù)。系統(tǒng) 對 DS18B20 的各種操作按協(xié)議進行。復(fù)位要求主CPU 將數(shù)據(jù)線下拉 500 微秒,然后 釋放,當(dāng) DS18B20 收到信號后等待 16~ 60 微秒左右,后發(fā)出 60~ 240 微秒的存在低脈沖,主 CPU收到此信號表示復(fù)位成功。為操作各器件作好準(zhǔn)備。 表 6 RAM 指令表 指 令 約定代碼 功 能 溫度變換 44H 啟動 DS1820 進行溫度轉(zhuǎn)換, 12 位轉(zhuǎn)換時最長為 750ms( 9 )。 重調(diào) EEPROM 0B8H 將 EEPROM 中內(nèi)容恢復(fù)到 RAM 中的第 3 、 4 字節(jié)。在使用 PL/M、 C 等高級語言進行系統(tǒng)程序設(shè)計時,對 DS1820 操作部分最好采用匯編語言實現(xiàn)。試驗中,當(dāng)采用普通信號電纜傳輸長度超過 50m 時,讀取的 測溫數(shù)據(jù)將發(fā)生錯誤。 在 DS1820 測溫程序設(shè)計中,向 DS1820 發(fā)出溫度轉(zhuǎn)換命令后,程序總要等待 DS1820的返回信號,一旦 某個 DS1820 接觸不好或斷線, 當(dāng)程序讀該 DS1820 時,將沒有返回信號,程序進入死循環(huán)。低功耗時鐘芯片 DS1302 可以對年、月、日、周、時、分、秒進行計時,且具有閏年補償?shù)榷喾N功能。在主電源關(guān)閉的情況下,也能保持時鐘的連續(xù)運行。X1 和 X2 是振蕩源,外接 晶振。如果在傳送過程中 RST 置為低電平,則會終止此次數(shù)據(jù)傳送, I/O 引腳變?yōu)楦咦钁B(tài)。 DS1302 的工作原理 DS1302 工作時為了對任何數(shù)據(jù)傳送進行初始化,需要將復(fù)位腳( RST)置為高電平且將 8 位地址和命令信息裝入移位寄存器。此外, DS1302 還有年份寄存器、控制寄存器、充電寄存器、時鐘突發(fā)寄存器及與 RAM 相關(guān)的寄存器等。 我們現(xiàn)在已經(jīng)知道了控制寄存器和 RAM 的邏輯地址,接著就需要知道如何通過外部接口來訪問這些資源。具體的讀寫時序參考圖 5,但是請注意,無論是哪種同步通訊類型的串行接口,都是對時鐘信號敏感 的,而且一般數(shù)據(jù)寫入有效是在上升沿,讀出有效是在下降沿( DS1302 正是如此的,但是在芯片手冊里沒有明確說明),如果不是特別確定,則把程序設(shè)計成這樣:平時 SCLK 保持低電平,在時鐘變動前設(shè)置數(shù)據(jù),在時鐘變動后讀取數(shù)據(jù),即數(shù)據(jù)操作總是在SCLK 保持為低電平的時候,相鄰的操作之間間隔有一個上升沿和一個下降沿。 DS18B20 與單片機的接口電路 DS18B20 可以采用兩種方式供電,一種是采用 外部 電源供電方式,此時 DS18B20的 1 腳接地, 2 腳作為信號線, 3 腳接電源 ,如圖 9。在外接電源方式下, 可以充分發(fā)揮 DS18B20 寬電源電壓范圍的優(yōu)點,即使電源電壓 VCC 降到 3V 時,依然能夠保證溫度量精度。采用寄生電源供電方式時 VDD 端接地。 圖 11 DS1302 電容充電電路 圖 12 DS1302 后備外部電源電路JKDFHJDSHFJKHSDJKFH DDK SLFHALDSFJ DSHF JDSHFKLDHFKDSH FJHDSAF JDSHFL DSHFLK ASHLFDSJK 溫度時鐘 顯示電路 顯示電路采用液晶顯示屏 LCD1602 進行顯示,單片機從 P0 口傳輸溫度和時間數(shù)據(jù)驅(qū)動 LCD1602 進行顯示 , LCD1602 與單片機的接口電路簡單, LCD 接口定義見表 1。 用 p0 口驅(qū)動 LCD1602 液晶顯示屏。 圖 14 主程序流程圖 讀出溫度子程序 讀出溫度子程序的主要功能是讀出 RAM 中的 9 字節(jié),在讀出時需進行 CRC 校驗,校驗有錯時不進行溫度數(shù)據(jù)的改寫。 圖 16 溫度轉(zhuǎn)換流程圖 Y 發(fā) DS18B20 復(fù)位命令 發(fā)跳過 ROM 命令 發(fā)讀取溫度命令 讀取操作, CRC 校驗 9 字節(jié)完? CRC 校驗正?確? 移入溫度暫存器 結(jié)束 N N Y JKDFHJDSHFJKHSDJKFH DDK SLFHALDSFJ DSHF JDSHFKLDHFKDSH FJHDSAF JDSHFL DSHFLK ASHLFDSJK 計算溫度子程序 計算溫度子程序?qū)?RAM 中讀取值進行 BCD 碼的轉(zhuǎn)換運算,并進行溫度值正負的判定,其程序流程圖如圖 13 所示。 表 3 溫度數(shù)據(jù)列表 θ1/℃ θ2/℃ 經(jīng) 對 對照,兩 只 溫度計讀數(shù)相差最大為 ℃ ,平均相差 僅有 ℃ 。 若按下 key1 鍵,年份開始閃動,表示可以通過 key2 鍵(增 1 鍵)和 key3 鍵 (減1 鍵) 校 整年份,若再按下 key1 鍵,則選擇月份可以 校 整,日期、時分、秒、周均可通過 key1 鍵選定后經(jīng) key2 鍵(增 1 鍵)和 key3 鍵(減 1 鍵)進行 校 整。 在這次課程設(shè)計的整個過程中,我做了一次全面、較規(guī)范的設(shè)計練習(xí),全面地溫習(xí)了以前所學(xué)過的知識,用理論聯(lián) 系實際并結(jié)合單片機原理課程和解決實際問題,鞏固、加深和擴展了有關(guān)單片機設(shè)計方面的知識。 在本次設(shè)計過程中,我 也 發(fā)現(xiàn)很多的問題,雖 然以前學(xué)習(xí)并設(shè)計過簡單單片機電路,但這次課程設(shè)計仍然讓我學(xué)到了很多。 從這次的課程設(shè)計中,我真正的意識到,在學(xué)習(xí)過程中理論聯(lián)系實際的重要性。 我要感謝我的導(dǎo)師 ※※※ 老師 和※※※老師 。 我還要感謝我的班主任 ※※※老師以及在大學(xué)四年中給我們授課的所有老師們,是他們讓我學(xué)到了很多很多知識,讓我看到了世界的精彩,讓我學(xué)會了做人做事。 //實時時鐘數(shù)據(jù)線引腳 sbit DS1302_RST = P1^5。 sbit wireless_4 = P3^3。 //秒 ,分 ,時到日 ,月 ,年位閃的計數(shù) sbit Set = P2^0。 //立刻跳出調(diào)整模式按鈕 sbit DQ = P1^0。 void show_time()。 JKDFHJDSHFJKHSDJKFH DDK SLFHALDSFJ DSHF JDSHFKLDHFKDSH FJHDSAF JDSHFL DSHFLK ASHLFDSJK sfr DBPort = 0x80。 LcdEn=1。 } //向 LCD 寫入命令或數(shù)據(jù) ************************************************************ define LCD_COMMAND 0 // Command define LCD_DATA 1 // Data define LCD_CLEAR_SCREEN 0x01 // 清屏 define LCD_HOMING 0x02 // 光標(biāo)返回原點 void LCD_Write(bit style, unsigned char input) { LcdEn=0。 DBPort=input。//注意順序 LcdEn=0。 } //設(shè)置輸入模式 ************************************************************ define LCD_AC_UP 0x02 define LCD_AC_DOWN 0x00 // default define LCD_MOVE 0x01 // 畫面可平移 define LCD_NO_MOVE 0x00 //default void LCD_SetInput(unsigned char InputMode) { LCD_Write(LCD_COMMAND, 0x04|InputMod
點擊復(fù)制文檔內(nèi)容
環(huán)評公示相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1