單片機(jī)最小系統(tǒng)試驗(yàn)設(shè)計(jì)_第1頁(yè)
單片機(jī)最小系統(tǒng)試驗(yàn)設(shè)計(jì)_第2頁(yè)
單片機(jī)最小系統(tǒng)試驗(yàn)設(shè)計(jì)_第3頁(yè)
單片機(jī)最小系統(tǒng)試驗(yàn)設(shè)計(jì)_第4頁(yè)
單片機(jī)最小系統(tǒng)試驗(yàn)設(shè)計(jì)_第5頁(yè)
已閱讀5頁(yè),還剩47頁(yè)未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、摘要近年來隨著計(jì)算機(jī)在社會(huì)領(lǐng)域的滲透, 單片機(jī)的應(yīng)用正在不斷地走向深入,同時(shí)帶動(dòng)傳統(tǒng)控制檢測(cè)日新月益更新。在實(shí)時(shí)檢測(cè)和自動(dòng)控制的單片機(jī)應(yīng)用系統(tǒng)中,單片機(jī)往往是作為一個(gè)核心部件來使用,僅單片機(jī)方面知識(shí)是不夠的,還應(yīng)根據(jù)具體硬件結(jié)構(gòu),以及針對(duì)具體應(yīng)用對(duì)象特點(diǎn)的軟件結(jié)合,以作完善。單片機(jī)最小系統(tǒng)是在以51單片機(jī)為基礎(chǔ)上擴(kuò)展,使其能更方便地運(yùn)用于測(cè)試系統(tǒng)中。本設(shè)計(jì)主要在51單片機(jī)上擴(kuò)展I/O口,擴(kuò)展定時(shí)器定時(shí)范圍,擴(kuò)展鍵盤顯示接口并寫好底層程序。本文首先在緒論介紹了此系統(tǒng)的研究意義和使用的開發(fā)環(huán)境,以及使用MCS-51系列的單片機(jī)芯片。在第二章論述了總體設(shè)計(jì)過程及器件的選擇,第三章著重描述了系統(tǒng)硬件電

2、路設(shè)計(jì)、硬件設(shè)計(jì)框圖及所使用的各種芯片功能與特性,在第四章中重點(diǎn)剖析了軟件設(shè)計(jì)的過程.關(guān)鍵詞:?jiǎn)纹瑱C(jī)技術(shù),8255A, 液晶顯示ABSTRACTWith the infiltration in the social field of the computer in recent years, the application of the one-chip computer is moving towards deepening constantly, drive tradition is it measure crescent benefit to upgrade day to control

3、 at the same time. In measuring in real time and automatically controlled one-chip computer application system, the one-chip computer often uses as a key part, only one-chip computer respect knowledge is not enough, should also follow the structure of the concrete hardware , and direct against and u

4、se the software of target's characteristic to combine concretly, in order to do perfectly. The smallest system one chip computer is in expands at the base of MCS-51 one chip computer. Make it used more convient in the test system. this design mainly expands I/O in the take 51 on chip computer, e

5、xpands the timer fixed time scope, expands the keyboard to demonstrate the connection and writes the first floor procedure.This text has introduced the research meaning of this system and development environment used in the introduction at first, developing the one-chip computer chip of MCS-51 serie

6、s used. Have described the overall design process in chapter two, have confirmed chapter three of choice of device has described emphatically that designs the block diagram and various kinds of chip functions and characteristics used in circuit design of the systematic hardware , hardware, have anal

7、yzed the design course of the software especially in chapter four. Keyword:technology of the one-chip computer, 8255A, Liquid crystal display46 / 52文檔可自由編輯打印目錄第一章 緒論.11.1 選題意義.11.2 單片機(jī)的發(fā)展和應(yīng)用.11.3 單片機(jī)編程語(yǔ)言介紹.3第二章 系統(tǒng)設(shè)計(jì)及工作原理.52.1 系統(tǒng)原理框圖及器件選擇.52.2 系統(tǒng)工作原理及總體電路框圖.5第三章 系統(tǒng)硬件設(shè)計(jì).83.1 硬件模塊設(shè)計(jì).83.1.1 數(shù)字輸入輸出模塊設(shè)計(jì).9

8、3.1.2 顯示接口電路的設(shè)計(jì).93.1.3 鍵盤接口電路的設(shè)計(jì)133.1.4 定是模塊設(shè)計(jì)163.1.5 數(shù)據(jù)存儲(chǔ)器單元的設(shè)計(jì)173.1.6 模數(shù)轉(zhuǎn)換單元設(shè)計(jì)193.2 相關(guān)芯片的介紹.213.2.1 AT89C52芯片的介紹.213.2.2 并行接口芯片8255A.223.2.3 8254可編程計(jì)數(shù)/定時(shí)芯片簡(jiǎn)介233.2.4 D/A轉(zhuǎn)換器.24第四章 系統(tǒng)軟件設(shè)計(jì).274.1 系統(tǒng)工作主程序流程圖274.2 系統(tǒng)軟件流程284.2.1 液晶驅(qū)動(dòng)程序流程圖.284.2.2 鍵盤掃描程序流程.30第五章 結(jié)論.33致謝35參考文獻(xiàn)37附錄1.39附錄2.43附錄3.45附錄4.46第一章 緒

9、論1.1 選題意義由于單片機(jī)技術(shù)在各個(gè)領(lǐng)域正得到越來越廣泛的應(yīng)用,世界上許多集成電路生產(chǎn)廠家相繼推出了各種類型的單片機(jī),在單片機(jī)家族的眾多成員中,MCS-51系列單片機(jī)以其優(yōu)越的性能、成熟的技術(shù)及高可靠性和高性能價(jià)格比,迅速占領(lǐng)了工業(yè)測(cè)控和自動(dòng)化工程應(yīng)用的主要市場(chǎng),成為國(guó)內(nèi)單片機(jī)應(yīng)用領(lǐng)域中的主流。目前,可用于MCS-51系列單片機(jī)開發(fā)的硬件越來越多,與其配套的各類開發(fā)系統(tǒng)、各種軟件也日趨完善,因此,可以極方便地利用現(xiàn)有資源,開發(fā)出用于不同目的的各類應(yīng)用系統(tǒng)。單片機(jī)最小系統(tǒng)是在以MCS-51單片機(jī)為基礎(chǔ)上擴(kuò)展,使其能更方便地運(yùn)用于測(cè)試系統(tǒng)中,不僅具有控制方便、組態(tài)簡(jiǎn)單和靈活性大等優(yōu)點(diǎn),而且可以大

10、幅度提高被測(cè)試的技術(shù)指標(biāo),從而能夠大大提高產(chǎn)品的質(zhì)量和數(shù)量。單片機(jī)以其功能強(qiáng)、體積小、可靠性高、造價(jià)低和開發(fā)周期短等優(yōu)點(diǎn),稱為在實(shí)時(shí)檢測(cè)和自動(dòng)控制領(lǐng)域中廣泛應(yīng)用的器件,在工業(yè)生產(chǎn)中稱為必不可少的器件,尤其是在日常生活中發(fā)揮的作用也越來越大。本課題設(shè)計(jì)主要在MCS-51單片機(jī)上擴(kuò)展I/O口,擴(kuò)展定時(shí)器定時(shí)范圍,擴(kuò)展鍵盤顯示接口。本文以它為例進(jìn)行介紹,希望能收到舉一反三和觸類旁通的效果。1.2 單片機(jī)的發(fā)展和應(yīng)用自1971年美國(guó)INTEL公司制造出第一塊4位微處理器以來,其發(fā)展十分迅猛,到目前為止,大致可分以下五個(gè)階段。(1) 四位單片機(jī)(19711974)1971年11月,INTEL公司設(shè)計(jì)了集

11、成度為2000只晶體管片的4位微處理器INTEL4004,并配有RAM、ROM和移位寄存器,構(gòu)成第一臺(tái)MCS-4微處理。這種微處理器雖僅用于簡(jiǎn)單控制,但價(jià)格便宜,至今仍不斷有多功能的4位機(jī)問世。(2) 低檔8位單片機(jī)(19741978)這類單片機(jī)不帶串行接口,尋址范圍一般在4KB內(nèi)。其功能可滿足一般工業(yè)控制和智能化儀器等的需要,如INTEL公司的8048,MOSTEK公司的3870等。(3) 高檔8位單片機(jī)(19781982)這類單片機(jī)帶有串行接口,尋址范圍可達(dá)64KB,有多級(jí)中斷處理系統(tǒng)、16位定時(shí)計(jì)數(shù)器。其功能較強(qiáng),是目前應(yīng)用的主要產(chǎn)品,如INTEL公司的8051、MOTOROLA公司的Z

12、8和NEC公司的MPD7800等產(chǎn)品。(4) 16位單片機(jī)(1982-1990)MOSTEK公司于1982年首先推出了16位單片機(jī)68200,隨后和INTEL公司于1983年推出了16位單片機(jī)8096,其公司也相繼推出了同檔次的產(chǎn)品。由于16位單片機(jī)采用最新的制造工藝,其計(jì)算速度和控制功能大幅度提高,具有很強(qiáng)的實(shí)時(shí)處理能力。Microchip新推49款16位單片機(jī)和數(shù)字信號(hào)控制器(5) 新一代單片機(jī)(90年代以來)這類單片機(jī)在結(jié)構(gòu)上采用雙CPU或內(nèi)部流水線,CPU位數(shù)有8位、16位、32位,時(shí)鐘頻率高達(dá)20MHZ片內(nèi)帶有PWM輸出、監(jiān)視定時(shí)器WDT、可編程計(jì)數(shù)器陣列PCA、DMA傳輸、調(diào)制解調(diào)

13、器等。芯片向高度集成化、低功耗方向發(fā)展,使得單片機(jī)在大量數(shù)據(jù)的實(shí)時(shí)處理、高級(jí)通信系統(tǒng)、數(shù)字信號(hào)處理、復(fù)雜工業(yè)過程控制、高級(jí)機(jī)器人以及局域網(wǎng)等方面得到大量應(yīng)用。這類單片機(jī)有NEC公司的MPD7800,MITSUBISHIM公司337700,REVKWELLR公司6500 21、 R65C29 ,INTEL公司的8044、UPI-452等。單片機(jī)的應(yīng)用:?jiǎn)纹瑱C(jī)具有體積小、重量輕、價(jià)格便宜、低功耗、控制功能強(qiáng)及運(yùn)算速度快等特點(diǎn),故在國(guó)民經(jīng)濟(jì)建設(shè)、軍事及家用電器的領(lǐng)域均得到廣泛的運(yùn)用。在一個(gè)應(yīng)用系統(tǒng)中,只有一個(gè)單片機(jī),這是目前應(yīng)用最多的方式,主要應(yīng)用領(lǐng)域有:(1) 測(cè)控系統(tǒng)。用單片機(jī)可構(gòu)成各種工業(yè)控制

14、系統(tǒng)、自適應(yīng)系統(tǒng)、數(shù)據(jù)采集系統(tǒng)等。例如,溫室人工氣候控制、水閘自動(dòng)控制、電鍍生產(chǎn)線自動(dòng)控制、汽輪機(jī)電液調(diào)節(jié)系統(tǒng)、車輛檢測(cè)系統(tǒng)、機(jī)器人軸處理器。(2) 智能儀表。用單片機(jī)改造原有的測(cè)量、控制儀表,數(shù)字化、智能化、綜合化、柔性化發(fā)展。如溫度、壓力、流量、能度等的測(cè)量、顯示及儀表控制。通過采用單片機(jī)軟件編程技術(shù),使測(cè)量?jī)x表中長(zhǎng)期存在的誤差修正,線性化處理等難題迎刃而解。(3) 機(jī)電一體化產(chǎn)品。單片機(jī)與傳統(tǒng)的機(jī)械產(chǎn)品結(jié)合,使傳統(tǒng)機(jī)械產(chǎn)品結(jié)構(gòu)簡(jiǎn)化,控制智能化。這類產(chǎn)品如:簡(jiǎn)易數(shù)控機(jī)床,電腦繡花機(jī),醫(yī)療器械等。1.3 單片機(jī)編程語(yǔ)言介紹對(duì)于51系列單片機(jī),現(xiàn)在主要有兩種語(yǔ)言支持,即匯編、單片機(jī)C語(yǔ)言。C語(yǔ)

15、言是一種源于UNIX編寫操作系統(tǒng)的語(yǔ)言,它是一種結(jié)構(gòu)化語(yǔ)言,可產(chǎn)生壓縮代碼。C語(yǔ)言結(jié)構(gòu)是以括號(hào)而不識(shí)字和特殊符號(hào)的語(yǔ)言。C可以進(jìn)行許多機(jī)器函數(shù)控制而不用匯編語(yǔ)言。與匯編相比,有如下優(yōu)點(diǎn):對(duì)單片機(jī)的指令系統(tǒng)不要求了解,僅要求對(duì)51的存儲(chǔ)器結(jié)構(gòu)由初步了解寄存器分配、不同存儲(chǔ)器的尋址及數(shù)據(jù)類型等細(xì)節(jié)可由編譯管理程序有規(guī)范的結(jié)構(gòu),可分為不同的函數(shù)。這種方式可使程序結(jié)構(gòu)化將可變的選擇與特殊操作組合在一起的能力,改善了程序的可讀性編程及程序調(diào)試時(shí)間顯著縮短,從而提高效率,提供的庫(kù)包含許多標(biāo)準(zhǔn)子程序,具有較強(qiáng)的數(shù)據(jù)處理能力將已編好程序可統(tǒng)一的植入新程序,因?yàn)樗址奖愕哪K化編程技術(shù)C語(yǔ)言作為一種非常方便的語(yǔ)

16、言而得到廣泛的支持,C語(yǔ)言程序本并不依賴于硬件系統(tǒng),基本上不作修改就可根據(jù)單片機(jī)的不同較快地移植過來。51的匯編語(yǔ)言非常像其他匯編語(yǔ)言。指令系統(tǒng)比第一代微處理器要強(qiáng)一些。51的不同存儲(chǔ)區(qū)域使得其復(fù)雜一些。懂得匯編語(yǔ)言指令就可以使用在片內(nèi)RAM作變量的優(yōu)勢(shì),因?yàn)槠庾兞啃枰獛讞l指令才能設(shè)置累加器和數(shù)據(jù)指針進(jìn)行存取。要求使用浮點(diǎn)和啟用函數(shù)是只有具備匯編編程經(jīng)驗(yàn)才能避免生成龐大的、效率低的程序,單片機(jī)編程者應(yīng)是由匯編轉(zhuǎn)用C而不是原來用過標(biāo)準(zhǔn)C語(yǔ)言的人。第二章 系統(tǒng)設(shè)計(jì)及工作原理2.1 系統(tǒng)原理框圖及器件選擇本系統(tǒng)的硬件電路圖結(jié)構(gòu)由AT89C52單片機(jī),并行擴(kuò)展接口芯片8255,鍵盤輸入,液晶顯示器M

17、GLS-12032A,定時(shí)/計(jì)數(shù)器8254,數(shù)據(jù)存儲(chǔ)器EEPROM2864A,DAC1208及串行接口電路組成。單片機(jī)系統(tǒng)原理框圖如圖2.1所示。8255AMCS-51串行接口復(fù)位電路數(shù)據(jù)存儲(chǔ)器接口電路PC機(jī)鍵盤輸入LCD顯示D/A轉(zhuǎn)換器接口電路路圖2.1 單片機(jī)最小系統(tǒng)原理框圖通過鍵盤輸入指令或數(shù)字,單片機(jī)經(jīng)過鍵盤掃描從8255讀回鍵值,根據(jù)鍵值執(zhí)行相應(yīng)的子程序。假設(shè)輸入測(cè)試命令鍵,單片機(jī)將調(diào)用測(cè)試子程序,并將測(cè)試結(jié)果送到顯示器上顯示(“good”or“bad”);假設(shè)輸入數(shù)字鍵,單片機(jī)會(huì)自動(dòng)將輸入的數(shù)字顯示到顯示器上;假設(shè)輸入其它命令鍵,單片機(jī)將調(diào)用相應(yīng)的功能子程序,執(zhí)行相應(yīng)的命令。 2.

18、2 系統(tǒng)工作原理及總體電路框圖系統(tǒng)軟件由主程序和若干子程序構(gòu)成。有顯示子程序、鍵盤掃描子程序、鍵值處理子程序組成。系統(tǒng)開機(jī)后,首先執(zhí)行主程序,完成系統(tǒng)初始化工作,然后調(diào)用顯示子程序,在顯示器上給出提示符rd,告訴操作者機(jī)器已準(zhǔn)備好,可以接收鍵盤輸入;當(dāng)顯示器上出現(xiàn)提示符rd后,立即調(diào)入鍵盤掃描子程序,此時(shí),操作者可通過鍵盤輸入數(shù)據(jù)或命令,經(jīng)鍵盤掃描后從8255讀回鍵值并進(jìn)行按鍵分析,判斷按下的鍵是數(shù)字鍵還是功能鍵,如果是數(shù)字鍵,則將與鍵號(hào)相對(duì)應(yīng)的數(shù)據(jù)送往顯示緩沖區(qū)顯示;如果是功能鍵,則轉(zhuǎn)入相應(yīng)的功能鍵處理程序,最后返回到顯示程序,開機(jī)狀態(tài)一直重復(fù)這個(gè)過程。相應(yīng)功能鍵處理程序功能包括8254定時(shí)

19、器定時(shí)范圍擴(kuò)展的功能,單片機(jī)需要每隔一定的時(shí)間就對(duì)處理對(duì)象進(jìn)行采樣,再對(duì)獲得的數(shù)據(jù)進(jìn)行處理,所以要對(duì)單片機(jī)設(shè)定一定的時(shí)間范圍值。EEPROM2864數(shù)據(jù)存儲(chǔ)器功能用于存儲(chǔ)現(xiàn)場(chǎng)采集的原始數(shù)據(jù),運(yùn)算結(jié)果等。D/A轉(zhuǎn)換器DAC1208功能可以直接從89C52輸入數(shù)字量,并轉(zhuǎn)換成模擬量而推動(dòng)執(zhí)行機(jī)構(gòu)動(dòng)作,以控制被控實(shí)體的工作過程。液晶顯示模塊MGLS-12032A功能,在單片機(jī)89C52的控制下,通過選通8255的PB口作為對(duì)數(shù)據(jù)的輸出端口,按照要求的格式顯示接收到的數(shù)據(jù)。各部分的功能具體連接系統(tǒng)總體電路框圖如圖2.2所示。圖2.2 系統(tǒng)總體電圖框圖編制軟件時(shí),在掃描鍵盤前應(yīng)熄滅顯示器,這樣,不會(huì)因?yàn)?/p>

20、對(duì)鍵盤的掃描而干擾顯示器的顯示。鍵盤掃描的延時(shí)10ms消抖,既可用專用的延時(shí)子程序?qū)崿F(xiàn),也可用采用RS觸發(fā)器構(gòu)成的硬件電路來實(shí)現(xiàn)。本設(shè)計(jì)中,采用的鍵盤消抖方法是常用的軟件延時(shí)方法,在鍵盤輸入的掃描過程中嵌入一段程序段,則能方便的實(shí)現(xiàn)鍵盤輸出的消抖功能。 第三章 系統(tǒng)硬件設(shè)計(jì)3.1 硬件模塊設(shè)計(jì)一個(gè)單片機(jī)應(yīng)用系統(tǒng)的硬件電路設(shè)計(jì)包含兩部分內(nèi)容:一是系統(tǒng)擴(kuò)展,即單片機(jī)內(nèi)部的功能單元,如ROM、RAM、I/O、定時(shí)器/計(jì)數(shù)器、中斷系統(tǒng)等不能滿足應(yīng)用系統(tǒng)的要求時(shí),必須在片外進(jìn)行擴(kuò)展,選擇適當(dāng)?shù)男酒?,設(shè)計(jì)相應(yīng)的電路。二是系統(tǒng)的配置,即按照系統(tǒng)功能要求配置外圍設(shè)備,如鍵盤、顯示器、打印機(jī)、A/D、D/A轉(zhuǎn)換

21、器等,根據(jù)本次設(shè)計(jì)要求,做出一下設(shè)計(jì)。3.1.1 數(shù)字量輸入輸出模塊設(shè)計(jì)可編程的接口芯片是指其功能可由微處理機(jī)的指令來加以改變的接口芯片,利用編程的方法,可以使一個(gè)接口芯片執(zhí)行不同的接口功能。MCS-51單片機(jī)常用的兩種接口芯片是8255以及8155,本設(shè)計(jì)主要用8255來擴(kuò)展I/O端口。8255和MCS-51相連,可以為外設(shè)提供3個(gè)8位的I/O端口,A口、B口和C口,三個(gè)端口的功能完全由編程來決定。8255和單片機(jī)的接口需要一個(gè)8位的地址鎖存器即可。鎖存器用來鎖存P0口輸出的低8位地址信息。通過Q6、Q7及讀寫信號(hào)對(duì)8255A的A口、B口和C口進(jìn)行選通控制,圖3.1為8255A的接口原理圖。

22、 圖3.1 8255的接口電路原理圖在圖3.1中,8255的8根數(shù)據(jù)線D0D7直接和P0口一一對(duì)應(yīng)相連。復(fù)位線RESET與89C52的復(fù)位端相連,都接到89C52的復(fù)位電路上(在圖中未畫出)。8255的和與89C52的和相連。A,A控制信號(hào)分別由89C52的P0.7、P0.6經(jīng)地址鎖存器74LS373后提供,對(duì)A口、B口、C口進(jìn)行選擇。當(dāng)然的接法不是唯一的。當(dāng)系統(tǒng)要同時(shí)擴(kuò)展外部RAM時(shí),就要和RAM芯片的片選端一起經(jīng)地址譯碼電路來獲得,以免發(fā)生地址沖突。根據(jù)上述接法,8255的A、B、C以及控制口的地址分別為0000H、0040H、0080H和00C0H(假設(shè)無關(guān)位都取0)。根據(jù)設(shè)計(jì)需要連接的

23、外部設(shè)備。本設(shè)計(jì)中A口作為鍵盤擴(kuò)展接口,列輸出由PAPA口提供,行輸入由PAPA口提供,B口作為L(zhǎng)CD液晶顯示器的接口, B口作輸出口。C口未用。3.1.2 顯示接口電路的設(shè)計(jì)在單片機(jī)系統(tǒng)中,液晶顯示是單片機(jī)系統(tǒng)中反映輸出和輸入的有效操縱。本課題選擇了較為常用的點(diǎn)陣圖形液晶模塊,從而使設(shè)計(jì)更具備廣泛性。系統(tǒng)使用的液晶顯示模塊為香港精電公司(VARITRONIX)點(diǎn)陣圖形式液晶顯示模塊,型號(hào)為MGLS-12032A,是內(nèi)置SED1520控制驅(qū)動(dòng)器的圖形液晶顯示模塊,點(diǎn)陣數(shù)為120×32,點(diǎn)大小0.6×0.425mm,模塊尺寸75.0×54.0mm,視頻尺寸60

24、15;26.5mm,如圖附錄4所示。1 MGLS-12032A液晶模塊的特性:MGLS-12032A液晶模塊是由兩片SED1520驅(qū)動(dòng)的,兩個(gè)SED1520都只用了其中的60個(gè)列驅(qū)動(dòng)口(SEG0SEG59)。分別驅(qū)動(dòng)液晶顯示器的左右半屏。其內(nèi)部邏輯電路如圖3.2所示。2 液晶模塊接口的設(shè)計(jì):由于單片機(jī)通用并行接口有限,只能利用其他輸入輸出接口芯片來實(shí)現(xiàn)連接,因此本課題選擇了并行接口的擴(kuò)展芯片8255A的PB口作為液晶顯示器的接口,接口電路如圖3.3所示,將液晶模塊的數(shù)據(jù)總線與8255A的PB口直接相連,液晶模塊的片選控制引腳與高8位地址總線P2.2、P2.3、P2.4、P2.5相連,這樣對(duì)液晶

25、模塊的各種指令操作,實(shí)際上就是與相應(yīng)的控制地址交換數(shù)據(jù)。MGLS-12032A液晶模塊的接口端共16個(gè)管腳,各管腳的具體說明見表3.1所示。LCD MGLS-12032ASED1520(1)SED1520(2) VCCGNDV0E1E2RSR/WDB0DB7 圖3.2 SED1520顯示RAM結(jié)構(gòu)圖 按照?qǐng)D3.3的連接方式,當(dāng)要顯示接收到的數(shù)據(jù)時(shí),首先單片機(jī)對(duì)8255A的控制口A,A寫入控制字01,選中PB口作為數(shù)據(jù)輸出端口,同時(shí)單片機(jī)的高8位地址線P2.2、P2.3、P2.4、P2.5對(duì)液晶顯示模塊輸入控制指令。當(dāng)P2.2=A0=1選擇指令通道,P2.3=R/W=0選通寫操作。由于LCD并沒

26、有獨(dú)立的片選信號(hào),所以使用單片機(jī)的讀寫信號(hào)進(jìn)行選通,而74LS00、74LS04則是轉(zhuǎn)換讀寫信號(hào)的電平,同時(shí)作為片選信號(hào),E1=1選擇驅(qū)動(dòng)器1,E2=1時(shí)選擇驅(qū)動(dòng)器2。相反當(dāng)P2.2= A=0、P2.3=R/W=1時(shí)液晶顯示器就對(duì)數(shù)據(jù)或結(jié)果進(jìn)行輸出顯示。液晶模塊的各基本指令操作對(duì)應(yīng)的控制地址如表3.2所示。表3.1 MGLS-12032A液晶模塊接口的定義序號(hào)管腳符號(hào)管腳名稱說明1GND邏輯電源地2Vcc邏輯電源+5V3V0工作負(fù)電壓提供對(duì)比度調(diào)節(jié)負(fù)電壓4A0數(shù)據(jù)/指令通道選擇A0=0選擇數(shù)據(jù)通道A0=1選擇指令通道5R/W讀/寫選擇信號(hào)R/W=0寫操作;R/W=1讀操作6E1控制器1的讀寫使

27、能E1=0禁用;E1=1允許使用7E2控制器2的讀寫使能E2=0禁用;E2=1允許使用8NC空916DB0DB7三態(tài)數(shù)據(jù)總線圖3.3 液晶模塊和8255A的接口電路表3.2 液晶模塊控制地址的定義操作E1地址E2地址寫指令代碼1440H2440H讀狀態(tài)字1C40H2C40H寫顯示數(shù)據(jù)1040H2040H讀顯示數(shù)據(jù)1840H2840H要對(duì)液晶模塊進(jìn)行控制,需要3個(gè)最基本的控制操作:分別向兩個(gè)SED1520控制器寫指令代碼、寫顯示數(shù)據(jù)和讀顯示數(shù)據(jù),完成這三項(xiàng)操作的前提條件是相應(yīng)SED1520處與準(zhǔn)備好的狀態(tài),當(dāng)SED1520處于忙得狀態(tài)時(shí),除了讀狀態(tài)字指令外,其他指令均不起作用,因此在訪問SED1

28、520前,都要先去讀控制字當(dāng)前狀態(tài),判斷是否準(zhǔn)備好。3 液晶顯示的字符輸出:由于單片機(jī)內(nèi)部ROM容量的限制,使用西文字符庫(kù)進(jìn)行顯示,每個(gè)字符大小為6×8點(diǎn)陣,以二維數(shù)組的格式存放在ROM中,二維數(shù)組的一行表示一個(gè)字符,行號(hào)即為字符的代碼,計(jì)算公式:字符代碼=ASC碼-30H;二維數(shù)組的每個(gè)元素對(duì)應(yīng)各字符的每列中8點(diǎn)狀態(tài)得列數(shù)據(jù)。像液晶模塊輸出1個(gè)字符的過程就是,有液晶屏顯示區(qū)的制定字符的指定列開始,連續(xù)輸出該字符對(duì)應(yīng)的字符庫(kù)中的6個(gè)列數(shù)據(jù)。MGLS-12032A液晶模塊中液晶屏顯示區(qū)為120×32點(diǎn)陣,每8個(gè)像素行組成1頁(yè)(字符行),整個(gè)顯示區(qū)共分為4頁(yè);顯示區(qū)的左半?yún)^(qū)受E

29、1控制器的60個(gè)列驅(qū)動(dòng)器控制,右半?yún)^(qū)受E2控制器的60個(gè)列驅(qū)動(dòng)器控制。4 液晶顯示的漢字輸出:ASCII碼只對(duì)英文字母、數(shù)字和標(biāo)點(diǎn)符號(hào)進(jìn)行了編碼。為了用計(jì)算機(jī)處理漢字,同樣也需要對(duì)漢字進(jìn)行編碼。漢字編碼主要分為四大類:漢字輸入碼、漢字交換碼、漢字內(nèi)碼和漢字字形碼。這幾種編碼的關(guān)系如圖3.4所示。漢字輸入碼(外碼)漢字交換碼(國(guó)標(biāo)碼)漢字內(nèi)碼(機(jī)內(nèi)碼)漢字字形碼(輸出碼) 圖3.4 編碼關(guān)系圖 漢字的外部碼即輸人碼,是輸人漢字的一組鍵盤符號(hào)。交換碼即為國(guó)標(biāo)碼,國(guó)標(biāo)碼規(guī)定,每個(gè)漢字用兩個(gè)字節(jié)表示,每個(gè)字節(jié)僅用低7位,最高位為0。漢字的內(nèi)碼和國(guó)標(biāo)碼有一對(duì)應(yīng)關(guān)系,即將高位加l,國(guó)標(biāo)碼就變?yōu)閮?nèi)

30、碼。字形碼又稱輸出碼,可通過編程使有筆畫處的點(diǎn)為1,無筆畫處的點(diǎn)為0。這樣,漢字的點(diǎn)陣可以對(duì)應(yīng)若干字節(jié)長(zhǎng)的字形碼。由于一個(gè)SED1520顯示控制器能控制80×16點(diǎn)陣液晶的顯示,其顯示RAM共16行,分2頁(yè),每頁(yè)8行。連續(xù)16列相鄰2頁(yè)的32字節(jié)顯示RAM就可以控制一個(gè)漢字的顯示區(qū)域。對(duì)這些顯示RAM賦以相應(yīng)值就可以顯示出一個(gè)漢字。可知MGLS12032A液晶顯示器一次可顯示兩排14個(gè)漢字。在液晶顯示器上要顯示“單片機(jī)測(cè)試系統(tǒng)設(shè)計(jì)”首先在鍵盤上輸入漢字的外部碼即十進(jìn)制的區(qū)位碼,如“單”為2105,第一字節(jié)為區(qū)號(hào)值,第二字節(jié)為位號(hào)值,及21為區(qū)號(hào),05為位號(hào),通過鍵盤輸入。第二步轉(zhuǎn)換成

31、漢字交換碼及國(guó)標(biāo)碼GB2312碼,即在區(qū)號(hào)值和位號(hào)值上分別加上32,轉(zhuǎn)換后高位為0x35H,低位為0x25H,編碼為3525H。再轉(zhuǎn)變成GB2312的通行編碼,即在原始編碼3525H高低位上分別再加128,最后為B5A5H。第三步再轉(zhuǎn)換成漢字內(nèi)碼,通過編程來實(shí)現(xiàn),即兩個(gè)字節(jié)的高位由“0”變“1”。第四步是模塊顯示,通過編程在RAM區(qū)有筆畫處點(diǎn)為1,無筆畫處為0,漢字“單”就在液晶模塊上顯示出來。依次類推,單片機(jī)測(cè)試系統(tǒng)設(shè)計(jì)分別輸入:2105、3812、2790、1866、4252、4721、4519、4172、2838,在GB2312編碼表上對(duì)應(yīng)的編碼“B5A5、C6AC、BBFA、B2E2、

32、CAD4、CFB5、CDB3、C9E8、BCC6。3.1.3 鍵盤接口電路的設(shè)計(jì)在單片機(jī)測(cè)試系統(tǒng)中,數(shù)據(jù)和控制信號(hào)的輸入主要使用鍵盤。鍵盤接口,尤其是鍵入信號(hào)的軟件處理方法是影響系統(tǒng)使用和操作性能的主要因素。鍵盤接口及其軟件的任務(wù)主要包括檢查并判斷是否有健按下,按鍵開關(guān)的延時(shí)消抖,計(jì)算并確定按鍵的鍵值,程序根據(jù)鍵值進(jìn)行一系列的動(dòng)作處理和執(zhí)行。本設(shè)計(jì)選擇非編碼式行列鍵盤作為系統(tǒng)的輸入裝置。鍵盤布局圖如圖3.5所示。147*23M156M289M30#M4圖3.5 鍵盤布局圖1 鍵盤結(jié)構(gòu)設(shè)計(jì):行列式鍵盤中的鍵實(shí)際上就是一個(gè)機(jī)械開關(guān),位于行線和列線的交點(diǎn)處,圖3.6所示為本課題中使用的4行×

33、;4列的16鍵行列式鍵盤,當(dāng)鍵被按下時(shí),其交點(diǎn)的行線和列線接通,使相應(yīng)行線或列線上的電平發(fā)生變化,根據(jù)電平變化情況確定被按下的鍵。 圖3.6 4×4行列式鍵盤示意圖2 鍵盤工作方式選擇:為提高CPU工作效率,本課題采用了中斷掃描工作方式。其工作過程如下:當(dāng)無鍵按下時(shí),CPU處理自己的工作,當(dāng)有鍵按下時(shí),產(chǎn)生中斷請(qǐng)求,CPU轉(zhuǎn)去執(zhí)行鍵盤掃描子程序,并識(shí)別鍵號(hào)。圖3.6是鍵盤接口電路,該鍵盤是由8255 PA口的高、低字節(jié)構(gòu)成的4×4鍵盤。鍵盤的列線與PA口的高4位相連,鍵盤的行線與PA口的低4位相連,因此,PAPA是鍵輸出線,PAPA是掃描輸入線。圖中的4輸入與門用于產(chǎn)生按鍵

34、中斷,其輸入端與各列線相連,再通過上拉電阻接至+5 V電源,輸出端接至89C52的外部中斷輸入端。 具體工作如下:當(dāng)鍵盤無鍵按下時(shí),與門各輸入端均為高電平,保持輸出端為高電平;當(dāng)有鍵按下時(shí),輸出端為低電平,向CPU申請(qǐng)中斷,若CPU開放外部中斷,則會(huì)響應(yīng)中斷請(qǐng)求,轉(zhuǎn)去執(zhí)行鍵盤掃描子程序。鍵盤接口原理如圖3.7所示。 圖3.7 4×4行列式鍵盤原理圖3 鍵值識(shí)別處理: 鍵盤上有很多鍵,每一個(gè)鍵對(duì)應(yīng)一個(gè)鍵碼,以便根據(jù)鍵碼轉(zhuǎn)到相應(yīng)的鍵處理子程序,進(jìn)一步實(shí)現(xiàn)數(shù)據(jù)輸入和命令處理的功能。鍵盤識(shí)別的具體方法如下。判斷是否有鍵按下。設(shè)置行線輸出方式,列線輸入方式;向所有行線輸出低電平;讀取PA口狀態(tài)

35、,并從PA口狀態(tài)中分離出列線狀態(tài);若列線狀態(tài)皆為高電平,則無鍵按下,若有低電平狀態(tài),則有鍵按下;當(dāng)有鍵按下時(shí),保留此時(shí)的列線狀態(tài)。按鍵本身是機(jī)械開關(guān),在觸點(diǎn)閉合或斷開的瞬間會(huì)出現(xiàn)電壓抖動(dòng)的現(xiàn)象,必須去除抖動(dòng)的影響,才能正確識(shí)別被按下的鍵。為簡(jiǎn)單起見,使用軟件方法消抖,延時(shí)10ms,讀取所有行線輸出低電平情況下的列線狀態(tài),若兩次烈線狀態(tài)相同,說明信號(hào)穩(wěn)定,可以繼續(xù)確定按鍵的物理位置。確定物理位置得到鍵碼。將改變列線和行線的工作方式,由列線輸出,行線輸入。列線輸出前次讀取的列線狀態(tài),由行線讀取相應(yīng)的行線狀態(tài)。閉合鍵對(duì)應(yīng)的行線和列線的狀態(tài)均為低電平,其他鍵均為高電平狀態(tài)。將此行線和列線狀態(tài)組合即可得

36、到該閉合鍵對(duì)應(yīng)的鍵碼。 表3.3 按鍵功能及鍵碼鍵號(hào)功能鍵碼010EEH120EDH230EBH3M10E7H440DEH550DDH660DBH7M20D7H870BEH98OBDH1090BBH11M30B7H12*7EH1307DH14#7BH15M477H等待鍵釋放。得到閉合鍵對(duì)應(yīng)的鍵碼以后,繼續(xù)延時(shí)并判斷按鍵狀態(tài),直到閉合的按鍵被釋放,再跟據(jù)鍵碼轉(zhuǎn)到響應(yīng)的鍵處理子程序中。4 獲取鍵盤按鍵鍵值:采用行反轉(zhuǎn)法計(jì)算按鍵鍵值,先將行線工作在輸出方式,列線工作在輸入方式,程序使CPU通過輸出端口往各行線上全部送低電平,然后讀入列線的值。如果此時(shí)有某一個(gè)鍵被按下,則必定會(huì)使某一列線值為0。然后,

37、程序再對(duì)兩個(gè)并行端口進(jìn)行方式設(shè)置,使接行線的并行端口工作在輸入方式,而使接列線的并行端口工作在輸出方式,并且將剛才讀的列線值從所接的并行端口輸出,在讀取行線的輸入值,那么,在閉合鍵所在的行線上的值必定為0,這樣,當(dāng)一個(gè)鍵被按下時(shí),必定可以讀的一對(duì)唯一的行值和列值。比如,圖3.6中標(biāo)號(hào)為0的鍵閉合,則第一次往行線輸出全0后,讀的列值為1110,第二次從列線輸出剛才讀得的值1110后,會(huì)從行線上讀得行值1110,于是,行值和列值合起來得到一個(gè)數(shù)值11101110即0EEH,這個(gè)值對(duì)應(yīng)了鍵0,它一定是唯一的。因此,根據(jù)讀得的行值和列值為EEH便可確定按下的位鍵0。依次類推可得4×4行可列鍵

38、盤的16個(gè)鍵值分別如表3.3所示。系統(tǒng)中使用的4×4行列式鍵盤上16個(gè)按鍵的功能定義與相應(yīng)的鍵碼見表3.3所示3.1.4 定時(shí)模塊設(shè)計(jì)在單片機(jī)測(cè)試系統(tǒng)中,CPU需要每隔一定的時(shí)間就對(duì)處理對(duì)象進(jìn)行采樣,再對(duì)獲得的數(shù)據(jù)進(jìn)行處理,一般說,定時(shí)信號(hào)可以用軟件和硬件兩種方法來獲得。用軟件方法定時(shí),一般都是跟據(jù)所需要的時(shí)間來設(shè)計(jì)一個(gè)延時(shí)子程序,這種方法的優(yōu)點(diǎn)是節(jié)省硬件,缺點(diǎn)是在執(zhí)行延時(shí)程序期間CPU一直被占用,降低了CPU的效率。用硬件方法定時(shí),就要用到定時(shí)/計(jì)數(shù)器,在簡(jiǎn)單的軟件控制下產(chǎn)生準(zhǔn)確的時(shí)間延遲。這種方法的主要思想是根據(jù)需要的定時(shí)時(shí)間,用指令對(duì)計(jì)數(shù)器/定時(shí)器設(shè)置定時(shí)常數(shù),并用指令啟動(dòng)計(jì)數(shù)

39、器/定時(shí)器,在計(jì)數(shù)器/定時(shí)器開始工作以后,CPU不必去管它,而可以去做別的工作,這種方法的突出優(yōu)點(diǎn)是計(jì)數(shù)時(shí)不占用CPU,并且,如果利用計(jì)數(shù)器/定時(shí)器產(chǎn)生中斷信號(hào),就可以建立多作業(yè)的環(huán)境,所以,可以大大的提高CPU的利用率。通過上述的比較可得,在提高CPU利用率的基礎(chǔ)上,本文選擇了硬件方法定時(shí),選用計(jì)數(shù)器/定時(shí)器8254。8254芯片內(nèi)部具有三個(gè)獨(dú)立的16位定時(shí)/計(jì)數(shù)器,它可用程序設(shè)置成多種工作方式,按十進(jìn)制計(jì)數(shù)或二進(jìn)制計(jì)數(shù),最高計(jì)數(shù)速率可達(dá)10MHz。8254 能用于多種應(yīng)用場(chǎng)合,例如外部事件計(jì)數(shù)器、可編程方波頻率發(fā)生器、分頻器、實(shí)時(shí)時(shí)鐘以及程控單脈沖發(fā)生器等。8254的全部功能是由CPU編程

40、設(shè)定的。CPU通過輸出指令給8254裝入控制字,從而設(shè)定其功能。接口原理圖如圖3.8所示。在圖3.8中8254的D0口與單片機(jī)89C52P0口相連,其功能往計(jì)數(shù)器設(shè)置計(jì)數(shù)初值;從計(jì)數(shù)器讀取計(jì)數(shù)值;往控制寄存器設(shè)置控制字。、信號(hào)分別和單片機(jī)的讀/寫信號(hào)相連,與單片機(jī)進(jìn)行讀寫操作。當(dāng)為低電平時(shí)有效,表示CPU正在對(duì)8254的一個(gè)計(jì)數(shù)器進(jìn)行讀操作。當(dāng)為低電平時(shí)有效,表示CPU正在 圖3.8 定時(shí)器接口電路原理圖對(duì)8254的一個(gè)計(jì)數(shù)器寫入計(jì)數(shù)初值或者對(duì)控制寄存器寫入控制字。A、A與89C52地址線P2.0、P2.1相連,用來對(duì)三個(gè)計(jì)數(shù)器和控制寄存器進(jìn)行尋址。規(guī)定當(dāng)A、A為00時(shí),選中計(jì)數(shù)器0;為01時(shí)

41、,選中計(jì)數(shù)器1;當(dāng)為10時(shí),選中計(jì)數(shù)器2;當(dāng)為11時(shí),無意義。8254時(shí)鐘信號(hào)由外部晶振提供,頻率為10MHZ,3個(gè)輸出端接口接9管腳的插針,作外部輸出用。8254芯片內(nèi)部具有三個(gè)獨(dú)立的16位定時(shí)/計(jì)數(shù)器,它可用程序設(shè)置成多種工作方式,按十進(jìn)制計(jì)數(shù)或二進(jìn)制計(jì)數(shù),最高計(jì)數(shù)速率可達(dá)10MHz。又因?yàn)?6位的定時(shí)/計(jì)數(shù)器的最大定時(shí)時(shí)間為2=65536,所以可得計(jì)數(shù)周期T=1/10MHZ=0.1us,最大計(jì)數(shù)時(shí)間為0.1×65535=6.5535ms,所以計(jì)數(shù)器/定時(shí)器8254的定時(shí)范圍是06.5535ms。3.1.5 數(shù)據(jù)存儲(chǔ)器單元的設(shè)計(jì)在單片機(jī)最小系統(tǒng)設(shè)計(jì)中,數(shù)據(jù)存儲(chǔ)器用于存儲(chǔ)現(xiàn)場(chǎng)采集的

42、原始數(shù)據(jù),運(yùn)算結(jié)果等。電擦除可編程只讀存儲(chǔ)器EEPROM是一種可用電氣方法在線擦除和再編程的只讀存儲(chǔ)器,它既有RAM可讀可改寫的特性,又具有非易失性存儲(chǔ)器ROM在掉電后仍能保持所存儲(chǔ)數(shù)據(jù)的優(yōu)點(diǎn)。因此EEPROM在單片機(jī)存儲(chǔ)器擴(kuò)展中,可以用作程序存儲(chǔ)器,也可以用作數(shù)據(jù)存儲(chǔ)器,至于具體做什么使用,由硬件電路確定。本設(shè)計(jì)采用8K的EEPROM2864A作為外部數(shù)據(jù)存儲(chǔ)器。 選用2864A芯片來完成擴(kuò)展8KB EEPROM,2864A的封裝是DIP28,采用單一+5V供電,最大工作電流為150mA,維持電流為55mA,讀出時(shí)間最大為250ns。片內(nèi)設(shè)有編程所需的高壓脈沖產(chǎn)生電路,無需外加編程電源和寫入

43、脈沖即可工作。2864A在寫入一個(gè)字節(jié)的指令碼或數(shù)據(jù)之前,自動(dòng)地對(duì)所要寫入的單元進(jìn)行擦除,因而無需進(jìn)行專門的字節(jié) / 芯片擦除操作。2864A的讀操作與普通EPROM的讀出相同,所不同的只是可以在線進(jìn)行字節(jié)的寫入。2864A的寫入過程如下:CPU向2864A發(fā)出字節(jié)寫入命令后,2864A便鎖存地址、數(shù)據(jù)及控制信號(hào),從而啟動(dòng)一次寫操作。2864A的寫入時(shí)間大約為16ms左右,在此期間,2864A的RDY/腳呈低電平,表示2864A正在進(jìn)行寫操作,此時(shí)它的數(shù)據(jù)總線呈高阻狀態(tài),因而允許CPU在此期間執(zhí)行其它的任務(wù)。當(dāng)一次字節(jié)寫入操作完畢,2864A便將RDY/線置高來通知CPU。電路原理圖如圖3.9

44、所示。 圖3.9 擴(kuò)展2864A EEPROM電路原理圖圖3.9中,2864A的8位數(shù)據(jù)線D0-D7直接與單片機(jī)的P0口相連。13條地址線(AA,容量為8K ×8位,213=8×1024=8K),低8位AA通過鎖存器74LS373與P0口連接,高5位AA直接與P2口的P2.0P2.4連接。片選端CE與高位地址線P2.7連接,P2.7=0時(shí)才選中2864, 89C52的程序存儲(chǔ)讀選通信號(hào)和數(shù)據(jù)存儲(chǔ)器讀信號(hào)經(jīng)過“與” 操作后與2864A的讀允許信號(hào)相連。這樣,只要、中有一個(gè)有效,就可以對(duì)2864A進(jìn)行讀操作了。與89C52的數(shù)據(jù)存儲(chǔ)器寫信號(hào)相連的WE信號(hào),只要執(zhí)行數(shù)據(jù)存儲(chǔ)器寫操

45、作指令時(shí),就可以往2864A中寫入數(shù)據(jù)。單片機(jī)中用于控制存儲(chǔ)器的管腳有以下3個(gè):控制程序存儲(chǔ)器的讀操作,執(zhí)行指令的取指階段和執(zhí)行MOVC A,A+DPTR指令時(shí)有效;控制數(shù)據(jù)存儲(chǔ)器的讀操作,執(zhí)行MOVX DPTR,A和MOVX Ri,A時(shí)有效;控制數(shù)據(jù)存儲(chǔ)器的寫操作,執(zhí)行MOVX A,DPTR和MOVX A,Ri時(shí)有效。單片機(jī)與2864A的控制線連接方法采用了將外部數(shù)據(jù)存儲(chǔ)器空間和程序存儲(chǔ)器空間合并的方法,使得2864A既可以作為程序存儲(chǔ)器使用,又可以作為數(shù)據(jù)存儲(chǔ)器使用。所以可得2864A的地址范圍是0000H1FFFH(無關(guān)的管腳取0,該地址范圍不是唯一的)。3.1.6 模數(shù)轉(zhuǎn)換單元設(shè)計(jì)D/

46、A轉(zhuǎn)換器可以直接從89C52輸入數(shù)字量,并轉(zhuǎn)換成模擬量而推動(dòng)執(zhí)行機(jī)構(gòu)動(dòng)作,以控制被控實(shí)體的工作過程。按照輸入數(shù)字量位數(shù),DAC??煞譃?位、10位、12位三種。為了提高DAC的分辨率,本課題采用12位的DAC1208作為單片機(jī)的接口電路來進(jìn)行數(shù)模的轉(zhuǎn)換。主要功能:輸入的數(shù)字量為12位;采用CMOS工藝,所有引腳的邏輯電平與TTL兼容;數(shù)字的輸入可采用雙緩沖,單緩沖或直通方式;轉(zhuǎn)換精度為0.012;分辨率為12位;單一電源5V15V,功耗20mV;參考電壓+10V-10V。89C52和DAC1208的電路原理圖如圖3.10所示。因?yàn)镈AC1208芯片本身不帶數(shù)據(jù)鎖存器,而CPU向D/A芯片輸出一

47、個(gè)數(shù)據(jù)只在DB上持續(xù)很短時(shí)間,所以必須用外部芯片74LS373作為D/A轉(zhuǎn)換的數(shù)據(jù)鎖存器。單片機(jī)的8位數(shù)據(jù)線與DAC1208的12位數(shù)據(jù)線相連,當(dāng)89C52選中DAC1208時(shí),89C52給DAC1208送12位輸入數(shù)字量時(shí),但必須先送高8位,再送低4位。則否,結(jié)果就不會(huì)正確。與單片機(jī)A0相連的BYTE/線,來區(qū)分4位還是8位輸入寄存器。在和都為低電平時(shí),BYTE/為“0”時(shí),選中4位輸入寄 圖3.10 DAC1208的接口電路原理圖存器,BYTE/為“1”時(shí),選中8位和4位輸入寄存器工作。與單片機(jī)寫信號(hào)相連的、控制線,當(dāng)89C52要往D/A轉(zhuǎn)換器中輸入數(shù)據(jù)時(shí),、同時(shí)變?yōu)橛行盘?hào)低電平。由圖3

48、.10可見,由于和相連的譯碼器輸出線為: Q Q Q QQ Q Q=1 1 1 1 1 1 1 B,而XFER的譯碼輸出線為:Q Q Q QQ Q Q=1 1 1 1 1 1 0 B, BYTE/和89C52地址線中A0(即Q0)相連,因此,DAC1208 內(nèi)部三個(gè)I/O端口就占用了四個(gè)I/O端口地址。其中,“4位輸入寄存器”端口地址為FEH,“8位輸入寄存器”地址為FFH,12位DAC寄存器地址為FCH或FDH。DAC1208是以雙緩沖方式工作的,89C52首先送高8位和后送低4位原則,分兩批把12位數(shù)字量送到輸入寄存器,然后通過FCH或FDH端口使12位DAC寄存器同時(shí)從輸入寄存器接受數(shù)字

49、量,進(jìn)行D/A轉(zhuǎn)換。因此,V端不會(huì)出現(xiàn)“毛刺”。相反,如果讓DAC1208工作在單緩沖方式,那么V輸出必然會(huì)在89C52兩次送數(shù)字間產(chǎn)生電壓突變而形成“毛刺”。3.2 相關(guān)芯片的介紹3.2.1 AT89C52芯片的介紹AT89C52是一個(gè)低電壓,高性能CMOS 8位單片機(jī),片內(nèi)含8Kbytes的可反復(fù)擦寫的只讀程序存儲(chǔ)器(EPROM)和256bytes的隨機(jī)存取數(shù)據(jù)存儲(chǔ)器(RAM),器件采用ATMEL公司的高密度,非易失性存儲(chǔ)技術(shù)生產(chǎn),兼容標(biāo)準(zhǔn)MCS-51指令系統(tǒng),片內(nèi)置通用8位中央處理器和Flash存儲(chǔ)單元,功能強(qiáng)大的AT89C52單片機(jī)可為你提供許多較復(fù)雜系統(tǒng)控制應(yīng)用場(chǎng)合。AT89C52有

50、40個(gè)管腳,32個(gè)外部雙向輸入輸出(I/O)端口,同時(shí)內(nèi)含2個(gè)外中斷口,3個(gè)16位可編程定時(shí)計(jì)數(shù)器,2個(gè)全雙工串行通信口,2個(gè)讀寫口線,AT89C52可以按照常規(guī)方法進(jìn)行編程,也可以在線編程。其將通用的微處理器和Flash存儲(chǔ)器結(jié)合在一起,特別是可反復(fù)擦寫的Flash存儲(chǔ)器可有效地降低開發(fā)成本。表3.4 AT89C52主要功能特性表主要功能特性:l 兼容MCS51指令系統(tǒng)l 8K可反復(fù)擦寫(1000)Flash ROMl 32個(gè)雙向I/O口l 256*8bit內(nèi)部RAMl 3個(gè)16位可編程定時(shí)/計(jì)數(shù)器中斷l(xiāng) 時(shí)鐘頻率0-24MHZl 2個(gè)串行中斷l(xiāng) 可編程UART串行通信l 2個(gè)外部中斷源l

51、共6個(gè)中斷源l 2個(gè)讀寫中斷口線l 3級(jí)加密位l 低功耗空閑和掉電模式l 軟件設(shè)置睡眠和喚醒功能AT89C52提供以下標(biāo)準(zhǔn)功能,8K字節(jié)Flash閃速存儲(chǔ)器,256字節(jié)內(nèi)部RAM,32個(gè)I/O口線,3個(gè)16位定時(shí)計(jì)數(shù)器,一個(gè)向量?jī)蓸O中斷結(jié)構(gòu),一個(gè)雙工串行通信口,片內(nèi)振蕩器即時(shí)鐘電路,同時(shí),AT89C52可降至0HZ的靜態(tài)邏輯操作,并支持兩種軟件可選的節(jié)點(diǎn)工作模式,空閑方式停止CPU的工作,但允許RAM,定時(shí)計(jì)數(shù)器,串行通信口及中斷系統(tǒng)繼續(xù)工作,掉電方式保存RAM中的內(nèi)容,但振蕩器停止工作并禁止其他所有部件工作知道下一個(gè)硬件復(fù)位。主要功能特性如表3.4所示。3.2.2 并行接口芯片8255A82

52、55A是并行接口芯片,它具有3個(gè)八位數(shù)據(jù)接口,分別是PA口、PB口、PC口,其中PC口有可分為高四位和低四位口;可以通過軟件編程來設(shè)置芯片I/O的工作方式,所以用連接外部設(shè)備時(shí),通常不需要再附加外部電路,給使用帶來很大的方便。8255A尋址方式及相應(yīng)操作表如表3.5所示。表3.5 8255A尋址方式及相應(yīng)操作表A0A1操作00001讀端口A(獲得數(shù)據(jù))01001讀端口B(獲得數(shù)據(jù))10001讀端口C(獲得數(shù)據(jù)或狀態(tài))00010寫端口A(寫入數(shù)據(jù))01010寫端口B(寫入數(shù)據(jù))10010寫端口C(寫入數(shù)據(jù))11010寫控制端口(寫入控制字)××1××數(shù)據(jù)總線高阻××011數(shù)據(jù)總線高阻11001非法操作8255A的方式

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝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ù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 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ì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論