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

正文內(nèi)容

基于單片機數(shù)字溫度計-文庫吧資料

2025-07-03 19:35本頁面
  

【正文】 對于我今后的學習、工作和生活都將是受益非淺的!第 32 頁參考文獻[1] 王靜霞.《 單片機應用技術》.電子工業(yè)出版社,2022[2] 何立民.《 單片機高等教程》.北京航空航天大學出版社,2022 [3] 雄建云.《 Protel99 se EDA 技術及應用》.北京機械工業(yè)出版社,2022[4] 華永平,陳松編著 .《電子線路課程設計》.東南大學出版社[5] 林春方. 《 電子線路學習指導與實訓》.北京電子工業(yè)出版社,2022[6] 楊寶清,宋文貴主編 .《實用電路手冊》.機械工業(yè)出版社 2022[7] 張存禮,韓愛娟主編 .《電子技術綜合實訓》.北京師范大學出版社第 33 頁附錄 1 源程序//include //用 AT89C51 時就用這個頭文件include //用華邦 W78E58B 時必須用這個頭文件sbit DQ = P3^7。編程的過程中,雖然不乏辛苦,但更多的是程序調(diào)試成功后的喜悅。由于我以前對 51 單片機的 C 語言沒有認真鉆研過,所以感覺畢業(yè)設計的任務十分緊迫。但是,在實際的編程以及調(diào)試程序過程中,我發(fā)現(xiàn)自己應該學的太多太多。所以我選擇這樣的畢業(yè)設計課題,并且能通過此次設計來提高自己軟件編制和硬件電路設計的能力。當今科技發(fā)展迅速,單片機嵌入式開發(fā)有著光明的前景。第 31 頁結 論在我的畢業(yè)設計中,主要是以 AT89C51 單片機為核心的,對溫度的檢測與顯示進行了簡單的設計與闡述。使用菜單或者單擊工具欄的新建文件按鈕,出現(xiàn)文本便捷窗口,在該窗口中輸入新編制的源程序并保存該文件。因此,需要建立一個工程文件,并為這個工程選擇 CPU,確定編譯,匯編,連接的參數(shù),指定調(diào)試的方式。(2)建立工程文件。通過元件選擇按鈕 P (從庫中選擇元件命令) 命令,在彈出的 Pick Devices 窗口中選擇電路所需的元件,放置元件并調(diào)整其相對位置,對元件參數(shù)設置及元器件間連線,完成單片機系統(tǒng)的硬件原理圖繪制。 }}第 30 頁第 5 章 仿真與調(diào)試 仿真與調(diào)試此設計的電路在 Proteus 軟件中進行仿真,運行 Proteus 的 ISIS 程序后,進入該仿真軟件的主界面。 x_scan=r_left(x_scan)。 y_scan=r_left(y_scan)。 return(key_value)。 if(temp==y) {while(key_ok!=0) //等待按鍵松開 {scan_full()。 y=y_scanamp。 temp=tempamp。j4。i++) { key_port=x_scan。 //再次粗判是否有鍵按下 if(key_ok==1) { for(i=0。 delay(200)。 while(1) {第 28 頁 scan_full()。 unsigned char x_scan=0xfe,y_scan=0xef。else key_ok=0。 temp=P1。}/*************粗判有無鍵按下**************有鍵按下則將 key_ok 置 1************/void scan_full(void){unsigned char temp。 x++。 //有鍵按下的標志/*************延時子程序*************按鍵是否按下?執(zhí)行語句按鍵是否按下?延時返回開始第 27 頁****調(diào)用一次用時 18 微秒,t 每加 1,用時增加 6 微秒 */void delay(unsigned char t){ while(t)。NO YESNO YES圖 45 矩陣鍵盤流程圖鍵盤掃描函數(shù)sfr key_port=0x90。}define LCD_AC_UPdefine LCD_AC_DOWNdefine LCD_MOVE // 畫面可平移define LCD_NO_MOVEvoid LCD_SetInput(unsigned char InputMode){ LCD_Write(LCD_COMMAND, 0x04|InputMode)。LCD_Wait()。 LcdEn=0。 LcdEn=1。讀/寫標志位 R/W=0 時,進行寫操作當 RS=0 時,選擇指令寄存器開始子程序返回調(diào)用延時子程序LCD 使能信號 E 至高電平后再過兩個時鐘周期至低電平,產(chǎn)生一個下降沿信號,往 LCD 寫入指令代碼,LCD 執(zhí)行命令把指令數(shù)據(jù)送至 P0 口第 25 頁DBPort=input。LcdRw=0。}LCD 要能讀寫數(shù)據(jù),必須對 LCD 進行讀寫操作,讀操作時,先設置 RS 和 R/W狀態(tài),在設置 E 信號為高,這時從數(shù)據(jù)口讀取數(shù)據(jù),寫操作時,使能 E 信號下降沿有效圖 45LCD 讀寫操作流程圖 LCD 寫指令函數(shù)define LCD_COMMANDdefine LCD_DATAdefine LCD_CLEAR_SCREEN // 清屏define LCD_HOMING // 光標返回原點void LCD_Write(bit style, unsigned char input){LcdEn=0。 _nop_()。 _nop_() LcdEn=1。0x80){ LcdEn=0。 _nop_()。 _nop_()。}第 23 頁要想把顯示字符顯示在某一指定位置,就必須先將顯示數(shù)據(jù)寫在相應的 DDRAM地址中,寫數(shù)據(jù)操作函數(shù)就是完成這一過程的函數(shù)圖 44LCD 寫數(shù)據(jù)流程圖void LCD_Wait(void){ LcdRs=0。}}void LCD_Print(unsigned char x, unsigned char y, unsigned char *str){GotoXY(x,y)。){LCD_Write(LCD_DATA,*str)。}void Print(unsigned char *str){while(*str!=39。 //AC 遞增, 畫面不動}//***********************************************void GotoXY(unsigned char x, unsigned char y){if(y==0)LCD_Write(LCD_COMMAND,0x80|x)。 //開啟顯示, 無光標LCD_Write(LCD_COMMAND,LCD_CLEAR_SCREEN)。 //8 位數(shù)據(jù)端口 LCD_Write(LCD_COMMAND,0x38)。圖 43LCD 初始化流程圖功能設置命令調(diào)用寫入指令到 LCD 子程序開始子程序返回調(diào)用寫入指令到 LCD 子程調(diào)用寫入指令到 LCD 子程設置顯示狀態(tài)清屏設定工作方式調(diào)用寫入指令到 LCD 子程設置輸入方式LCD 初始化程序void LCD_Initial(){LcdEn=0。 //寫入想設定的溫度報警下限WriteOneChar(RS)。WriteOneChar(TH)。WriteOneChar(0xCC)。}return(dat)。 // 給脈沖信號if(DQ)dat|=0x80。 // 給脈沖信號dat=1。i0。unsigned char dat = 0。delay_18B20(20)。 //拉高總線delay_18B20(14)。 //單片機將 DQ 拉低delay_18B20(80)。 //鍵盤命令處理函數(shù)} }第 19 頁圖 42 DS18B20 初始化流程圖DS18B20 初始化函數(shù)void Init_DS18B20(void){unsigned char x=0。 //看有無鍵按下if(key_ok) //如有鍵按下則看到底哪個鍵按下{key_value=key_scan()。LCD_Print(0,1,TempBuffer1)。 LCD_Initial()。 user_temper_LCD(user_temper)。 while(1) { pt=ReadTemperature()。 主程序模塊主程序主要完成硬件初始化,子程序調(diào)用等功能 圖 41 主程序流程圖開始設置定時/計數(shù)器初值從 DS18B20 中讀取數(shù)據(jù)等待數(shù)據(jù)拆字顯示溫度第 18 頁主程序函數(shù)如下:Void main(){ setds18b20(TH,TL,RS)。各執(zhí)行模塊規(guī)劃好以后,就可以規(guī)劃監(jiān)控軟件了。二是子程序,它是用來完成各種實質(zhì)性的工作的,如測量、計算、顯示、通訊等。時,將自動返回初始值。C,通過矩陣鍵盤電路可以調(diào)節(jié) TH 和 TL 的初始值,并且還可以調(diào)節(jié)當前的顯示的溫度值,按一次鍵盤 TH 和 TL的值自加一或自減一,當減到低于 20176。指 令 約定代碼 操 作 說 明溫度轉(zhuǎn)換 44H 啟動 DS18B20 進行溫度轉(zhuǎn)換讀暫存器 BEH 讀暫存器 9 個字節(jié)內(nèi)容寫暫存器 4EH 將數(shù)據(jù)寫入暫存器的 TH、TL 字節(jié)復制暫存器 48H 把暫存器的 TH、TL 字節(jié)寫到 E2RAM 中重新調(diào) E2RAM B8H把 E2RAM 中的 TH、TL 字節(jié)寫到暫存器 TH、TL 字節(jié)讀電源供電方式 B4H 啟動 DS18B20 發(fā)送電源供電方式的信號給主 CPU第 16 頁圖 37 測溫電路 整機工作原理當接通電源以后,溫度傳感器正常工作,溫度傳感器將根據(jù)被測溫度的不同來采集不同的數(shù)據(jù),然后將所采集到的數(shù)據(jù)傳送到比較器到中,然后由比較器將采集到的數(shù)據(jù)轉(zhuǎn)變成高低電平,在送入單片機,單片機通過控制各個引腳電平的高低來來控制溫度的顯示輸出,當溫度顯示 TH 為 110176。DS18B20 每一步操作都要遵循嚴格的工作時序和通信協(xié)議。此次設計選擇的是前面一種控制。 DS18B20 控制方法在硬件上,DS18B20 與單片機的連接有兩種方法,一種是 VCC 接外部電源,GND 接地,I/O 與單片機的 I/O 線相連;另一種是用寄生電源供電,此時 UDD、GND接地,I/O 接單片機 I/O。圖 36 DS18B20 引腳分布圖表 34 DS18B20 引腳功能序號 寄存器名稱 作 用 序 號 寄存器名稱0 溫度低字節(jié) 以 16 位補碼形式存放 5 保留字節(jié) 21 溫度高字節(jié) 以 16 位補碼形式存放 6 計數(shù)器余值第 15 頁2 TH/用戶字節(jié) 1 存放溫度上限 7 計數(shù)器/℃3 HL/用戶字節(jié) 2 存放溫度下限 8 CRC表 35 DS18B20 信號功能以 12 位轉(zhuǎn)化為例說明溫度高低字節(jié)存放形式及計算:12 位轉(zhuǎn)化后得到的 12 位數(shù)據(jù),存儲在 DS18B20 的兩個高低兩個 8 位的 RAM 中,二進制中的前面 5 位是符號位。64 位光刻 ROM 是出廠前被光刻好的,它可以看作是該 DS18B20 的地址序列號?!S18B20 內(nèi)部結構DS18B20 內(nèi)部結構主要由四部分組成:64 位光刻 ROM,溫度傳感器,非揮發(fā)的溫度報警觸發(fā)器 TH 和 TL,高速暫存器。系統(tǒng)的工作是在程序控制下,完成對傳感器的讀寫和對溫第 14 頁度的顯示。它的輸出腳 I/O 直接與單片機相連,并接一個上拉電阻,傳感器采用外部電源供電。產(chǎn)品的主要技術指標:(1)測量范圍:55℃~ +125℃;(2)測量精度:℃;(3)反應時間≤500ms。表 32 HD47780 的引腳功能表引腳 符號 狀態(tài) 功能1 Vss 電源地2 VDD 電源正,接+5V3 VL 液晶顯示偏壓4 RS 輸入寄存器選擇:為 1 時選擇數(shù)據(jù)寄存器;為 0 時選擇指令寄存器5 RW 輸入 R/W 為讀寫選擇線:為 1 時進行讀操作,為 0 時進行寫操作6 E 輸入 使能信號7 DB0 三態(tài) 數(shù)據(jù)總線(LSB)8 DB1 三態(tài) 數(shù)據(jù)總線9 DB2 三態(tài) 數(shù)據(jù)總線10 DB3 三態(tài) 數(shù)據(jù)總線11 DB4 三態(tài) 數(shù)據(jù)總線12 DB5 三態(tài) 數(shù)據(jù)總線13 DB6 三態(tài) 數(shù)據(jù)總線14 DB7 三態(tài) 數(shù)據(jù)總線15 A 背光源正極16 K 背光源負極控制器 HD44780 的信號功能控制如表 3333 控制器 HD44780 的信號功能RS R/W E 功能0 0 下降沿 寫指令代碼0 1 高電平 讀忙標志和 AC 值第 13 頁1 0 下降沿 寫數(shù)據(jù)1 1 高電平 讀數(shù)據(jù)圖 35 LCD 顯示電路 測溫電路 DS18B20 單線數(shù)字溫度傳感器由 DALLAS 半導體公司生產(chǎn)的 DS18B20 型單線智能溫度傳感器,屬于新一代適配微處理器的智能溫
點擊復制文檔內(nèi)容
范文總結相關推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1