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

正文內(nèi)容

基于單片機(jī)的智能溫度檢測器設(shè)計(jì)畢業(yè)論文(編輯修改稿)

2025-07-16 12:55 本頁面
 

【文章內(nèi)容簡介】 函數(shù)進(jìn)行處理,處理結(jié)束后可以返回主函數(shù)繼續(xù)運(yùn)行。按鍵K1是對溫度上下限值設(shè)定的切換,K2 K3是對溫度數(shù)據(jù)的加減,K4是設(shè)定確認(rèn)。具體電路如下:圖214 按鍵電路此設(shè)計(jì)中我們使用的是無源蜂鳴器,即只有觸發(fā)一定頻率的脈沖才能使蜂鳴器發(fā)聲。我們將單片機(jī)的P37管腳接在PNP型三極管上,當(dāng)單片機(jī)P37口輸出一定頻率的脈沖即可觸發(fā)蜂鳴器發(fā)聲了。同時(shí)設(shè)計(jì)中還使用了一個(gè)發(fā)光二極管進(jìn)行溫度報(bào)警指示,將其陽極接在單片機(jī)的P31管腳,單片機(jī)P31輸出一個(gè)高電平的時(shí)候LED發(fā)光,反之熄滅。具體電路如下:圖215 聲光報(bào)警電路此設(shè)計(jì)中我們使用數(shù)字溫度傳感器DS18B20的數(shù)據(jù)口接到單片機(jī)的P36管腳,通過此管腳模擬單總線時(shí)序與DS18B20進(jìn)行通信。管腳上拉一個(gè)電阻,使其通信更加穩(wěn)定運(yùn)行,具體電路如下:圖216 測溫電路用Proteus仿真軟件繪制的完整電路圖如下:圖217 總電路第3章 軟件設(shè)計(jì)現(xiàn)在開發(fā)都是追求快速,盡最大的縮短開發(fā)周期,以前的匯編語言現(xiàn)在已經(jīng)很少使用了,現(xiàn)在開發(fā)使用最多的是高級語言,然而C語言又是高級語言中的佼佼者。本設(shè)計(jì)中我們使用的是C語言開發(fā)。硬件電路中使用到了LCD1602,如果要對LCD進(jìn)行顯示,首先就要對LCD進(jìn)行初始化操作,我們參考LCD1602數(shù)據(jù)手冊的初始化過程可知:首先進(jìn)行一個(gè)短暫延時(shí),然后寫指令38H,延時(shí)一段時(shí)間,然后寫入指令0CH,即顯示開和光標(biāo)設(shè)置,延時(shí)一段時(shí)間然后寫入指令06H即顯示光標(biāo)功能設(shè)置,最后寫入指令01H,即清屏。因此我們就對LCD進(jìn)行初始化完成,就可以在LCD上面進(jìn)行顯示操作了。具體程序如下:void init() //LCD初始化函數(shù){ delay(1000)。 wrc(0x38)。 wrc(0x38)。 wrc(0x38)。 wrc(0x06)。 wrc(0x0c)。 wrc(0x01)。}根據(jù)上面LCD初始化過程的介紹,我們就可以將其過程通過流程圖的形式展現(xiàn)出來,LCD1602初始化程序流程圖如下:開始延時(shí)10ms寫入功能設(shè)定值38H寫入模式功能設(shè)置,光標(biāo)開啟,06H寫入開啟開關(guān)控制命令0CH寫入清屏指令01H結(jié)束硬件設(shè)計(jì)中我們使用單片機(jī)的P0口控制LCD1602的數(shù)據(jù)口D0D7,單片機(jī)的P25,P26,P27分別控制單片機(jī)的RS,RW,E。因此如果我們要對LCD進(jìn)行操作的話我們首先要明確LCD1602的讀寫函數(shù)的編寫,我們參考LCD1602讀寫時(shí)序,如下:圖31 LCD1602讀寫時(shí)序圖在編寫寫命令函數(shù)的時(shí)候,首先要將RS=0,此是選擇命令,在把寫打開RW=0,最后是觸發(fā)一個(gè)低脈沖的使能信號E,然后將命令發(fā)送給P2即可。在編寫寫數(shù)據(jù)函數(shù)的時(shí)候和上面一樣,只是將RS=1改變即可,其他的完全一樣。具體程序如下:void wrc(uint8 c) //LCD寫命令函數(shù){ delay(1000)。 rs=0。 rw=0。 e=0。 P0=c。 e=1。 delay(10)。 e=0。}void wrd(uint8 dat) //LCD寫數(shù)據(jù)函數(shù){ delay(1000)。 rs=1。 rw=0。 e=0。 P0=dat。 e=1。 delay(10)。 e=0。 rs=0。}硬件中使用到了按鍵來設(shè)定溫度的上下限值,由于按鍵K1和K4接在單片機(jī)的外部中斷0和外部中斷1管腳上,因此我們需要對外部中斷0和1進(jìn)行初始化及中斷函數(shù)才能使用,具體初始化函數(shù)如下:void int0init() //外部中斷0初始化{ EA=1。 EX0=1。 IT0=1。 //選擇下降沿觸發(fā)}void int1init() //外部中斷1初始化{ EA=1。 EX1=1。 IT1=1。 //選擇下降沿觸發(fā)} void int0() interrupt 0{ delay(1000)。//消抖處理 mode++。 sheding=0。 if(mode==3) { mode=1。 }}void int1() interrupt 2{ delay(1000)。//消抖處理 mode=0。 sheding=1。}還有2個(gè)按鍵接在了單片機(jī)的P34和P35管腳上,我們知道按鍵按下后會(huì)有一個(gè)抖動(dòng)的問題,因此我們需要在軟件內(nèi)進(jìn)行消抖處理,一般是延時(shí)10ms進(jìn)行濾波,具體操作如下:delay(1000)。//消抖處理按鍵處理后我們還需要對按鍵是否松開來判斷,通過一個(gè)while來判別。硬件還使用到了DS18B20進(jìn)行溫度的檢測,由于其是單總線通信,因此我們需要嚴(yán)格按照DS18B20時(shí)序圖來進(jìn)行編寫。初始化時(shí)序如下:圖32 DS18B20初始化時(shí)序圖針對初始化時(shí)序可以編寫如下函數(shù):void ds18b20init() //18b20的初始化{ dq=1。 delay(1)。 dq=0。 delay(80)。 dq=1。 delay(5)。 dq=0。 delay(20)。 dq=1。 delay(35)。}DS18B20寫時(shí)序如下:圖32 DS18B20寫時(shí)序圖DS18B20讀時(shí)序:圖32 DS18B20讀時(shí)序圖因此可以編寫溫度傳感器讀寫函數(shù):void ds18b20wr(u8 dat) //18b20寫數(shù)據(jù){ u8 i。 for(i=0。i8。i++) { dq=0。 dq=datamp。0x01。 dat=1。 delay(8)。//在時(shí)序上只有這一塊對時(shí)序要求最準(zhǔn)確,他的時(shí)間必須大于15us dq=1。 delay(1)。 } }u8 ds18b20rd() //18b20讀數(shù)據(jù){ u8 value,i。 for(i=0。i8。i++) { dq=0。 value=1。 dq=1。 if(dq==1)value|=0x80。 delay(8)。//在這一塊也對時(shí)間要求特別準(zhǔn)確,整段程序必須大于60us } return value。}最后就是一些數(shù)據(jù)的處理及顯示函數(shù),具體可以參考附錄。按照上面的程序方案即可畫出如下流程圖:圖33 軟件設(shè)計(jì)流程圖第4章 程序仿真調(diào)試在KEIL中我們編寫好程序,通過KEIL中的編譯器編譯,使程序確保語法是無錯(cuò)誤的,在沒有錯(cuò)誤的情況下我們在使用KEIL中的軟件仿真一步步仿真,通過查看相關(guān)寄存器的值確認(rèn)程序無誤?;蛘咄ㄟ^編譯生成的HEX文件燒寫到仿真軟件中,看具體的效果,直到效果無誤即可。在編寫程序我們使用的是KEIL C51,在期內(nèi)可以軟件調(diào)試或者也可以使用仿真芯片來仿真測試。 KEIL C51簡介KEIL C51是由ARM公司開發(fā)的,針對51單片機(jī)開發(fā)設(shè)計(jì),內(nèi)部具體編譯調(diào)試軟件仿真等等一系列功能,是一個(gè)非常強(qiáng)大的單片機(jī)開發(fā)工具。還可以開發(fā)ARM程序。只需要在KEIL軟件內(nèi)設(shè)定生成HEX,即可將高級語言轉(zhuǎn)化為機(jī)器能識(shí)別的機(jī)器語言。 設(shè)計(jì)開發(fā)過程采用KEIL C51的開發(fā)環(huán)境。首先打開程序開發(fā)軟件KEIL C51,雙擊此軟件后進(jìn)入軟件開發(fā)主界面,這個(gè)時(shí)候是沒有工程文件的,我們需要?jiǎng)?chuàng)建一個(gè)工程,點(diǎn)擊工程project,選擇第一個(gè)選項(xiàng),然后選擇保存位置和工程名,接著就會(huì)彈出選擇單片機(jī)型號界面,由于硬件單片機(jī)我們使用的是AT89C51,其和AT89S52同屬一個(gè)。在KEIL創(chuàng)建工程的時(shí)候我們可以將AT89S52型號的單片機(jī)替換成AT89C51。我們選擇AT89S52如下,在選擇芯片的時(shí)候課以任意選擇AT89S51和AT89S52,因?yàn)樗麄兌紝儆?1單片機(jī),選擇好后點(diǎn)擊OK。圖41 keil創(chuàng)建工程完成上面的步奏后,將其保存,右鍵工程組后,選擇Add File...,此時(shí)就可以在編寫程序區(qū)寫入程序了,寫完程序后還需要編譯。KEIL C51這款軟件能產(chǎn)生可以直接使用的HEX格式文件,因此,還需要生產(chǎn)HEX文件,要產(chǎn)生HEX文件必須在IDE的“Projet”“Options”“Output”中的HEX Format欄選擇HEX80,然后再將Create HEX File欄打上勾。圖42 keil配置圖然后我們直接將編譯好的HEX文件下載到單片機(jī)內(nèi)即可。 Proteus介紹Proteus仿真軟件是英國的一家公司開發(fā)設(shè)計(jì)的。此軟件專門用于電子開發(fā)設(shè)計(jì)自動(dòng)化設(shè)計(jì),因此也簡稱是EDA工具軟件。此軟件不僅具有其它的EDA軟件的仿真的功能,關(guān)鍵是他開可以仿真到單片機(jī)及其外圍數(shù)字器件及模擬器件。到目前Proteus仿真軟件是最好的數(shù)字仿真設(shè)計(jì)開發(fā)軟件。Lab Center Electronics公司因此聞名。在我國,由于電子技術(shù)發(fā)展不是非常的快速,EDA的推廣也只是剛剛起
點(diǎn)擊復(fù)制文檔內(nèi)容
試題試卷相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖片鄂ICP備17016276號-1