![單片機(jī)課程設(shè)計(論文)電子萬年歷_第1頁](http://file2.renrendoc.com/fileroot_temp3/2021-4/7/5eac470e-c512-493d-92b4-106d39f4d1b9/5eac470e-c512-493d-92b4-106d39f4d1b91.gif)
![單片機(jī)課程設(shè)計(論文)電子萬年歷_第2頁](http://file2.renrendoc.com/fileroot_temp3/2021-4/7/5eac470e-c512-493d-92b4-106d39f4d1b9/5eac470e-c512-493d-92b4-106d39f4d1b92.gif)
![單片機(jī)課程設(shè)計(論文)電子萬年歷_第3頁](http://file2.renrendoc.com/fileroot_temp3/2021-4/7/5eac470e-c512-493d-92b4-106d39f4d1b9/5eac470e-c512-493d-92b4-106d39f4d1b93.gif)
![單片機(jī)課程設(shè)計(論文)電子萬年歷_第4頁](http://file2.renrendoc.com/fileroot_temp3/2021-4/7/5eac470e-c512-493d-92b4-106d39f4d1b9/5eac470e-c512-493d-92b4-106d39f4d1b94.gif)
![單片機(jī)課程設(shè)計(論文)電子萬年歷_第5頁](http://file2.renrendoc.com/fileroot_temp3/2021-4/7/5eac470e-c512-493d-92b4-106d39f4d1b9/5eac470e-c512-493d-92b4-106d39f4d1b95.gif)
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、摘要本設(shè)計是電子萬年歷。具備兩個功能:能顯示年月日時分秒及星期信息,并具有可調(diào)整日期和時間功能。我選用的是單片機(jī)(8051)來實現(xiàn)電子萬年歷的功能。該電子萬年歷能夠成功實現(xiàn)時鐘運行、調(diào)整、顯示年月日時分秒信息。該電子萬年歷使用ds1302與單片機(jī)8051相連接,通過軟件編程的方法實現(xiàn)了以24小時為一個周期同時顯示小時,分鐘和秒的要求。利用單片機(jī)定時器及計數(shù)器產(chǎn)生定時效果通過編程形成數(shù)字鐘效果,再利用點陣字符型液晶顯示模塊動態(tài)掃描顯示單片機(jī)內(nèi)部處理的數(shù)據(jù)。同時通過端口讀入當(dāng)前外部控制狀態(tài)來改變程序的不同狀態(tài),實現(xiàn)不同功能。本電子萬年歷采用單片機(jī)來設(shè)計制作完成,由于其功能的實現(xiàn)主要通過軟件編程來完
2、成,這就降低了硬件電路的復(fù)雜性,也降低了成本。在該設(shè)計與制作中我選用了單片機(jī)8051,它是低功耗、高性能的cmos型8位單片機(jī)。片內(nèi)帶有4kb的存儲器,且允許在系統(tǒng)內(nèi)改寫或用編程器編程。另外, 8051片內(nèi)有128b 的ram、32條i/o口線、2個16位定時計數(shù)器、5個中斷源、一個全雙工串行口等。因此,采用8051原理制作的電子萬年歷,不僅僅在原理上能夠成功實現(xiàn)計時等功能,也更經(jīng)濟(jì),更適用,更符合我們實際生活的需要。目錄1 設(shè)計的意義及主要功能31.1 意義31.2 主要功能32 方案論證32.1 顯示模塊方案選擇和論證32.2 時鐘芯片方案選擇和論證32.3 最終電路設(shè)計方案33 硬件電路
3、的設(shè)計44 總結(jié)65 參考文獻(xiàn)6附錄71 設(shè)計的意義及主要功能1.1 意義電子萬年歷作為電子類小設(shè)計不僅是市場上的寵兒,也是是單片機(jī)實驗中一個很常用的題目。因為它有很好的開放性和可發(fā)揮性,因此對作者的要求比較高,不僅考察了對單片機(jī)的掌握能力更加強(qiáng)調(diào)了對單片機(jī)擴(kuò)展的應(yīng)用。而且在操作的設(shè)計上要力求簡潔,功能上盡量齊全,顯示界面也要出色。所以,電子萬年歷無論作為競賽題目還是畢業(yè)設(shè)計題目都是很有價值。1.2 主要功能設(shè)計一臺電子萬年歷,主控芯片采用8051單片機(jī),日歷時鐘芯片采用美國dallas公司推出的高性能、低功耗、帶ram的實時時鐘ds1302,顯示器采用點陣字符型液晶顯示模塊,分2行顯示,第1
4、行顯示日、月、年,第2行顯示時、分、秒。2 方案論證2.1 顯示模塊方案選擇和論證方案一:采用led數(shù)碼管動態(tài)掃描,led數(shù)碼管價格適中,對于顯示數(shù)字合適,采用動態(tài)掃描法與單片機(jī)連接時,雖然占用的單片機(jī)口線少,但連線還需要花費一點時間,所以也不用此種作為顯示。方案二:采用點陣式數(shù)碼管顯示,點陣式數(shù)碼管是由八行八列的發(fā)光二極管組成,對于顯示文字比較適合,如采用在顯示數(shù)字顯得太浪費,且價格也相對較高,所以也不用此種作為顯示。方案三:采用lcd液晶顯示屏,液晶顯示屏的顯示功能強(qiáng)大,可顯示大量文字,圖形,顯示多樣,清晰可見2.2 時鐘芯片方案選擇和論證方案一:直接采用單片機(jī)定時計數(shù)器提供秒信號,使用程
5、序?qū)崿F(xiàn)年、月、日、星期、時、分、秒計數(shù)。采用此種方案雖然減少芯片的使用,節(jié)約成本,但是,實現(xiàn)的時間誤差較大,所以不采用此方案。方案二:采用ds1302時鐘芯片實現(xiàn)時鐘,ds1302芯片是一種高性能的時鐘芯片,可自動對秒、分、時、日、周、月、年進(jìn)行計數(shù),而且精度高,位的ram做為數(shù)據(jù)暫存區(qū),工作電壓2.5v5.5v。2.3 最終電路設(shè)計方案對此次作品的方案選定: 采用8051作為主控制系統(tǒng); ds1302提供時鐘;lcd液晶顯示屏作為顯示。(注:在這學(xué)期的專業(yè)課中主要學(xué)習(xí)了8051單片機(jī),對8051單片機(jī)的功能有了較為全面的認(rèn)識,故本次設(shè)計采用8051單片機(jī))3 硬件電路的設(shè)計圖1所示為電子萬年
6、歷的硬件電路圖,主要包括8051單片機(jī)、日歷時鐘芯片ds1302、點陣字符型液晶顯示模塊。日歷時鐘芯片ds1302是一種串行接口的實時時鐘,芯片內(nèi)部具有可編程日歷時鐘和31個字節(jié)的靜態(tài)ram,日歷時鐘可自動進(jìn)行閏年補(bǔ)償,計時準(zhǔn)確,接口簡單,使用方便,工作電壓范圍寬(2.5v5.5v),功耗低,芯片自身還具有對備份電池進(jìn)行涓流充電功能,可有效延長備份電池的壽命。 圖1圖2ds1302采用8腳dip封裝,其引腳排列如圖2所示,各引腳功能如下。l vcc1,vcc2:電源輸入。l gnd:地。l x1,x2:外接32.768khz石英晶振輸入。l rst:復(fù)位/通信允許。l i/o:數(shù)據(jù)輸入/輸出端
7、。l sclk:串行時鐘輸入。 8051單片機(jī)與ds1302之間采用3線串行通信方式。復(fù)位/通信允許信號rst接到單片機(jī)的p1.5引腳,rst=1允許通信,rst=0禁止通信;串行時鐘信號sclk接到單片機(jī)的p1.6引腳;數(shù)據(jù)輸入/輸出信號i/o接到單片機(jī)的p1.7引腳。8051作為主機(jī)通過控制rst、sclk和i/o信號實現(xiàn)兩芯片間的數(shù)據(jù)傳送。ds1302芯片的x1和x2端外接32.768khz的石英晶振,vcc1和vcc2是電源引腳,單電源供電時接vcc1腳,雙電源供電時主電源接vcc2,備份電池接vcc1,如果采用可充電鎳鎘電池,可啟用內(nèi)部涓流充電器在主電壓正常時向電池充電,以延長電池使
8、用時間。備份電池也可用1f以上的超容量電容代替,需要注意備份電池電壓應(yīng)略低于主電源工作電壓。數(shù)據(jù)傳送是以8051單片機(jī)為主控芯片進(jìn)行的,每次傳送時由8051向ds1302寫入一個命令字節(jié)開始。命令字節(jié)的格式如下:命令字節(jié)的最高位必須為1。ram/ck位為ds1302片內(nèi)ram/時鐘選擇位,ram/ck=1選擇ram操作,ram/ck=0選擇時鐘操作。rd/w位為讀寫控制位,rd/w=1為讀操作,表示ds1302接受完命令字節(jié)后,按指定的選擇對象及寄存器(或ram)地址,讀取數(shù)據(jù)并通過i/o線傳送給單片機(jī)8051.rd/w=0為寫操作,表示ds1302接受完命令字節(jié)后,緊跟著再接收來自單片機(jī)80
9、51的數(shù)據(jù)字節(jié),并寫入到ds1302相應(yīng)的寄存器或ram單元中。a4a0為片內(nèi)日歷時鐘寄存器或ram的地址選擇位。ds1302與8051之間通過i/o線進(jìn)行同步串行數(shù)據(jù)傳送,sclk為串行通信時的位同步時鐘,一個sclk脈沖傳送一位數(shù)據(jù)。每次數(shù)據(jù)傳送時都以字節(jié)為單位,低位在前,高位在后,傳送一個字節(jié)需要8個脈沖。數(shù)據(jù)傳送可以單字節(jié)方式或多字節(jié)突發(fā)方式進(jìn)行。數(shù)據(jù)單字節(jié)方式傳送時序如圖3所示,在rst=1期間,8051單片機(jī)先向ds1302發(fā)送一個命令字節(jié),緊接發(fā)送一個字節(jié)的數(shù)據(jù),ds1302在接收的命令字節(jié)后自動將數(shù)據(jù)寫入指定的片內(nèi)地址或從該地址讀取數(shù)據(jù)。 圖3數(shù)據(jù)多字節(jié)突發(fā)方式傳送時序如圖4所
10、示。rst=1期間,若8051單片機(jī)向ds1302發(fā)送的命令字節(jié)中a0a4全為1,則ds1302在接收到這個命令字節(jié)后可以一次進(jìn)行8個字節(jié)日歷時鐘數(shù)據(jù)或是31個片內(nèi)ram單元數(shù)據(jù)的讀寫操作。 圖4從以上時序可知,單字節(jié)方式傳送一次數(shù)據(jù)需要16個sclk脈沖,多字節(jié)傳送方式傳送一次數(shù)據(jù)在對日歷時鐘進(jìn)行讀寫時需要72個sclk脈沖,而在對片內(nèi)ram單元讀寫時則最多需要256個sclk脈沖。單字節(jié)操作方式可保證數(shù)據(jù)傳送時的安全性和可靠性,多字節(jié)操作方式則可提高數(shù)據(jù)傳送速度,兩種方式可視需要靈活選用。另外ds1302的外接晶振推薦采用32.768khz,電容推薦6pf,由于晶振頻率較低,也可以不接電容
11、,對計時精度影響不大。ds1302共有12個寄存器,其中7個寄存器與日歷時鐘有關(guān),存放的數(shù)據(jù)為bcd碼格式,日歷、時鐘寄存器地址及其內(nèi)容如圖5所示。秒寄存器的第7位為時鐘暫??刂莆唬撐粸?時暫停時鐘振蕩器,ds1302進(jìn)入低功耗狀態(tài),該位為0時啟動時鐘。時寄存器的第7位為12或24小時方式選擇,該位為1時選擇12小時方式,該位為0時選擇24小時方式。在12小時方式下,時寄存器的第5位為am/pm選擇,該位為1時選擇pm,該位為0時選擇am,在24小時方式下,時寄存器的第5位為第2個小時位(2023)。 圖5電子萬年歷的顯示部分采用點陣字符型液晶顯示模塊,以直接方式與8051單片機(jī)進(jìn)行接口。將
12、單片機(jī)的p2.7通過適當(dāng)邏輯門電路組合接到液晶顯示模塊的e端,p0口通過外部鎖存器得到的最低2位地址線a0和a1分別接到液晶顯示模塊的rw和rs端,從而可得該接口電路的命令寫入地址為7ff0h,命令讀取地址為7ff1h,數(shù)據(jù)操作地址為7ff2h,分別對這3個地址進(jìn)行操作即可將ds1302中的日歷時鐘信息顯示在lcd屏幕上。4 總結(jié)這次課程設(shè)計從開始到制作成功前后超過了一個星期。當(dāng)電子萬年歷可以成功實現(xiàn)時,那種激動和喜悅只有自己可以體會。在整個設(shè)計過程中,充分發(fā)揮人的主觀能動性,自主學(xué)習(xí),學(xué)到了許多沒學(xué)到的知識。較好的完成了設(shè)計,達(dá)到了預(yù)期的目的,完了最初的設(shè)想。對電路的設(shè)計、布局要先有一個好的
13、構(gòu)思,才顯得電路板美觀、大方。程序編寫中,由于思路不清晰,開始時遇到了很多的問題,經(jīng)過靜下心來思考,和同學(xué)討論,理清了思路,反而得心應(yīng)手。在此次設(shè)計中,知道了做事要有一顆平常的心,不要想著走捷徑,一步一個腳印。此次課程設(shè)計中學(xué)到了很多很多東西,這是最重要的。總之,此次課程設(shè)計使我的能力得到了全方位的提高,使得我的操作能力和專業(yè)技能都有了很大的提高。5 參考文獻(xiàn)1.徐愛鈞.單片機(jī)原理實用教程基于proteus虛擬仿真.北京:電子工業(yè)出版社,2009年1月2.李全利.單片機(jī)原理及接口技術(shù).北京:高等教育出版社,2009年1月.3. 魏立峰、王寶興.單片機(jī)原理與應(yīng)用技術(shù).北京:北京大學(xué)出版社,200
14、6年3月.4. 王守中.51單片機(jī)開發(fā)入門與經(jīng)典實例.北京:人民郵電出版社,20075. 張毅剛.mcs-51單片機(jī)原理及應(yīng)用.高等教育出版社,20036. 李海濤.單片機(jī)應(yīng)用開發(fā)典型模塊.人民郵電出版社, 2007附錄在8051單片機(jī)內(nèi)ram中開辟30h36h作為萬年歷的秒、分、時、日、月、周和年計時單位,并將初始時間設(shè)為23:59:55,初始日期設(shè)為07年12月31日第一周。采用8051單片機(jī)片內(nèi)定時器t0來定時刷新lcd顯示內(nèi)容,t0定時初值設(shè)為50ms,以查詢方式檢查t0溢出標(biāo)志,每當(dāng)溢出次數(shù)達(dá)到20時,讀取一次ds1302的日歷時鐘數(shù)據(jù),同時對lcd顯示信息進(jìn)行更新。電子萬年歷的軟件
15、程序:t_rst bit p1.5 ;實時時鐘復(fù)位線引腳t_clk bit p1.6 ;實時時鐘時鐘線引腳t_io bit p1.7 ;實時時鐘數(shù)據(jù)線引腳second equ 30hminute equ 31hhour equ 32hday equ 33hmonth equ 34hweek equ 35hyearl equ 36h;*/ org 0000hstart: ljmp main org 0060hmain: mov sp,#60h ;修改堆棧;* mov second,#55h ;初始時間設(shè)為23:59:55 mov minute,#59h mov hour,#23h mov day
16、,#31h ;初始日期設(shè)為07年12月31日第一周 mov month,#12h mov week,#01h mov yearl,#07h lcall setds1302 lcall lcd_init ;調(diào)用液晶模塊初始化子程序 mov r3,#20 mov tmod,#01h mov th0,#3ch ;置定時器初值(定時50ms) mov tl0,#0b0h setb tr0 ;啟動定時器0lp1: jbc tf0,lp2 ;查詢計數(shù)溢出 sjmp lp1 ;未到50 ms繼續(xù)計數(shù)lp2: mov th0,#3ch ;重新置定時器初值 mov tl0,#0b0h mov r2,#81h ;
17、從第1行第2位開始,設(shè)置ddram地址 lcall wrtc mov dptr,#zifu1 ;指向顯示字符代碼首地址 mov r4,#06h lcall wp1 ;第1行字符代碼寫入ddram lcall dispymd ;顯示年月日 mov r2,#0c1h ;設(shè)置第2行ddram地址 lcall wrtc mov dptr,#zifu2 ;指向顯示字符代碼首地址 mov r4,#06h lcall wp1 ;第1行字符代碼寫入ddram lcall disphms ;顯示時分秒 djnz r3,lp1 ;未到1s繼續(xù)循環(huán) lcall get1302 ;每到1s從ds1302讀取一次時間
18、mov r3,20 sjmp lp1zifu1: db date: zifu2: db time: ;*disphms:mov a,hour ;時分秒顯示子程序 swap a anl a,#03h add a,#30h mov r2,a lcall wrtd mov a,hour anl a,#0fh add a,#30h movr2,a lcall wrtd mov r2,#2dh lcall wrtd mov a,minute ;顯示分 swap a anl a,#07h add a,#30h mov r2,a lcall wrtd mov a,minute anl a,#0fh add
19、a,#30h mov r2,a lcall wrtd mov r2,#2dh lcall wrtd mov a,second ;顯示秒 swap a anl a,#07h add a,#30h mov r2,a lcall wrtd mov a,second anl a,#0fh add a,#30h mov r2,a lcall wrtd ret;*dispymd:mov a,yearl ;年月日顯示子程序 swap a anl a,#03h add a,#30h mov r2,a lcall wrtd mov a,yearl anl a,#0fh adda,#30h movr2,a lca
20、ll wrtd mov r2,#2dh lcall wrtd mov a,month ;顯示月 swap a anl a,#07h add a,#30h mov r2,a lcallwrtd mov a,month anl a,#0fh add a,#30h mov r2,a lcall wrtd mov r2,#2dh lcall wrtd mov a,day ;顯示日 swap a anl a,#07h add a,#30h mov r2,a lcall wrtd mov a,day anl a,#0fh add a,#30h movr2,a lcall wrtd ret ;*setds1
21、302: clr t_rst;設(shè)置ds1302初始時間,并啟動計時 nop clr t_clk nop setb t_rst nop mov b,#8eh ;寫控制命令字 lcall inputbyte mov b,#00h ;寫保護(hù)關(guān)閉 lcall inputbyte setb t_clk nop clr t_rst mov r0,#second ;內(nèi)存中的時間首地址 mov r1,#80h ;ds1302中的時間首地址 mov r7,#7 ;字節(jié)數(shù)setloop:clr t_rst nop clr t_clk nop setb t_rst nop mov b,r1 ;寫命令字 lcall
22、inputbyte mov a,r0 ;設(shè)置時間 mov b,a lcall inputbyte inc r0 inc r1 inc r1 setb t_clk nop clr t_rst nop djnz r7,setloop clr t_rst nop clr t_clk nop setb t_rst nop mov b,#8eh lcall inputbyte mov b,#80h ;開寫保護(hù) lcall inputbyte setb t_clk nop clr t_rst nop ret;*get1302: ;從ds1302讀取時間 mov r0,#second mov r1,#81h
23、 ;ds1302中讀時間的首地址 mov r7,#7getloop:clr t_rst nop clr t_clk nop setb t_rst nop mov b,r1 lcall inputbyte ;寫命令字 lcall outputbyte ;讀時間 mov r0,a ;將從ds1302中讀取的時間從內(nèi)存中保存 inc r0 ;修改地址指針 inc r1 inc r1 setb t_clk nop clr t_rst nop djnz r7,getloop ret;*inputbyte:mov r4,#8;向ds1302寫一個字節(jié)inputloop:mov a,b rrc a mov b,a mov t_io,c setb t_clk nop clr t_clk djnz r4,inputloop ret;*outputbyte:clr a ;從ds1302讀一個字節(jié) clr c mov r4,#8outputloop:nop mov c,t_io rrc a setb t_clk nop clr t_clk djnz r4,
溫馨提示
- 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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 滄州職業(yè)技術(shù)學(xué)院《學(xué)科教學(xué)技能訓(xùn)練》2023-2024學(xué)年第二學(xué)期期末試卷
- 山東體育學(xué)院《景觀設(shè)計方法Ⅱ?qū)嵱?xùn)》2023-2024學(xué)年第二學(xué)期期末試卷
- 廣州東華職業(yè)學(xué)院《軟件工程倫理學(xué)》2023-2024學(xué)年第二學(xué)期期末試卷
- 重慶護(hù)理職業(yè)學(xué)院《素描著衣全身像》2023-2024學(xué)年第二學(xué)期期末試卷
- 合肥幼兒師范高等??茖W(xué)?!懂a(chǎn)品語義學(xué)》2023-2024學(xué)年第二學(xué)期期末試卷
- 哈爾濱科學(xué)技術(shù)職業(yè)學(xué)院《國際貿(mào)易與實務(wù)》2023-2024學(xué)年第二學(xué)期期末試卷
- 哈爾濱北方航空職業(yè)技術(shù)學(xué)院《中國文化概論》2023-2024學(xué)年第二學(xué)期期末試卷
- 武漢學(xué)院《問卷調(diào)查設(shè)計》2023-2024學(xué)年第二學(xué)期期末試卷
- 昆明冶金高等??茖W(xué)校《社會工作政策與法規(guī)》2023-2024學(xué)年第二學(xué)期期末試卷
- 遼寧工程技術(shù)大學(xué)《管理會計》2023-2024學(xué)年第二學(xué)期期末試卷
- 江蘇省科技企業(yè)孵化器孵化能力評價研究的中期報告
- 供應(yīng)商審核培訓(xùn)教程
- 酒精性肝硬化伴食管胃底靜脈曲張破裂出血的護(hù)理查房
- 無人機(jī)巡檢方案完整版
- 備課專業(yè)化讀書分享課件
- 《爆破作業(yè)單位許可證》申請表
- Link 16協(xié)議開發(fā)和關(guān)鍵技術(shù)研究的開題報告
- 激素性白內(nèi)障的健康宣教
- 全冊(教學(xué)設(shè)計)-蘇教版勞動六年級下冊
- 尺寸鏈的計算表格
- (全)建筑施工安全風(fēng)險辨識分級管控指南
評論
0/150
提交評論