




版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、樂(lè)山師范學(xué)院學(xué)生科研 作品設(shè)計(jì)報(bào)告書(shū)作品名稱(chēng):單片機(jī)在自動(dòng)充氣機(jī)中的應(yīng)用 申報(bào)者姓名:劉勇 魏星 石鯉林所在單位:物理與電子信息科學(xué)系設(shè)計(jì)題目 : 單片機(jī)在自動(dòng)充氣機(jī)中的應(yīng)用專(zhuān) 業(yè) : 電子信息工程論文作者 :劉勇 魏星 石鯉林指導(dǎo)教師 : 郭鳳德摘 要本文詳細(xì)介紹了單片機(jī)在自動(dòng)充氣機(jī)中的應(yīng)用,由于單片機(jī)具 有集成度高、體積小、運(yùn)行可靠、應(yīng)用靈活、價(jià)格低、面向控制等特 點(diǎn),因此在工業(yè)控制、數(shù)據(jù)采集、智能儀器儀表、智能化設(shè)備和各種 家用電器等領(lǐng)域得到了廣泛應(yīng)用,而且發(fā)展非常迅猛?,F(xiàn)在,單片機(jī) 的應(yīng)用領(lǐng)域已經(jīng)遍及幾乎所有的領(lǐng)域。 為研究單片機(jī)在自動(dòng)控制領(lǐng)域 中的應(yīng)用, 我們以自動(dòng)充氣機(jī)系統(tǒng)為依托,
2、 進(jìn)一步揭示單片機(jī)在自動(dòng) 控制系統(tǒng)中的應(yīng)用價(jià)值。關(guān)鍵詞 AT89S52單片機(jī) A/D轉(zhuǎn)換器 1602LCD液晶顯示器1 引言1.1研究背景介紹隨著人們生活水平的不斷提高 , 單片機(jī)控制在各領(lǐng)域的發(fā)展與應(yīng)用無(wú)疑成為 人們追求的目標(biāo)之一。目前,汽車(chē)工業(yè)的發(fā)展速度很快 , 傳統(tǒng)的輪胎充氣設(shè)備不 能適應(yīng)現(xiàn)代化生產(chǎn)規(guī)模的要求。研制與輪胎流水作業(yè)生產(chǎn)線配套的 , 機(jī)械化、自 動(dòng)化、 節(jié)能高效的充氣設(shè)備是現(xiàn)代化汽車(chē)生產(chǎn)企業(yè)亟待解決的實(shí)際問(wèn)題。 基于上 述兩個(gè)原因,我們有了研究基于單片機(jī)便攜式自動(dòng)控制充氣機(jī)這一課題的想法, 便攜式自動(dòng)控制充氣機(jī)具有自動(dòng)充氣和放氣功能, 氣壓檢測(cè)和氣壓預(yù)設(shè)功能, 夜 間照明、警
3、示功能,體積非常小巧 , 性能高、無(wú)污染氣體排放,適合您的車(chē)輛出 差、遠(yuǎn)行,是各車(chē)主攜帶的應(yīng)急必備工具。1.2研究?jī)r(jià)值和意義本文介紹了單片機(jī)在設(shè)計(jì)制作自動(dòng)充氣機(jī)中的工作成果和經(jīng)驗(yàn)總結(jié)。 市面的 充放氣機(jī)大都不是自動(dòng)的也不是氣壓可調(diào)的。 隨著人們生活水平的提高, 小汽車(chē) 將成為家家戶(hù)戶(hù)必備的交通工具。 再加上生活節(jié)奏的加快, 時(shí)間已是最寶貴的東西。顯然市面上普通手動(dòng)控制的充氣機(jī),將滿足不了人們的需求,因此,我們就 想到了做一件能夠自動(dòng)充放氣的充氣機(jī)。它能夠給人們?cè)谑褂眠^(guò)程中節(jié)省時(shí)間, 同時(shí)又能夠很方便的使用。 因?yàn)樗侨詣?dòng)的, 所以只要把電源一安上, 再設(shè)定 你所需要?dú)鈮褐? 它就會(huì)自動(dòng)地完成
4、任務(wù)。 并且在充 /放氣完成之后將自動(dòng)停止。 因此,研究一個(gè)能基于單片機(jī)自動(dòng)控制的自動(dòng)充 /放氣機(jī)是很有必要的。下面將 對(duì)自動(dòng)充氣機(jī)的設(shè)計(jì)原理及設(shè)計(jì)方案思路 (主要是涉及單片機(jī)控制的部分 做詳 細(xì)地介紹。2、系統(tǒng)分析與設(shè)計(jì)2.1設(shè)計(jì)思路總體設(shè)計(jì)思路 1:首先由壓力傳感器將檢測(cè)到的車(chē)輪胎內(nèi)部的當(dāng)前氣壓參 數(shù), 傳輸?shù)侥?/數(shù)轉(zhuǎn)換器 ADC0832的一路模擬信號(hào)通道, 轉(zhuǎn)換出八路數(shù)字信號(hào)傳 給單片機(jī) AT89S52, 接著單片機(jī)把計(jì)算氣壓值送給 LCD1602并讓它顯示當(dāng)前氣壓 值。 然后鍵盤(pán)輸入我們需要的氣壓值, 經(jīng)單片機(jī) AT89S52鍵盤(pán)掃描程序讀出鍵值, 并在 LCD1602上顯示出來(lái),
5、接著通過(guò)控制核心 (單片機(jī) 比較當(dāng)前氣壓值與輸入的 氣壓值:如果輸入值大于當(dāng)前氣壓值時(shí), 通過(guò)單片機(jī)發(fā)出一個(gè)控制命令驅(qū)動(dòng)電機(jī) 工作,開(kāi)始充氣,在充氣的同時(shí)繼續(xù)對(duì)氣壓進(jìn)行采樣,當(dāng)兩個(gè)值相等時(shí),中斷驅(qū) 動(dòng)電路, 停止充氣; 而如果當(dāng)前氣壓值大于輸入值時(shí), 單片機(jī)發(fā)送控制命令到電 磁閥驅(qū)動(dòng)器,開(kāi)通電磁閥,放氣開(kāi)始,與此同時(shí)仍然進(jìn)行氣壓采樣,當(dāng)兩值相等 時(shí),電磁閥斷開(kāi),停止放氣。在夜間,特別是在有車(chē)輛行駛的路邊加氣時(shí),我們 有照明燈和警示燈,通過(guò)特殊功能鍵可使照明燈發(fā)光工作或警示燈發(fā)出警示信 號(hào),給使用者的操作帶來(lái)方便,避免發(fā)生交通事故。2.2設(shè)計(jì)要求1. 基本要求: 檢測(cè)汽車(chē)輪胎內(nèi)部氣壓強(qiáng)度。 LC
6、D1602液晶顯示器顯示其檢測(cè)的參數(shù)值和鍵盤(pán)輸入設(shè)定的氣壓值。 通過(guò)單片機(jī)控制系統(tǒng)自動(dòng)控制電動(dòng)機(jī)和電磁閥的工作。2. 功能部分:監(jiān)測(cè)輪胎內(nèi)部的氣體壓強(qiáng)。 通過(guò) LCD 顯示檢測(cè)到的參數(shù)值和設(shè)定值。 電動(dòng)機(jī)和電磁閥分別控制輪胎的充氣、放氣。單片機(jī)一個(gè)指令使得照明燈和警示燈處于工作狀態(tài)。2.3總體設(shè)計(jì)流程本設(shè)計(jì)以 AT89S52單片機(jī)為核心,對(duì)所有的數(shù)據(jù)進(jìn)行處理。將掃描到的鍵盤(pán) 輸入值在 LCD1602上顯示, 并運(yùn)用 ADC0832對(duì)氣壓傳感器采集到的模擬數(shù)據(jù)進(jìn)行模 數(shù)轉(zhuǎn)換,并將轉(zhuǎn)換后的數(shù)據(jù)傳送給單片機(jī)進(jìn)行處理。同時(shí)用 LCD1602來(lái)顯示外部 采集到的氣壓值。 如果檢測(cè)到的氣壓值小于設(shè)定的氣壓
7、值, 則單片機(jī)控制充氣工 作,若檢測(cè)到的氣壓值大于設(shè)定的氣壓值,則 TLV5616對(duì)單片機(jī)處理好的數(shù)據(jù)進(jìn) 行數(shù)模轉(zhuǎn)換再將轉(zhuǎn)換好的模擬信號(hào)傳送給電磁閥, 電磁閥隨著放氣的進(jìn)行, 電磁 閥的閥門(mén)慢慢變小, 放氣的速度也隨著減慢, 這樣可以減小誤差。 系統(tǒng)的總流程 圖如圖 2-1所示圖 2-1 總體流程圖3、單片機(jī)控制模塊的設(shè)計(jì)方案一:采用 AT89S52 8位單片機(jī)AT89S523是美國(guó) ATMEL 公司生產(chǎn)的低電壓,高性能 CMOS 8位單片機(jī),片 內(nèi)含 8k bytes的可反復(fù)擦寫(xiě)的只讀程序存儲(chǔ)器 (PEROM 和 256bytes 的隨機(jī)存 取數(shù)據(jù)存儲(chǔ)器(RAM ,器件采用 ATMEL 公司
8、的高密度、非易失性存儲(chǔ)技術(shù)生產(chǎn), 與標(biāo)準(zhǔn) MCS -51指令系統(tǒng)及 8052產(chǎn)品引腳兼容,片內(nèi)置通用 8位中央處理器 (CPU 和 Flash 存儲(chǔ)單元, 功能強(qiáng)大 AT89S52單片機(jī)適合于許多較為復(fù)雜控制 應(yīng)用場(chǎng)合。 AT89S52有 40個(gè)引腳, 32個(gè)外部雙向輸入 /輸出(I/O端口,同時(shí)內(nèi)含 2個(gè)外中斷口, 3個(gè) 16位可編程定時(shí)計(jì)數(shù)器 ,2個(gè)全雙工串行通信口, 2個(gè)讀寫(xiě)口 線, AT89S52可以按照常規(guī)方法進(jìn)行編程,也可以在線編程。其將通用的微處 理器和 Flash 存儲(chǔ)器結(jié)合在一起,特別是可反復(fù)擦寫(xiě)的 Flash 存儲(chǔ)器可有效地 降低開(kāi)發(fā)成本。AT89S52主要功能特性:1、兼
9、容 MCS51指令系統(tǒng)2、 8k 可反復(fù)擦寫(xiě) (>1000次 Flash ROM3、 32個(gè)雙向 I/O口等。此單片機(jī)是小型電子產(chǎn)品普遍采用的微控芯片, 性?xún)r(jià)比高。 在控制領(lǐng)域應(yīng)用 也比較普遍。方案二:采用高檔高位機(jī)凌陽(yáng)的 61單片機(jī)凌陽(yáng)的 16位單片機(jī)就是為適應(yīng)這種發(fā)展而設(shè)計(jì)的。它的 CPU 內(nèi)核采用凌陽(yáng)最 新推出的 nSP (Microcontroller and Signal Processor 16位微處理器芯 片(以下簡(jiǎn)稱(chēng) nSP 。圍繞 nSP 所形成的 16位 nSP 系列單片機(jī)(以 下簡(jiǎn)稱(chēng) nSP 家族采用的是模塊式集成結(jié)構(gòu),它以 nSP 內(nèi)核為中心集成 不同規(guī)模的 RO
10、M 、 RAM 和功能豐富的各種外設(shè)接口部件。具有以下等性能 : 16位 nSP 微處理器;工作電壓 (CPU VDD為 2.43.6V (I/O VDDH為 2.45.5V CPU時(shí)鐘:0.32MHz49.152MHz ; 內(nèi)置 2K 字 SRAM ;內(nèi)置 32K FLASH; 使用凌陽(yáng)音頻編碼 SACM_S240方式 (2.4K位 /秒 ,能容納 210秒的語(yǔ)音數(shù) 據(jù); 32位通用可編程輸入 /輸出端口; 7通道 10位電壓模 -數(shù)轉(zhuǎn)換器 (ADC和單通道聲音模 -數(shù)轉(zhuǎn)換器;此類(lèi)單片機(jī)功能更強(qiáng),但是價(jià)格比較昂貴。綜合本設(shè)計(jì)所要實(shí)現(xiàn)的各部分功能!僅需一片 AT89S52單片機(jī)就可以滿足設(shè) 計(jì)
11、的需要,因此采用 AT89S52作為主控芯片。為了使電路更加緊湊,外部引線更加少,需合理設(shè)計(jì)整個(gè)系統(tǒng)的原理圖 2, 以便硬件規(guī)劃與設(shè)計(jì)。硬件總電路圖如圖 3-1所示 圖 3-1 硬件總體布局整個(gè)系統(tǒng)的控制核心是 AT89S52,因此對(duì)單片機(jī)的資源要合理分配與利用。 單片機(jī)的 IO 口資源分配。表 3-1 IO口分配 在自動(dòng)充氣機(jī)中的各個(gè)部分,并不是每一個(gè)部分都用到了單片機(jī)的控制。由 于本文研究的是單片機(jī)在自動(dòng)充氣機(jī)中應(yīng)用, 因此, 對(duì)于沒(méi)有用到單片機(jī)的部分 就不做過(guò)多的闡述, 主要針對(duì)有用到單片機(jī)的重要部分做詳細(xì)地闡述。 在自動(dòng)充 氣機(jī)中的氣壓檢測(cè)及模數(shù)轉(zhuǎn)換模塊、 顯示模塊、 鍵盤(pán)輸入模塊和照
12、明報(bào)警模塊都是由單片機(jī)來(lái)控制,下面將對(duì)這四個(gè)模塊的設(shè)計(jì)做詳細(xì)介紹。4、氣壓檢測(cè)及 A/D、 D/A模塊的設(shè)計(jì)4.1氣壓檢測(cè)通過(guò)壓力傳感器檢測(cè)輪胎當(dāng)前的氣壓參數(shù)并經(jīng)由 ADC0832傳給單片機(jī), 由單 片機(jī)給 LCD1602送數(shù)據(jù),讓其顯示當(dāng)前的輪胎氣壓值。4.2方案選擇方案一:采用 ADC08098路 8位 A /D 轉(zhuǎn)換器,即分辨率 8位,采樣頻率,數(shù)據(jù)并行傳輸,可對(duì) 8路信號(hào) 進(jìn)行分時(shí)采樣。多用于對(duì)多路信號(hào)進(jìn)行采樣的設(shè)計(jì)中。軟件編程比較簡(jiǎn)單, ADC0809芯片有 28條引腳, 采用雙列直插式封裝, 因此對(duì)它的硬件接線比較麻煩, 同時(shí)也會(huì)加大硬件設(shè)計(jì)難度。方案二:采用 ADC0832ADC
13、0832為 8位分辨率 A/D轉(zhuǎn)換芯片,其最高分辨可達(dá) 256級(jí),可以適應(yīng)一般的 模擬量轉(zhuǎn)換要求。 其內(nèi)部電源輸入與參考電壓的復(fù)用, 使得芯片的模擬電壓輸入 在 05V 之間。 8位 2路 AD 轉(zhuǎn)換器即 8位分辨率、采樣頻率、數(shù)據(jù)串行傳輸。此轉(zhuǎn)換 器一般用于對(duì)少數(shù)信號(hào)進(jìn)行采樣的電路中。外部只有 8個(gè)引腳,連線簡(jiǎn)單方便, 但是相對(duì)而言軟件編程稍微復(fù)雜一點(diǎn)。方案三:采用 TLV5616 12位轉(zhuǎn)換器。TLV5616是一個(gè) 12位電壓輸出數(shù)模轉(zhuǎn)換器(DAC ,帶有靈活的 4線串行接口, 可以無(wú)縫連接 TMS320、 SPI 、 QSPI 和 Microwire 串行口。 數(shù)字電源和模擬電源分別 供
14、電, 電壓范圍 2.75.5V 。 輸出緩沖是 2倍增益 rail-to-rail 輸出放大器, 輸出 放大器是 AB 類(lèi)以提高穩(wěn)定性和減少建立時(shí)間。 rail-to-rail 輸出和關(guān)電方式非常 適宜單電源、電池供電應(yīng)用。通過(guò)控制字可以?xún)?yōu)化建立時(shí)間和功耗比。精度高, 數(shù)據(jù)是串行傳輸?shù)摹V挥?8個(gè)引腳便于接線,軟件編程簡(jiǎn)單。方案四:采用 DAC0832 8位轉(zhuǎn)換器。DAC0832是采樣頻率為八位的 D/A轉(zhuǎn)換芯片,集成電路內(nèi)有兩級(jí)輸入寄存器, 使 DAC0832芯片具備雙緩沖、單緩沖和直通三種輸入方式,以便適于各種電路的 需要 (如要求多路 D/A異步輸入、同步轉(zhuǎn)換等 。數(shù)據(jù)是進(jìn)行并行傳輸,是
15、以電流 的形式輸出。有 14個(gè)引腳,硬件連線較煩。軟件編程簡(jiǎn)單。但是使用它并需外加外部轉(zhuǎn)換電路將電流轉(zhuǎn)換成電壓。從軟件和硬件制作的角度考慮, 采用 8引腳的 ADC0832對(duì)采集到的氣壓值進(jìn)行 AD 轉(zhuǎn)化。采用 TLV5616對(duì)數(shù)據(jù)進(jìn)行 DA 轉(zhuǎn)化。4.3電路設(shè)計(jì)與分析ADC0832 是美國(guó)國(guó)家半導(dǎo)體公司生產(chǎn)的一種 8 位分辨率、雙通道 A/D轉(zhuǎn)換 芯片。由于它體積小,兼容性強(qiáng),性?xún)r(jià)比高而深受單片機(jī)愛(ài)好者及企業(yè)歡迎,目 前已經(jīng)有很高的普及率。 學(xué)習(xí)并使用 ADC083可以使我們了解 A/D轉(zhuǎn)換器的原理, 有助于我們對(duì)單片機(jī)技術(shù)水平的提高。1、 ADC0832 具有以下 5個(gè)特點(diǎn):·
16、8位分辨率;· 雙通道 A/D轉(zhuǎn)換;· 輸入輸出電平與 TTL/CMOS相兼容;· 5V電源供電時(shí)輸入電壓在 05V 之間;· 工作頻率為 250KHZ ,轉(zhuǎn)換時(shí)間為 32S ;其引腳電路圖如圖 4-1所示 圖 4-1 ADC0832引腳圖芯片轉(zhuǎn)換時(shí)間僅為 32S ,具有雙數(shù)據(jù)輸出可作為數(shù)據(jù)校驗(yàn),以減少數(shù)據(jù)誤 差, 轉(zhuǎn)換速度快且穩(wěn)定性能強(qiáng)。 獨(dú)立的芯片使能輸入, 使多器件掛接和處理器控 制變的更加方便。通過(guò) DI 數(shù)據(jù)輸入端,可以輕易地實(shí)現(xiàn)通道功能的選擇。正常情況下 ADC0832與單片機(jī)的接口應(yīng)為 4條數(shù)據(jù)線,分別是 CS 、 CLK 、 DO 、 D
17、I (如圖 4-1。但由于 DO 端與 DI 端在通信時(shí)并未同時(shí)有效且與單片機(jī)的接口是 雙向的,所以電路設(shè)計(jì)時(shí)可以將 DO 和 DI 并聯(lián)在一根數(shù)據(jù)線上使用。當(dāng) ADC0832未工作時(shí)其 CS 輸入端應(yīng)為高電平,此時(shí)芯片處于禁用狀態(tài), CLK和 DO/DI的電平可任意。 當(dāng)要進(jìn)行 A/D轉(zhuǎn)換時(shí), 須先將 CS 使能端置于低電平并且保 持低電平直到轉(zhuǎn)換完全結(jié)束。 此時(shí)芯片開(kāi)始轉(zhuǎn)換工作, 同時(shí)由處理器向芯片時(shí)鐘 輸入端 CLK 輸入時(shí)鐘脈沖, DO/DI端則使用 DI 端輸入通道功能選擇的數(shù)據(jù)信號(hào)。 在 第 1個(gè)時(shí)鐘脈沖的下降沿之前 DI 端必須是高電平,表示啟始信號(hào)。在第 2、 3個(gè)脈 沖下降沿
18、之前 DI 端應(yīng)輸入 2位數(shù)據(jù)用于選擇通道功能。當(dāng)此 2位數(shù)據(jù)為“1”、 “0”時(shí),只對(duì) CH0進(jìn)行單通道轉(zhuǎn)換。當(dāng) 2位數(shù)據(jù)為“1”、“1”時(shí),只對(duì) CH1進(jìn)行 單通道轉(zhuǎn)換。當(dāng) 2位數(shù)據(jù)為“0”、“0”時(shí),將 CH0作為正輸入端 IN+, CH1作為負(fù) 輸入端 IN-進(jìn)行輸入。 當(dāng) 2位數(shù)據(jù)為“0”、 “1”時(shí), 將 CH0作為負(fù)輸入端 IN-, CH1作為正輸入端 IN+進(jìn)行輸入。 到第 3個(gè)脈沖的下降沿之后 DI 端的輸入電平就失去輸 入作用, 此后 DO/DI端則開(kāi)始利用數(shù)據(jù)輸出 DO 進(jìn)行轉(zhuǎn)換數(shù)據(jù)的讀取。 從第 4個(gè)脈沖 的下降沿開(kāi)始由 DO 端輸出轉(zhuǎn)換數(shù)據(jù)最高位 DATA7,隨后每一
19、個(gè)脈沖的下降沿 DO 端 輸出下一位數(shù)據(jù)。直到第 11個(gè)脈沖時(shí)發(fā)出最低位數(shù)據(jù) DATA0,一個(gè)字節(jié)的數(shù)據(jù)輸 出完成。 也正是從此位開(kāi)始輸出下一個(gè)相反字節(jié)的數(shù)據(jù), 即從第 11個(gè)字節(jié)的下降 沿輸出 DATD0。 隨后輸出 8位數(shù)據(jù), 到第 19個(gè)脈沖時(shí)數(shù)據(jù)輸出完成, 也標(biāo)志著一次 A/D轉(zhuǎn)換的結(jié)束。最后將 CS 置高電平禁用芯片,直接將轉(zhuǎn)換后的數(shù)據(jù)進(jìn)行處理就 可以了。在本設(shè)計(jì)中, 我們只用到了一個(gè) CH0轉(zhuǎn)換口。 故本設(shè)計(jì)的 DO/DI兩端口的數(shù)據(jù) 應(yīng)為“ 1”、“ 0”。分別用 P2.1和 P2.2口控制。CPU 向 TLV5616發(fā)送的串行數(shù)據(jù)每幀為 16位,其中高 4位為控制位,低 12位
20、為 轉(zhuǎn)換的數(shù)據(jù),高位在前,低位在后。 VREF 為參考電壓輸入端(系統(tǒng)中接運(yùn)放 1的 輸出 , VOUT 是電壓輸出端。片內(nèi)有一個(gè) 2倍的輸出放大器,其轉(zhuǎn)換關(guān)系為:V OUT =2×VREF×Di/4096VREF 參考電壓的范圍為 0V-3.5V 。所以我在設(shè)計(jì)時(shí)參考電壓的選擇是外接一 個(gè)上拉電阻可選電壓為 0V-5V 。這樣可以方便選擇參考電壓。為硬件調(diào)試打下好 的基礎(chǔ)。其與單片機(jī)的接口如圖 4-2所示。 圖 4-2 TLV5616引腳接線 4.4 軟件設(shè)計(jì)A/D模塊的軟件設(shè)計(jì)流程圖如圖 4-3所示 圖 4-3 AD轉(zhuǎn)換流程 其程序 5如下 :uchar adc0832
21、(uchar channel /讀 ADC0832函數(shù) , 采集并返回 uint dat2=0;uchar ndat=0,i=0,j;if(channel=0channel=2;if(channel=1channel=3; /通道選擇 .AD_CS=0;_nop_(; /拉低 CS 端, AD 片選DI=1;_nop_(; /在第一個(gè)脈沖下降之前 DI 必須是高電平 , 表示啟始信號(hào) SCK=1;_nop_(; SCK=0;_nop_(; SCK=1;DI=channel&0x1;_nop_(;/在第二和第三個(gè)脈沖下降之前 DI 輸入兩位表示通道 SCK=0;_nop_(; SCK=1
22、;DI=(channel>>1&0x1;_nop_(;SCK=0; /寫(xiě)命令完成 ,DI 失去輸入作用DI=1;_nop_(;dat2=0;for(i=0;i<8;i+ /讀出 8字節(jié)數(shù)據(jù)dat2|=DO;SCK=1;_nop_(; SCK=0;_nop_(;dat2<<=1;if(i=7dat2|=DO;for(i=0;i<8;i+j=0;j=j|DO;SCK=1;_nop_(;SCK=0;_nop_(;j=j<<7;ndat=ndat|j;if(i<7ndat>>=1;AD_CS=1;SCK=0;DO=1;dat2&
23、lt;<=8;dat2|=ndat;return(dat2; /返回?cái)?shù)據(jù)A/D轉(zhuǎn)換的數(shù)據(jù)處理過(guò)程是用采樣兩次數(shù)據(jù)對(duì)比的方法。 第一次數(shù)據(jù)采集是 使用正向存儲(chǔ)的方式,就是高位在前低位在后。而第二次則是反向存儲(chǔ)的方法。 低位在前,高位在后,所以在做數(shù)據(jù)對(duì)比時(shí),必須把第二次數(shù)據(jù)反過(guò)來(lái)。當(dāng)測(cè)得 的兩次數(shù)值是一樣的時(shí)候, 則返回?cái)?shù)值, 若不一樣則再次進(jìn)行測(cè)試。 這樣就保證 了測(cè)得的值的準(zhǔn)確性。D/A轉(zhuǎn)換模塊是采用是 TLV5616。對(duì)數(shù)值進(jìn)行 D/A轉(zhuǎn)換。其主要程序如下: void spiwrite(int temp /寫(xiě)數(shù)據(jù)uint i;setcs(0;for(i=0;i<16;i+pin
24、din=(bit(temp&0x8000;setsclk(1;temp<<=1;nnop(1;setsclk(0;nnop(1;setcs(1;TLV5616的控制僅靠數(shù)據(jù)的第 14, 15位。所以一般情況下寫(xiě)控制和數(shù)據(jù)是 同時(shí)進(jìn)行的。這樣的程序就簡(jiǎn)潔了。 TLV5616的數(shù)據(jù)傳送是串行發(fā)送的 , 因此對(duì) 時(shí)序的要求很?chē)?yán),要嚴(yán)格按照時(shí)序來(lái)發(fā)送。5、 LCD1602顯示模塊的設(shè)計(jì)5.1方案選擇方案一:采用 LCD 液晶顯示屏,其實(shí)物圖如圖 5-1所示 圖 5-1 LCD1602隨著大量電子儀器、設(shè)備的智能化,并且普遍地采用人機(jī)交互方式,需要能 夠顯示更為豐富的信息和通用性較強(qiáng)
25、的顯示器,而點(diǎn)陣式 LCD 顯示器能夠滿足這 些要求,同時(shí)用大規(guī)模專(zhuān)用集成電路作為點(diǎn)陣 LCD 控制驅(qū)動(dòng),使用者僅僅直接送 入數(shù)據(jù)和指令可實(shí)現(xiàn)所需的顯示。 這種由 LCD 板、 PCB 板、 控制驅(qū)動(dòng)電路組成的 單元叫做點(diǎn)陣液晶顯示模塊 ( DOT MATRIC LCD MODULE 。液晶顯示器可視面積大,其特性如下:錯(cuò)誤!未找到引用源。 顯示內(nèi)容:16 字符 x 2 行,因而顯示的位數(shù)可任意 設(shè)定,同時(shí)可視效果也比較好;錯(cuò)誤!未找到引用源。 字符點(diǎn)陣:5 x 8 點(diǎn);錯(cuò)誤!未找到引用源。 驅(qū)動(dòng)方式:1/16D;錯(cuò)誤!未找到引用源。 對(duì)比度可調(diào)節(jié)。方案二:采用 LED 數(shù)碼管顯示:使用多個(gè)數(shù)
26、碼管動(dòng)態(tài)顯示,其總功耗就等效 為一個(gè)數(shù)碼管,但工作電流較大,并且只有數(shù)字顯示,顯示的范圍也比較小。在 軟件上對(duì)其編程,相對(duì)于 LCD 比較麻煩。同時(shí)由于數(shù)碼管還涉及到驅(qū)動(dòng)的問(wèn)題, 因而硬件制作上相對(duì) LCD 也增加了難度。綜上所述,根據(jù)顯示內(nèi)容的多少和軟硬件的制作,本設(shè)計(jì)選擇采用 LCD 液晶 實(shí)時(shí)顯示輸出檢測(cè)到的參數(shù)值和鍵盤(pán)輸入值。5.2電路設(shè)計(jì)與分析1602字符型 LCD 模塊的應(yīng)用非常廣泛,而各種液晶廠家均有提供幾乎都是同 樣規(guī)格的 1602模塊或兼容模塊,盡管各廠家的對(duì)其各自的產(chǎn)品命名不盡相同; 1602字符型 LCD 模塊最初采用的 LCD 控制器采用的是 HD44780,在各廠家生
27、產(chǎn)的 1602模塊當(dāng)中, 基本上也都采用了與之兼容的控制 IC , 所以從特性上基本上是一樣的;當(dāng)然,很多廠商提供了不同的字符顏色、背光色之類(lèi)的顯示模塊。LCD1602液晶模塊內(nèi)部的字符發(fā)生存儲(chǔ)器(CGROM 已經(jīng)存儲(chǔ)了 160個(gè)不同的 點(diǎn)陣字符圖形,如表 5-1所示,這些字符有:阿拉伯?dāng)?shù)字、英文字母的大小寫(xiě)、 常用的符號(hào)、 和日文假名等, 每一個(gè)字符都有一個(gè)固定的代碼, 比如大寫(xiě)的英文 字母“A”的代碼是 01000001B (41H ,顯示時(shí)模塊把地址 41H 中的點(diǎn)陣字符圖 形顯示出來(lái),我們就能看到字母“A”。表 5-1 CGROM和 CGRAM 中字符代碼與字符圖形對(duì)應(yīng)關(guān)系 引腳功能
28、7說(shuō)明第 1腳:VSS 為地電源。第 2腳:VDD 接 5V 正電源。第 3腳:VL 為液晶顯示器對(duì)比度調(diào)整端,接正電源時(shí)對(duì)比度最弱,接地時(shí)對(duì)比 度最高,對(duì)比度過(guò)高時(shí)會(huì)產(chǎn)生“鬼影”,使用時(shí)可以通過(guò)一個(gè) 10K 的電位器調(diào)整 對(duì)比度。第 4腳:RS 為寄存器選擇,高電平時(shí)選擇數(shù)據(jù)寄存器、低電平時(shí)選擇指令寄存 器。第 5腳:R/W為讀寫(xiě)信號(hào)線,高電平時(shí)進(jìn)行讀操作,低電平時(shí)進(jìn)行寫(xiě)操作。當(dāng) RS 和 R/W共同為低電平時(shí)可以寫(xiě)入指令或者顯示地址,當(dāng) RS 為低電平 R/W為高電 平時(shí)可以讀忙信號(hào),當(dāng) RS 為高電平 R/W為低電平時(shí)可以寫(xiě)入數(shù)據(jù)。第 6腳:E 端為使能端,當(dāng) E 端由高電平跳變成低電平
29、時(shí),液晶模塊執(zhí)行命令。第 714腳:D0D7為 8位雙向數(shù)據(jù)線。第 15腳:背光源正極。第 16腳:背光源負(fù)極。LCD1602的硬件連接圖如圖 5-2所示 圖 5-2 LCD1602引腳圖根據(jù)電路圖 5-2可知, 對(duì) LCD 的控制只需在軟件上對(duì) 8根數(shù)據(jù)線和 3根控制 線進(jìn)行編程控制即可實(shí)現(xiàn) LCD 的顯示, 同時(shí)可利用滑動(dòng)變阻器調(diào)節(jié)顯示屏的對(duì)比 度。5.3 軟件設(shè)計(jì)LCD 模塊就是使用 P1口做數(shù)據(jù)線,用 P3.1, P3.2, P3.0口做控制線進(jìn)行數(shù) 據(jù)傳送和控制的。其讀寫(xiě)程序如下:wzhilin(uchar zhi /讀指令while(check(;RS=0;RW=0;EN=0;_n
30、op_(;_nop_(;P1=zhi;_nop_(;_nop_(;_nop_(;_nop_(;EN=1;_nop_(;_nop_(;_nop_(;_nop_(;EN=0;wshuju(uchar shu /寫(xiě)數(shù)據(jù)while(check(;RS=1;RW=0;EN=0;_nop_(;_nop_(;P1=shu;_nop_(;_nop_(;_nop_(;_nop_(;EN=1;_nop_(;_nop_(;_nop_(;_nop_(;EN=0;程序中的 _nop_(是進(jìn)行延時(shí)的操作,保證了數(shù)據(jù)傳送的正常。如果沒(méi)有這 些空操作指令, LCD 傳送數(shù)據(jù)的時(shí)候有可能會(huì)發(fā)生錯(cuò)亂。6、 鍵盤(pán)模塊的設(shè)計(jì)6.1方
31、案選擇方案一:采用 4行×4列的鍵盤(pán) 8。鍵盤(pán)上有 16個(gè)按鍵, 選擇其中的 10個(gè)按鍵作為 09這十個(gè)數(shù)字鍵作為預(yù)置數(shù) 的輸入,剩下的其他的四個(gè)按鍵可分別作為確定、取消、選擇照明燈、警示燈亮 滅等功能, 還可以用于后期進(jìn)行擴(kuò)展功能設(shè)計(jì)的使用。 雖然設(shè)計(jì) 16個(gè)按鍵, 在硬 件上的制作比較麻煩,但是控制起來(lái)比較簡(jiǎn)單。方案二:采用復(fù)合式按鍵,即一鍵多用。根據(jù)設(shè)計(jì)的要求,使用 5個(gè)按鍵即可完成全部的功能。由于需要預(yù)置氣壓的 比較值, 將其中兩個(gè)按鍵用于數(shù)字輸入即一個(gè)用作數(shù)字加, 一個(gè)用作數(shù)字減; 一 個(gè)為功能鍵(確定、取消 ,一個(gè)用作夜間照明的燈控開(kāi)關(guān),最后一個(gè)作為的復(fù) 位鍵。在軟件設(shè)計(jì)
32、上和使用都比較麻煩,但相對(duì)而言節(jié)省硬件資源。要做一件產(chǎn)口雖然要考慮到成本和使用的方便, 同時(shí)也為了節(jié)省時(shí)間和對(duì)硬 件資源的維護(hù)。因此,我們采用第一種方案,這樣控制起來(lái)比較簡(jiǎn)單和方便。6.2 電路設(shè)計(jì)和分析本設(shè)計(jì)采用 4×4的矩陣鍵盤(pán),它是每個(gè)按鍵按行列式的形式排列,每一行 4個(gè)鍵共用一根 I/O口線,每一列 4個(gè)鍵也共用一根 I/O口線,其電路圖如圖 6-1所示。 圖 6-1 4*4按鍵電路圖這樣就達(dá)到了減少 I/O口線的效果,但編程時(shí)需要來(lái)回掃描。矩陣鍵盤(pán)的編程方法采用線反轉(zhuǎn)法,其基本思想如下:1、判斷是否有鍵按下:如果都沒(méi)鍵按下,則列線上輸出都是高電平;如果 有鍵按下, 則列線上
33、肯定會(huì)輸出低電平。 單片機(jī)只要檢測(cè)到列線上不全為高電平, 則說(shuō)明有鍵按下。2、去抖動(dòng):由于在按下某個(gè)鍵時(shí),被按鍵的彈簧片總會(huì)有輕微的抖動(dòng),且 這種抖動(dòng)常常會(huì)持續(xù) 10ms 左右,為了避免單片機(jī)誤判,就在程序中加入延時(shí)程 序即消抖后,再進(jìn)行下一步的行掃描讀取坐標(biāo)。3、按鍵坐標(biāo)讀取:輪流地對(duì)每一條行線輸入低電平,其余的為高電平,然 后單片機(jī)再讀取列線上的輸出值,如果輸出值都為高,表示按鍵不在這一行上, 再進(jìn)行下一行的掃描。遇到輸出值不全為高時(shí),計(jì)下此刻的行值和列值輸出值。 再繼續(xù)掃描完全部行線, 因?yàn)橛锌赡馨l(fā)現(xiàn)竄鍵的情況, 通常確定最后被放開(kāi)的按 鍵為真正的按鍵。4、求鍵值;讀出了按鍵的行值和列值
34、后,就用(行號(hào)×4+列號(hào)這一公式 計(jì)算該鍵的鍵值。6.3 鍵盤(pán)模塊的 軟件設(shè)計(jì)按鍵的控制是使用單片機(jī)的定時(shí)器 T0對(duì)按鍵進(jìn)行 50ms 的定時(shí)掃描控制。 如 果有按鍵按下就進(jìn)入相應(yīng)的模塊程序。其主體程序 6如下:P0=0xf0;if(P0&0xf0!=0xf0P0=0xfe;switch(P0&0xf0case 0xe0:while(P0&0xf0!=0xf0;return(1;case 0xd0:while(P0&0xf0!=0xf0;return(4;case 0xb0:while(P0&0xf0!=0xf0;return(7;case 0
35、x70:while(P0&0xf0!=0xf0;return('#'default: break;我們用的是單片機(jī)的 P0口,再外接 4個(gè) 4.7K 的上拉電阻,因?yàn)?P0口硬件 里沒(méi)有接上拉電阻,為了保證單片機(jī)系統(tǒng)的穩(wěn)定性,即使用別的 IO 口也要用要 上接上拉電阻,因?yàn)閱纹瑱C(jī)的 IO 口如果直接外接會(huì)有電流流過(guò)單片機(jī)會(huì)使單片 機(jī)上的電流過(guò)大,影響單片機(jī)的壽命。7、報(bào)警模塊的設(shè)計(jì)為了使設(shè)計(jì)更加全面, 我們?cè)O(shè)計(jì)了照明報(bào)警模塊。 在該系統(tǒng)運(yùn)行中, 當(dāng)我們 第一次按下控制燈的按鈕后,燈不工作,燈為熄滅狀態(tài);當(dāng)?shù)诙伟聪麓随I時(shí), 燈開(kāi)始正常工作,這時(shí)燈可以作為照明燈使用;當(dāng)?shù)?/p>
36、三次按下時(shí),燈開(kāi)始閃爍, 發(fā)出警示信號(hào)。其軟件設(shè)計(jì)已融合在按鍵控制程序中,在此不給出單獨(dú)的程序。8、總結(jié)在剛調(diào)試硬件之初,我們犯了兩個(gè)不該(但也是最重要的出現(xiàn)的錯(cuò)誤, 一個(gè)是忘了把單片機(jī)的 EA 端口上拉到高電平,這樣使得單片機(jī)無(wú)法正常的工作。 另一個(gè)就是在做復(fù)位電路 PROTEL 板子的時(shí)候, 把電源線和地線接反了, 從而導(dǎo)致 單片機(jī)的復(fù)位腳一直處于高電平的復(fù)位狀態(tài)。 雖然是最基本的知識(shí), 但是做的時(shí) 候卻把它遺漏了。 由此看來(lái)心細(xì)是做任何事情必須具備的素質(zhì), 當(dāng)然這也說(shuō)明了 理論與實(shí)踐必須結(jié)合在一起, 僅僅學(xué)習(xí)理論知識(shí)是遠(yuǎn)遠(yuǎn)不夠的。 在最小系統(tǒng)搭起 來(lái)之后,我們就外接按鍵和 LCD1602,這部分還算是比較成功的。一次性完成, 而且 LCD 顯示的效果還不錯(cuò)。這是我們做這個(gè)設(shè)計(jì)最順利的一部分。在之后的 AD 和 DA 調(diào)試時(shí)還是走了不少的彎路,由于沒(méi)能夠把硬件的電機(jī) 和氣壓傳感器買(mǎi)回來(lái), 在最初的硬件調(diào)試只能是用電位器和 LED 燈來(lái)模
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 合作聯(lián)營(yíng)協(xié)議合同范本
- 創(chuàng)建積極工作氛圍的年度計(jì)劃
- 腦梗死的護(hù)理目標(biāo)
- 完善水務(wù)責(zé)任追究機(jī)制計(jì)劃
- 塑造強(qiáng)大品牌形象的成功秘笈計(jì)劃
- 秘書(shū)職能的社會(huì)認(rèn)知提升計(jì)劃
- 廣東省廉江市實(shí)驗(yàn)學(xué)校高中政治 3.2 樹(shù)立正確的消費(fèi)觀2教學(xué)實(shí)錄(必修1)
- 2025年荊州貨運(yùn)從業(yè)資格證模擬考試題庫(kù)
- 2025年高中化學(xué)40個(gè)化學(xué)實(shí)驗(yàn)反應(yīng)的動(dòng)圖太神奇了
- 第3課+中古時(shí)期的歐洲高中歷史統(tǒng)編版(2019)必修中外歷史綱要下冊(cè)
- 閭山秘籍(精編版)
- 《地基與復(fù)合地基靜荷載試驗(yàn)》考試參考題庫(kù)(含答案)
- 人力資源服務(wù)許可證、勞務(wù)派遣經(jīng)營(yíng)許可證年檢報(bào)告書(shū)
- 患者搬運(yùn)法評(píng)分標(biāo)準(zhǔn)最終
- 《槍炮、病菌與鋼鐵》-基于地理視角的歷史解釋?zhuān)ㄣ屣L(fēng)學(xué)堂)
- 水泥粉磨工藝(行業(yè)經(jīng)驗(yàn))
- 國(guó)家自然科學(xué)基金(NSFC)申請(qǐng)書(shū)樣本
- 畢業(yè)設(shè)計(jì)(論文)-助力式下肢外骨骼機(jī)器人的結(jié)構(gòu)設(shè)計(jì)
- 觀摩臺(tái)標(biāo)準(zhǔn)化建設(shè)方案
- 銅排理論公斤重量
- 山姆會(huì)員店要求與規(guī)格(共19頁(yè))
評(píng)論
0/150
提交評(píng)論