版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、 沈陽理工大學(xué)課程設(shè)計(jì)專用紙 No PAGE 24目錄(ml) TOC o 1-3 h z u HYPERLINK l _Toc21995 1.題目設(shè)計(jì)(shj)要求 PAGEREF _Toc21995 1 HYPERLINK l _Toc20700 2.開發(fā)平臺(tái)(pngti)簡介 PAGEREF _Toc20700 1 HYPERLINK l _Toc23354 3.系統(tǒng)硬件設(shè)計(jì) PAGEREF _Toc23354 2 HYPERLINK l _Toc6720 3.1 設(shè)計(jì)原理 PAGEREF _Toc6720 2 HYPERLINK l _Toc5054 3.2 器件的功能與作用 PAGE
2、REF _Toc5054 2 HYPERLINK l _Toc20671 3.2.1 MCS51單片機(jī)AT89C51 PAGEREF _Toc20671 2 HYPERLINK l _Toc30138 3.2.2復(fù)位電路 PAGEREF _Toc30138 3 HYPERLINK l _Toc10625 3.2.3晶振電路 PAGEREF _Toc10625 4 HYPERLINK l _Toc16889 3.2.4 DS1302時(shí)鐘模塊 PAGEREF _Toc16889 4 HYPERLINK l _Toc18777 3.2.5 引腳功能及結(jié)構(gòu) PAGEREF _Toc18777 4 HY
3、PERLINK l _Toc15440 3.2.6 DS1302的控制字節(jié) PAGEREF _Toc15440 5 HYPERLINK l _Toc5588 3.2.7 數(shù)據(jù)輸入輸出(I/O) PAGEREF _Toc5588 5 HYPERLINK l _Toc18686 3.2.8 DS1302的寄存器 PAGEREF _Toc18686 6 HYPERLINK l _Toc11151 3.2.9 液晶顯示LCD1602 PAGEREF _Toc11151 6 HYPERLINK l _Toc7706 3.2.10 串行時(shí)鐘日歷片DS1302 PAGEREF _Toc7706 8 HYPE
4、RLINK l _Toc3184 4.系統(tǒng)軟件設(shè)計(jì) PAGEREF _Toc3184 10 HYPERLINK l _Toc29047 4.1 程序流程 PAGEREF _Toc29047 10 HYPERLINK l _Toc27768 4.2 程序代碼 PAGEREF _Toc27768 11 HYPERLINK l _Toc3749 5.系統(tǒng)仿真調(diào)試 PAGEREF _Toc3749 20 HYPERLINK l _Toc31297 5.1 仿真原理圖設(shè)計(jì) PAGEREF _Toc31297 20 HYPERLINK l _Toc24053 5.2 仿真運(yùn)行過程 PAGEREF _Toc
5、24053 21 HYPERLINK l _Toc10351 5.3 仿真運(yùn)行結(jié)果 PAGEREF _Toc10351 22 HYPERLINK l _Toc27824 6.總結(jié) PAGEREF _Toc27824 22 HYPERLINK l _Toc26518 7.參考文獻(xiàn) PAGEREF _Toc26518 231.題目(tm)設(shè)計(jì)要求通過串行日歷時(shí)鐘(shzhng)芯片DS1302生成當(dāng)前日期和是時(shí)間,通過IO口傳輸?shù)紸T89c52芯片(xn pin)中,然后再將AT89c52接收到的數(shù)據(jù)輸出到LCD上。要求LCD上顯示的日期和時(shí)間與當(dāng)前系統(tǒng)時(shí)間保持一致。2.開發(fā)平臺(tái)簡介 2.1系統(tǒng)仿
6、真平臺(tái)Proteus Proteus軟件是由英國Labcenter Electronics公司開發(fā)的EDA工具軟件,已有近20年的歷史,在全球得到了廣泛應(yīng)用。Proteus軟件的功能強(qiáng)大,它集電路設(shè)計(jì)、制版及仿真等多種功能于一身,不僅能夠?qū)﹄姽?、電子技術(shù)學(xué)科涉及的電路進(jìn)行設(shè)計(jì),還能夠?qū)ξ⑻幚砥鬟M(jìn)行設(shè)計(jì)和仿真,并且功能齊全,界面多彩。和我們手頭其他的電路設(shè)計(jì)仿真軟件,他最大的不同即它的功能不是單一的。另外,它獨(dú)特的單片機(jī)仿真功能是任何其他仿真軟件都不具備的。 2.2軟件開發(fā)平臺(tái)Keil C Keil C51是美國Keil Software公司出品的51系列兼容單片機(jī)C語言軟件開發(fā)系統(tǒng),與匯編相比
7、,C語言在功能上、結(jié)構(gòu)性、可讀性、可維護(hù)性上有明顯的優(yōu)勢,因而易學(xué)易用。Keil提供了包括C編譯器、宏匯編、連接器、庫管理和一個(gè)功能強(qiáng)大的仿真調(diào)試器等在內(nèi)的完整開發(fā)方案,通過一個(gè)集成開發(fā)環(huán)境(uVision)將這些部分組合在一起。Keil C51生成的目標(biāo)代碼效率之高,多數(shù)語句生成的匯編代碼很緊湊,容易理解。在開發(fā)大型軟件時(shí)更能體現(xiàn)高級語言的優(yōu)勢。3.系統(tǒng)硬件(yn jin)設(shè)計(jì)3.1 設(shè)計(jì)(shj)原理圖3.1 電路(dinl)原理圖3.2 器件的功能與作用3.2.1 MCS51單片機(jī)AT89C51AT89C51是一種帶4K字節(jié)FLASH存儲(chǔ)器( FPEROMFlash Programmab
8、le and Erasable Read Only Memory)的低電壓、高性能CMOS 8位微處理器,俗稱單片機(jī)。AT89C2051是一種帶2K字節(jié)閃存可編程可擦除只讀存儲(chǔ)器的單片機(jī)。單片機(jī)的可擦除只讀存儲(chǔ)器可以反復(fù)擦除1000次。該器件采用ATMEL高密度非易失存儲(chǔ)器制造技術(shù)制造,與工業(yè)標(biāo)準(zhǔn)的MCS-51指令集和輸出管腳相兼容。由于將多功能8位CPU和閃爍存儲(chǔ)器組合在單個(gè)芯片中,ATMEL的AT89C51是一種高效微控制器。AT89C51單片機(jī)為很多嵌入式控制系統(tǒng)提供了一種靈活性高且價(jià)廉的方案。 AT89S51系列(xli)單片機(jī)中有PDIP,PLCC,TQFP多種封裝形式。本設(shè)計(jì)采用的
9、是PDIP封裝40管腳的單片機(jī)。 圖3.2 主控制模塊(m kui)AT89C523.2.2復(fù)位(f wi)電路復(fù)位是單片機(jī)的初始化操作。單片機(jī)啟運(yùn)運(yùn)行時(shí),都需要先復(fù)位,其作用是使CPU和系統(tǒng)中其他部件處于一個(gè)確定的初始狀態(tài),并從這個(gè)狀態(tài)開始工作。因而,復(fù)位是一個(gè)很重要的操作方式。但單片機(jī)本身是不能自動(dòng)進(jìn)行復(fù)位的,必須配合相應(yīng)的外部電路才能實(shí)現(xiàn)。復(fù)位電路的基本功能是:系統(tǒng)上電時(shí)提供復(fù)位信號(hào),直至系統(tǒng)電源穩(wěn)定后,撤銷復(fù)位信號(hào)。為可靠起見,電源穩(wěn)定后還要經(jīng)一定的延時(shí)才撤銷復(fù)位信號(hào),以防電源開 關(guān)或電源插頭分-合過程中引起的抖動(dòng)而影響復(fù)位。圖3.3 復(fù)位(f wi)電路3.2.3晶振電路(dinl)
10、圖3.4 晶振電路(dinl)晶體振蕩器電路給數(shù)字鐘提供一個(gè)頻率穩(wěn)定準(zhǔn)確的32768Hz的方波信號(hào),可保證數(shù)字鐘的走時(shí)準(zhǔn)確及穩(wěn)定。3.2.4 DS1302時(shí)鐘模塊DS1302 是 HYPERLINK /view/2398.htm 美國DALLAS公司推出的一種高性能、低功耗、帶RAM的實(shí)時(shí)時(shí)鐘電路,它可以對年、月、日、周日、時(shí)、分、秒進(jìn)行計(jì)時(shí),具有閏年補(bǔ)償功能,工作電壓為2.5V5.5V。采用三線接口與CPU進(jìn)行 HYPERLINK /view/141317.htm 同步通信,并可采用突發(fā)方式一次傳送多個(gè)字節(jié)的 HYPERLINK /view/188811.htm 時(shí)鐘信號(hào)或RAM數(shù)據(jù)。DS1
11、302內(nèi)部有一個(gè)318的用于臨時(shí)性存放數(shù)據(jù)的RAM HYPERLINK /view/6159.htm 寄存器。DS1302是DS1202的升級產(chǎn)品,與DS1202兼容,但增加了主電源/后備電源雙電源引腳,同時(shí)提供了對后備電源進(jìn)行涓細(xì)電流充電的能力。 3.2.5 引腳功能(gngnng)及結(jié)構(gòu)DS1302的引腳排列,其中Vcc1為后備電源,VCC2為主電源。在主電源關(guān)閉的情況(qngkung)下,也能保持時(shí)鐘的連續(xù)運(yùn)行。DS1302由Vcc1或Vcc2兩者中的較大者供電。當(dāng)Vcc2大于Vcc1+0.2V時(shí),Vcc2給DS1302供電。當(dāng)Vcc2小于Vcc1時(shí),DS1302由Vcc1供電。X1和X
12、2是振蕩源,外接32.768kHz晶振。RST是復(fù)位/ HYPERLINK /view/3717187.htm 片選線,通過把RST輸入驅(qū)動(dòng)(q dn)置高電平來啟動(dòng)所有的 HYPERLINK /view/5593592.htm 數(shù)據(jù)傳送。RST輸入有兩種功能:首先,RST接通控制邏輯,允許地址/命令序列送入 HYPERLINK /view/1533062.htm 移位寄存器;其次,RST提供終止單字節(jié)或多字節(jié)數(shù)據(jù)的傳送手段。當(dāng)RST為高電平時(shí),所有的數(shù)據(jù)傳送被初始化,允許對DS1302進(jìn)行操作。如果在傳送過程中RST置為低電平,則會(huì)終止此次數(shù)據(jù)傳送,I/O引腳變?yōu)楦咦钁B(tài)。上電運(yùn)行時(shí),在Vcc
13、2.0V之前,RST必須保持低電平。只有在SCLK為低電平時(shí),才能將RST置為高電平。I/O為串行數(shù)據(jù)輸入輸出端(雙向),后面有詳細(xì)說明。SCLK為時(shí)鐘輸入端。 下圖為DS1302的引腳功能圖: HYPERLINK /albums/1478145/1478145/0/0.html#0$034965f4019666c7f2d385c2 圖3.5 DS1302封裝圖3.2.6 DS1302的控制字節(jié)DS1302 的控制字節(jié)如下圖所示??刂谱止?jié)的最高有效位(位7)必須是邏輯1,如果它為0,則不能把數(shù)據(jù)寫入DS1302中,位6如果為0,則表示存取日歷時(shí)鐘數(shù)據(jù),為1表示存取RAM數(shù)據(jù);位5至位1指示操作
14、單元的地址;最低有效位(位0)如為0表示要進(jìn)行寫操作,為1表示進(jìn)行讀操作,控制字節(jié)總是從最低位開始輸出。 HYPERLINK /albums/1478145/1478145/0/0.html#0$b87985501b71c94a84352478 3.2.7 數(shù)據(jù)輸入輸出(I/O)在控制指令字輸入后的下一個(gè)SCLK時(shí)鐘(shzhng)的上升沿時(shí),數(shù)據(jù)被寫入DS1302,數(shù)據(jù)輸入從低位即位0開始。同樣,在緊跟8位的控制指令字后的下一個(gè)SCLK脈沖的下降沿讀出DS1302的數(shù)據(jù),讀出數(shù)據(jù)時(shí)從低位0位到高位7。圖3.6 DS1302的寄存器 3.2.8 DS1302的寄存器DS1302有12個(gè) HYP
15、ERLINK /view/6159.htm 寄存器,其中有7個(gè)寄存器與日歷(rl)、時(shí)鐘相關(guān),存放的 HYPERLINK /view/190231.htm 數(shù)據(jù)位為BCD碼形式,其日歷(rl)、時(shí)間寄存器及其控制字見表1。此外,DS1302 還有年份寄存器、 HYPERLINK /view/4092816.htm 控制寄存器、充電寄存器、時(shí)鐘突發(fā)寄存器及與RAM相關(guān)的寄存器等。時(shí)鐘突發(fā)寄存器可一次性順序讀寫除充電寄存器外的所有寄存器內(nèi)容。 DS1302與RAM相關(guān)的寄存器分為兩類:一類是單個(gè)RAM單元,共31個(gè),每個(gè)單元 HYPERLINK /view/194580.htm 組態(tài)為一個(gè)8位的字
16、節(jié),其命令控制字為C0HFDH,其中奇數(shù)為讀操作,偶數(shù)為寫操作;另一類為突發(fā)方式下的RAM寄存器,此方式下可一次性讀寫所有的RAM的31個(gè)字節(jié),命令控制字為FEH(寫)、FFH(讀)。圖3.7 DS1302的寄存器3.2.9 液晶顯示LCD1602 1602液晶(yjng)也叫1602字符型液晶,它是一種專門用來顯示字母、數(shù)字、符號(hào)等的點(diǎn)陣型液晶模塊。它由若干個(gè)5X7或者5X11等點(diǎn)陣字符位組成,每個(gè)點(diǎn)陣字符位都可以顯示一個(gè)字符,每位之間有一個(gè)點(diǎn)距的間隔,每行之間也有間隔,起到了字符間距和行間距的作用,正因?yàn)槿绱怂运荒芎芎玫仫@示圖形(用自定義CGRAM,顯示效果也不好)。 1602LCD是
17、指顯示的內(nèi)容為16X2,即可以顯示兩行,每行16個(gè)字符液晶模塊(顯示字符和數(shù)字(shz))。目前市面上字符液晶絕大多數(shù)是基于HD44780液晶芯片的,控制原理是完全相同的,因此基于HD44780寫的控制程序可以很方便地應(yīng)用于市面上大部分的字符型液晶。 管腳功能(gngnng) 圖3.8 LCD1602引腳圖RT-1602采用表中的16 腳接口:第一腳:Vss,電源地。第二腳:VDD,+5V電源。第三腳:VL,液晶顯示偏壓信號(hào)。第四腳:RS,數(shù)據(jù)/命令選擇端,高電平時(shí)選擇數(shù)據(jù)寄存器,低電平時(shí)選擇指令寄存器。第五腳:R/W,讀/寫選擇端。第六腳:E,使能端,當(dāng)E端由高電平跳變成低電平時(shí),液晶模塊執(zhí)
18、行命令。第七14腳:D0D7,為8位雙向數(shù)據(jù)線。第15腳:BLA,背光源正極。第16腳:BLK,背光源負(fù)極。 圖3.9 模塊(m kui)顯示3.2.10 串行時(shí)鐘日歷片DS1302系統(tǒng)的組成與工作(gngzu)原理:系統(tǒng)(xtng)由單片機(jī)AT89C52,串行日歷時(shí)鐘片DS1302,液晶顯示模組LCD1602。DS1302的CLOCK與AT89C52的P1.6相連,RST與P1.5相連,IO與P1.7相連。LCD1602的D0D7與AT89C51的P0.0P.7相連,并接上拉電阻,RS與P2.0相連,RW與P2.1相連,E與P2.2相連。DS1302是DALLAS公司拖出的涓流充電時(shí)鐘芯片,
19、內(nèi)含有一個(gè)實(shí)時(shí)時(shí)鐘/日歷和31個(gè)季節(jié)靜態(tài)RAM,通過簡單地串行接口與單片機(jī)進(jìn)行通信,實(shí)時(shí)時(shí)鐘/日歷電路提供秒、分、時(shí)、日、日期、月、年的信息,每月的天數(shù)和閏年的天數(shù)可自動(dòng)調(diào)整,時(shí)鐘操作可通過AM/PM指示決定采用24小時(shí)或12小時(shí)格式,DS1302與單片機(jī)之間能簡單地采用同步串行方式進(jìn)行通信,僅需用到RES復(fù)位、I/O數(shù)據(jù)線、SCLK串行時(shí)鐘3個(gè)口線。對時(shí)鐘、RAM的讀/寫,可以改用單字節(jié)方式或多達(dá)31個(gè)字節(jié)的字符組方式。DS1302工作時(shí)功耗很低,保持?jǐn)?shù)據(jù)和時(shí)鐘信息是功率小于1mW。DS1302廣泛應(yīng)用于電話傳真、便攜式儀器及電池供電的儀器儀表等產(chǎn)品領(lǐng)域中。RT-1602 字符型液晶模塊是以
20、兩行16個(gè)子的5*7點(diǎn)陣吐信來顯示字符的液晶顯示器。DS1302有8個(gè)引腳:X1、X2:32.768kHz晶振介入引腳。GND:地。RST:復(fù)位引腳,低電平有效。I/O:數(shù)據(jù)輸入(shr)/輸出引腳,具有三態(tài)功能。SCLK:串行時(shí)鐘(shzhng)輸入引腳。Vcc1:工作(gngzu)電源引腳。Vcc2:備用電源引腳。DS1302有一個(gè)控制寄存器,12個(gè)日歷,時(shí)鐘寄存器和31個(gè)RAM??刂萍拇嫫骺刂萍拇嫫饔糜诖娣臘S1302的控制命令字,DS1302的RST引腳回到高電平后寫入的第一個(gè)字就為控制命令。它用于對DS1302讀寫過程進(jìn)行控制,它的格式如下:表3.1 控制寄存器的格式 D7 D6 D
21、5 D4 D3 D2 D1 D01RAM/CKA4A3A2A1A0RD/W各項(xiàng)功能說明如下。D7:固定為1D6:RAM/CK位,片內(nèi)RAM或日歷、時(shí)鐘寄存器選擇位,當(dāng)RAM/CK=1時(shí),對片內(nèi)RAM進(jìn)行讀寫,當(dāng)RAM/CK=0時(shí),對日歷、時(shí)鐘寄存器進(jìn)行讀寫。D5D1:地址位,用于選擇進(jìn)行讀寫的日歷、時(shí)鐘寄存器或片內(nèi)RAM。對日歷、時(shí)鐘寄存器或片內(nèi)RAM的選擇。D0:讀寫位,當(dāng)RD/W=1時(shí),對日歷、時(shí)鐘寄存器或片內(nèi)RAM進(jìn)行讀操作,當(dāng)RD/W=0時(shí),對日歷、時(shí)鐘寄存器或片內(nèi)RAM進(jìn)行寫操作。日歷、時(shí)鐘寄存器DS1302共有12個(gè)寄存器,其中有7個(gè)與日歷、時(shí)鐘相關(guān),存放的數(shù)據(jù)為BCD碼形式。日歷
22、、時(shí)鐘寄存器的格式。說明:數(shù)據(jù)都以BCD碼形式表示。小時(shí)寄存器的D7位為12小時(shí)制/24小時(shí)制的選擇位,當(dāng)為1時(shí)選擇12小時(shí)制,當(dāng)為0時(shí)選24小時(shí)制。當(dāng)12小時(shí)制時(shí),D5位為1是上午,D5位為0是下午,D4位小時(shí)的十位。當(dāng)24小時(shí)制時(shí),D5、D4位為小時(shí)的十位。秒寄存器中的CH位為時(shí)鐘暫停位,當(dāng)為1時(shí),時(shí)鐘暫停,為0時(shí),時(shí)鐘開始啟動(dòng)。寫保護(hù)寄存器中的WP為寫保護(hù)位,WP=1時(shí),寫保護(hù),當(dāng)WP=0時(shí),未寫保護(hù),當(dāng)對日歷、時(shí)鐘(shzhng)寄存器或片內(nèi)RAM進(jìn)行寫時(shí),WP應(yīng)清零,當(dāng)對日歷、時(shí)鐘寄存器或片內(nèi)RAM進(jìn)行讀時(shí),WP一般置1.慢充電寄存器的TCS位為控制慢充電的選擇,當(dāng)它為1010時(shí)才能
23、是慢充電工作。DS為二極管選擇位。DS為01選擇一個(gè)二極管,DS為10選擇兩個(gè)(lin )二極管,DS為11或00充電器被禁止,與TCS無關(guān)。RS用于選擇連接在Vcc2與Vcc1之間的電阻,RS為00,充電器被禁止,與TCS無關(guān)。4.系統(tǒng)軟件(x tn run jin)設(shè)計(jì) 開始4.1 程序流程LCD初始化函數(shù)Lcdlnitiate(); 寫數(shù)據(jù)的顯示地址函數(shù) WriteAddress 顯示Date和Time調(diào)用ReadSet1302(unsigned char Cmd)調(diào)用DisPlay(),分別顯示年、月、日、時(shí)、分 、秒 結(jié)束圖4.1 程序(chngx)流程圖4.2 程序代碼#inclu
24、de /包含(bohn)單片機(jī)寄存器的頭文件#include /包含(bohn)_nop_()函數(shù)定義的頭文件/*以下是DS1302芯片的操作程序*/unsigned char code digit10=0123456789; /定義字符數(shù)組顯示數(shù)字sbit DATA=P17; /位定義1302芯片的接口,數(shù)據(jù)輸出端定義在P1.7引腳sbit RST=P15; /位定義1302芯片的接口,復(fù)位端口定義在P1.5引腳sbit SCLK=P16; /位定義1302芯片的接口,時(shí)鐘輸出端口定義在P1.6引腳/*函數(shù)功能:延時(shí)若干微秒入口參數(shù):n*/ void delaynus(unsigned ch
25、ar n)unsigned char i;for(i=0;in;i+);/*函數(shù)功能:向1302寫一個(gè)(y )字節(jié)數(shù)據(jù)入口(r ku)參數(shù):x*/ void Write1302(unsigned char dat)unsigned char i; SCLK=0; /拉低SCLK,為脈沖上升(shngshng)沿寫入數(shù)據(jù)做好準(zhǔn)備delaynus(2); /稍微等待,使硬件做好準(zhǔn)備for(i=0;i=1; /將dat的各數(shù)據(jù)位右移1位,準(zhǔn)備寫入下一個(gè)數(shù)據(jù)位/*函數(shù)功能:根據(jù)命令字,向1302寫一個(gè)字節(jié)數(shù)據(jù)入口參數(shù):Cmd,儲(chǔ)存命令字;dat,儲(chǔ)存待寫的數(shù)據(jù)*/ void WriteSet1302(
26、unsigned char Cmd,unsigned char dat)RST=0; /禁止數(shù)據(jù)傳遞SCLK=0; /確保寫數(shù)居前SCLK被拉低RST=1; /啟動(dòng)數(shù)據(jù)傳輸delaynus(2); /稍微等待,使硬件做好準(zhǔn)備Write1302(Cmd); /寫入命令字Write1302(dat); /寫數(shù)據(jù)SCLK=1; /將時(shí)鐘(shzhng)電平置于已知狀態(tài)RST=0; /禁止數(shù)據(jù)(shj)傳遞/*函數(shù)功能(gngnng):從1302讀一個(gè)字節(jié)數(shù)據(jù)入口參數(shù):x*/ unsigned char Read1302(void)unsigned char i,dat;delaynus(2); /稍
27、微等待,使硬件做好準(zhǔn)備for(i=0;i=1; /將dat的各數(shù)據(jù)位右移1位,因?yàn)橄茸x出的是字節(jié)的最低位if(DATA=1) /如果讀出的數(shù)據(jù)是1dat|=0 x80; /將1取出,寫在dat的最高位SCLK=1; /將SCLK置于高電平,為下降沿讀出delaynus(2); /稍微等待SCLK=0; /拉低SCLK,形成脈沖下降沿delaynus(2); /稍微等待 return dat; /將讀出的數(shù)據(jù)返回 /*函數(shù)功能:根據(jù)命令字,從1302讀取一個(gè)字節(jié)數(shù)據(jù)入口參數(shù):Cmd*/ unsigned char ReadSet1302(unsigned char Cmd)unsigned ch
28、ar dat;RST=0; /拉低RSTSCLK=0; /確保(qubo)寫數(shù)居前SCLK被拉低RST=1; /啟動(dòng)(qdng)數(shù)據(jù)傳輸Write1302(Cmd); /寫入命令字dat=Read1302(); /讀出數(shù)據(jù)(shj)SCLK=1; /將時(shí)鐘電平置于已知狀態(tài)RST=0; /禁止數(shù)據(jù)傳遞return dat; /將讀出的數(shù)據(jù)返回/*以下是對液晶模塊的操作程序*/sbit RS=P20; /寄存器選擇位,將RS位定義為P2.0引腳sbit RW=P21; /讀寫選擇位,將RW位定義為P2.1引腳sbit E=P22; /使能信號(hào)位,將E位定義為P2.2引腳sbit BF=P07; /
29、忙碌標(biāo)志位,將BF位定義為P0.7引腳/*函數(shù)功能:延時(shí)1ms(3j+2)*i=(333+2)10=1010(微秒),可以認(rèn)為是1毫秒*/void delay1ms()unsigned char i,j; for(i=0;i10;i+)for(j=0;j33;j+); /*函數(shù)功能:延時(shí)若干毫秒入口參數(shù):n*/void delaynms(unsigned char n)unsigned char i;for(i=0;i4)*10 + (ReadValue&0 x0F);/將讀出數(shù)據(jù)轉(zhuǎn)化Display(second,0 x4c); /顯示秒ReadValue = ReadSet1302(0 x8
30、3); /從分寄存器讀minute=(ReadValue&0 x70)4)*10 + (ReadValue&0 x0F); /將讀出數(shù)據(jù)(shj)轉(zhuǎn)化 Display(minute,0 x49); /顯示(xinsh)分ReadValue = ReadSet1302(0 x85); /從小時(shí)(xiosh)寄存器讀hour=(ReadValue&0 x70)4)*10 + (ReadValue&0 x0F); /將讀出數(shù)據(jù)轉(zhuǎn)化Display(hour,0 x46); /顯示小時(shí)ReadValue = ReadSet1302(0 x87); /從分寄存器讀day=(ReadValue&0 x70)
31、4)*10 + (ReadValue&0 x0F); /將讀出數(shù)據(jù)轉(zhuǎn)化Display(day,0 x0c); /顯示日ReadValue = ReadSet1302(0 x89); /從分寄存器讀month=(ReadValue&0 x70)4)*10 + (ReadValue&0 x0F); /將讀出數(shù)據(jù)轉(zhuǎn)化Display(month,0 x09); /顯示月ReadValue = ReadSet1302(0 x8d); /從分寄存器讀year=(ReadValue&0 xf0)4)*10 + (ReadValue&0 x0F); /將讀出數(shù)據(jù)轉(zhuǎn)化Display(year,0 x06); /
32、顯示年 5.系統(tǒng)仿真調(diào)試5.1 仿真原理圖設(shè)計(jì)圖5.1 仿真(fn zhn)原理圖5.2 仿真(fn zhn)工具欄圖5.2仿真(fn zhn)控制按鈕功能:1. 運(yùn)行 2. 單步運(yùn)行 3. 暫停 4. 停止5.2 仿真運(yùn)行(ynxng)過程在Keil下,將所編制的C語言程序編譯后,生成9.HEX文件;再在PROTEUS環(huán)境下,將.HEX文件加到編制的仿真原理圖中進(jìn)行仿真調(diào)試,從而(cng r)生成正確的日期和時(shí)間,該日期和時(shí)間與當(dāng)前系統(tǒng)的日期和時(shí)間相符。5.3 仿真運(yùn)行(ynxng)結(jié)果圖5.3 仿真運(yùn)行結(jié)果圖6.總結(jié)單片機(jī)作為我們主要的專業(yè)課程之一,我覺得單片機(jī)課程設(shè)計(jì)很有必要,而且很有意義。回顧起此次單片機(jī)課程設(shè)計(jì),至今我仍感慨頗多,的確,從選題到定稿,從理論到實(shí)踐,在幾天里,可以說得是苦多于甜,但是可以學(xué)到很多很多的的東西,同時(shí)不僅可以鞏固了以前所學(xué)過的知識(shí),而且學(xué)到
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 《綜合基礎(chǔ)知識(shí)》考點(diǎn)特訓(xùn)《民法》(2020年版)
- 《電子式書寫技巧》課件
- 2024年寫醫(yī)院個(gè)人年終工作總結(jié)
- 《學(xué)校智能化方案》課件
- 《幼教機(jī)構(gòu)行政管理》課件
- 一年級下冊語文部編版課件部首查字法教學(xué)課件
- 細(xì)胞生命之旅
- 透析樓市調(diào)控奧秘
- 保研面試英文自我介紹范文匯編十篇
- 2023年-2024年新員工入職前安全教育培訓(xùn)試題附參考答案(預(yù)熱題)
- 仁愛版九年級上冊英語中考專題復(fù)習(xí)訓(xùn)練課件
- 部編版四年級語文下冊第5單元大單元整體教學(xué)作業(yè)設(shè)計(jì)(教案配套)
- 【超星爾雅學(xué)習(xí)通】【紅色經(jīng)典影片與近現(xiàn)代中國發(fā)展(首都師范大學(xué))】章節(jié)測試及答案
- 市政工程工程開工報(bào)審表及開工令
- 2022-2023學(xué)年新疆維吾爾自治區(qū)烏魯木齊市小學(xué)語文四年級上冊期末通關(guān)試卷
- GB/T 714-2015橋梁用結(jié)構(gòu)鋼
- GB/T 41130-2021展覽場館安全管理基本要求
- GB/T 38502-2020消毒劑實(shí)驗(yàn)室殺菌效果檢驗(yàn)方法
- GB/T 20858-2007玻璃容器用重量法測定容量試驗(yàn)方法
- 臨床常用的抗血栓藥物
- 2022-2023學(xué)年人教版高中地理選擇性必修一課件:5.1 自然地理環(huán)境的整體性 (61張)
評論
0/150
提交評論