



下載本文檔
版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、( 此文檔為 word 格式,下載后您可任意編輯修改!)南陽(yáng)理工學(xué)院本科生畢業(yè)設(shè)計(jì)(論文)學(xué)院:電子與電氣工程學(xué)院專業(yè):電氣工程及其自動(dòng)化學(xué)生:趙曉婷指導(dǎo)教師:朱清慧完成日期2014年5月I南陽(yáng)理工學(xué)院本科生畢業(yè)設(shè)計(jì)(論文)單片機(jī)實(shí)時(shí)數(shù)據(jù)采集顯示系統(tǒng)設(shè)計(jì)Design of Real Time Data Acquisition and Display System Using MCU總計(jì):29頁(yè)表格:2個(gè)插圖:18幅南陽(yáng)理工學(xué)院本科畢業(yè)設(shè)計(jì)(論文)單片機(jī)實(shí)時(shí)數(shù)據(jù)采集顯示系統(tǒng)設(shè)計(jì)Design of Real Time Data Acquisition and Display SystemUsing
2、 MCU學(xué)院:電子與電氣工程學(xué)院專業(yè):電氣工程及其自動(dòng)化學(xué)生姓名:趙曉婷指導(dǎo) 教 師(職稱):朱清慧(教授)評(píng)閱教師:完成日期:南陽(yáng)理工學(xué)院Nanyang Institute of Technology單片機(jī)實(shí)時(shí)數(shù)據(jù)采集顯示系統(tǒng)設(shè)計(jì)電氣工程及其自動(dòng)化專業(yè)趙曉婷摘要 本文介紹了單片機(jī)控制的實(shí)時(shí)數(shù)據(jù)采集系統(tǒng)的硬件和軟件設(shè)計(jì)與仿真過(guò)程。硬件部分設(shè)計(jì)采用單片機(jī) AT89C51、字符液晶顯示器( HD44780 控制器)、圖形液晶顯示器( KS0108 控制器)以及 AD 轉(zhuǎn)換器 AD1674 等組成一個(gè)完整的單片機(jī)控制系統(tǒng),并且使用 8255A 芯片對(duì) AT89C51 的 IO 口進(jìn)行了擴(kuò)展。系統(tǒng)程序
3、采用模塊化的編程思路,通過(guò) C 語(yǔ)言進(jìn)行編程設(shè)計(jì),主要程序?yàn)?AD 轉(zhuǎn)換模塊和液晶顯示模塊。最后,在 Proteus平臺(tái)上進(jìn)行了軟件與硬件交互仿真,實(shí)現(xiàn)了系統(tǒng)各項(xiàng)性能指標(biāo)要求。關(guān)鍵字 實(shí)時(shí)數(shù)據(jù)采集; AT89C51;液晶顯示; C 語(yǔ)言Design of Real Time Data Acquisition and Display SystemUsing MCUElectrical Engineering and Automation Specialty ZHAO Xiao-tingAbstract: This paper introduces the design and simulatio
4、n ofsystem controlled by single chip microcomputer. The uses a single chip AT89C51, character liquid crystal display (HD44780 controller), LCD display (KS0108 controller) and AD converter AD1674 to form a complete microcomputer control system, and using the 8255A chipconcept, through the C programmi
5、ng language, the main program for the AD conversion module and liquid crystal display module. Finally, system conducts the software and on the Proteus platform, realizing the requirements of performance indicators about the system.Key words:Real time data acquisition;AT89C51; LCD ; C language目 錄1引言.
6、12 系統(tǒng)方案設(shè)計(jì).22.1系統(tǒng)設(shè)計(jì)框圖.22.2器件的選擇 .23 系統(tǒng)硬件組成及接口電路設(shè)計(jì) .33.1系統(tǒng)硬件組成.33.2系統(tǒng)接口電路設(shè)計(jì) .43.2.1 AD1674與 AT89C51的接口電路 .43.2.2 8255A與 AT89C51的接口電路 .73.2.3 KS0108與 8255A 的接口電路 .83.2.4 HD44780 與 8255A 的接口電路 .104 系統(tǒng)軟件設(shè)計(jì).114.1系統(tǒng)主程序 .114.2 AD1674 轉(zhuǎn)換程序 .124.3 LCD12864 顯示程序 .124.3.1溫度曲線顯示程序 .124.3.2漢字顯示程序 .134.4 LCD1602 字
7、符顯示程序 .145 系統(tǒng)仿真 . .145.1軟件介紹 .145.2 Proteus仿真.15結(jié)束語(yǔ) .17參考文獻(xiàn).18附錄 .19致謝 .291 引 言數(shù)據(jù)采集系統(tǒng)起始于 20 世紀(jì)中期,在過(guò)去的幾十年里,隨著信息領(lǐng)域各種技術(shù)的發(fā)展,在數(shù)據(jù)采集方面的技術(shù)也取得了長(zhǎng)足的進(jìn)步, 采集數(shù)據(jù)的信息化是目前社會(huì)的發(fā)展主流方向。各種領(lǐng)域都用到了數(shù)據(jù)采集,在科學(xué)實(shí)驗(yàn)、 地震數(shù)據(jù)采集等領(lǐng)域已經(jīng)得到應(yīng)用。我國(guó)的數(shù)字地震觀測(cè)系統(tǒng)主要采用 TDE-124C 型 TDE-224C 型地震數(shù)據(jù)采集系統(tǒng)。近年來(lái),又成功研制了動(dòng)態(tài)范圍更大、線性度更高、兼容性更強(qiáng)、低功耗可靠性的TDE-324C 型地震數(shù)據(jù)采集系統(tǒng)。該
8、數(shù)據(jù)采集對(duì)拾震計(jì)輸出的電信號(hào)模擬放大后送至AD 數(shù)字化, AD 采用同時(shí)采樣, 采樣數(shù)據(jù)經(jīng) DSP 數(shù)字濾波處理后, 變成數(shù)字地震信號(hào)。該數(shù)據(jù)采集系統(tǒng)具備24 位 AD 轉(zhuǎn)化位數(shù),采樣頻率有50Hz、 100Hz、200Hz。由美國(guó) PASCO 公司生產(chǎn)的“科學(xué)工作室”是將數(shù)據(jù)采集應(yīng)用于物理實(shí)驗(yàn)的嶄新系統(tǒng),它由三部分組成:(1)傳感器:利用先進(jìn)的傳感技術(shù)可實(shí)時(shí)采集物理實(shí)驗(yàn)中各物理量的數(shù)據(jù);(2)計(jì)算機(jī)接口:將來(lái)自傳感器的數(shù)據(jù)信號(hào)輸入計(jì)算機(jī),采樣速率最高為25 萬(wàn)次每秒;(3)軟件:中文及英文的應(yīng)用軟件。同時(shí)工業(yè)生產(chǎn)控制系統(tǒng)中離不開(kāi)顯示,而液晶顯示控制器的應(yīng)用越來(lái)越廣泛。此課題結(jié)合工業(yè)控制系統(tǒng)中
9、常用的幾種液晶顯示控制器,用單片機(jī)對(duì)其進(jìn)行控制。 以 Proteus為設(shè)計(jì)和仿真平臺(tái), 對(duì)字符液晶顯示器和圖形液晶顯示器進(jìn)行各種顯示控制設(shè)計(jì),目的在于擴(kuò)展單片機(jī)控制系統(tǒng)知識(shí),熟練掌握幾種常用的液晶顯示器的控制原理和使用方法,為日后綜合控制系統(tǒng)中液晶顯示器的使用打下堅(jiān)實(shí)基礎(chǔ)。本設(shè)計(jì)分為 AD 轉(zhuǎn)換部分和 LCD 液晶顯示部分兩部分設(shè)計(jì):AD 轉(zhuǎn)換部分是通過(guò)選擇一路模擬通道輸入,進(jìn)入AD 轉(zhuǎn)換器進(jìn)行轉(zhuǎn)換,轉(zhuǎn)換后送入單片機(jī)進(jìn)行處理,同時(shí)通過(guò)滑動(dòng)變阻器進(jìn)行數(shù)值的變換。LCD 液晶顯示部分分曲線圖顯示部分和數(shù)值字符顯示部分,通過(guò)其控制器與單片機(jī)的接口編程實(shí)現(xiàn)正確顯示。而本設(shè)計(jì)具體的技術(shù)要求如下:雙液晶屏
10、顯示,一個(gè)顯示數(shù)值字符,一個(gè)實(shí)時(shí)繪圖(二維),溫度用一位小數(shù)和兩位整數(shù)表示,并能顯示負(fù)值;要求 AD 轉(zhuǎn)換器的精度在12 位;單片機(jī)采用 AT89C51,在 Keil 中用匯編或 C 語(yǔ)言進(jìn)行編程;在 Proteus對(duì)系統(tǒng)進(jìn)行仿真并調(diào)試出結(jié)果。要做到以上要求就需要對(duì)設(shè)計(jì)需要的每一個(gè)元件其作用十分清楚,進(jìn)行正確的單片機(jī)接口電路的設(shè)計(jì),再通過(guò)軟件編程實(shí)現(xiàn)實(shí)時(shí)數(shù)據(jù)的顯示。2 系統(tǒng)方案設(shè)計(jì)2.1 系統(tǒng)設(shè)計(jì)框圖系統(tǒng)設(shè)計(jì)框圖如圖1 所示。圖1系統(tǒng)設(shè)計(jì)框圖系統(tǒng)是以單片機(jī)為核心器件,控制LCD進(jìn)行圖形和字符的顯示。采用AD轉(zhuǎn)換器將輸入的模擬信號(hào)轉(zhuǎn)換成數(shù)字信號(hào)后送入單片機(jī)進(jìn)行處理,后由單片機(jī)送出,通過(guò)IO擴(kuò)展芯
11、片將采集轉(zhuǎn)換后的數(shù)據(jù)分別送入字符液晶顯示器和圖形液晶顯示器進(jìn)行顯示。當(dāng)然兩個(gè)液晶顯示器的一些引腳還要受單片機(jī)的控制,這樣不斷改變采集數(shù)值, 實(shí)現(xiàn)實(shí)時(shí)采集系統(tǒng)的設(shè)計(jì)。2.2 器件的選擇(1)單片機(jī)的選擇單片機(jī)是一種面向大規(guī)模的集成電路芯片,是微型計(jì)算機(jī)中的一個(gè)重要的分支。此系統(tǒng)是由 CPU、隨即存取數(shù)據(jù)存儲(chǔ)器、只讀程序存儲(chǔ)器、輸入輸出電路( IO 口),還有可能包括定時(shí)計(jì)數(shù)器、串行通信口、顯示驅(qū)動(dòng)電路( LCD 和 LED 驅(qū)動(dòng)電路)、脈寬調(diào)制電路、模擬多路轉(zhuǎn)換器及 AD 轉(zhuǎn)換器等電路集成到一個(gè)單塊芯片上, 構(gòu)成了一個(gè)最小但完善的計(jì)算機(jī)系統(tǒng)。單片機(jī)要使用特定的組譯和編譯軟件編譯程序,再用 Kei
12、l C 把程序下載到單片機(jī)內(nèi)。考慮到應(yīng)用的靈活性,方便性,在此設(shè)計(jì)中選擇AT89C51 單片機(jī)1。(2)AD轉(zhuǎn)換器的選擇AD 轉(zhuǎn)換器根據(jù)需要有 8 位、 10 位、 12 位、 16 位等,位數(shù)越多分辨率越高,價(jià)格也就越昂貴,因此就有了以下幾種分類:逐次逼近型: 它是一種速度快、精度較高、成本較低的直接式轉(zhuǎn)換器,其轉(zhuǎn)換時(shí)間在幾微秒到幾百微秒之間。積分型:此類型其優(yōu)點(diǎn)是用簡(jiǎn)單電路就能獲得高分辨率,但缺點(diǎn)是由于轉(zhuǎn)換精度依賴于積分時(shí)間,因此轉(zhuǎn)換速率極低。并行比較型:此類型采用多個(gè)比較器, 僅作一次比較而實(shí)行轉(zhuǎn)換, 又稱 Flash( 快速 ) 型。由于轉(zhuǎn)換速率極高, n 位的轉(zhuǎn)換需要 2n-1 個(gè)比
13、較器,因此電路規(guī)模也極大,一般情況下不建議使用。根據(jù)以上幾種分類的介紹以及所了解的實(shí)際應(yīng)用情況, 在此采用逐次逼近型的。 又考慮到設(shè)計(jì)所需要的精度要求在此選擇了12 位 AD 轉(zhuǎn)換器 AD1674。(3)LCD 顯示器的選擇由于設(shè)計(jì)技術(shù)的要求和應(yīng)用廣泛性的要求在此選擇了采用LGM12641BS1R( KS0108 控制器)進(jìn)行漢字和圖形的顯示,采用LM016L (HD44780 控制器)進(jìn)行數(shù)值字符的顯示,即為溫度數(shù)值的顯示。這部分采用8255A 芯片來(lái)擴(kuò)展單片機(jī)的輸入輸出口,從而實(shí)現(xiàn)將同一數(shù)據(jù)進(jìn)行字符和圖形的顯示,是通過(guò)點(diǎn)陣取模軟件獲得的。同時(shí)顯示的漢字和圖形所用的代碼3 系統(tǒng)硬件組成及接口
14、電路設(shè)計(jì)3.1 系統(tǒng)硬件組成本設(shè)計(jì)中采用單片機(jī)AT89C51 、 12 位 AD 轉(zhuǎn)換器AD1674 、字符液晶顯示器( HD44780 控制器) LM016L 、圖形液晶顯示器( KS0108 控制器) LGM12641BS1R 、可編程擴(kuò)展 IO 口芯片 8255A、74LS373 地址鎖存器, 74LS138 譯碼器等器件組成。通過(guò)對(duì)各自的控制,實(shí)現(xiàn)系統(tǒng)的設(shè)計(jì)。系統(tǒng)硬件接線原理圖見(jiàn)附錄所示。AT89C51 是硬件電路組成的核心器件,所有的器件都要通過(guò)它來(lái)工作,所以在此先簡(jiǎn)單介紹一下。AT89C51 是美國(guó) ATMEL 公司生產(chǎn)的低電壓,高性能CMOS8 位單片機(jī),器件采用 ATMEL 公
15、司的高密度、 非易失性存儲(chǔ)技術(shù)生產(chǎn), 兼容標(biāo)準(zhǔn) MCS-51 指令系統(tǒng)。片內(nèi)置通用 8 位中央處理器 ( CPU)和 Flash 存儲(chǔ)單元,功能強(qiáng)大。 AT89C51 單片機(jī)可為您提供許多高性價(jià)比的應(yīng)用場(chǎng)合,可靈活應(yīng)用于各種控制領(lǐng)域。主要性能參數(shù):4k 字節(jié)可重擦寫(xiě) Flash 閃速存儲(chǔ)器;1000 次擦寫(xiě)周期;全靜態(tài)操作: 0Hz 24MHz ; 128×8 字節(jié)內(nèi)部 RAM ;32 個(gè)可編程 IO 口: P0 P3,每一個(gè) IO 口都有 8 位; 2 個(gè) 16 位定時(shí)計(jì)數(shù)器;5 個(gè)中斷源;可編程串行 UART 通道;低功耗空閑和掉電模式;除此之外它本身具有振蕩器和時(shí)鐘電路,掉電方
16、式保存RAM 中的內(nèi)容,但振蕩器停止工作并禁止其它所有部件工作直到下一個(gè)硬件復(fù)位;空閑方式停止CPU的工作,但允許RAM ,定時(shí)計(jì)數(shù)器,串行通信口及中斷系統(tǒng)繼續(xù)工作2。AT89C51 引腳結(jié)構(gòu)圖如圖2 所示。圖 2 AT89C51 引腳結(jié)構(gòu)圖如圖所示它共有 40 個(gè)引腳,其中 40 和 20 引腳分別為 VCC 和 GND , 在此隱藏了。 P0 口是一組 8 位漏極開(kāi)路型雙向 IO 口,也是地址數(shù)據(jù)總線復(fù)用口; P1、P2 和 P3 全是內(nèi)部帶上拉電阻的 8 位雙向 IO 口; P3 口除了作為一般的 IO 口線外,還可以作控制端口;在訪問(wèn)外部程序存儲(chǔ)器或 16 位地址的外部數(shù)據(jù)存儲(chǔ)器時(shí),
17、P2 口送出高 8 位地址數(shù)據(jù);RST:復(fù)位輸入;ALE :當(dāng)訪問(wèn)外部程序存儲(chǔ)器或數(shù)據(jù)存儲(chǔ)器時(shí), ALE(地址鎖存允許)輸出脈沖用于鎖存地址的低 8 位字節(jié);:程序儲(chǔ)存允許輸出 , 是外部程序存儲(chǔ)器的讀選通信號(hào);:外部訪問(wèn)允許使能端;XTAL1 :反相振蕩放大器及內(nèi)部時(shí)鐘發(fā)生器的輸入端; XTAL2 :反相振蕩放大器的輸出端。3.2 系統(tǒng)接口電路設(shè)計(jì)AD1674與 AT89C51的接口電路AD1674 是美國(guó) AD 公司推出的一種 12 位帶并行微機(jī)接口的逐次逼近型模數(shù)轉(zhuǎn)換芯片。該芯片內(nèi)部自帶采樣保持器( SHA )、10 伏基準(zhǔn)電壓源、時(shí)鐘源以及可和微處理器總線直接接口的暫存三態(tài)輸出緩沖器
18、3。AD1674 的基本特點(diǎn)和參數(shù)如下:采樣頻率為 100kHz;轉(zhuǎn)換時(shí)間為 10s;具有 ±12LSB 的積分非線性( INL )以及 12 位無(wú)漏碼的差分非線性(DNL );滿量程校準(zhǔn)誤差為0.125%;內(nèi)有 +10V 基準(zhǔn)電源,也可使用外部基準(zhǔn)源;四種單極或雙極電壓輸入范圍分別為 ±5V,±10V, 0V 10V 和 0V 20V;數(shù)據(jù)可并行輸出,采用 812 位可選微處理器總線接口;采用雙電源供電:模擬部分為 ±12V±15V,數(shù)字部分為 +5V;使用溫度范圍 : AD1674AB 為-40 85( I 級(jí));采用 28 腳密封陶瓷 D
19、IP 封裝形式。AD1674 的引腳結(jié)構(gòu)圖如圖3 所示。圖3 AD1674的引腳結(jié)構(gòu)圖12:數(shù)據(jù)輸出位選擇輸入端。當(dāng)該端輸入為低時(shí),數(shù)據(jù)輸出為雙輸入為高時(shí),數(shù)據(jù)輸出為單12 位字節(jié);8 位字節(jié);當(dāng)該端CS:片選信號(hào)輸入端;CE :操作使能端;輸入為高時(shí),芯片開(kāi)始進(jìn)行讀轉(zhuǎn)換操作;STS:轉(zhuǎn)換狀態(tài)輸出端。 輸出為高時(shí)表明轉(zhuǎn)換正在進(jìn)行; 輸出為低時(shí)表明轉(zhuǎn)換結(jié)束。 VCC :+12V+15V 模擬供電輸入;VEE :-12V-15V 模擬供電輸入;AGND :模擬接地端;R:讀轉(zhuǎn)換狀態(tài)輸入端。在完全控制模式下,輸入為高時(shí)為讀狀態(tài);輸入為低時(shí)為轉(zhuǎn)換狀態(tài);在獨(dú)立工作模式下,在輸入信號(hào)的下降沿時(shí)開(kāi)始轉(zhuǎn)換。A
20、0:位尋址短周期轉(zhuǎn)換選擇輸入端。在轉(zhuǎn)換開(kāi)始時(shí),若A0 為低,則進(jìn)行12 位數(shù)據(jù)轉(zhuǎn)換;若 A0 為高,則進(jìn)行周期更短的8 位數(shù)據(jù)轉(zhuǎn)換;當(dāng)R=1 且 12=0 時(shí),若 A0 為低,則在高 8 位( DB4DB11)作數(shù)據(jù)輸出;若A0 為高,則在 DB0 DB3 和 DB8DB11 作數(shù)據(jù)輸出,而DB4 DB7 置零;DB11DB8:在12 位輸出格式下,輸出數(shù)據(jù)的高4 位;在8 位輸出格式下,A0為低時(shí)也可輸出數(shù)據(jù)的高4 位;10VIN :10V 范圍輸入端,包括0V 10V 單極輸入或 ±5V 雙極輸入;20VIN :20V 范圍輸入端,包括 0V 20V 單極輸入或 ±10
21、V 雙極輸入 REF IN :基準(zhǔn)電壓輸入端,在 10V 基準(zhǔn)電源上接 50? 電阻后連于此端;REF OUT :+10V 基準(zhǔn)電壓輸出端;BIP OFF :雙極電壓偏移量調(diào)整端, 該端在雙極輸入時(shí)可通50? 電阻 REF OUT 端相連。AD1674 控制邏輯真值表如表1 所示 3。表 1 AD1674 控制邏輯真值表CECSR12A0執(zhí)行操作0××××無(wú)操作×1×××無(wú)操作100×0啟動(dòng) 12 位數(shù)據(jù)轉(zhuǎn)換100×1啟動(dòng) 8 位數(shù)據(jù)轉(zhuǎn)換1011×允許 12 位并行輸出10110允許高
22、8 位并行輸出10101允許低4 位并行輸出在本次設(shè)計(jì)中采用的是雙極性輸入模式,其與單片機(jī)的接口電路如圖4 所示。圖 4AD1674 與 AT89C51 的接口電路圖中顯示采用的是雙極性接法,所以加了正負(fù)電源,模擬輸入采用量程為10V 即為雙極 ±5V 雙極輸入。電壓偏移量調(diào)整端在雙極輸入時(shí)通過(guò)50? 電阻與 REF OUT 端相連。 DB0 DB11 為 12 位數(shù)據(jù)輸出端,轉(zhuǎn)換過(guò)后通過(guò)控制A0 的狀態(tài)來(lái)控制輸出,此位由單片機(jī)的 P3.1 來(lái)控制。為了實(shí)現(xiàn)分兩次送出正確的的數(shù)據(jù)到達(dá)單片機(jī),P1 口加了上拉電阻。同時(shí)也為了防止單片機(jī)發(fā)熱引起的可靠性降低,使得最終顯示狀態(tài)發(fā)生問(wèn)題,從而
23、加入排阻,也因此得出如上圖的連接4。與 AT89C51的接口電路8255A 是一種可編程的 IO 接口芯片,可以與 MCS-51 系統(tǒng)單片機(jī)以及外設(shè)直接相連,廣泛用作外部并行 IO 擴(kuò)展接口。 8255A 引腳結(jié)構(gòu)圖如下圖 5 所示。圖 58255A 引腳結(jié)構(gòu)圖(1)8255A 引腳功能:D0-D7:數(shù)據(jù)總線共 8 條, 用于傳送 CPU 和 8255A 間的數(shù)據(jù)、命令和狀態(tài)字;RESET :復(fù)位線,高電平有效;:片選線,低電平有效;、:為讀命令線,為寫(xiě)命令線,皆為低電平有效;A0、 A1:地址輸入線:用于選中PA、PB、PC 口和控制寄存器中哪一個(gè)工作;PA7PA0:A 組 , 支持工作方式
24、 0、 1、2,常作數(shù)據(jù)端口;PB7PB0:B 組,支持工作方式0、1 常作數(shù)據(jù)端口;PC7 PC0:C 組,僅支持工作方式0,可作數(shù)據(jù)、狀態(tài)和控制端口,分兩個(gè)4 位每位可獨(dú)立操作控制最靈活,最難掌握;(2)8255A 控制字和狀態(tài)字8255A 通過(guò)控制字可設(shè)定為 3 種工作模式:方式 0,方式 1,方式 2。工作方式 0 為基本的輸入輸出工作方式;方式 1 為選通輸入輸出工作方式,在這種工作方式下, 選通信號(hào)與輸入輸出數(shù)據(jù)一起傳送, 由選通信號(hào)對(duì)數(shù)據(jù)進(jìn)行選通; 方式 2 為帶選通雙向總線IO方式,所以方式2 又稱為雙向傳輸方式2??刂谱钟袃蓚€(gè),一個(gè)是工作方式控制字,用于8255A 的初始化;
25、另一個(gè)是C 口位控制字,用于C 口的位操作。這兩個(gè)控制字使用同一口地址,由最高位D7 區(qū)分,若D7 為 1,此控制字為 8255A 的工作方式控制字;若D7 為 0,此控制字為8255A 的 C口的位控制字。方式控制字用于設(shè)定8255A 三個(gè)端口工作于什么方式,是輸入還是輸出方式。 C 口置位復(fù)位控制字可以使C 口各位單獨(dú)置位或復(fù)位,以實(shí)現(xiàn)某些控制功能。(3)8255A 與單片機(jī) AT89C51 的接口電路連接如圖6 所示。圖 6 8255A 與單片機(jī) AT89C51 的接口電路單片機(jī) AT89C51 的 P0 口做輸出口時(shí),需要加上拉電阻,從而得圖中連接;同時(shí) 8255A 作 IO 口擴(kuò)展時(shí)
26、需要加鎖存器和譯碼器,此決定 8255A 芯片選通,并決定其輸出口 PA、PB、PC 哪路輸出數(shù)據(jù)。這樣可將同一數(shù)據(jù)同時(shí)送于不同的液晶顯示器進(jìn)行顯示,除此之外利用譯碼器可以選擇哪路數(shù)據(jù)選通,當(dāng)外接電路較復(fù)雜時(shí),任務(wù)分配較清晰,控制方便 2。與 8255A 的接口電路KS0108 是一種點(diǎn)陣液晶圖形顯示控制器,具有512 字節(jié)的顯示 RAM 和 8 位并行數(shù)據(jù)總線。 Proteus中內(nèi)置 KS0108 控制器的 128×64 圖形液晶顯示器如圖7 所示。圖 7KS0108 控制器的液晶顯示器結(jié)構(gòu)圖中,圖形液晶顯示器共有 18 個(gè)引腳,其中 DB0 DB8 為 8 位并行數(shù)據(jù)總線, -
27、Vout 為負(fù)電壓輸出,與調(diào)壓輸入端 Vo 及滑動(dòng)變阻器一起連接,作為 LED背光調(diào)壓使用。是低電平復(fù)位端。E 為使能端,RW 、DI 分別為讀寫(xiě)選擇端和命令數(shù)據(jù)選擇端, VCC ( 4.5V5.5V) 和 GND 為電源端。 CS1 和 CS2 分別為左右半屏的片選信號(hào),高電平有效5。KS0108 控制器的指令匯總?cè)缫韵卤?2 所示。表 2 KS0108 控制器的指令表指令名稱控制狀態(tài)指令代碼DIRWD7D6D5D4D3D2D1D0顯示開(kāi)關(guān)設(shè)置000011111D顯示起始行設(shè)置0011L5L4L3L2L1L0頁(yè)面地址設(shè)置0010111P2P1P0列地址設(shè)置0001C5C4C3C2C1C0讀取
28、狀態(tài)字01BUSY0ONOFFRESE0000寫(xiě)顯示數(shù)據(jù)10數(shù)據(jù)T讀顯示數(shù)據(jù)11數(shù)據(jù)(1)BUSY=1表示 KS0108 正在處理計(jì)算機(jī)發(fā)來(lái)的指令或數(shù)據(jù);BUSY=0 表示KS0108 接口控制電路已處于“準(zhǔn)備好”狀態(tài),等待計(jì)算機(jī)的訪問(wèn)。(2)ONOFF :表示當(dāng)前顯示狀態(tài),為1 表示關(guān)顯示狀態(tài),為0 表示開(kāi)顯示狀態(tài)。(3)RESET :表示當(dāng)前 KS0108 的工作狀態(tài), 即反映 RST 端的電平狀態(tài)。 當(dāng) RST為低電平狀態(tài)時(shí), KS0108 處于復(fù)位工作狀態(tài), RESET=1 ;當(dāng) RST 為高電平狀態(tài)時(shí),KS0108 處于正常工作狀態(tài), RESET=0 。(4)L5 L0 為顯示起始行
29、的地址,取值在 0 3FH ( 164) 范圍內(nèi)。(5)P2P0 確定當(dāng)前所要選擇的頁(yè)面地址,取值在07H, 代表 18 頁(yè)。(6) C5C0=03FH ( 1 64) 代表某一頁(yè)面上的某一單元地址,隨后的一次讀或?qū)?數(shù)據(jù)將在這個(gè)單元上進(jìn)行。KS0108 控制器與 8255A 的接口電路如圖8 所示 6。圖 8 KS0108 控制器與 8255A 的接口電路DB0 DB8 與 PB0 PB7 相連接送數(shù)據(jù),用8255A 的 PC2 來(lái)選通此控制器,讓其進(jìn)行工作,用 PC1 和 PC0 分別控制讀寫(xiě)選擇端和命令數(shù)據(jù)選擇端。的顯示范圍,這里有單片機(jī)的引腳進(jìn)行控制。CS1 和CS2 控制屏HD447
30、80與 8255A的接口電路是一種點(diǎn)陣液晶顯示控制器,用來(lái)控制字符液晶顯示器,目前應(yīng)用比較廣泛。它有以下特點(diǎn):內(nèi)置 CGROM 字符發(fā)生器,含192 個(gè)固定字符,可供用戶顯示調(diào)用;內(nèi)置 CGRA M字符發(fā)生器, 用戶通過(guò)編程設(shè)計(jì)最多 8 個(gè)自定義字符, 存放其中,供顯示調(diào)用;內(nèi)置 DDRAM 顯示數(shù)據(jù)存儲(chǔ)器,可以存放最多 80 個(gè)顯示字符,把 CGROM 或 CGRAM 中的顯示數(shù)據(jù)調(diào)入 DDRAM ,便可在顯示屏上顯示, DDRAM 中的單元和顯示屏的位置存在一一對(duì)應(yīng)關(guān)系;自動(dòng)復(fù)位上電功能;雙向 8 位或 4 位總線接口;豐富的控制指令:清顯存、光標(biāo)位置設(shè)置、數(shù)據(jù)輸入時(shí)光標(biāo)或數(shù)據(jù)移位設(shè)置、開(kāi)
31、或關(guān)顯示屏等;HD44780 模塊有兩個(gè)寄存器,一個(gè)用來(lái)輸入指令,另一個(gè)用來(lái)讀寫(xiě)數(shù)據(jù)。指令用來(lái)告訴模塊怎樣存放或哪里存放數(shù)據(jù) 6。Proteus中內(nèi)置 HD44780 控制器的字符液晶顯示器如下圖9 所示。圖 9HD44780 控制器的字符液晶顯示器RS: 命令或數(shù)據(jù)選擇端,當(dāng) RS=0 時(shí),總線上傳送的是命令;當(dāng) RS=1 時(shí),總線上傳送的是數(shù)據(jù)。RW :讀寫(xiě)選擇端,當(dāng)RW=0 時(shí),為寫(xiě)操作;當(dāng)RW=1 時(shí),為讀操作。D0 D7:總線數(shù)據(jù),可以傳送命令,也可以傳送數(shù)據(jù),由RS 來(lái)控制。HD44780 控制器與 8255A 的接口電路如圖 10 所示。圖 10 HD44780 控制器與 825
32、5A 的接口電路由于 8255A 在此設(shè)計(jì)中只用到了 A 口和 B 口用作數(shù)據(jù)端口, 因而 C 口就作了控制端口,從而有圖可知 HD44780 控制器的使能端 E 和命令或數(shù)據(jù)選擇端 RS 受 8255A 的 PC5 和 PC7 控制。 D0 D7 與 PA0PA7 相連接,將數(shù)據(jù)送入顯示器進(jìn)行顯示。4 系統(tǒng)軟件設(shè)計(jì)4.1 系統(tǒng)主程序軟件設(shè)計(jì)時(shí),需要先搞清楚總體的設(shè)計(jì)方案, 從而用流程圖來(lái)展示主程序。當(dāng)信號(hào)輸入時(shí),主程序啟動(dòng),根據(jù)內(nèi)部設(shè)定的條件逐步運(yùn)行,達(dá)到設(shè)計(jì)目的。主程序執(zhí)行的流程圖如下圖 11 所示。開(kāi)始初始化顯示設(shè)定值啟動(dòng)A/D轉(zhuǎn)換數(shù)值處理顯示實(shí)際溫度顯示溫度曲線圖圖 11主程序執(zhí)行流程
33、圖由上的流程圖可知, 程序先從主函數(shù)開(kāi)始即main()函數(shù)。在主函數(shù)中進(jìn)行變量的定義和賦值,以及子函數(shù)的調(diào)用指令,即所謂的初始化。之后進(jìn)行定義數(shù)組,將所要顯示的設(shè)定值賦予此數(shù)組,這樣一上電就可顯示設(shè)定值,也就定義了顯示范圍。此后調(diào)用AD 轉(zhuǎn)換子函數(shù),進(jìn)行模數(shù)轉(zhuǎn)換,由于單片機(jī)只能處理8 位數(shù)據(jù),所以要進(jìn)行兩次數(shù)據(jù)的送入單片機(jī), 即所謂的數(shù)值處理。 12 位轉(zhuǎn)換值通過(guò) 8255A 進(jìn)行 IO 擴(kuò)展,后同時(shí)送入液晶顯示器進(jìn)行溫度曲線圖和溫度數(shù)值的實(shí)時(shí)顯示 7。4.2 AD1674 轉(zhuǎn)換程序AD1674 是 12 位 AD 轉(zhuǎn)換器, AT89C51 只能一次接收 8 位數(shù)據(jù),所以要分兩次轉(zhuǎn)換。首先要對(duì)
34、其進(jìn)行初始化, 使得 CE =0 關(guān)閉數(shù)據(jù)采集,后令 CE=1, CS=0,RC =1,12=1,A0=0,允許高八位數(shù)據(jù)并行輸出,讀取轉(zhuǎn)換結(jié)果的高 8 位,后送入 P1 口,使 CE = 0,芯片使能關(guān)閉。再令 CE =1, CS=0, RC=1, 12=0, A0=1,允許低四位數(shù)據(jù)并行輸出,再讀取轉(zhuǎn)換結(jié)果的低 4 位,關(guān)閉芯片,再對(duì)讀取的數(shù)據(jù)進(jìn)行整合成 12 位數(shù)據(jù)。之后對(duì)數(shù)值進(jìn)行判斷,進(jìn)行正確的顯示。由此得出流程圖如圖 12 所示。開(kāi)始初始化A0=1?否是高 8位數(shù)據(jù)低4位數(shù)據(jù)整合數(shù)值Biaozhiwei=0 ?否是顯示正值顯示負(fù)值圖 12 AD1674 轉(zhuǎn)換流程圖4.3 LCD128
35、64 顯示程序溫度曲線顯示程序溫度曲線顯示程序流程圖如圖13 所示。查忙LCD12864 寫(xiě)指令LCD12864 寫(xiě)數(shù)據(jù)LCD12864 讀指令LCD12864 讀數(shù)據(jù)畫(huà)坐標(biāo)顯示溫度曲線圖圖 13 溫度曲線顯示程序流程圖執(zhí)行此程序前先要檢查 LCD 是否在忙,若忙不執(zhí)行,不忙執(zhí)行寫(xiě)指令,準(zhǔn)備數(shù)據(jù)的寫(xiě)入,有了寫(xiě)命令后,進(jìn)行數(shù)據(jù)的寫(xiě)入。數(shù)據(jù)寫(xiě)入之后,此控制器要讀取其值以便進(jìn)行顯示,所以執(zhí)行讀指令和讀數(shù)據(jù)。數(shù)據(jù)讀入正確后,執(zhí)行坐標(biāo)函數(shù),進(jìn)行描點(diǎn),之后可得顯示圖形。 LCD12864 的讀寫(xiě)依靠控制端 CS1 和 CS2 進(jìn)行控制,而 CS1 和 CS2 是由單片機(jī)的 P3.4 和 P3.5 進(jìn)行控制
36、,此端口控制屏的顯示范圍。其最主要的是坐標(biāo)函數(shù),需要規(guī)定首行和首列,以及頁(yè)碼。規(guī)定好后進(jìn)行描點(diǎn),而點(diǎn)的代碼通過(guò)點(diǎn)陣取模軟件繪圖獲得 8。漢字顯示程序漢字顯示程序流程圖如圖14 所示。初始化LCD12864寫(xiě)指令頁(yè)列值設(shè)置LCD12864寫(xiě)數(shù)據(jù)曲線圖漢字顯示圖 14漢字顯示函數(shù)流程圖畫(huà)坐標(biāo)此部分程序主要是執(zhí)行漢字顯示函數(shù)void show(),在這顯示之前,先需要對(duì)要顯示的漢字進(jìn)行初始化,之后執(zhí)行LCD12864寫(xiě)指令,后再 設(shè)定漢字的頁(yè)碼,因而在此設(shè)顯示溫度曲線圖定顯示首頁(yè)地址為 0xb8,首列地址為 0x40,列地址會(huì)自動(dòng)加 1, 執(zhí)行后執(zhí)行曲線圖點(diǎn)陣代碼,即所獲得需要的漢字,后執(zhí)行顯示函數(shù)
37、,這樣得以實(shí)現(xiàn)曲線圖的顯示功能,從而完成此部分設(shè)計(jì) 8。4.4 LCD1602 字符顯示程序此部分程序包括對(duì) 1602 的初始化函數(shù)、 寫(xiě)命令函數(shù)、寫(xiě)數(shù)據(jù)函數(shù)和 LCD160 2 的實(shí)時(shí)顯示函數(shù)幾部分組成,所以可得流程圖如圖 15 所示。開(kāi)始1602 初始化1602 寫(xiě)命令1602 寫(xiě)數(shù)據(jù)Biaozhiwei=0 ?否是顯示正值顯示負(fù)值圖 15 LCD1602 字符顯示流程圖由流程圖可知要想顯示數(shù)值,首先要定義變量,之后進(jìn)入主函數(shù)main() 。接下來(lái)要規(guī)定哪一行進(jìn)行顯示,在這里選擇第一行,占用前16 個(gè)字節(jié)進(jìn)行溫度值的顯示,這就是 1602的初始化。定義好預(yù)設(shè)值后要進(jìn)行顯示這就需要取值,每一
38、位顯示什么,這需要對(duì)采集轉(zhuǎn)換好的數(shù)值進(jìn)行處理,將每一位取出來(lái),綜合后實(shí)時(shí)顯示。完成之后要先執(zhí)行 1602寫(xiě)命令和寫(xiě)數(shù)據(jù)函數(shù),當(dāng)打開(kāi)屏幕時(shí),通過(guò)判斷溫度標(biāo)志位為1 還是 0,進(jìn)行正確數(shù)值的顯示, 當(dāng)標(biāo)志位為 0 時(shí)顯示負(fù)溫度值,為 1 時(shí)顯示正溫度值,這樣完成顯示。5 系統(tǒng)仿真5.1 軟件介紹進(jìn)行系統(tǒng)仿真之前首先要完成硬件和軟件兩部分,在此之前先要了解一些軟件。(1)C51 集成開(kāi)發(fā)軟件 Keil C此軟件是美國(guó) Keil Software 公司出品的 51 系列兼容單片機(jī) C 語(yǔ)言軟件開(kāi)發(fā)系統(tǒng),與匯編相比, C 語(yǔ)言在功能上、結(jié)構(gòu)性、可讀性、可維護(hù)性上有明顯的優(yōu)勢(shì),因而易學(xué)易用。 Keil 提
39、供了包括 C 編譯器、宏匯編、連接器、庫(kù)管理和一個(gè)功能強(qiáng)大的仿真調(diào)試器等在內(nèi)的完整開(kāi)發(fā)方案,因此使用起來(lái)十分方便 9。(2)Proteus軟件Proteus是由 LabcenterElectronics開(kāi)發(fā)的功能強(qiáng)大的單片機(jī)仿真軟件, 與其他的仿真軟件相比較,在下面的優(yōu)點(diǎn):能仿真模擬電路、數(shù)字電路、數(shù)?;旌想娐?;能繪制原理圖、 PCB 圖;幾乎包括實(shí)際中所有使用的儀器其最大的亮點(diǎn)在于能夠?qū)纹瑱C(jī)進(jìn)行實(shí)物級(jí)的仿真。從程序的編寫(xiě),編譯到調(diào)試,目標(biāo)版的仿真一應(yīng)俱全。 支持匯編語(yǔ)言和 C 語(yǔ)言的編程 , 還可配合 Keil C 實(shí)現(xiàn)程序的聯(lián)合調(diào)試,將 Proteus中繪制的原理圖作為實(shí)際中的目標(biāo)板,
40、而用 Keil C 集成環(huán)境實(shí)現(xiàn)對(duì)目標(biāo)板的控制, 與實(shí)際中通過(guò)硬件仿真器對(duì)目標(biāo)板的調(diào)試幾乎完全相同, 并且支持多顯示器的調(diào)試5。(3)點(diǎn)陣取模軟件此軟件是為了進(jìn)行液晶顯示而設(shè)計(jì)的, 只要輸入所需要的圖片或漢字, 點(diǎn)擊取模方式,就可得到所需要的點(diǎn)陣代碼,之后寫(xiě)入 LCD 模塊中指定的位置執(zhí)行顯示函數(shù)就可以實(shí)現(xiàn)所需要的功能。例如將其顯示漢字“趙”字,這樣需要先在輸入口輸入此字,后選擇輸出格式,從而獲得所需代碼,獲取圖如圖16 所示 8。圖 16 取字代碼獲取圖5.2 Proteus仿真打開(kāi) Proteus ISIS,進(jìn)入 Proteus ISIS 編輯環(huán)境,將所需要的元器件調(diào)用出來(lái)后進(jìn)行正確連接,
41、連接好后進(jìn)行保存。在點(diǎn)陣取模軟件中繪制所需要的圖形和漢字,之后選擇取模方式, 在這里選擇 C51方式獲得點(diǎn)陣代碼。在 Keil Vision4編程軟件中進(jìn)行C 語(yǔ)言程序的編寫(xiě),然后在Keil中生成的“*.forTarget Target1,打開(kāi)工程屬性設(shè)置對(duì)話框,共有8 個(gè)選項(xiàng)卡,主要設(shè)置工作包括在 Target 選項(xiàng)卡中設(shè)置晶振頻率。 選擇 Output 選項(xiàng)卡,然后選中 Create HEXFile,其它選項(xiàng)卡內(nèi)容一般可取默認(rèn)值。工程設(shè)置后按F7 鍵(或點(diǎn)擊編譯工具欄上相應(yīng)圖標(biāo))進(jìn)行編譯生成“*. Tian.Foundation and Application ofMicrocontrol
42、lerM.Higher Education Press (HEP),2004:32-40.12 Wilson R P,Lam M S.Efficient context-sensitive pointer analysis for C Language Design and 97-99.附錄附錄一系統(tǒng)硬件接線原理圖系統(tǒng)硬件接線原理圖附錄二系統(tǒng)程序#include<intrins. =*-文字 :線 -*-宋體 12;此字體下對(duì)應(yīng)的點(diǎn)陣為:寬x 高=16x16-*0x20, 0x30, 0xAC , 0x63 , 0x20, 0x18, 0x80, 0x90, 0x90, 0xFF , 0
43、x90, 0x49, 0x4A , 0x48, 0x40 , 0x00, 0x22, 0x67, 0x22, 0x12, 0x12 , 0x12, 0x40, 0x40, 0x20, 0x13, 0x0C, 0x14, 0x22, 0x41, 0xF8 , 0x00 ;*-uchar code tu=*-文字 :圖-*宋體 12;此字體下對(duì)應(yīng)的點(diǎn)陣為:寬x 高 =16x16-*0x00,0xFE,0x02,0x42,0x22,0x32,0x5E,0x92,0x52,0x32,0x12,0x02,0x02,0xFE,0x00,0x00,0x00,0xFF,0x4 2,0x42,0x42,0x51,0x55,0x64,0x69,0x41,0x42,0x42,0x42,0xFF,0x00,0x00 ;uchar code zuobiao=*- 調(diào)入了一幅圖像: C Users Administrator Desktop 畫(huà)圖坐標(biāo) . bmp -* *- 寬度 x 高度 =128x64 -*0x00,0x00,
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 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ì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 德城區(qū)中考題目數(shù)學(xué)試卷
- 各市中考數(shù)學(xué)試卷
- 肛腸外科便秘課件
- 鼓樓一年級(jí)下數(shù)學(xué)試卷
- 二手高中數(shù)學(xué)試卷
- 肉牛養(yǎng)殖技術(shù)課件視頻
- 2025年06月廣東東莞市泗安醫(yī)院招聘臨床人員(門(mén)診部皮膚科醫(yī)師和醫(yī)療美容科醫(yī)師)考試總筆試歷年專業(yè)考點(diǎn)(難、易錯(cuò)點(diǎn))附帶答案詳解
- 2025至2030船體清潔機(jī)器人行業(yè)市場(chǎng)深度研究及發(fā)展前景投資可行性分析報(bào)告
- 2025至2030充氣袋行業(yè)發(fā)展趨勢(shì)分析與未來(lái)投資戰(zhàn)略咨詢研究報(bào)告
- 2025至2030廣告策劃行業(yè)市場(chǎng)深度調(diào)研及前景趨勢(shì)與投資報(bào)告
- 中特第五講社會(huì)建設(shè)天津大學(xué)
- 密封條范文模板(A4打印版)
- 施工現(xiàn)場(chǎng)安全交底15篇
- 哈雷之約:基于指數(shù)成分股調(diào)整的選股策略
- 湖北省隨州市各縣區(qū)鄉(xiāng)鎮(zhèn)行政村村莊村名居民村民委員會(huì)明細(xì)及行政區(qū)劃代碼
- 高處作業(yè)審批表
- 急救醫(yī)學(xué)模擬中心建設(shè)方案
- 三維激光掃描技術(shù)與應(yīng)用實(shí)例-PPT課件
- 農(nóng)用地評(píng)價(jià)方法
- (新知杯)2017-2011上海市初中數(shù)學(xué)競(jìng)賽試卷
- 職業(yè)緊張壓力量表OSI
評(píng)論
0/150
提交評(píng)論