基于單片機的萬年歷設(shè)計畢業(yè)論文_第1頁
基于單片機的萬年歷設(shè)計畢業(yè)論文_第2頁
基于單片機的萬年歷設(shè)計畢業(yè)論文_第3頁
基于單片機的萬年歷設(shè)計畢業(yè)論文_第4頁
基于單片機的萬年歷設(shè)計畢業(yè)論文_第5頁
已閱讀5頁,還剩67頁未讀 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、XXX學(xué)院畢業(yè)論文課題名稱:基于單片機的萬年歷設(shè)計作 者:XXX學(xué) 號:XXX系 別:電子工程系專 業(yè): 電子信息工程技術(shù)指導(dǎo)教師: XXXXX年XX月XX日中英文摘要摘要本設(shè)計以單片機芯片STC89C52為中心,通過外掛接DS12C887作為時鐘芯片,為 系統(tǒng)實時的更新時間、日歷等。DS18B20作為溫度傳感器芯片,用于實時采集當(dāng)前所處 的環(huán)境溫度。1602液晶作為實時顯示器件,顯示單片機采集的所有數(shù)據(jù)。當(dāng)在公共場所 時,為了方便調(diào)節(jié)時間,外加紅外遙控和鍵盤兩種方式調(diào)時功能。于此,構(gòu)成了一個實 時時鐘萬年歷系統(tǒng)。最后,通過軟件對其原理圖進(jìn)行繪制和程序的編寫,并且調(diào)試運行。矚慫潤厲釤瘞睞櫪廡賴

2、。關(guān)鍵詞:單片機芯片STC89C52; DS12C887芯片;DS18B20溫度傳感器;LCD1602 液晶;紅外遙控聞創(chuàng)溝燴鐺險愛氌譴凈。AbstractThe design on the single chip computer chip STC89C52 as the center, through the plugin meet DS12C887 as the clock chip, real-time updates for the system time, calendar, etc. As the temperature sensor DS18B20 chip to the re

3、al-time data acquisition at this temperature environment. 1602 LCDas real-time display device, shows all of the data collection single chip microcomputer. When in a public place, in order to facilitate the regulating time, plus infrared remote control and keyboard two ways when the function. In this

4、, and form a real time clock cale ndar system. Fin ally,through the software to its prin ciplechart drawand the writi ng of the program, and debug operati on.殘騖樓諍錈瀨濟(jì)溆塹籟。Keywords:single chip microcomputer chip STC89C52 DS12C887chip ; DS18B20temperature sensor ; LCD1602 liquid crystal ; infrared remot

5、e control釅錒極額閉鎮(zhèn)檜豬訣錐。中英文摘要XX學(xué)院XX屆畢業(yè)論文目 錄1引言 11.1課題的來源和意義11.2系統(tǒng)總體方案介紹22 方案論證 2.1時鐘芯片的選擇 22.2顯示器件的選擇43單元電路設(shè)計 43.1 DS12C887時鐘電路設(shè)計 43.1.1 DS12C887時鐘芯片概述 43.1.2時鐘精度 53.1.3時鐘、日歷和鬧鐘單元 53.1.4控制寄存器 63.1.5基本原理 83.1.6典型工作電路 113.1.7工作時序 113.1.8主要程序分析 133.2 1602液晶顯示電路設(shè)計 143.2.1 1602液晶概述 143.2.2 1602液晶基本原理 153.2.3

6、 1602液晶工作時序 163.2.4指令說明 173.2.5 1602液晶主要程序分析 183.3紅外遙控電路設(shè)計 193.3.1紅外發(fā)射系統(tǒng) 193.3.2紅外接收系統(tǒng)203.3.3主要程序分析213.4 DS18B20溫度傳感器電路設(shè)計 23XX學(xué)院XX屆畢業(yè)論文341 DS18B20溫度傳感器概述23342 DS18B20溫度傳感器的主要特性 233.4.3 DS18B20溫度傳感器基本原理 23344 DS18B20溫度傳感器配置寄存器 23345 DS18B20溫度傳感器暫存器中溫度數(shù)值的儲存形式 243.4.6 DS18B20溫度傳感器工作時序 253.4.7控制器對DS18B2

7、0操作流程 263.4.8 DS18B20芯片內(nèi)部 ROM操作指令 273.4.9 DS18B20溫度傳感器芯片內(nèi)部存儲器 RAM操作指令 273.4.10 DS18B20溫度傳感器典型工作方式 283.4.11溫度傳感器DS18B20主要程序分析 283.5鍵盤調(diào)時電路設(shè)計 314總體設(shè)計與制作 314.1總體原理圖繪制 314.2軟件開發(fā)與調(diào)試 324.2.1使用Keil軟件編寫系統(tǒng)程序 324.2.2系統(tǒng)調(diào)試 334.3搭建系統(tǒng)實物 344.4系統(tǒng)實物展示 355收獲與體會 356 結(jié)論 36附錄A 37附錄B 38附錄C 49參考文獻(xiàn)50致謝51XX學(xué)院XX屆畢業(yè)論文1引言電子是推動人

8、類社會文明、進(jìn)步與發(fā)展的巨大動力,隨著電子產(chǎn) 品的飛速發(fā)展,現(xiàn)已將人類帶入了智能化的生活。傳統(tǒng)的機械表由于 做工的高精細(xì)要求,造價的昂貴,材料的限制,時間指示精度的限制,使用壽命,以及其它方面的限制,已不能滿足人們的需求。另外從人 們的日常生活到工廠的自動控制,從民用時鐘到科學(xué)發(fā)展所需的時鐘,現(xiàn)代人對時間的精度和觀察時間的方便有了越來越多的需求。人們要 求隨時隨地都能快速準(zhǔn)確的知道時間,并且要求時鐘能夠更直觀、更可靠、價格更便宜。這種要求催生了新型電子時鐘的產(chǎn)生。彈貿(mào)攝爾霽斃攬磚鹵廡。1.1課題的來源和意義電子技術(shù)的飛速發(fā)展,微機已開始向社會的各個領(lǐng)域滲透,同時大規(guī)模集成電路獲 得高速發(fā)展,單

9、片機的應(yīng)用正在不斷地走向深入,由傳統(tǒng)的8位單片機發(fā)展到后來的16 位,諸如AVR系列、PIC系列、430系列等,再到如今的高級單片機 ARM體系下配合 操作系統(tǒng)實現(xiàn)智能化,這無疑體現(xiàn)了單片機在我們生活中已占據(jù)了核心的地位。本設(shè)計 核心控制芯片采用了 STC89C52微控制芯片,該芯片具有功能強、體積小、功耗低、價 格便宜,工作可靠,使用方便等優(yōu)點,因此特別適合于與控制有關(guān)的系統(tǒng),越來越廣泛 地應(yīng)用于自動控制,智能化儀器、儀表、數(shù)據(jù)采集、軍工產(chǎn)品以及家用電器等各個領(lǐng)域。 謀蕎摶篋飆鐸懟類蔣薔。另外,單片機的重要運用意義還在于,它從根本上改變了傳統(tǒng)的控制系統(tǒng)設(shè)計思想 和設(shè)計方法。從前必須由模擬電路

10、或數(shù)字電路實現(xiàn)的大部分功能,現(xiàn)在已能用單片機通 過軟件的方法來實現(xiàn)了,這種軟件替代硬件的控制技術(shù)也稱為微控制技術(shù),是傳統(tǒng)控制 技術(shù)的一次革命。 廈礴懇蹣駢時盡繼價騷。單片機模塊中最常見的是數(shù)字鐘,數(shù)字鐘是一種用數(shù)字電路技術(shù)實現(xiàn)的時、分、秒 計時的裝置,與機械式時鐘相比具有更高的準(zhǔn)確性和直觀性,且無機械裝置,具有更長 的使用壽命,因此得到了廣泛的使用。煢楨廣鰳鯡選塊網(wǎng)羈淚。數(shù)字鐘是采用數(shù)字電路實現(xiàn)對時、分、秒數(shù)字顯示的計時裝置,廣泛運用于個人家 庭、車站、碼頭、辦公室等公共場所,成為了人們?nèi)粘I钪斜夭豢缮俚谋匦杵?,由?數(shù)字集成電路的發(fā)展和石英晶體振蕩器的廣泛運用,使得數(shù)字鐘的精度,遠(yuǎn)遠(yuǎn)超過老

11、式 鐘表。鐘表的數(shù)字化給人們生活帶來了極大的方便,而且大大地擴展了鐘表原先的報警 功能,諸如定時自動報警、按時自動打鈴、時間程序自動控制、定時廣播、自動開關(guān)路 燈、定時開關(guān)烘箱、通斷動力設(shè)備、甚至各種定時電氣的自動啟動等。所有這些,都是 以時鐘為基礎(chǔ)的。因此,研究數(shù)字時鐘具有非常的現(xiàn)實意義。 鵝婭盡損鶴慘歷蘢鴛賴。1.2系統(tǒng)總體方案介紹本設(shè)計以核心控制芯片AT89C52為中心,外掛接美國 DALLAS公司生產(chǎn)的DS12C887 實時時鐘芯片和DS18B20溫度傳感器裝置,實時時鐘為系統(tǒng)提供實時的時間。溫度傳感 器為系統(tǒng)實時反饋當(dāng)前環(huán)境下的溫度。在大型公共場所,當(dāng)不方便使用調(diào)時鍵盤直接調(diào) 時時,

12、紅外遙控裝置用于方便遠(yuǎn)距離調(diào)時。1602液晶實時的為MCI處理的數(shù)據(jù)進(jìn)行顯示。 系統(tǒng)總框圖如圖1.2籟叢媽羥為贍債蟶練淨(jìng)。1.2系統(tǒng)總框圖2方案論證2.1時鐘芯片的選擇方案一:采用單片機本身作為時鐘控制芯片來模擬時鐘時間。單片機在工作時,需要外接一個石英晶體振蕩器來為單片機提供一個脈沖信號,振蕩電路產(chǎn)生的振蕩脈沖的頻率為f (也可稱為主頻OSC,其并不直接使用,而是經(jīng)過分頻后為系統(tǒng)所用,振蕩脈 沖在片內(nèi)通過一個時鐘發(fā)生器二分頻后才作為系統(tǒng)的時鐘信號,時鐘脈沖信號的頻率為f/2 ;時鐘脈沖六分頻后為機器周期,由此可見,一個機器周期的頻率為f/12,那么一個機器周期單片機執(zhí)行一條指令,則每執(zhí)行一條

13、指令定時 /計數(shù)器數(shù)值加1;因此,利用 單片機內(nèi)部定時/計數(shù)器可以實現(xiàn)秒脈沖信號,然后通過編程來模擬時鐘。這種方案的 好處是外圍元器件少,電路簡單清晰,設(shè)計方便易于實現(xiàn),出問題的故障幾率小。但是 這種方案需由大量的程序來模擬時、分、秒、年、月、日等的更新,編程相對來說較為 復(fù)雜。另外由于單片機內(nèi)部時鐘產(chǎn)生的秒脈沖容易受到溫度漂移的影響和執(zhí)行復(fù)雜程序 時的延時的影響,而使得定時/計數(shù)器會產(chǎn)生不定的誤差,即使設(shè)計時間誤差補償程序 也很難實現(xiàn)提供準(zhǔn)確的時間的功能。 并且這種設(shè)計還有一個最大的缺點就是如果單片機 斷電,時間就會停止,再次上電后時間又會回到初始設(shè)定的時間,又要對其調(diào)時,比較 麻煩。預(yù)頌圣

14、鉉儐歲齦訝驊糴。方案二:采用美國DALLAS司生產(chǎn)制造的DS130實時時鐘芯片作為系統(tǒng)時鐘芯片。 DS130是由美國DALLAS司推出的涓流充電時鐘芯片,內(nèi)含有一個實時時鐘/日歷和31字節(jié)靜態(tài)RAM通過簡單的串行接口與單片機進(jìn)行通信。 實時時鐘/日歷電路提供秒、分、 時、日、日期、月、年的信息,每月的天數(shù)和閏年的天數(shù)可自動調(diào)整,時鐘操作可通過 AM/PM指示決定采用24或12小時格式。DS130與單片機間能簡單地采用同步串行的方式 進(jìn)行通信,僅需用到三個口線:(1)RES(復(fù)位),(2)I/O (數(shù)據(jù)線),(3)SCLK(串行 時鐘),從而解決了由并行時鐘芯片使得電路復(fù)雜的問題。時鐘 /RAM

15、勺讀/寫數(shù)據(jù)以一個 字節(jié)或多達(dá)31個字節(jié)的字符組方式通信,DS1302工作時功耗很低,保持?jǐn)?shù)據(jù)和時鐘 信息時功率小于1mW但是,DS1302寸鐘芯片沒有內(nèi)置電池,在電路掉電的情況下不能 繼續(xù)計時,而且在上電的時候需要校準(zhǔn)時間。其內(nèi)部也沒有振蕩器,需要外接時鐘震蕩 器方可使用,從而使得外圍電路較為復(fù)雜。滲釤嗆儼勻諤鱉調(diào)硯錦。方案三:采用美國DALLAS公司生產(chǎn)制造的DS12C88;實時時鐘芯片作為系統(tǒng)時鐘芯 片。DS12C887是美國DALLS公司生產(chǎn)的一款實時時鐘芯片, 該器件提供RTC /日歷、 定時鬧鐘、三個可屏蔽的中斷和一個通用的中斷輸出、可編程方波以及114字節(jié)電池備份的靜態(tài)RAM少于

16、31天的月份,月末可自動調(diào)整,其中包括閏年補償。該器件還可以 工作于24小時或帶AM/ PM指示的12小時格式。一個精密的溫度補償電路用來監(jiān)視 VCC 的狀態(tài),一旦主電源故障,或斷電,該器件可以自動切換到內(nèi)部鋰電池供電,保證了時鐘的正常工作,不至于使時間出亂。該器件支持In tel和Motorola兩種總線模式,內(nèi)部集成了石英晶體震蕩器和涓流充電的鋰離子電池,極大的減少了外圍電路,且使用起 來方便。因此在嵌入式、電表、安全系統(tǒng)、網(wǎng)絡(luò)集線器、網(wǎng)橋、路由器等等方面得到了 廣泛的運用。鐃誅臥瀉噦圣騁貺頂廡。比較以上三種方案可以看出,第三種方案更加準(zhǔn)確而外圍硬件電路設(shè)計也相對簡單, 軟件設(shè)計也相對簡潔

17、,因此決定選擇第三種方案。擁締鳳襪備訊顎輪爛薔。2.2顯示器件的選擇方案一:采用由長沙太陽人電子有限公司設(shè)計生產(chǎn)制造的LCD液晶。該器件重量輕、體積小、功耗低(約10-15MW)、顯示內(nèi)容豐富、指令功能強(可組合成各種輸入、顯示、 移位方式以滿足不同的設(shè)計需求)、接口簡單方便(可與8位處理器或微控制器相連)、 工作溫度寬(0-50C)、可靠性高(壽命為50000小時(25C時)等優(yōu)點;該器件在顯 示上更加靈活,而且改變顯示時只要改變顯示程序就可以,不用改變硬件電路的設(shè)計, 易于電路功能的擴展。但是唯一的缺點是要是顯示內(nèi)容較少時,價格略顯得昂貴些。贓熱俁閫歲匱閶鄴鎵騷。方案二:采用普通的8位LE

18、D數(shù)碼管作為顯示器件。該器件顯示較為明顯清晰反應(yīng) 速度較快,價格便宜,在顯示位數(shù)較少時性價比較高。但是,如果顯示內(nèi)容較多時,LED 數(shù)碼管顯得較為麻煩,軟件設(shè)計較為復(fù)雜,電路設(shè)計較為復(fù)雜,占用單片機I/O 口較多, 且耗能較強,顯示位數(shù)有限,不利于電路的擴展。壇搏鄉(xiāng)囂懺蔞鍥鈴氈淚。比較以上兩種方案可以看出,第一種方案較為適合。無論從現(xiàn)實靈活方面、耗能等 方面。因此本設(shè)計采用第一種方案。 蠟變黲癟報倀鉉錨鈰贅。3單元電路設(shè)計3.1 DS12C887時鐘電路設(shè)計3.1.1 DS12C887時鐘芯片概述DS12C887是美國DALLS公司生產(chǎn)的一款實時時鐘芯片,該器件提供RTC/日歷、定時鬧鐘、三個

19、可屏蔽的中斷和一個通用的中斷輸出、可編程方波以及114字節(jié)電池備份的靜態(tài)RAM少于31天的月份,月末可自動調(diào)整,其中包括閏年補償。該器件還可以 工作于24小時或帶AM/ PM指示的12小時格式。一個精密的溫度補償電路用來監(jiān)視 VCC 的狀態(tài),一旦主電源故障,或斷電,該器件可以自動切換到內(nèi)部鋰電池供電,保證了時 鐘的正常工作(在沒有 VCC的+25C環(huán)境下,電池容量可為振蕩器和寄存器供電長達(dá)五年之久),不至于使時間出亂。該器件支持Intel和Motorola兩種總線模式,內(nèi)部集成 了石英晶體震蕩器和涓流充電的鋰離子電池,極大的減少了外圍電路。買鯛鴯譖曇膚遙閆擷凄。3.12時鐘精度時鐘精度依賴于石

20、英晶體精度和振蕩器電路容性負(fù)載與石英晶體震蕩容性負(fù)載之 間的匹配度,溫度變化所引起的石英晶體頻率漂移會導(dǎo)致額外的誤差,耦合到振蕩器電 路中的外部電路噪聲會使時鐘速度加快,本時鐘出廠時經(jīng)過校準(zhǔn),在+25C環(huán)境下運行每月誤差為土 1分鐘。綾鏑鯛駕櫬鶘蹤韋轔糴。3.1.3時鐘、日歷和鬧鐘單元時鐘和日歷信息可以通過讀取相應(yīng)寄存器字節(jié)獲得,通過寫相應(yīng)的寄存器字節(jié)對時鐘進(jìn)行初始化,存儲時間、日歷和鬧鐘的10個字節(jié)內(nèi)容可以是二進(jìn)制格式如圖3.1.1 (a), 也可以是BC碼格式如圖3.1.1 (b),星期寄存器在午夜加1,從1遞增到7,夏時令功能 用到了星期寄存器,因此1被定義為星期天,少于30天的月份,月

21、末可自動調(diào)整,其中 包括閏年補償。在寫內(nèi)部時鐘、日歷和鬧鐘寄存器前,須將寄存器B的SET位設(shè)為邏輯1,以防止意外的讀寫操作引起時鐘的更新,除了所選的格式寫入10個字節(jié)的時鐘、日歷和鬧鐘寄存器外,寄存器B的數(shù)據(jù)模式位(DM必須置為適當(dāng)?shù)倪壿嬛?。所?0個時鐘、 日歷和鬧鐘字節(jié)必須使用相同的數(shù)據(jù)模式,寫入數(shù)據(jù)模式后寄存器B的SET位應(yīng)該清0,以允許RTCg新時鐘和日歷數(shù)據(jù),一旦初始化完成,RT(將使用所選的模式更新所有的數(shù) 據(jù)。將鬧鐘的時間正確寫入時、分、秒鬧鐘單元,且鬧鐘使能位設(shè)為高,則每天在指定 的時間都會觸發(fā)鬧鐘中斷。在此模式中,鬧鐘寄存器和相應(yīng)的時鐘寄存器“0”位必須總是寫入0.驅(qū)躓髏彥浹

22、綏譎飴憂錦。ADDRESSBIT 7BIT 6BITSBIT 4BIT 3BIT 2BIT 1BITOFUNCTIONRANGEOOH00SecondsSeconds00-3B01H00SecondsSeconds AlarmOCUiB02H00MinuterMinutes00-3B03H00MinutesMinutes Alarm04Ham/pm000HcursHours01-0C +AJV1/PM0Hours00-1705HAM/PM000HoursHours AlarmOIOC +AM/PM0Hours00-17OSH0000aD釧ay01-0707H000ateale01-1FOSH0

23、000MonthMonth01-OG09H0YearYear00-63OAHUIPDV2DV1DVORS3RS2RS1RSOControlOBHSETPIEA1EUIESQWEDM24/12DSEControlOCHIFtOFPFAFUF0000ConlrolODHVHT0000000Control0EH-7FXXXXXXXXRAM一3.1.1 圖(a)ADDRESSBIT 7BIT 6BITSBIT 4BIT 3BIT 2BIT1BITOFUNCTIONRANGEOOH010 SecondsSecoridsSeconds005901H010 SecondsSecondsSecond Al-a

24、irrn00-5902H010 MinutesMinutesMinutes005903H010 MirmlesMinutesMinutes Alarm00-5904HAM/PM0010 HoursHoursHours1-12+AM/PM 00-23a110 HoursOSHAM/PM0010 HoursHoursHours Alamni1 12 +AM/PM00-230HO Hours06H0000oDmyDay01-0707H0010 DateDataDate01-31MH00010 MonthsMonthMonlh01-1209H10 YearsYearYear00-99OAHUIIPDV

25、2DV1DVORS3RS2RS1nsoControlOBHSETPIEAIEUIESOVi/EDM24/12DSECorilrol0CHIHQFPFAFUF00Q0Conirol一ODHVRT0000000Control一0EH-7FXXXXXXXXRAM一3.1.1 圖(b)3.1.4. 控制寄存器DS12C887有4個控制寄存器,在任何時間都可以進(jìn)行訪問,即使處于更新周期 控制寄存器A :BIT 7BIT 6BITSBIT 4BIT 3BIT 2BIT1BITOUIPDV2DV1DVORS3RS2RS1RSO(1)第0位到3位:為速率選擇器,這四個速率選擇位用來選擇15級分頻器的13種分頻

26、之一或禁止分頻器輸出。貓蠆驢繪燈鮒誅髏貺廡。(2) 第4位到6位:用來啟動或關(guān)閉振蕩器,并復(fù)位計時鏈。010是唯一打開振蕩器并允許RTC計時的位組合形式,11 X組合使能振蕩器,但將計時鏈保持在復(fù)位狀態(tài),010寫入DV0 DV1 DV2后500ms進(jìn)行下一次更新。鍬籟饗逕瑣筆襖鷗婭薔。(3) 第7位:該位是可監(jiān)視的狀態(tài)標(biāo)志位,改位為1時,立即進(jìn)行更新傳輸,該位為0 時在至少244uS的時間內(nèi)不會進(jìn)行更新傳輸。該位為 0時RAM中的時鐘、日歷和鬧鐘信 息都可以訪問,UIP位是只讀的,而且不受RST信號影響,將寄存器B的SET位置1時, 禁止任何更新傳輸并且清除 UIP位。 構(gòu)氽頑黌碩飩薺齦話騖。

27、控制寄存器B :BIT 7BITEBIT 5BIT 4BITSBIT 2BIT1bitcSETPAllUIESQWEdm24/12DSE(1) 第0位:夏時令使能位,DSE位是可讀/寫位,置1時產(chǎn)生兩次夏時令調(diào)整,四月 的第一個星期天,時間從1: 59: 59 AM調(diào)整到3: 00: 00 AM十月的最后一個星期天, 時間從1: 59: 59 AM調(diào)整為1: 00: 00 AMo如果DSE使能,內(nèi)部邏輯會在午夜時判斷 第一/或最后一個星期天的條件,如果判斷時 DSE位沒有置位,夏時令功能不會起作用, 當(dāng)DSE清 0時,這些調(diào)整不會有效。該位不受 DS12C887內(nèi)部功能或RST的影響 。 輒嶧

28、陽 檉籪癤網(wǎng)儂號澩。(2) 第1位:24/12小時選擇位,1代表24小時模式,0代表12小時模式。該位是可 讀/寫位,不受DS12C88內(nèi)部功能或RST影響。堯側(cè)閆繭絳闕絢勵蜆贅。(3) 第2位:數(shù)據(jù)模式(DM,該位表示時鐘和日立信息格式位二進(jìn)制還是 BCD碼。DM 位通過程序設(shè)置為適當(dāng)格式,如果需要可以讀出。該位不受任何DS12C887內(nèi)部功能或 RST的影響。DM=1時代表二進(jìn)制格式,DM=0時BCD碼格式。識饒鎂錕縊灩筧嚌儼淒。(4) 第3位:方波使能(SQWE),該位置1時,SQW引腳輸出一個方波信號,頻率 由寄存器A中的速率選擇位RS3-RS0設(shè)定,SQWE位清0時,SQW引腳保持低

29、電平。 SQWE位是可讀/寫位,能由RST信號清除。禁止時SQWE為低,當(dāng)VCC低于Vpf時, 變?yōu)楦咦锠顟B(tài),RST信號將SQWE位清0。凍鈹鋨勞臘錯癇婦脛糴。(5) 第4位:更新結(jié)束中斷使能(UIE ),UIE位是可讀/寫位,允許寄存器C中的更新 結(jié)束中斷標(biāo)志(UF)驅(qū)動產(chǎn)生IRQ信號。RST引腳變低或SET位變高將清除UIE位, UIE位不受任何DS12C887內(nèi)部功能的影響,但會由 RST信號清0.恥諤銪滅縈歡煬鞏鶩錦。(6) 第5位:鬧鐘使能(AIE ),AIE位是可讀/寫位,置為1時,允許寄存器C中的鬧 鐘中斷標(biāo)志(AF)位驅(qū)動產(chǎn)生IRQ信號,在三個時鐘字節(jié)與三個鬧鐘字節(jié)相等的每一

30、時刻,都會產(chǎn)生一個鬧鐘中斷,如果 AIE位清0,AF位并不觸法IRQ信號。AIE不受 任何DS12C887內(nèi)部功能的影響,但會由 RST信號清0。鯊腎鑰詘漣鉀溈懼統(tǒng)庫。(7)第6位:周期性中斷使能(PIE),PIE位為可讀/寫位,允許寄存器C中的周期性 中斷標(biāo)志(PF)位將IRQ引腳驅(qū)動為低電平PIE位置1時,以寄存器A中RE3-RS0位 指定的速率將IRQ引腳驅(qū)動為低電平,并產(chǎn)生周期性中斷。PIE位清0時,阻止周期性 中斷驅(qū)動IRQ輸出,但PF位仍以該速率周期性置位。PIE不受任何DS12C887內(nèi)部功 能的影響,但會由 RST信號清0。碩癘鄴頏謅攆檸攜驤蘞。(8) 第7位:SET, SET

31、位清0時,更新傳輸功能正常運行,計數(shù)每秒加 1, SET位寫1時,禁止任何更新傳輸,程序可對時鐘和日歷字節(jié)進(jìn)行初始化,而不會再初始化過程 中發(fā)生數(shù)據(jù)更新。SET位為可讀/寫位,不受RST信號或DS12C887的內(nèi)部功能影響。閿 擻輳嬪諫遷擇植秘騖??刂萍拇嫫鰿 :BIT 7BITSBIT 5eiT4BITSBIT 2BIT 1BITOIRQFPFAFUF0000(1)第0位到第3位:未使用,這些位讀取值為 0,但不能被寫入。(2) 第4位:更新結(jié)束中斷標(biāo)志位(UF),每次更新結(jié)束后,UF位都將置1。如果UF 位置1,則UF位的1狀態(tài)會使IRQF位置1,并且使IRQ引腳有效。該位可通過讀取寄 存

32、器C或RST信號清除。氬嚕躑竄貿(mào)懇彈濾頷澩。(3)第5位:鬧鐘中斷標(biāo)志位(AF), AF位為1時,表明此時當(dāng)前時間和鬧鐘時間相 匹配。如果ALE位也為1,則UF位的1狀態(tài)會使IRQF位置1,并且使IRQ引腳有效。 該位可通過讀取寄存器 C或RST信號清除。釷鵒資贏車贖孫滅獅贅。(4)第6位:周期性中斷標(biāo)志(PF),該位為只讀位,當(dāng)分頻器電路中所選的分支檢測 到一個邊沿信號時該位置1。RS3-RS0設(shè)置周期頻率。PF置1與PIE位的狀態(tài)無關(guān)。PF 與PIE位均為1時,IRQ信號有效并且IRQF置1。該位可通過讀取寄存器C或RST信 號清除。慫闡譜鯪逕導(dǎo)嘯畫長涼。(5)第7位:中斷請求標(biāo)志位(IR

33、QF),當(dāng)下列任何一個條件成立時,此位置 1:PF=PIE=1;AF=AIE=1 ;UF=UIE=1 ;每次IRQF位為1時,IRQ引腳會變低。該位可通過讀取寄存器 C或RST信號清除??刂萍拇嫫鱀 :ST 7BITSBIT 5BIT 4BIT 3817 2BIT10ITOVHT000a000(1)第0位到6位:這些位未使用。這些位讀取時為 0,但不能被寫入(2)第7位:RAM和時鐘有效(VRT),該位不能寫入,而且讀取時應(yīng)該總為 1,如果 出現(xiàn)0,則說明內(nèi)部鋰電池電能耗盡,RTC和RAM的數(shù)據(jù)均不可靠。該位不受 RST信 號影響。諺辭調(diào)擔(dān)鈧諂動禪瀉類。3.1.5. 基本原理(1)實物圖如下圖

34、3.1.5(a),原理圖如下圖3.1.5 (b)T c c- o 1 2 3 di EJ 6 o nnddd dddd-dn M A A A A A A A A GDS12C8S7一迥71一 21一DS實物圖3.1.5(a)原理圖3.1.5(b)(2)各引腳的功能和作用:(a)1腳(MOT): Motorola或Intel總線時序選擇端。利用此引腳選擇兩種總線類型中的一種,連接到 Vcc時選擇Motorola總線時序,連接 GND或懸空時選擇In tel 總線時序。該引腳內(nèi)部有一個下拉電阻。嘰覲詿縲鐋囁偽純鉿錈。(b)2和3腳(NC):空腳,不用連接。(c)4腳到11腳(AD ):雙向地址/數(shù)

35、據(jù)復(fù)用總線。地址于總線周期的開始發(fā)送到總線上,并由AS信號的下降沿鎖存到DS12C887內(nèi)部。所寫的數(shù)據(jù)由DS信號的下 降沿(Motorola時序),或RW信號的上升沿(Intel時序)鎖存。讀周期中,DS12C887 于DS信號后期(Motorola時序中的DS和RW均為高,In tel時序中DS位低,RW 為高)將數(shù)據(jù)發(fā)送到總線上。讀周期結(jié)束后,總線恢復(fù)高阻狀態(tài),同時DS在Motorola 時序中變低,在Intel時序中變高。熒紿譏鉦鏌觶鷹緇機庫。(d)12腳(GND):地,參考電壓為0V;(e)13腳(CS):片選信號輸入。片選信號低電平有效,在訪問 DS12C887的總線 周期內(nèi)必須保

36、持低電平。在 Motorola時序中DS和AS信號工作期間,In tel時序中 DS和RW信號工作期間,CS必須保持有效。在CS信號無效的情況下,總線操作 將鎖存地址,但不能訪問芯片。當(dāng) Vcc低于Vpf時,DS12C887內(nèi)部通過禁止CS 輸入來拒絕訪問。此舉旨在斷電時保護(hù) RTC數(shù)據(jù)和RAM數(shù)據(jù)。鶼漬螻偉閱劍鯫腎邏蘞。(f)14腳(AS):地址選通輸入。由低變高的地址選通脈沖用來分離總線的信號。在AS的下降沿,將地址鎖存到 DS12C887內(nèi)部,無論CS信號是否有效,AS的下 一個上升沿都將清除地址。地址選通信號必須先于每個讀或?qū)懺L問。如果在CS信號無效的情況下執(zhí)行了讀或?qū)懖僮鳎瑒t必須在C

37、S信號有效時且在讀寫訪問前,重新發(fā)送一次地址選通信號。紂憂蔣氳頑薟驅(qū)藥憫騖。(g) 15腳(RW):讀/寫輸入。RW引腳有兩種操作模式。在 MOT引腳接Vcc的 MOtorola的時序中,RW電平用來指示當(dāng)前周期是讀還是寫。 DS位高時,RW為高 電平時表示讀周期,RW為低電平則表示寫周期。在 MOT弓I腳接GND的的In tel 時序中,RW為低電平有效。在此模式下,RW引腳與普通的RAM的寫使能信號(WE) 工作方式類似。在此信號的上升沿鎖存數(shù)據(jù)。 穎芻莖峽餑億頓裊賠瀧。(h)16腳(NC):空腳,不用連接。(i) 17腳(DS):數(shù)據(jù)選通或讀輸入。DS引腳根據(jù)MOT引腳電平有兩種模式。

38、MOT弓I腳接Vcc時,選擇Motorola總線時序,在此模式下,總線周期的后期DS 為正脈沖,稱作數(shù)據(jù)選通脈沖。在讀周期中,DS表明DS12C887將要驅(qū)動雙向總線。 在寫周期中,DS信號的下降沿使DS12C887鎖存所寫的數(shù)據(jù)。當(dāng)MOT接GND時, 選擇In tel總線時序,DS表示讀取DS12C887數(shù)據(jù)驅(qū)動總線的時間周期,此模式下, DS引腳與普通RAM的輸出使能信號(OE)工作類似。 濫驂膽閉驟羥闈詔寢賻。(j) 18腳(RST):復(fù)位輸入。低電平有效,該引腳對時鐘、日歷或 RAM不起作用, 上電時可將RST引腳首先保持低電平,以等待電源穩(wěn)定下來。保持低電平的時間可 根據(jù)應(yīng)用需要而定

39、,但是,如果上電時使用RST信號,RST保持低電平的時間應(yīng)當(dāng) 超過200ms以保證控制DS12C88上電的內(nèi)部定時器定時結(jié)束。當(dāng) RST為低電平, 而且Vcc大于Vpf時,將產(chǎn)生以下操作:銚銻縵嚌鰻鴻鋟謎諏涼。A:周期性中斷使能(PIE)位清0B:鬧鐘中斷使能(AIE)位清0C:更新結(jié)束中斷使能(UIE)位清0D:周期性中斷標(biāo)志(PF)位清0E:鬧鐘中斷標(biāo)志(AF)位清0F:更新結(jié)束中斷標(biāo)志(UF)位清0G:中斷請求狀態(tài)標(biāo)志(IRQF)位清0H: IRQ引腳置為高阻狀態(tài)I :直到RST恢復(fù)為高電平才能訪問器件J :方波輸出使能(SQWE位清0在典型的應(yīng)用中,可將RET與 Vcc連接。使得DS1

40、2C87在進(jìn)入或退出電源失效狀態(tài) 時不影響任何控制寄存器是的值。擠貼綬電麥結(jié)鈺贖嘵類。(k)19腳(IRQ):中斷請求輸出。DS12C887勺IRQ引腳低電平有效,可用作處理 器的中斷申請輸入,只要引起中斷的狀態(tài)置位,并且相應(yīng)中斷使能位也置位,IRQ將一直保持低電平。處理器程序通常讀取 C寄存器來清除IRQ引腳輸出。RST引腳 也會清除未處理的中斷,沒有中斷發(fā)生時IRQ位高阻狀態(tài),可將多個中斷器件連接 到一條IRQ總線上,只要他們均為漏極開路輸出。IRQ引腳為為漏極開路輸出,需 要使用一個外接上拉電阻與 Vcc相連。賠荊紳諮侖驟遼輩襪錈。(l ) 20腳到22腳(NC:空腳,不用連接;(m 2

41、3腳(SQW)方波輸出。SQW引腳能提供RTC內(nèi)部15級分頻器的13個分頻比 之一??赏ㄟ^對寄存器 A編程來控制SQW引腳的輸出信號頻率,SQV信號可通過設(shè) 置寄存器B的SQV位打開或關(guān)閉。當(dāng)Vcc低于Vpf時,SQV信號無法輸出。塤礙籟饈決 穩(wěn)賽釙冊庫。(n) 24腳(VCC:主電源的DC電源引腳。VCC在正常范圍內(nèi)時,可訪問器件的所 有功能,并且進(jìn)行數(shù)據(jù)的讀寫。如果 VCC低于Vpf,則禁止讀和寫。裊樣祕廬廂顫諺鍘羋 藺。3.1.6.典型工作電路如下圖3.1.6U2123AB( 4 ADI TAD2 6AD3 7AD4 8AD5 910AD7 1112vccMOTXIX2VCC012345

42、67SQWKTC RCLB.W EuckjupIRQ RESTDSGtNnR/WAS糾 丁2322212019 IRQ1817 DSTs15 JtW14 AS13 CSDsi.2CE.ee?圖 3.1.6如圖AD0-AD7為數(shù)據(jù)和地址復(fù)用的雙向總線,CS為片選信號,AS為地址選通輸入,RW為讀寫輸入,DS位為數(shù)據(jù)選通或讀輸入,IRQ位為鬧鈴中斷,它們分別于MCU勺不同I/O 口連接。倉嫗盤紲囑瓏詁鍬齊驚。3.1.7.工作時序:Motorola總線讀/寫工作時序如下圖3.1.7 (a),Intel總線寫時序圖3.1.7 (b)In tel總線讀時序圖3.1.7 (c)工作持續(xù)時間如圖(d)。由于

43、本設(shè)計使用的是In tel總 線模式,所以Motorala總線模式在此不做詳細(xì)的介紹,如下圖 3.1.7 (b)寫時序中, 當(dāng)片選信號CS為低,AS為高,DS為高,RW為高時將地址放到總線上,一個 AS下降沿 將地址鎖存到DS12C887內(nèi)部。當(dāng)片選信號CS為低,AS為低,DS為高,將數(shù)據(jù)放到總 線上,一個RW上升沿將數(shù)據(jù)寫入 DS12C887內(nèi)部。如下圖3.1.7 (c),當(dāng)片選信號CS 為低,AS為高,DS為高,RV為高將地址放到總線上,一個AS下降沿將地址鎖存到DS12C887 內(nèi)部。當(dāng)片選信號CS為低,AS為低,DS為低,RW為高,一個DS上升沿將數(shù)據(jù)讀走。綻萬璉轆娛閬蟶鬮綰瀧。43A

44、SDSR/WCSAD0-AD7 WRITEAD0-AD7 REWMotorola 總線讀/寫時序圖3.1.7 (a)In tel總線寫時序圖3.1.7 (b)In tel 總線讀時序圖3.1.7 (c)PARAMETERSYMBOLGONCXTIONSMINTYP MAXUNITSCycle TimetCYC180DCnsPulse Width, DS Low or R/W HighFWel80nsPulse Width. DS High or R/W LowFWeh65rii呂Input Rise and FalltR3 tF30nsR/WHold TimetRWH0nsA/WSetup T

45、ime Before DS歸tRWS10nsChip-Sslect Setup Time Before DS wRAVics5nsChip-Se伯ct Hold TimetCH0nsAaad-Data Hold TimetDHR53SnsWrite-Data Hold TimetDHW0nsAddress Valid Time to AS FaillUSL2Dn呂Address Hold Time to AS FalltAH5nsDelay Time D/E to AS RisetASD1DnsPulse Width AS Highpwash30nsDelay Time, AS 忙i OS託

46、PiseUsed3SnsOutput Data Delay Time from D ar麗DDR(Note 8)1560nsDataTimetDSW50nsR&Mt Pulse WidthTRWL5MSIRQ Release from DStRDS02MSIRQfrom RESETtlRR0 2MS工作持續(xù)時間圖3.1.7 (d)3.1.8主要程序分析:void write_time(uchar add,uchar date)/該程序的作用是向 DS12C887內(nèi)部寫地址或數(shù)據(jù) 驍顧燁鶚巰瀆蕪領(lǐng)鱺賻。time_cs=0; 片 選開time_as=1;/拉高 AStime_ds=1; 拉高 DS

47、time_rw=1; 拉高 RWP1=add;/向總線放地址 time_as=O;/AS下降沿將地址鎖存 time_rw=O; 拉低 RWP仁date;/向總線放數(shù)據(jù) time_rw=1;/ RW上升沿將數(shù)據(jù)寫入 time_as=1; 拉高 AStime_cs=1; 片選關(guān)reader_time(uchar add)該程序的作用是從 DS12C887內(nèi)部讀數(shù)據(jù) time_cs=O; 片選開 time_as=1; 拉高 AS time_ds=1; 拉高 DS time_rw=1;/ 拉高 RWP仁add;/向總線放地址time_as=0;/ AS下降沿將地址鎖存 time_ds=O; DS 拉低

48、ee=P1;/讀總線time_ds=1;/ DS上升沿將數(shù)據(jù)讀出time_as=1; 拉高 AS time_cs=1; 片選關(guān) return(ee);/將數(shù)據(jù)返回3.2 1602液晶顯示電路設(shè)計 3.2.1 1602液晶概述本設(shè)計采用SMC1602A LCM液晶芯片,由長沙太陽人電子有限公司設(shè)計生產(chǎn),它具有重量輕、體積小、功耗低、顯示內(nèi)容豐富、可自編 8 (5X 7)或(5X10)種字符、指令功能強;可組合成各種輸入、顯示、移位方式以滿足不同的設(shè)計需求;接口簡單方便,可與8位處理器或微控制器相連;工作溫度 0-50C ;可靠性高,壽命為50000小時 (25C); 瑣釙濺曖惲錕縞馭篩涼。322

49、 1602液晶基本原理實物如圖3.2.2 (a),原理圖如圖3.2.2 (b)實物圖3.2.2 (a)去 a fl 空1 史U t L7 rn-. -Ct- 廣i y. r-芳芳AAA 衛(wèi)閏中 口戶口 UPQHCO原理圖3.2.2 (b)該液晶有16個管腳,典型工作電路如圖3.2.2 (c)LCD 1602工作電路3.2.2 (c)F面分析每個管腳的不同作用:(a) 1腳(Vss):接地,電壓為0V;(b) 2腳(VDD ):芯片電路電源正極,正常工作電壓值為(5V 10%);(c) 3腳(VL):液晶顯示偏壓信號,外接10K電位器到地,用于調(diào)節(jié)液晶顯示亮度;(d) 4腳(RS);數(shù)據(jù)或命令選

50、擇端(H / L ),高電平選擇數(shù)據(jù),低電平選擇命令;(e) 5腳(R/ W):讀、寫選擇端(H / L ),高電平選擇讀數(shù)據(jù),低電平選擇寫數(shù)據(jù);(f) 6腳(E)信號使能端;(g) 7-14腳(D0-D7):雙向分時數(shù)據(jù)、命令引腳;(h) 15腳(BLA ):液晶顯示驅(qū)動電壓正壓信號(為了防止液晶屏過壓損毀常外接10歐左右的限流電阻);鎦詩涇艷損樓紲鯗餳類。(i) 16腳(BLK):液晶顯示驅(qū)動電壓負(fù)壓信號;323 1602液晶工作時序讀操作時序如下圖3.2.3(d),寫操作時序如下圖323( e),時序參數(shù)如下圖3.2.3(f);讀操作指令時序圖3.2.3(d)寫操作指令時序圖3.2.3(

51、e)時序裁數(shù)符號極限值單位測試條件最小值典型值最大值E信號周期tcnsE脈沖寛度tPW150ris引腳EE上升沿/下降沿時間tRH tFns地址建立時間tSPl30-riE.引腳 E、RSv R/W地址保持時間twi10二二ns數(shù)據(jù)建立時間(讀操作)to100H5匏據(jù)保持時間(讀操作)t刪20一n-s引腳 DB0DB7數(shù)據(jù)建立時問(寫操作)tSP240一ns數(shù)據(jù)保持時間(寫操作)tuip10二ns時序參數(shù)圖323 (f)下面詳細(xì)分析:由于本設(shè)計僅僅用于顯示,因此對于該器件讀操作不作詳細(xì)介紹,由圖323( e)可知:(a) 寫數(shù)據(jù):由323(e)圖知,當(dāng)RS為高電平RW為低電平時,為向液晶內(nèi)寫數(shù)

52、據(jù), 然后當(dāng)拉高E時,將數(shù)據(jù)寫入液晶;櫛緶歐鋤棗鈕種鵑瑤錟。(b) 寫命令:由323(e)圖可知,當(dāng)RS為低電平RW為低電平時,為向液晶內(nèi)些命 令,當(dāng)拉咼E時,將命令寫入液晶; 轡燁棟剛殮攬瑤麗鬮應(yīng)。324指令說明(a) 顯示模式:指令碼功能00111000設(shè)S16X2顯示,5X7點陣.8位數(shù)據(jù)接口(b)顯示開關(guān)及光標(biāo)設(shè)置:指令碼功能00001DCBD=1開顯示;D=0關(guān)顯示0=1顯示光標(biāo);C二0不顯示光標(biāo)B二1光標(biāo)閃爍* B二0光標(biāo)不顯喬000001NSN-1當(dāng)讀或?qū)懸粋€字符后地址指針加 且光標(biāo)加一N=0當(dāng)讀或?qū)懸粋€字符后地址指針減 ,且光標(biāo)減一S二1當(dāng)寫一個字符,整屏顯示左移(41)指令碼功能80H+ 地址碼(0-27H ,40H-67H)設(shè)管數(shù)據(jù)地址指針(d) 其它設(shè)置;指令碼功能01H顯示清屏;1數(shù)據(jù)指針清零2.所有顯示清零02H顯示回車;1.數(shù)據(jù)指針清零325 1602液晶主要程序分析(參照讀、寫指令時序,因為我們不讀取液晶,所以初始 化中將WR始終拉低)峴揚爛滾澗輻灄興渙藺。void write_com(uchar com)/該程序的作用是向 1602液晶內(nèi)寫指令lcdrs=0;/ rs拉低時表明向1602內(nèi)寫指令delay(5); /延時 5msP0=com; /將指令放到數(shù)據(jù)線上delay(5); /延時 5mslcden=1; /將 en 拉高delay

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論