基于單片機(jī)控制的液晶顯示萬(wàn)年歷設(shè)計(jì)_第1頁(yè)
基于單片機(jī)控制的液晶顯示萬(wàn)年歷設(shè)計(jì)_第2頁(yè)
基于單片機(jī)控制的液晶顯示萬(wàn)年歷設(shè)計(jì)_第3頁(yè)
基于單片機(jī)控制的液晶顯示萬(wàn)年歷設(shè)計(jì)_第4頁(yè)
基于單片機(jī)控制的液晶顯示萬(wàn)年歷設(shè)計(jì)_第5頁(yè)
已閱讀5頁(yè),還剩37頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、. . 山東農(nóng)業(yè)大學(xué)畢 業(yè) 論 文題目:基于單片機(jī)控制的液晶顯示萬(wàn)年歷設(shè)計(jì) 院 部 信息科學(xué)與工程學(xué)院 專(zhuān)業(yè)班級(jí) 電子信息科學(xué)與技術(shù)3班 屆 次 2012 屆 學(xué)生姓名 學(xué) 號(hào) 指導(dǎo)教師 二o一二 年 六 月 十五 日裝訂線(xiàn). . . 目 錄1緒論11.1課題研究的背景11.2文章結(jié)構(gòu)介紹12 單片機(jī)及液晶的簡(jiǎn)單介紹22.1 單片機(jī)的簡(jiǎn)介22.1.1 單片機(jī)的含義22.1.2 單片機(jī)的發(fā)展過(guò)程22.2 液晶的簡(jiǎn)介32.2.1 液晶的含義及用途32.2.2 液晶顯示技術(shù)的發(fā)展43 單片機(jī)系統(tǒng)的硬件設(shè)計(jì)53.1單片機(jī)系統(tǒng)的原理框圖53.2單片機(jī)系統(tǒng)的模塊說(shuō)明及電路圖53.3 單片機(jī)系統(tǒng)的整體電路設(shè)

2、計(jì)73.4 單片機(jī)系統(tǒng)的各器件使用說(shuō)明73.4.1 at89c51單片機(jī)的簡(jiǎn)要說(shuō)明73.4.2 ds18b20的簡(jiǎn)要說(shuō)明133.4.3 ds1302的介紹173.4.4 12864液晶的介紹214 單片機(jī)系統(tǒng)的軟件設(shè)計(jì)264.1單片機(jī)系統(tǒng)的程序框圖及代碼264.1.1 單片機(jī)控制模塊的軟件設(shè)計(jì)264.1.2 按鍵模塊的軟件設(shè)計(jì)274.1.3 溫度檢測(cè)模塊的軟件設(shè)計(jì)294.1.4時(shí)鐘模塊的軟件設(shè)計(jì)294.1.5 液晶顯示模塊的軟件設(shè)計(jì)304.2單片機(jī)系統(tǒng)的實(shí)現(xiàn)情況325 總結(jié)34參考文獻(xiàn)35致謝36contents1foreword11.1 research background11.2 int

3、roduction of essays structure12 the simple introduction of the mcu and lcd22.1 mcu introduction22.1.1 the meaning of the mcu22.1.2 mcu development process22.2 lcd introduction32.2.1 the meaning and usage of the lcd32.2.2 the development of lcd technology43 the hardware design of mcu system53.1 the b

4、lock diagram of mcu system53.2 mcu module description and schematic circuit diagram53.3 the whole circuit design of the mcu system73.4 the instructions of mcu systems devices73.4.1 a brief description of the at89c51 mcu73.4.2 a brief description of the ds18b20133.4.3 ds1302 introduction173.4.4 the i

5、ntroduction of 12864 lcd214 software designmcu system264.1 mcu systems block diagrams and codes264.1.1 mcu control module software design264.1.2 key module software design274.1.3 software design of the temperature detection module294.1.4 software design of the clock module294.1.5 software design of

6、the lcd module304.2 the realization of the mcu system325 summary34references35acknowledgements36基于單片機(jī)控制的液晶顯示萬(wàn)年歷設(shè)計(jì)2008級(jí)電子信息科學(xué)與技術(shù)03班指導(dǎo)老師 【摘要】相比于通用式計(jì)算機(jī),單片機(jī)憑借其低成本、低功耗、可靠性高、控制性強(qiáng)等多種優(yōu)點(diǎn),已經(jīng)廣泛滲透到我們生活的各個(gè)領(lǐng)域。液晶顯示器具有驅(qū)動(dòng)電壓低、功耗微小、可靠性高、顯示信息量大、成本低廉、便于攜帶等特點(diǎn),也使得其在工業(yè)控制,家庭娛樂(lè)等方面有著廣泛的應(yīng)用。本文以 at89c51 為研究對(duì)象,128x64液晶作為顯示器件,輔以ds

7、18b20、ds1302芯片,組成一個(gè)具有時(shí)間、陰歷、陽(yáng)歷、溫度顯示的單片機(jī)系統(tǒng)。并使用keil c51、protues軟件檢測(cè)系統(tǒng)各部分功能?!娟P(guān)鍵詞】單片機(jī)、128x64液晶、ds18b20、protuesliquid crystal display based on the control of single-chip microcomputerhuang qingzhan【abstract】compared with universal computers, single-chip microcomputers have been more widely infiltrated int

8、o every aspect of our lives. that is based on its advantages, such as low cost, low power consumption, high reliability, strong control and so on. liquid crystal display device having diverse features of low driving voltage, low power consumption, high reliability, great volume display information,

9、low cost, easy to carry . thats result in its universal in the fields of industrial control and home entertainment. this paper takes at89c51 as the object of study,128x64 lcd as a display, supplemented with ds18b20, ds1302 chip. the single-chip computer system design is composed of a lunar calendar,

10、 a gregorian calendar, time and temperature display. the functions of each part is test by soft wares of keil c and protues.【key words】single-chip microcomputer, 128x64 lcd, ds18b20, protues1 緒論 1.1 課題研究的背景單片機(jī)的出現(xiàn)是近代計(jì)算機(jī)技術(shù)的里程碑事件,因?yàn)樗恼Q生標(biāo)志著計(jì)算機(jī)正式形成了通用計(jì)算機(jī)系統(tǒng)和嵌入式計(jì)算機(jī)系統(tǒng)(簡(jiǎn)稱(chēng)嵌入式系統(tǒng))兩大分支。單片機(jī)單芯片的微小體積和極低的成本,可廣泛的嵌入到如

11、玩具、家用電器、機(jī)器人、儀器儀表、汽車(chē)電子系統(tǒng)、工業(yè)控制單元、辦公自動(dòng)化設(shè)備、金融電子系統(tǒng)、艦船、個(gè)人信息終端及通信產(chǎn)品中,成為現(xiàn)代電子系統(tǒng)中最重要的智能化工具。單片機(jī)作為最典型的嵌入式系統(tǒng),他的成功應(yīng)用推動(dòng)了嵌入式系統(tǒng)的發(fā)展。20年來(lái),單片機(jī)經(jīng)歷了從單片微型計(jì)算機(jī)(single chip microcomputer)到微控制器(microcontroller unit,mcu)到片上系統(tǒng)(system on chip)的發(fā)展,推動(dòng)了嵌入式處理器的發(fā)展。目前,各種類(lèi)型的嵌入式處理器逐漸形成了微控制器或片上系統(tǒng)的嵌入式應(yīng)用系統(tǒng)的基礎(chǔ)內(nèi)核,演化出龐大的嵌入式系統(tǒng)家族。目前,單片機(jī)已成為電子系統(tǒng)智能

12、化的最普遍的應(yīng)用手段,滲透到我們生活的各個(gè)領(lǐng)域,幾乎很難找到哪個(gè)領(lǐng)域沒(méi)有單片機(jī)的蹤跡。1.2 文章結(jié)構(gòu)介紹作為單片機(jī)系統(tǒng)的學(xué)習(xí)應(yīng)用,本文意在完成一個(gè)基于單片機(jī)控制的液晶顯示萬(wàn)年歷設(shè)計(jì)。該萬(wàn)年歷具有正常走時(shí)、調(diào)時(shí)、陰歷陽(yáng)歷顯示、實(shí)時(shí)溫度顯示等功能。先將本文的結(jié)構(gòu)框架介紹如下:第一章,緒論部分;第二章,單片機(jī)及液晶的簡(jiǎn)單介紹;第三章,單片機(jī)系統(tǒng)的硬件設(shè)計(jì),包括系統(tǒng)電路圖、元器件的選擇等;第四章,單片機(jī)系統(tǒng)的軟件設(shè)計(jì),包括系統(tǒng)各模塊的程序流程圖、核心程序、仿真結(jié)果等;第五章,總結(jié);2 單片機(jī)及液晶的簡(jiǎn)單介紹2.1 單片機(jī)的簡(jiǎn)介2.1.1 單片機(jī)的含義隨著大規(guī)模集成電路技術(shù)的發(fā)展,可以將cpu、ram

13、、rom、定時(shí)器/計(jì)數(shù)器以及輸入/輸出(i/o)接口電路等計(jì)算機(jī)的主要部件集成在一塊集成電路芯片上。這樣組成的芯片級(jí)的微型計(jì)算機(jī)只以為“單片微型計(jì)算機(jī)(single chip microcomputer)”或“單片微機(jī)”,在我國(guó),習(xí)慣上稱(chēng)其為“單片機(jī)”。單片機(jī)雖然只是一個(gè)芯片,但是從組成和功能上看,它已經(jīng)具有了微機(jī)系統(tǒng)的含義。由于單片機(jī)從功能和形態(tài)上來(lái)說(shuō)都是作為控制領(lǐng)域應(yīng)用的要求而誕生的,并且發(fā)展到新一代80c51、m68hco5、m68hc11系列單片機(jī)時(shí),在其中著力擴(kuò)展了各種控制功能,如模/數(shù)(a/d)轉(zhuǎn)換、脈沖調(diào)制(pwm)、計(jì)數(shù)器捕獲/比較邏輯(pca)、高速i/o口和wdt等,以突破

14、了微型計(jì)算機(jī)(microcomputer)的傳統(tǒng)內(nèi)容。所以更本質(zhì)的反應(yīng)單片機(jī)的叫法應(yīng)是微控制器(microcontroller unit,mcu)。根據(jù)單片機(jī)的結(jié)構(gòu)和微電子設(shè)計(jì)的特點(diǎn),雖然應(yīng)用系統(tǒng)中往往僅以單片機(jī)為核心,但是它已完全融入應(yīng)用系統(tǒng)之中,故而也有將單片機(jī)稱(chēng)為嵌入式微控制器(embedded microcontroller)的。在我國(guó),單片機(jī)的叫法甚為普遍,這里把它認(rèn)為是一個(gè)單片形態(tài)的微控制器,因?yàn)楸疚倪€是將其稱(chēng)為單片機(jī)。2.1.2單片機(jī)的發(fā)展過(guò)程1970年微處理器研制成功以后,隨之出現(xiàn)了單片機(jī)(即單片的微型計(jì)算機(jī))。1971年美國(guó)intel公司生產(chǎn)的4位單片機(jī)4004和1972年生

15、產(chǎn)的雛形8位單片機(jī)8008,特別是1976年9月intel公司的mcs48單片機(jī)問(wèn)世以來(lái),在短短的時(shí)間年間,經(jīng)歷了四次更新?lián)Q代,其發(fā)展速度大約每二、三年要更新一代,集成度增加一倍,功能翻一番。發(fā)展速度之快,應(yīng)用范圍之廣已經(jīng)達(dá)到了驚人的地步。它已經(jīng)滲透到生產(chǎn)和生活的各個(gè)領(lǐng)域,可謂無(wú)所不在。下面列舉單片機(jī)發(fā)展過(guò)程中的一些重要事件,對(duì)單片機(jī)的發(fā)展?fàn)顩r作簡(jiǎn)要說(shuō)明。1971年intel公司研制出世界上第一個(gè)4位的微處理器;intel公司的霍夫研制成功世界上第一塊4位微處理器芯片intel 4004,標(biāo)志著第一代微處理器問(wèn)世,微處理器和微機(jī)時(shí)代從此開(kāi)始。因發(fā)明微處理器,霍夫被英國(guó)經(jīng)濟(jì)學(xué)家雜志列為“二戰(zhàn)以來(lái)

16、最有影響力的7位科學(xué)家”之一。 1971年11月,intel推出mcs-4微型計(jì)算機(jī)系統(tǒng)(包括4001 rom芯片、4002 ram芯片、4003移位寄存器芯片和4004微處理器 )其中4004(下圖)包含2300個(gè)晶體管,尺寸規(guī)格為3mm4mm,計(jì)算性能遠(yuǎn)遠(yuǎn)超過(guò)當(dāng)年的eniac,最初售價(jià)為200美元。 1972年4月,霍夫等人開(kāi)發(fā)出第一個(gè)8位微處理器intel 8008。由于8008采用的是p溝道m(xù)os微處理器,因此仍屬第一代微處理器。 1973年intel公司研制出8位的微處理器8080;1973年8月,霍夫等人研制出8位微處理器intel 8080,以n溝道m(xù)os電路取代了p溝道,第二代

17、微處理器就此誕生。 主頻2mhz的8080芯片運(yùn)算速度比8008快10倍,可存取64kb存儲(chǔ)器,使用了基于6微米技術(shù)的6000個(gè)晶體管,處理速度為0.64mips(million instructions per second )。 1975年4月,mits發(fā)布第一個(gè)通用型altair 8800,售價(jià)375美元,帶有1kb存儲(chǔ)器。這是世界上第一臺(tái)微型計(jì)算機(jī)。 1976年intel公司研制出mcs-48系列8位的單片機(jī),這也是單片機(jī)的問(wèn)世。 zilog公司于1976年開(kāi)發(fā)的z80微處理器,廣泛用于微型計(jì)算機(jī)和工業(yè)自動(dòng)控制設(shè)備。當(dāng)時(shí),zilog、motorola和intel在微處理器領(lǐng)域三足鼎立。

18、 20世紀(jì)80年代初,intel公司在mcs-48系列單片機(jī)的基礎(chǔ)上,推出了mcs-51系列8位高檔單片機(jī)。mcs-51系列單片機(jī)無(wú)論是片內(nèi)ram容量,i/o口功能,系統(tǒng)擴(kuò)展方面都有了很大的提高。2.2 液晶的簡(jiǎn)介2.2.1 液晶的含義及用途液晶,即液態(tài)晶體(liquid crystal,lc),是相態(tài)的一種,因?yàn)榫哂刑厥獾睦砘c光電特性,20世紀(jì)中葉開(kāi)始被廣泛應(yīng)用在輕薄型的顯示技術(shù)上。 人們熟悉的物質(zhì)狀態(tài)(又稱(chēng)相)為氣、液、固,較為生疏的是等離子和液晶。液晶相要具有特殊形狀分子組合始會(huì)產(chǎn)生,它們可以流動(dòng),又擁有結(jié)晶的光學(xué)性質(zhì)。液晶的定義,現(xiàn)在以放寬而囊括了在某一溫度范圍可以是現(xiàn)液晶相,在較低

19、溫度為正常結(jié)晶之物質(zhì)。而液晶的組成物質(zhì)是一種有機(jī)化合物,也就是以碳為中心所構(gòu)成的化合物。同時(shí)具有兩種物質(zhì)的液晶,是以分子間力量組合的,它們的特殊光學(xué)性質(zhì),又對(duì)電磁場(chǎng)敏感,極有實(shí)用價(jià)值。 液晶顯示材料最常見(jiàn)的用途是電子表和計(jì)算器的顯示板,為什么會(huì)顯示數(shù)字呢?原來(lái)這種液態(tài)光電顯示材料,利用液晶的電光效應(yīng)1把電信號(hào)轉(zhuǎn)換成字符、圖像等可見(jiàn)信號(hào)。液晶在正常情況下,其分子排列很有秩序,顯得清澈透明,一旦加上直流電場(chǎng)后,分子的排列被打亂,一部分液晶變得不透明,顏色加深,因而能顯示數(shù)字和圖象。2.2.2 液晶顯示技術(shù)的發(fā)展在g.freidel之后,液晶研究暫時(shí)進(jìn)入低谷,也有人說(shuō),1930-1960年期間是液晶

20、研究的空白期。究其原因,大概是由于當(dāng)時(shí)沒(méi)有發(fā)現(xiàn)液晶的實(shí)際應(yīng)用。但是,在此期間,半導(dǎo)體電子工業(yè)卻獲得了長(zhǎng)足的發(fā)展。為使液晶能在顯示器中的應(yīng)用,透明電極的圖形化以及液晶與半導(dǎo)體電路一體化的微細(xì)加工技術(shù)必不可缺。隨著半導(dǎo)體工業(yè)的進(jìn)步,這些技術(shù)已趨向成熟。 20世紀(jì)40年代,開(kāi)發(fā)出矽半導(dǎo)體,利用傳導(dǎo)電子的 n 型半導(dǎo)體和傳導(dǎo)電洞的 p 型半導(dǎo)體構(gòu)成 pn 介面(pnjunction),發(fā)明了二極管和晶體管。在此之前,在電路中為實(shí)現(xiàn)從交流到直流的整流功能,要采用二極管,而要實(shí)現(xiàn)放大功能,要采用晶體管。這些大而笨重的元件完全可以由半導(dǎo)體二極管和晶體管代替,不需要向真空中發(fā)射電子,僅在固體特別是極薄的膜層中

21、,即可實(shí)現(xiàn)整流、放大功能,從而使電子回路實(shí)現(xiàn)了小型化。 接著,藉由光加工技術(shù)實(shí)現(xiàn)了包括二極管、晶體管在內(nèi)的電子回路圖形的薄膜化、超微細(xì)化。這種技術(shù)簡(jiǎn)稱(chēng)為微影(photolithography)。20世紀(jì)60年代,隨著半導(dǎo)體集成電路(integrated circuit)技術(shù)的發(fā)展,電子設(shè)備實(shí)現(xiàn)了進(jìn)一步的小型化。 上述技術(shù)的進(jìn)步,對(duì)于在液晶顯示裝置(display)中的應(yīng)用是必不可少的,隨著材料科學(xué)和材料加工技術(shù)的進(jìn)一步發(fā)展,以及新型顯示模式和驅(qū)動(dòng)技術(shù)的開(kāi)發(fā),液晶顯示技術(shù)獲得了快速發(fā)展。 1968年,任職美國(guó)rca公司的g.h.heilmeier發(fā)表采用ds(dynamic scattering

22、,動(dòng)態(tài)散射)模式的液晶顯示裝置。在此之后,美國(guó)企業(yè)最早開(kāi)始了數(shù)字式液晶手表實(shí)用化的嘗試。3 單片機(jī)系統(tǒng)的硬件設(shè)計(jì)3.1 單片機(jī)系統(tǒng)的原理框圖ds1302時(shí)鐘芯片模塊ds18b20溫度檢測(cè)模塊按鍵輸入模塊單片機(jī)mcu128x64液晶顯示模塊圖3.1 單片機(jī)系統(tǒng)的原理框圖由上圖可以看出該單片機(jī)系統(tǒng)主要有四部分組成:按鍵輸入模塊、溫度檢測(cè)模塊、時(shí)間模塊、單片機(jī)控制模塊、12864液晶顯示模塊?,F(xiàn)在我就將各模塊的功能一一介紹給大家。3.2 單片機(jī)系統(tǒng)的模塊說(shuō)明及電路圖u 按鍵輸入模塊在本設(shè)計(jì)中,總共有三個(gè)按鍵(如圖3.1),采用獨(dú)立式連接方式,set鍵、inc鍵和dec鍵,分別對(duì)應(yīng)單片機(jī)的p2.4、p

23、2.5、p2.6端口。圖3.2 按鍵輸入連接set鍵:選擇萬(wàn)年歷分別進(jìn)入校時(shí)模式和正常走時(shí)模式。inc鍵:在萬(wàn)年歷的校時(shí)模式中,控制各選擇位進(jìn)行加一操作。dec鍵:在萬(wàn)年歷的校時(shí)模式中,控制各選擇位進(jìn)行減一操作。u 溫度檢測(cè)模塊在該模塊中,采用ds18b20溫度傳感器作為溫度采集芯片。ds18b20溫度傳感器是達(dá)拉斯公司生產(chǎn)的一種單總線(xiàn)芯片,它的測(cè)溫范圍為 55+125,固有測(cè)溫分辨率0.5,具有使用簡(jiǎn)單、工作穩(wěn)定的優(yōu)點(diǎn)。可以適用于工業(yè)生產(chǎn)、家庭應(yīng)用等場(chǎng)合。(如下圖)圖3.3 溫度檢測(cè)模塊u 時(shí)間模塊該模塊提供萬(wàn)年歷校時(shí)、走時(shí)功能,核心芯片是ds1302。ds1302時(shí)鐘芯片也是達(dá)拉斯公司生產(chǎn)

24、的一種單總線(xiàn)芯片,工作電壓為2.5v5.5v。它可以對(duì)年、月、日、周日、時(shí)、分、秒進(jìn)行計(jì)時(shí),且具有閏年補(bǔ)償?shù)榷喾N功能。廣泛應(yīng)用與電話(huà)、傳真、便攜式儀器、以及電磁供電的儀器儀表等產(chǎn)品領(lǐng)域。圖3.4 時(shí)間模塊u 單片機(jī)控制模塊由前所述,單片機(jī)由于其各種優(yōu)點(diǎn),是一種常用的控制器件。80c51單片機(jī)是第三代單片機(jī)中的典型代表,在該設(shè)計(jì)中,單片機(jī)作為控制模塊,接受來(lái)自按鍵模塊、時(shí)間模塊、溫度檢測(cè)模塊的信息,來(lái)控制液晶顯示模塊的顯示信息。圖3.5 液晶顯示模塊u 12864液晶顯示模塊12864是128*64點(diǎn)陣液晶模塊的點(diǎn)陣數(shù)簡(jiǎn)稱(chēng),業(yè)界約定俗成的簡(jiǎn)稱(chēng)。它主要由行驅(qū)動(dòng)器/列驅(qū)動(dòng)器及12864全點(diǎn)陣液晶顯示

25、器組成??赏瓿蓤D形顯示,也可以顯示84個(gè)(1616點(diǎn)陣)漢字。該點(diǎn)陣的顯示屏成本相對(duì)較低,適用于各類(lèi)儀器,小型設(shè)備的顯示領(lǐng)域。 3.3 單片機(jī)系統(tǒng)的整體電路設(shè)計(jì)如上所述該單片機(jī)系統(tǒng)由鍵盤(pán)模塊、12864顯示模塊、單片機(jī)控制模塊、ds18b20溫度檢測(cè)模塊、ds1302時(shí)鐘模塊組成。所以系統(tǒng)的電路設(shè)計(jì)也是由各模塊電路組合而成。圖3.6 單片機(jī)系統(tǒng)整體電路設(shè)計(jì)3.4單片機(jī)系統(tǒng)的各器件使用說(shuō)明3.4.1 at89c51單片機(jī)的簡(jiǎn)要說(shuō)明at89c51是一種帶4k字節(jié)閃爍可編程可擦除只讀存儲(chǔ)器(fperomfalsh programmable and erasable read only memory)

26、的低電壓,高性能cmos8位微處理器,俗稱(chēng)單片機(jī)。at89c2051是一種帶2k字節(jié)閃爍可編程可擦除只讀存儲(chǔ)器的單片機(jī)。單片機(jī)的可擦除只讀存儲(chǔ)器可以反復(fù)擦除100次。該器件采用atmel高密度非易失存儲(chǔ)器制造技術(shù)制造,與工業(yè)標(biāo)準(zhǔn)的mcs-51指令集和輸出管腳相兼容。由于將多功能8位cpu和閃爍存儲(chǔ)器組合在單個(gè)芯片中,atmel的at89c51是一種高效微控制器,at89c2051是它的一種精簡(jiǎn)版本。at89c單片機(jī)為很多嵌入式控制系統(tǒng)提供了一種靈活性高且價(jià)廉的方案。圖3.7 at89c51單片機(jī)主要特性:與mcs-51 兼容 4k字節(jié)可編程閃爍存儲(chǔ)器壽命:1000寫(xiě)/擦循環(huán)數(shù)據(jù)保留時(shí)間:10年

27、全靜態(tài)工作:0hz-24hz三級(jí)程序存儲(chǔ)器鎖定128*8位內(nèi)部ram32可編程i/o線(xiàn)兩個(gè)16位定時(shí)器/計(jì)數(shù)器5個(gè)中斷源 可編程串行通道低功耗的閑置和掉電模式片內(nèi)振蕩器和時(shí)鐘電路 l 管腳說(shuō)明:vcc:供電電壓。gnd:接地。p0口:p0口為一個(gè)8位漏級(jí)開(kāi)路雙向i/o口,每腳可吸收8ttl門(mén)電流。當(dāng)p1口的管腳第一次寫(xiě)1時(shí),被定義為高阻輸入。p0能夠用于外部程序數(shù)據(jù)存儲(chǔ)器,它可以被定義為數(shù)據(jù)/地址的第八位。在fiash編程時(shí),p0 口作為原碼輸入口,當(dāng)fiash進(jìn)行校驗(yàn)時(shí),p0輸出原碼,此時(shí)p0外部必須被拉高。p1口:p1口是一個(gè)內(nèi)部提供上拉電阻的8位雙向i/o口,p1口緩沖器能接收輸出4tt

28、l門(mén)電流。p1口管腳寫(xiě)入1后,被內(nèi)部上拉為高,可用作輸入,p1口被外部下拉為低電平時(shí),將輸出電流,這是由于內(nèi)部上拉的緣故。在flash編程和校驗(yàn)時(shí),p1口作為第八位地址接收。p2口:p2口為一個(gè)內(nèi)部上拉電阻的8位雙向i/o口,p2口緩沖器可接收,輸出4個(gè)ttl門(mén)電流,當(dāng)p2口被寫(xiě)“1”時(shí),其管腳被內(nèi)部上拉電阻拉高,且作為輸入。并因此作為輸入時(shí),p2口的管腳被外部拉低,將輸出電流。這是由于內(nèi)部上拉的緣故。p2口當(dāng)用于外部程序存儲(chǔ)器或16位地址外部數(shù)據(jù)存儲(chǔ)器進(jìn)行存取時(shí),p2口輸出地址的高八位。在給出地址“1”時(shí),它利用內(nèi)部上拉優(yōu)勢(shì),當(dāng)對(duì)外部八位地址數(shù)據(jù)存儲(chǔ)器進(jìn)行讀寫(xiě)時(shí),p2口輸出其特殊功能寄存器的

29、內(nèi)容。p2口在flash編程和校驗(yàn)時(shí)接收高八位地址信號(hào)和控制信號(hào)。p3口:p3口管腳是8個(gè)帶內(nèi)部上拉電阻的雙向i/o口,可接收輸出4個(gè)ttl門(mén)電流。當(dāng)p3口寫(xiě)入“1”后,它們被內(nèi)部上拉為高電平,并用作輸入。作為輸入,由于外部下拉為低電平,p3口將輸出電流(ill)這是由于上拉的緣故。p3口也可作為at89c51的一些特殊功能口:p3.0 rxd(串行輸入口)p3.1 txd(串行輸出口)p3.2 /int0(外部中斷0)p3.3 /int1(外部中斷1)p3.4 t0(記時(shí)器0外部輸入)p3.5 t1(記時(shí)器1外部輸入)p3.6 /wr(外部數(shù)據(jù)存儲(chǔ)器寫(xiě)選通)p3.7 /rd(外部數(shù)據(jù)存儲(chǔ)器讀

30、選通)p3口同時(shí)為閃爍編程和編程校驗(yàn)接收一些控制信號(hào)。rst:復(fù)位輸入。當(dāng)振蕩器復(fù)位器件時(shí),要保持rst腳兩個(gè)機(jī)器周期的高電平時(shí)間。ale/prog:當(dāng)訪(fǎng)問(wèn)外部存儲(chǔ)器時(shí),地址鎖存允許的輸出電平用于鎖存地址的地位字節(jié)。在flash編程期間,此引腳用于輸入編程脈沖。在平時(shí),ale端以不變的頻率周期輸出正脈沖信號(hào),此頻率為振蕩器頻率的1/6。因此它可用作對(duì)外部輸出的脈沖或用于定時(shí)目的。然而要注意的是:每當(dāng)用作外部數(shù)據(jù)存儲(chǔ)器時(shí),將跳過(guò)一個(gè)ale脈沖。如想禁止ale的輸出可在sfr8eh地址上置0。此時(shí), ale只有在執(zhí)行movx,movc指令是ale才起作用。另外,該引腳被略微拉高。如果微處理器在外部

31、執(zhí)行狀態(tài)ale禁止,置位無(wú)效。/psen:外部程序存儲(chǔ)器的選通信號(hào)。在由外部程序存儲(chǔ)器取指期間,每個(gè)機(jī)器周期兩次/psen有效。但在訪(fǎng)問(wèn)外部數(shù)據(jù)存儲(chǔ)器時(shí),這兩次有效的/psen信號(hào)將不出現(xiàn)。/ea/vpp:當(dāng)/ea保持低電平時(shí),則在此期間外部程序存儲(chǔ)器(0000h-ffffh),不管是否有內(nèi)部程序存儲(chǔ)器。注意加密方式1時(shí),/ea將內(nèi)部鎖定為reset;當(dāng)/ea端保持高電平時(shí),此間內(nèi)部程序存儲(chǔ)器。在flash編程期間,此引腳也用于施加12v編程電源(vpp)。xtal1:反向振蕩放大器的輸入及內(nèi)部時(shí)鐘工作電路的輸入。xtal2:來(lái)自反向振蕩器的輸出。l 振蕩器特性:xtal1和xtal2分別為反

32、向放大器的輸入和輸出。該反向放大器可以配置為片內(nèi)振蕩器。石晶振蕩和陶瓷振蕩均可采用。如采用外部時(shí)鐘源驅(qū)動(dòng)器件,xtal2應(yīng)不接。有余輸入至內(nèi)部時(shí)鐘信號(hào)要通過(guò)一個(gè)二分頻觸發(fā)器,因此對(duì)外部時(shí)鐘信號(hào)的脈寬無(wú)任何要求,但必須保證脈沖的高低電平要求的寬度。l 芯片擦除:整個(gè)perom陣列和三個(gè)鎖定位的電擦除可通過(guò)正確的控制信號(hào)組合,并保持ale管腳處于低電平10ms 來(lái)完成。在芯片擦操作中,代碼陣列全被寫(xiě)“1”且在任何非空存儲(chǔ)字節(jié)被重復(fù)編程以前,該操作必須被執(zhí)行。此外,at89c51設(shè)有穩(wěn)態(tài)邏輯,可以在低到零頻率的條件下靜態(tài)邏輯,支持兩種軟件可選的掉電模式。在閑置模式下,cpu停止工作。但ram,定時(shí)器

33、,計(jì)數(shù)器,串口和中斷系統(tǒng)仍在工作。在掉電模式下,保存ram的內(nèi)容并且凍結(jié)振蕩器,禁止所用其他芯片功能,直到下一個(gè)硬件復(fù)位為止。l 串口通訊 單片機(jī)的結(jié)構(gòu)和特殊寄存器,這是你編寫(xiě)軟件的關(guān)鍵。至于串口通信需要用到那些特殊功能寄存器呢,它們是scon,tcon,tmod,scon等,各代表什么含義呢? sbuf 數(shù)據(jù)緩沖寄存器這是一個(gè)可以直接尋址的串行口專(zhuān)用寄存器。有朋友這樣問(wèn)起過(guò)“為何在串行口收發(fā)中,都只是使用到同一個(gè)寄存器sbuf?而不是收發(fā)各用一個(gè)寄存器?!睂?shí)際上sbuf 包含了兩個(gè)獨(dú)立的寄存器,一個(gè)是發(fā)送寄存,另一個(gè)是接收寄存器,但它們都共同使用同一個(gè)尋址地址99h。cpu 在讀sbuf 時(shí)

34、會(huì)指到接收寄存器,在寫(xiě)時(shí)會(huì)指到發(fā)送寄存器,而且接收寄存器是雙緩沖寄存器,這樣可以避免接收中斷沒(méi)有及時(shí)的被響應(yīng),數(shù)據(jù)沒(méi)有被取走,下一幀數(shù)據(jù)已到來(lái),而造成的數(shù)據(jù)重疊問(wèn)題。發(fā)送器則不需要用到雙緩沖,一般情況下我們?cè)趯?xiě)發(fā)送程序時(shí)也不必用到發(fā)送中斷去外理發(fā)送數(shù)據(jù)。操作sbuf寄存器的方法則很簡(jiǎn)單,只要把這個(gè)99h 地址用關(guān)鍵字sfr定義為一個(gè)變量就可以對(duì)其進(jìn)行讀寫(xiě)操作了,如sfr sbuf=0x99;當(dāng)然你也可以用其它的名稱(chēng)。通常在標(biāo)準(zhǔn)的reg51.h或at89x51.h等頭文件中已對(duì)其做了定義,只要用#include引用就可以了。 scon串行口控制寄存器通常在芯片或設(shè)備中為了監(jiān)視或控制接口狀態(tài),都會(huì)

35、引用到接口控制寄存器。scon就是51芯片的串行口控制寄存器。它的尋址地址是98h,是一個(gè)可以位尋址的寄存器,作用就是監(jiān)視和控制51芯片串行口的工作狀態(tài)。51芯片的串口可以工作在幾個(gè)不同的工作模式下,其工作模式的設(shè)置就是使用scon寄存器。它的各個(gè)位的具體定義如下: sm0 sm1 sm2 ren tb8 rb8 ti ri sm0、sm1 為串行口工作模式設(shè)置位,這樣兩位可以對(duì)應(yīng)進(jìn)行四種模式的設(shè)置。串行口工作模式設(shè)置。 sm0 sm1 模式 功能 波特率 0 00同步移位寄存器 fosc/12 0 118位uart 可變 1 029位uartfosc/32 或fosc/64 1 139位ua

36、rt 可變 在這里只說(shuō)明最常用的模式1,其它的模式也就一一略過(guò),有興趣的朋友可以找相關(guān)的硬件資料查看。表中的fosc代表振蕩器的頻率,也就是晶振的頻率。uart 為(universal asynchronous receiver)的英文縮寫(xiě)。 sm2在模式2、模式3中為多處理機(jī)通信使能位。在模式0中要求該位為0。rem為允許接收位,rem置1時(shí)串口允許接收,置0時(shí)禁止接收。rem是由軟件置位或清零。如果在一個(gè)電路中接收和發(fā)送引腳p3.0,p3.1都和上位機(jī)相連,在軟件上有串口中斷處理程序,當(dāng)要求在處理某個(gè)子程序時(shí)不允許串口被上位機(jī)來(lái)的控制字符產(chǎn)生中斷,那么可以在這個(gè)子程序的開(kāi)始處加入rem=0

37、來(lái)禁止接收,在子程序結(jié)束處加入rem=1再次打開(kāi)串口接收。大家也可以用上面的實(shí)際源碼加入rem=0 來(lái)進(jìn)行實(shí)驗(yàn)。tb8發(fā)送數(shù)據(jù)位8,在模式2和3是要發(fā)送的第9位。該位可以用軟件根據(jù)需要置位或清除,通常這位在通信協(xié)議中做奇偶位,在多處理機(jī)通信中這一位則用于表示是地址幀還是數(shù)據(jù)幀。rb8接收數(shù)據(jù)位8,在模式2和3是已接收數(shù)據(jù)的第9位。該位可能是奇偶位,地址/數(shù)據(jù)標(biāo)識(shí)位。在模式0中,rb8為保留位沒(méi)有被使用。在模式1中,當(dāng)sm2=0,rb8是已接收數(shù)據(jù)的停止位。ti發(fā)送中斷標(biāo)識(shí)位。在模式0,發(fā)送完第8位數(shù)據(jù)時(shí),由硬件置位。其它模式中則是在發(fā)送停止位之初,由硬件置位。ti置位后,申請(qǐng)中斷,cpu 響應(yīng)

38、中斷后,發(fā)送下一幀數(shù)據(jù)。在任何模式下,ti都必須由軟件來(lái)清除,也就是說(shuō)在數(shù)據(jù)寫(xiě)入到sbuf后,硬件發(fā)送數(shù)據(jù),中斷響應(yīng)(如中斷打開(kāi)),這時(shí)ti=1,表明發(fā)送已完成,ti不會(huì)由硬件清除,所以這時(shí)必須用軟件對(duì)其清零。ri接收中斷標(biāo)識(shí)位。在模式0,接收第8位結(jié)束時(shí),由硬件置位。其它模式中則是在接收停止位的半中間,由硬件置位。ri=1,申請(qǐng)中斷,要求cpu 取走數(shù)據(jù)。但在模式1中,sm2=1時(shí),當(dāng)未收到有效的停止位,則不會(huì)對(duì)ri置位。同樣ri也必須要靠軟件清除。常用的串口模式1是傳輸10個(gè)位的,1位起始位為0,8位數(shù)據(jù)位,低位在先,1位停止位為1。它的波特率是可變的,其速率是取決于定時(shí)器1 或定時(shí)器2的

39、定時(shí)值(溢出速率)。at89c51和at89c2051等51系列芯片只有兩個(gè)定時(shí)器,定時(shí)器0和定時(shí)器1,而定時(shí)器2是89c52系列芯片才有的。波特率在使用串口做通訊時(shí),一個(gè)很重要的參數(shù)就是波特率,只有上下位機(jī)的波特率一樣時(shí)才可以進(jìn)行正常通訊。波特率是指串行端口每秒內(nèi)可以傳輸?shù)牟ㄌ匚粩?shù)。有一些初學(xué)的朋友認(rèn)為波特率是指每秒傳輸?shù)淖止?jié)數(shù),如標(biāo)準(zhǔn)9600會(huì)被誤認(rèn)為每秒種可以傳送9600個(gè)字節(jié),而實(shí)際上它是指每秒可以傳送9600個(gè)二進(jìn)位,而一個(gè)字節(jié)要8個(gè)二進(jìn)位,如用串口模式1來(lái)傳輸那么加上起始位和停止位,每個(gè)數(shù)據(jù)字節(jié)就要占用10個(gè)二進(jìn)位,9600波特率用模式1傳輸時(shí),每秒傳輸?shù)淖止?jié)數(shù)是960010=96

40、0字節(jié)。51芯片的串口工作模式0的波特率是固定的,為fosc/12,以一個(gè)12m的晶振來(lái)計(jì)算,那么它的波特率可以達(dá)到1m。模式2的波特率是固定在fosc/64或fosc/32,具體用那一種就取決于pcon寄存器中的smod位,如smod為0,波特率為focs/64,smod 為1,波特率為focs/32。模式1和模式3的波特率是可變的,取決于定時(shí)器1或2(52 芯片)的溢出速率。那么我們?cè)趺慈ビ?jì)算這兩個(gè)模式的波特率設(shè)置時(shí)相關(guān)的寄存器的值呢?可以用以下的公式去計(jì)算。 波特率=(2smod32)定時(shí)器1 溢出速率上式中如設(shè)置了pcon 寄存器中的smod 位為1時(shí)就可以把波特率提升2倍。通常會(huì)使用

41、定時(shí)器1 工作在定時(shí)器工作模式2下,這時(shí)定時(shí)值中的tl1做為計(jì)數(shù),th1做為自動(dòng)重裝值,這個(gè)定時(shí)模式下,定時(shí)器溢出后,th1的值會(huì)自動(dòng)裝載到tl1,再次開(kāi)始計(jì)數(shù),這樣可以不用軟件去干預(yù),使得定時(shí)更準(zhǔn)確。在這個(gè)定時(shí)模式2下定時(shí)器1溢出速率的計(jì)算公式如下:溢出速率=(計(jì)數(shù)速率)/(256th1)上式中的“計(jì)數(shù)速率”與所使用的晶體振蕩器頻率有關(guān),在51芯片中定時(shí)器啟動(dòng)后會(huì)在每一個(gè)機(jī)器周期使定時(shí)寄存器th的值增加1。一個(gè)機(jī)器周期等于十二個(gè)振蕩周期,所以可以得知51芯片的計(jì)數(shù)速率為晶體振蕩器頻率的1/12,一個(gè)12m的晶振用在51芯片上,那么51的計(jì)數(shù)速率就為1m。通常用11.0592m晶體是為了得到標(biāo)

42、準(zhǔn)的無(wú)誤差的波特率,那么為何呢?計(jì)算一下就知道了。如我們要得到9600 的波特率,晶振為11.0592m 和12m,定時(shí)器1 為模式2,smod 設(shè)為1,分別看看那所要求的th1 為何值。代入公式:11.0592m9600=(232)(11.0592m/12)/(256-th1) th1=25012m 9600=(232)(12m/12)/(256-th1) th1249.49 上面的計(jì)算可以看出使用12m晶體的時(shí)候計(jì)算出來(lái)的th1不為整數(shù),而th1的值只能取整數(shù),這樣它就會(huì)有一定的誤差存在不能產(chǎn)生精確的9600波特率。當(dāng)然一定的誤差是可以在使用中被接受的,就算使用11.0592m的晶體振蕩器

43、也會(huì)因晶體本身所存在的誤差使波特率產(chǎn)生誤差,但晶體本身的誤差對(duì)波特率的影響是十分之小的,可以忽略不計(jì)。 3.4.2 ds18b20的簡(jiǎn)要說(shuō)明ds18b20是美國(guó)dallas半導(dǎo)體公司繼ds1820之后最新推出的一種改進(jìn)型智能溫度傳感器。與傳統(tǒng)的熱敏電阻相比,他能夠直接讀出被測(cè)溫度并且可根據(jù)實(shí)際要求通過(guò)簡(jiǎn)單的編程實(shí)現(xiàn)912位的數(shù)字值讀數(shù)方式。可以分別在93.75 ms和750 ms內(nèi)完成9位和12位的數(shù)字量,并且從ds18b20讀出的信息或?qū)懭雂s18b20的信息僅需要一根口線(xiàn)(單線(xiàn)接口)讀寫(xiě),溫度變換功率來(lái)源于數(shù)據(jù)總線(xiàn),總線(xiàn)本身也可以向所掛接的ds18b20供電,而無(wú)需額外電源。因而使用ds1

44、8b20可使系統(tǒng)結(jié)構(gòu)更趨簡(jiǎn)單,可靠性更高。他在測(cè)溫精度、轉(zhuǎn)換時(shí)間、傳輸距離、分辨率等方面較ds1820有了很大的改進(jìn),給用戶(hù)帶來(lái)了更方便的使用和更令人滿(mǎn)意的效果。 n ds18b20簡(jiǎn)介1) 獨(dú)特的單線(xiàn)接口方式:ds18b20與微處理器連接時(shí)僅需要一條口線(xiàn)即可實(shí)現(xiàn)微處理器與ds18b20的雙向通訊。2) 在使用中不需要任何外圍元件。3) 可用數(shù)據(jù)線(xiàn)供電,電壓范圍:3.0-5.5 v。4) 測(cè)溫范圍:-55-125 。固有測(cè)溫分辨率為0.5 。5) 通過(guò)編程可實(shí)現(xiàn)912位的數(shù)字讀數(shù)方式。6) 用戶(hù)可自設(shè)定非易失性的報(bào)警上下限值。7) 支持多點(diǎn)組網(wǎng)功能,多個(gè)ds18b20可以并聯(lián)在惟一的三線(xiàn)上,實(shí)

45、現(xiàn)多點(diǎn)測(cè)溫。8) 負(fù)壓特性,電源極性接反時(shí),溫度計(jì)不會(huì)因發(fā)熱而燒毀,但不能正常工作。n ds18b20的內(nèi)部結(jié)構(gòu)ds18b20采用3腳pr35封裝或8腳soic封裝,其內(nèi)部結(jié)構(gòu)框圖如下圖所示。 64位rom和單總線(xiàn)接口存儲(chǔ)器和控制器高速緩存存儲(chǔ)器8位crc生成器溫度靈敏元件低溫觸發(fā)器tl高溫觸發(fā)器配置寄存器電源檢測(cè)圖3.8 ds18b20內(nèi)部結(jié)構(gòu)(1)64b閃速rom: 開(kāi)始8位是產(chǎn)品類(lèi)型的編號(hào),接著是每個(gè)器件的惟一的序號(hào),共有48位,最后8位是前56位的crc校驗(yàn)碼,這也是多個(gè)ds18b20可以采用一線(xiàn)進(jìn)行通信的原因。(2) 非易市失性溫度報(bào)警觸發(fā)器th和tl,可通過(guò)軟件寫(xiě)入用戶(hù)報(bào)警上下限。

46、(3) 高速暫存存儲(chǔ)器ds18b20溫度傳感器的內(nèi)部存儲(chǔ)器包括一個(gè)高速暫存ram和一個(gè)非易失性的可電擦除的e2ram。后者用于存儲(chǔ)th,tl值。數(shù)據(jù)先寫(xiě)入ram,經(jīng)校驗(yàn)后再傳給e2ram。而配置寄存器為高速暫存器中的第5個(gè)字節(jié),他的內(nèi)容用于確定溫度值的數(shù)字轉(zhuǎn)換分辨率,ds18b20工作時(shí)按此寄存器中的分辨率將溫度轉(zhuǎn)換為相應(yīng)精度的數(shù)值。該字節(jié)各位的定義如下:低5位一直都是1,tm是測(cè)試模式位,用于設(shè)置ds18b20在工作模式還是在測(cè)試模式。在ds18b20出廠(chǎng)時(shí)該位被設(shè)置為0,用戶(hù)不要去改動(dòng),r1和r0決定溫度轉(zhuǎn)換的精度位數(shù),即是來(lái)設(shè)置分辨率,如表3.1所示(ds18b20出廠(chǎng)時(shí)被設(shè)置為12位)。表3.1 ds18b20工作精度r1r0分辨率溫度最大轉(zhuǎn)換時(shí)間009位 93.75ms0110位 187.5ms1011位 375ms1112位750ms由表3.1可見(jiàn),設(shè)定的分辨率越高,所需要的溫度數(shù)據(jù)轉(zhuǎn)換時(shí)間就越長(zhǎng)。因此,在實(shí)際應(yīng)用中要在分辨率和轉(zhuǎn)換時(shí)間權(quán)衡考慮。高速暫存存儲(chǔ)器除了配置寄存器外,還有其他8個(gè)字節(jié)組成,其分配如下所示。其中溫度信息(第1,2字節(jié))、th和tl值第3,4字節(jié)、第68字節(jié)未用,表現(xiàn)為全邏輯1;第9字節(jié)讀出的是前面所有8個(gè)字節(jié)的crc碼,可用

溫馨提示

  • 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ì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論