課程設(shè)計(jì)(論文)基于ATMEGA16單片機(jī)的可調(diào)日歷_第1頁
課程設(shè)計(jì)(論文)基于ATMEGA16單片機(jī)的可調(diào)日歷_第2頁
課程設(shè)計(jì)(論文)基于ATMEGA16單片機(jī)的可調(diào)日歷_第3頁
課程設(shè)計(jì)(論文)基于ATMEGA16單片機(jī)的可調(diào)日歷_第4頁
課程設(shè)計(jì)(論文)基于ATMEGA16單片機(jī)的可調(diào)日歷_第5頁
已閱讀5頁,還剩28頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、信息工程學(xué)院課程設(shè)計(jì)報(bào)告書題目: 基于atmega16單片機(jī)的可調(diào)日歷 專 業(yè): 電子信息科學(xué)與技術(shù) 班 級(jí): 學(xué) 號(hào): 學(xué)生姓名: 指導(dǎo)教師: 2010年 9月 25日 信息工程學(xué)院課程設(shè)計(jì)任務(wù)書學(xué) 號(hào)學(xué)生姓名專業(yè)(班級(jí))設(shè)計(jì)題目基于atmega16單片機(jī)的可調(diào)日歷設(shè)計(jì)技術(shù)參數(shù) 1. 一片avr系列的atmega16單片機(jī)做主控制器; 2. 一片時(shí)鐘芯片ds1302可以對(duì)年、月、日、周日、時(shí)、分、秒進(jìn)行計(jì)時(shí),還具有閏年補(bǔ)償?shù)榷喾N功能; 3. 一塊lcd顯示屏可以顯示中文、數(shù)字; 4. 5個(gè)靜態(tài)掃描的按鍵組成調(diào)節(jié)鍵盤。設(shè)計(jì)要求1. 基于avr系列的單片機(jī)進(jìn)行的電子日歷的設(shè)計(jì);2. 可以顯示年月

2、日時(shí)分秒及周信息,以及閏年補(bǔ)償;3. 具有可調(diào)整日期和時(shí)間功能;工作量 1. 繪出硬件電路圖; 2. 編寫控制程序; 3. 給出系統(tǒng)仿真; 4. 完成課程設(shè)計(jì)報(bào)告。工作計(jì)劃 1. 9月1日、2日查找資料給出設(shè)計(jì)題目; 2. 9月3日9月9日作出設(shè)計(jì)方案; 3. 9月10日9月16日初步完成電路設(shè)計(jì); 4. 9月17日9月20日完成軟件及系統(tǒng)設(shè)計(jì); 5. 9月21日9月25日完成設(shè)計(jì)報(bào)告。參考資料1康華光,陳大欽. 電子技術(shù)基礎(chǔ)模擬部分(第五版)m. 北京:高等教育出版社,20052劉勇. 數(shù)字電路 m.北京:電子工業(yè)出版社,20043陳正振. 電子電路設(shè)計(jì)與制作 m.廣西:廣西交通職業(yè)技術(shù)學(xué)院

3、信息工程系出版, 20074王法能. 單片機(jī)原理及應(yīng)用 m. 北京:科學(xué)出版社, 2004指導(dǎo)教師簽字教研室主任簽字 2010年9月25日 學(xué)生姓名: 學(xué)號(hào): 專業(yè)(班級(jí)): 課程設(shè)計(jì)題目: 基于atmega16單片機(jī)的可調(diào)日歷 指導(dǎo)教師評(píng)語: 成績: 指導(dǎo)教師: 2010年 9月 25日摘要 隨著科技的快速發(fā)展,時(shí)間的流逝,從觀察太陽、擺鐘到現(xiàn)在的電子鐘,人類不斷研究,不斷創(chuàng)新紀(jì)錄。美國dallas公司推出的具有涓細(xì)電流充電能的低功耗實(shí)時(shí)時(shí)鐘電路ds1302。它可以對(duì)年、月、日、周日、時(shí)、分、秒進(jìn)行計(jì)時(shí),還具有閏年補(bǔ)償?shù)榷喾N功能,而且ds1302時(shí)鐘的使用壽命長,誤差小。對(duì)于數(shù)字電子萬年歷采

4、用直觀的數(shù)字顯示,可以同時(shí)顯示年、月、日、周日、時(shí)、分、秒和溫度等信息,還具有時(shí)間校準(zhǔn)等功能。該電路采用atmega16單片機(jī)作為核心,功耗小,能在3v的低壓工作,電壓可選用35v電壓供電。 綜上所述此萬年歷具有讀取方便、顯示直觀、功能多樣、電路簡潔、成本低廉等諸多優(yōu)點(diǎn),符合電子儀器儀表的發(fā)展趨勢(shì),具有廣闊的市場(chǎng)前景。本設(shè)計(jì)是基于avr系列的單片機(jī)進(jìn)行的電子萬年歷設(shè)計(jì),可以顯示年月日時(shí)分秒及周信息,具有可調(diào)整日期和時(shí)間功能。在設(shè)計(jì)的同時(shí)對(duì)單片機(jī)的理論基礎(chǔ)和外圍擴(kuò)展知識(shí)進(jìn)行了比較全面準(zhǔn)備。在硬件與軟件設(shè)計(jì)時(shí),沒有良好的基礎(chǔ)知識(shí)和實(shí)踐經(jīng)驗(yàn)會(huì)受到很大限制,每項(xiàng)功能實(shí)現(xiàn)時(shí)需要那種硬件,程序該如何編寫,

5、算法如何實(shí)現(xiàn)等,沒有一定的基礎(chǔ)就不可能很好的實(shí)現(xiàn)。關(guān)鍵詞:avr、ds1302時(shí)鐘、lcd顯示、可調(diào)節(jié)。abstractwith the rapid development of science and technology, the passage of time, from the observation of the sun, the pendulum clock to the present, humans continue to research, innovation record. dallas launched with the united states juan thin

6、current charge to low-power real time clock circuit ds1302. it can be year, month, day, sunday, hours, minutes, seconds for time, but also has leap-year compensation, and other functions, and the ds1302s long life, small error. for digital electronic calendar using an intuitive digital display that

7、can display year, month, day, sunday, hours, minutes, seconds, and temperature and other information, also has the time calibration and other functions. this circuit uses the atmega16 microcontroller as the core, power consumption, low-voltage work in 3v, the voltage can choose 3 5v supply voltage.t

8、his calendar has a convenient summary read, intuitive display, versatile, circuit simplicity, low cost and many other advantages, in line with the development trend of electronic instrumentation, and has broad market prospects.the design is based on the avr microcontroller series, the design of elec

9、tronic calendar, you can display year, month, day, hour and weekly information, date and time with adjustable features. while in the design of the theoretical basis of the mcu and peripheral expansion of a more comprehensive knowledge of preparation. hardware and software design, without good basic

10、knowledge and practical experience will be very limited, each feature is required to achieve the kind of hardware, procedures, how to write, how to implement such algorithms, there can not be a good basis implementation.keywords: avr microcontroller, ds1302 clock, lcd display, adjustable.目錄摘要i1引言12

11、方案論證22.1 單片機(jī)芯片的選擇方案和論證22.2 顯示模塊選擇方案和論證22.3 時(shí)鐘芯片的選擇方案和論證22.4 電路設(shè)計(jì)最終方案決定33 系統(tǒng)的硬件設(shè)計(jì)與實(shí)現(xiàn)43.1 電路設(shè)計(jì)框圖43.2 系統(tǒng)硬件概述43.3 主要單元電路的設(shè)計(jì)43.3.1 單片機(jī)主控制模塊的設(shè)計(jì)43.3.2 時(shí)鐘電路模塊的設(shè)計(jì)53.3.3 電路原理及說明54 系統(tǒng)的軟件設(shè)計(jì)84.1 程序流程框圖85 proteus軟件仿真95.1proteus isis簡介95.2proteus運(yùn)行流程95.3proteus功能仿真106課程設(shè)計(jì)總結(jié)與體會(huì)12參考文獻(xiàn)13附錄一:系統(tǒng)電路圖14附錄二:系統(tǒng)程序141引言 隨著科技的

12、快速發(fā)展,時(shí)間的流逝,從觀察太陽、擺鐘到現(xiàn)在的電子鐘,人類不斷研究,不斷創(chuàng)新紀(jì)錄。美國dallas公司推出的具有涓細(xì)電流充電能的低功耗實(shí)時(shí)時(shí)鐘電路ds1302。它可以對(duì)年、月、日、周日、時(shí)、分、秒進(jìn)行計(jì)時(shí),還具有閏年補(bǔ)償?shù)榷喾N功能,而且ds1302時(shí)鐘的使用壽命長,誤差小。對(duì)于數(shù)字電子萬年歷采用直觀的數(shù)字顯示,可以同時(shí)顯示年、月、日、周日、時(shí)、分、秒和溫度等信息,還具有時(shí)間校準(zhǔn)等功能。該電路采用atmega16單片機(jī)作為核心,功耗小,能在3v的低壓工作,電壓可選用35v電壓供電。 綜上所述此萬年歷具有讀取方便、顯示直觀、功能多樣、電路簡潔、成本低廉等諸多優(yōu)點(diǎn),符合電子儀器儀表的發(fā)展趨勢(shì),具有廣

13、闊的市場(chǎng)前景。本設(shè)計(jì)是基于avr系列的單片機(jī)進(jìn)行的電子萬年歷設(shè)計(jì),可以顯示年月日時(shí)分秒及周信息,具有可調(diào)整日期和時(shí)間功能。在設(shè)計(jì)的同時(shí)對(duì)單片機(jī)的理論基礎(chǔ)和外圍擴(kuò)展知識(shí)進(jìn)行了比較全面準(zhǔn)備。在硬件與軟件設(shè)計(jì)時(shí),沒有良好的基礎(chǔ)知識(shí)和實(shí)踐經(jīng)驗(yàn)會(huì)受到很大限制,每項(xiàng)功能實(shí)現(xiàn)時(shí)需要那種硬件,程序該如何編寫,算法如何實(shí)現(xiàn)等,沒有一定的基礎(chǔ)就不可能很好的實(shí)現(xiàn)。2 方案論證2.1 單片機(jī)芯片的選擇方案和論證方案一: 采用89c51芯片作為硬件核心,采用flash rom,內(nèi)部具有4kb rom 存儲(chǔ)空間,能于3v的超低壓工作,而且與mcs-51系列單片機(jī)完全兼容,但是運(yùn)用于電路設(shè)計(jì)中時(shí)由于不具備isp在線編程技術(shù)

14、, 當(dāng)在對(duì)電路進(jìn)行調(diào)試時(shí),由于程序的錯(cuò)誤修改或?qū)Τ绦虻男略龉δ苄枰獰氤绦驎r(shí),對(duì)芯片的多次拔插會(huì)對(duì)芯片造成一定的損壞。方案二:采用atmega16, 16k字節(jié)的系統(tǒng)內(nèi)可編程flash(具有同時(shí)讀寫的能力,即rww),能以3v的超底壓工作,同樣具有89c51的功能,且具有在線編程可擦除技術(shù),512 字節(jié)eeprom,1k 字節(jié)sram,32 個(gè)通用i/o 口線,32 個(gè)通用工作寄存器,用于邊界掃描的jtag 接口,支持片內(nèi)調(diào)試與編程,三個(gè)具有比較模式的靈活的定時(shí)器/ 計(jì)數(shù)器(t/c),片內(nèi)/外中斷,可編程串行usart,有起始條件檢測(cè)器的通用串行接口,8路10位具有可選差分輸入級(jí)可編程增益(t

15、qfp 封裝) 的adc ,具有片內(nèi)振蕩器的可編程看門狗定時(shí)器,一個(gè)spi 串行端口,以及六個(gè)可以通過軟件進(jìn)行選擇的省電模式。所以選擇采用atmega16作為主控制系統(tǒng)。2.2 顯示模塊選擇方案和論證方案一: 采用led數(shù)碼管動(dòng)態(tài)掃描,led數(shù)碼管價(jià)格適中,對(duì)于顯示數(shù)字合適,采用動(dòng)態(tài)掃描法與單片機(jī)連接時(shí),雖然占用的單片機(jī)口線少,但連線還需要花費(fèi)一點(diǎn)時(shí)間,所以也不用此種作為顯示。方案二: 采用點(diǎn)陣式數(shù)碼管顯示,點(diǎn)陣式數(shù)碼管是由八行八列的發(fā)光二極管組成,對(duì)于顯示文字比較適合,如采用在顯示數(shù)字顯得太浪費(fèi),且價(jià)格也相對(duì)較高,所以也不用此種作為顯示。方案三: 采用lcd液晶顯示屏,液晶顯示屏的顯示功能強(qiáng)

16、大,可顯示大量文字,圖形,顯示多樣,清晰可見,所以在此設(shè)計(jì)中采用lcd液晶顯示屏。2.3 時(shí)鐘芯片的選擇方案和論證方案一: 直接采用單片機(jī)定時(shí)計(jì)數(shù)器提供秒信號(hào),使用程序?qū)崿F(xiàn)年、月、日、星期、時(shí)、分、秒計(jì)數(shù)。采用此種方案雖然減少芯片的使用,節(jié)約成本,但是,實(shí)現(xiàn)的時(shí)間誤差較大,所以不采用此方案。方案二: 采用ds1302時(shí)鐘芯片實(shí)現(xiàn)時(shí)鐘,ds1302芯片是一種高性能的時(shí)鐘芯片,可自動(dòng)對(duì)秒、分、時(shí)、日、周、月、年進(jìn)行計(jì)數(shù),而且精度高,位的ram做為數(shù)據(jù)暫存區(qū),工作電壓2.5v5.5v范圍內(nèi),2.5v時(shí)耗電小于300na。2.4 電路設(shè)計(jì)最終方案決定綜上各方案所述,對(duì)此次作品的方案選定: 采用atme

17、ga16作為主控制系統(tǒng); ds1302提供時(shí)鐘;lcd液晶顯示屏作為顯示。3 系統(tǒng)的硬件設(shè)計(jì)與實(shí)現(xiàn)3.1 電路設(shè)計(jì)框圖atmega16主控器時(shí)鐘模塊顯示模塊調(diào)節(jié)鍵盤圖1系統(tǒng)原理圖3.2 系統(tǒng)硬件概述本電路是由atmega16單片機(jī)為控制核心,具有在線編程功能,低功耗,能在3v超低壓工作;時(shí)鐘電路由ds1302提供,它是一種高性能、低功耗、帶ram的實(shí)時(shí)時(shí)鐘電路,它可以對(duì)年、月、日、周日、時(shí)、分、秒進(jìn)行計(jì)時(shí),具有閏年補(bǔ)償功能,工作電壓為2.5v5.5v。采用三線接口與cpu進(jìn)行同步通信,并可采用突發(fā)方式一次傳送多個(gè)字節(jié)的時(shí)鐘信號(hào)或ram數(shù)據(jù)。ds1302內(nèi)部有一個(gè)31*8的用于臨時(shí)性存放數(shù)據(jù)的r

18、am寄存器??僧a(chǎn)生年、月、日、周日、時(shí)、分、秒,具有使用壽命長,精度高和低功耗等特點(diǎn),同時(shí)具有掉電自動(dòng)保存功能;溫度的采集由ds18b20構(gòu)成;顯示部份由lcd液晶顯示屏顯示。3.3 主要單元電路的設(shè)計(jì)3.3.1 單片機(jī)主控制模塊的設(shè)計(jì) atmega16單片機(jī)為40引腳雙列直插芯片,有四個(gè)i/o口p0,p1,p2,p3, mcs-51單片機(jī)共有4個(gè)8位的i/o口(p0、p1、p2、p3),每一條i/o線都能獨(dú)立地作輸出或輸入。單片機(jī)的最小系統(tǒng)如下圖所示,18引腳和19引腳接時(shí)鐘電路,xtal1接外部晶振和微調(diào)電容的一端,在片內(nèi)它是振蕩器倒相放大器的輸入,xtal2接外部晶振和微調(diào)電容的另一端,

19、在片內(nèi)它是振蕩器倒相放大器的輸出。第9引腳為復(fù)位輸入端,接上電容,電阻及開關(guān)后夠上電復(fù)位電路,20引腳為接地端,40引腳為電源端。 如圖2 所示:圖2 主控制系統(tǒng) 3.3.2 時(shí)鐘電路模塊的設(shè)計(jì)圖.3示出ds1302的引腳排列,其中vcc1為后備電源,vcc2為主電源。在主電源關(guān)閉的情況下,也能保持時(shí)鐘的連續(xù)運(yùn)行。ds1302由vcc1或vcc2兩者中的較大者供電。當(dāng)vcc2大于vcc1+0.2v時(shí),vcc2給ds1302供電。當(dāng)vcc2小于vcc1時(shí),ds1302由vcc1供電。x1和x2是振蕩源,外接32.khz晶振。rst是復(fù)位/片選線,通過把rst輸入驅(qū)動(dòng)置高電平來啟動(dòng)所有的數(shù)據(jù)傳送。

20、rst輸入有兩種功能:首先,rst接通控制邏輯,允許地址/命令序列送入移位寄存器;其次,rst提供終止單字節(jié)或多字節(jié)數(shù)據(jù)的傳送手段。當(dāng)rst為高電平時(shí),所有的數(shù)據(jù)傳送被初始化,允許對(duì)ds1302進(jìn)行操作。如果在傳送過程中rsts置為低電平,則會(huì)終止此次數(shù)據(jù)傳送,i/o引腳變?yōu)楦咦钁B(tài)。上電動(dòng)行時(shí),在vcc大于等于2.5v之前,rst必須保持低電平。中有在sclk 為低電平時(shí),才能將rst置為高電平,i/o為串行數(shù)據(jù)輸入端(雙向)。sclk始終是輸入端。 圖3 ds1302的引腳圖3.3.3 電路原理及說明(1) 時(shí)鐘芯片ds1302的工作原理: ds1302在每次進(jìn)行讀、寫程序前都必須初始化,先

21、把sclk端置 “0”,接著把rst端置“1”,最后才給予sclk脈沖;讀/寫時(shí)序如下圖4所示。ds1302的控制字的位7必須置1,若為0則不能把對(duì)ds1302進(jìn)行讀寫數(shù)據(jù)。對(duì)于位6,若對(duì)程序進(jìn)行讀/寫時(shí)ram=1,對(duì)時(shí)間進(jìn)行讀/寫時(shí),ck=0,位1至位5指操作單元的地址。位0是讀/寫操作位,進(jìn)行讀操作時(shí),該位為1;該位為0則表示進(jìn)行的是寫操作??刂谱止?jié)總是從最低位開始輸入/輸出的。表.2為ds1302的日歷、時(shí)間寄存器內(nèi)容:“ch”是時(shí)鐘暫停標(biāo)志位,當(dāng)該位為1時(shí),時(shí)鐘振蕩器停止,ds1302處于低功耗狀態(tài);當(dāng)該位為0時(shí),時(shí)鐘開始運(yùn)行?!皐p”是寫保護(hù)位,在任何的對(duì)時(shí)鐘和ram的寫操作之前,w

22、p必須為0。當(dāng)“wp”為1時(shí),寫保護(hù)位防止對(duì)任一寄存器的寫操作。(2) ds1302的控制字節(jié):ds1302控制字節(jié)的高有效位(位7)必須是邏輯1,如果它為0,則不能把數(shù)據(jù)寫入ds1302中,位6如果0,則表示存取日歷時(shí)鐘數(shù)據(jù),為1表示存取ram數(shù)據(jù);位5至位1指示操作單元的地址;最低有效位(位0)如為0表示要進(jìn)行寫操作,為1表示進(jìn)行讀操作,控制字節(jié)總是從最低位開始輸出(3) 數(shù)據(jù)輸入輸出(i/o)在控制指令字輸入后的下一個(gè)sclk時(shí)鐘的上升沿時(shí),數(shù)據(jù)被寫入ds1302,數(shù)據(jù)輸入從低位即位0開始。同樣,在緊跟8位的控制指令字后的下一個(gè)sclk脈沖的下降沿讀出ds1302的數(shù)據(jù),讀出數(shù)據(jù)時(shí)從低位

23、0位到高位7。(4) ds1302的寄存器ds1302有12個(gè)寄存器,其中有7個(gè)寄存器與日歷、時(shí)鐘相關(guān),存放的數(shù)據(jù)位為bcd碼形式。此外,ds1302 還有年份寄存器、控制寄存器、充電寄存器、時(shí)鐘突發(fā)寄存器及與ram相關(guān)的寄存器等。時(shí)鐘突發(fā)寄存器可一次性順序讀寫除充電寄存器外的所有寄存器內(nèi)容。 ds1302與ram相關(guān)的寄存器分為兩類:一類是單個(gè)ram單元,共31個(gè),每個(gè)單元組態(tài)為一個(gè)8位的字節(jié),其命令控制字為c0hfdh,其中奇數(shù)為讀操作,偶數(shù)為寫操作;另一類為突發(fā)方式下的ram寄存器,此方式下可一次性讀寫所有的ram的31個(gè)字節(jié),命令控制字為feh(寫)、ffh(讀)。 3.3.4 顯示模

24、塊的設(shè)計(jì)如圖.4為lcd顯示模塊,和最小系統(tǒng)上的連線一樣,無需修改。圖4 lcd液晶顯示屏顯示模塊3.3.5調(diào)節(jié)鍵盤模塊的設(shè)計(jì) 如圖5為調(diào)節(jié)鍵盤模塊,它具有選擇調(diào)節(jié)對(duì)象按鍵、加鍵、減鍵、確定鍵、取消鍵。圖5 調(diào)節(jié)鍵盤模塊4 系統(tǒng)的軟件設(shè)計(jì)4.1 程序流程框圖初始化avr鍵盤掃描ds1302送值到avr是否按鍵按下?lcd顯示是否開始圖6-a主程序框架流程圖開始初始化讀日期、時(shí)間寫日期、時(shí)間顯示子程序鍵盤控制子程序日期修改子程序時(shí)間修改子程序顯示結(jié)果返回圖6-b主程序具體流程圖5 proteus軟件仿真5.1proteus isis簡介proteus isis是英國labcenter公司開發(fā)的電

25、路分析與實(shí)物仿真軟件。它運(yùn)行于windows操作系統(tǒng)上,可以仿真、分析(spice)各種模擬器件和集成電路。該軟件的特點(diǎn)是:(1)全部滿足我們提出的單片機(jī)軟件仿真系統(tǒng)的標(biāo)準(zhǔn),并在同類產(chǎn)品中具有明顯的優(yōu)勢(shì)。(2)具有模擬電路仿真、數(shù)字電路仿真、單片機(jī)及其外圍電路組成的系統(tǒng)的仿真、rs232動(dòng)態(tài)仿真、i2 c調(diào)試器、spi調(diào)試器、鍵盤和lcd系統(tǒng)仿真的功能;有各種虛擬儀器,如示波器、邏輯分析儀、信號(hào)發(fā)生器等。(3)目前支持的單片機(jī)類型有:arm7系列、68000系列、8051系列、avr系列、pic12系列、pic16系列、pic18系列、z80系列、hc11系列以及各種外圍芯片。(4)支持大量的

26、存儲(chǔ)器和外圍芯片。總之,該軟件是一款集單片機(jī)和spice分析于一身的仿真軟件,功能極其強(qiáng)大 ,可仿真arm、51、avr、pic。proteus啟動(dòng)畫面:圖7 proteus啟動(dòng)畫面5.2proteus運(yùn)行流程proteus isis的工作界面是一種標(biāo)準(zhǔn)的windows界面,如圖所示。包括:標(biāo)題欄、主菜單、標(biāo)準(zhǔn)工具欄、繪圖工具欄、狀態(tài)欄、對(duì)象選擇按鈕、預(yù)覽對(duì)象方位控制按鈕、仿真進(jìn)程控制按鈕、預(yù)覽窗口、對(duì)象選擇器窗口、圖形編輯窗口。運(yùn)行proteus程序后,進(jìn)入軟件的主界面。通過左側(cè)工具欄中的p(從庫中選擇元件命令)命令,在pick devices 左側(cè)窗口中選擇所需元件的關(guān)鍵字,然后放置元件并

27、調(diào)整方向和位置以及參數(shù)設(shè)置,最后進(jìn)行連線。proteus isis的工作界面:圖8 proteus isis的工作界面5.3proteus功能仿真proteus仿真效果最后載入hex文件后可以進(jìn)行模擬仿真,可以全速運(yùn)行也可以單步調(diào)試運(yùn)行。圖9運(yùn)行按鍵上電后后led顯示:圖10調(diào)節(jié)秒鐘:圖11調(diào)節(jié)分鐘:圖12調(diào)節(jié)時(shí)鐘:圖13調(diào)節(jié)日期:圖15調(diào)節(jié)月份:圖16調(diào)節(jié)年份:圖17點(diǎn)擊確定鍵顯示:圖18按鍵功能自上而下依次為:選擇修改項(xiàng)鍵、增大鍵、減小鍵、確定鍵、取消鍵。圖196課程設(shè)計(jì)總結(jié)與體會(huì)制作這次課程設(shè)計(jì)一切都是從零開始,從最簡單的畫流程圖起步,這次課程設(shè)計(jì)可以圓滿完成,跟單片機(jī)課程里面的課外作業(yè)

28、是離不開的。這次課程設(shè)計(jì)從開始到制作成功前后超過了一個(gè)星期。當(dāng)電子萬年歷可以成功實(shí)現(xiàn)時(shí),那種激動(dòng)和喜悅只有自己可以體會(huì)。在整個(gè)設(shè)計(jì)過程中,充分發(fā)揮人的主觀能動(dòng)性,自主學(xué)習(xí),學(xué)到了許多沒學(xué)到的知識(shí)。較好的完成了設(shè)計(jì),達(dá)到了預(yù)期的目的,完了最初的設(shè)想。對(duì)電路的設(shè)計(jì)、布局要先有一個(gè)好的構(gòu)思,才顯得電路板美觀、大方。程序編寫中,由于思路不清晰,開始時(shí)遇到了很多的問題,經(jīng)過靜下心來思考,和同學(xué)討論,理清了思路,反而得心應(yīng)手。在此次設(shè)計(jì)中,知道了做凡事要有一顆平常的心,不要想著走捷徑,一步一腳印。也練就了我的耐心,做什么事都在有耐心。此次課程設(shè)計(jì)中學(xué)到了很多很多東西,這是最重要的。總之,此次課設(shè)使我的能力

29、得到了全方位的提高,使得我的操作能力和專業(yè)技能都有了很大的提高。在做課程設(shè)計(jì)的日子里得到了楊老師的悉心指導(dǎo)和同學(xué)的幫助,在此向他們致以誠摯的謝意。感謝提供相關(guān)技術(shù)幫助的老師和同學(xué),你們的支持和鼓勵(lì)使我對(duì)這次的設(shè)計(jì)完成有了信心和動(dòng)力,我在此深表謝意。參考文獻(xiàn)1康華光,陳大欽. 電子技術(shù)基礎(chǔ)模擬部分(第五版)m. 北京:高等教育出版社,20052劉勇. 數(shù)字電路 m.北京:電子工業(yè)出版社,20043陳正振. 電子電路設(shè)計(jì)與制作 m.廣西:廣西交通職業(yè)技術(shù)學(xué)院信息工程系出版, 20074王法能. 單片機(jī)原理及應(yīng)用 m. 北京:科學(xué)出版社, 2004附錄一:系統(tǒng)電路圖附錄二:系統(tǒng)程序/-/ 名稱: 用

30、ds1302與12864lcd設(shè)計(jì)的可調(diào)式電子日歷與時(shí)鐘/-/ 說明: 本例運(yùn)行時(shí)會(huì)以pc時(shí)間為默認(rèn)時(shí)間開始顯示,運(yùn)行過程中可以通過/ k1選擇調(diào)節(jié)對(duì)象,所選中的調(diào)節(jié)對(duì)象反相顯示,k2,k3進(jìn)行加減,/ k4保存,k5則用于取消保存./ 本例自動(dòng)將日期時(shí)間調(diào)節(jié)控制在合法范圍內(nèi),星期調(diào)節(jié)會(huì)在調(diào)整/ 年月日時(shí)自動(dòng)完成,閏年問題也能自動(dòng)處理. / /-#include #include #include #include #define int8u unsigned char#define int16u unsigned int/按鍵定義/當(dāng)前調(diào)節(jié)的時(shí)間對(duì)象:秒,分,時(shí),日,月,年(0,1,2,3,

31、4,6)/5對(duì)應(yīng)星期,星期調(diào)節(jié)由年月日調(diào)節(jié)自動(dòng)完成char adjust_index = -1;/一年中每個(gè)月的天數(shù),2月的天數(shù)由年份決定int8u monthsdays = 0,31,0,31,30,31,30,31,31,30,31,30,31;/所讀取的日期時(shí)間(分別是秒,分,時(shí),日,月,周,年)extern int8u datetime7;/在調(diào)節(jié)日期時(shí)間時(shí),用該位決定是否反相顯示extern int8u reverse_display ;/12864lcd及ds1302相關(guān)函數(shù)/以下點(diǎn)陣均用zimo軟件提取/年月日,星期,時(shí)分秒漢字點(diǎn)陣(16x16)-prog_uchar date_

32、time_words = /*-年-*/0x40,0x20,0x10,0x0c,0xe3,0x22,0x22,0x22,0xfe,0x22,0x22,0x22,0x22,0x02,0x00,0x00,0x04,0x04,0x04,0x04,0x07,0x04,0x04,0x04,0xff,0x04,0x04,0x04,0x04,0x04,0x04,0x00,/*-月-*/0x00,0x00,0x00,0x00,0x00,0xff,0x11,0x11,0x11,0x11,0x11,0xff,0x00,0x00,0x00,0x00,0x00,0x40,0x20,0x10,0x0c,0x03,0x0

33、1,0x01,0x01,0x21,0x41,0x3f,0x00,0x00,0x00,0x00,/*-日-*/0x00,0x00,0x00,0xfe,0x42,0x42,0x42,0x42,0x42,0x42,0x42,0xfe,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x3f,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x3f,0x00,0x00,0x00,0x00,/*-星-*/0x00,0x00,0x00,0xbe,0x2a,0x2a,0x2a,0xea,0x2a,0x2a,0x2a,0x2a,0x3e,0x00,0x00,0x00

34、,0x00,0x48,0x46,0x41,0x49,0x49,0x49,0x7f,0x49,0x49,0x49,0x49,0x49,0x41,0x40,0x00,/*-期-*/0x00,0x04,0xff,0x54,0x54,0x54,0xff,0x04,0x00,0xfe,0x22,0x22,0x22,0xfe,0x00,0x00,0x42,0x22,0x1b,0x02,0x02,0x0a,0x33,0x62,0x18,0x07,0x02,0x22,0x42,0x3f,0x00,0x00,/*-時(shí)-*/0x00,0xfc,0x44,0x44,0x44,0xfc,0x10,0x90,0x10,

35、0x10,0x10,0xff,0x10,0x10,0x10,0x00,0x00,0x07,0x04,0x04,0x04,0x07,0x00,0x00,0x03,0x40,0x80,0x7f,0x00,0x00,0x00,0x00,/*-分-*/0x80,0x40,0x20,0x98,0x87,0x82,0x80,0x80,0x83,0x84,0x98,0x30,0x60,0xc0,0x40,0x00,0x00,0x80,0x40,0x20,0x10,0x0f,0x00,0x00,0x20,0x40,0x3f,0x00,0x00,0x00,0x00,0x00,/*-秒-*/0x12,0x12,0

36、xd2,0xfe,0x91,0x11,0xc0,0x38,0x10,0x00,0xff,0x00,0x08,0x10,0x60,0x00,0x04,0x03,0x00,0xff,0x00,0x83,0x80,0x40,0x40,0x20,0x23,0x10,0x08,0x04,0x03,0x00;/星期幾的漢字點(diǎn)陣(16x16)-prog_uchar weekday_words = /*-星-*/0x40,0x20,0x10,0x0c,0xe3,0x22,0x22,0x22,0xfe,0x22,0x22,0x22,0x22,0x02,0x00,0x00,0x04,0x04,0x04,0x04,

37、0x07,0x04,0x04,0x04,0xff,0x04,0x04,0x04,0x04,0x04,0x04,0x00,/*-期 -*/0x00,0x00,0x00,0x00,0x00,0xff,0x11,0x11,0x11,0x11,0x11,0xff,0x00,0x00,0x00,0x00,0x00,0x40,0x20,0x10,0x0c,0x03,0x01,0x01,0x01,0x21,0x41,0x3f,0x00,0x00,0x00,0x00,/*-一 -*/0x80,0x40,0x20,0x98,0x87,0x82,0x80,0x80,0x83,0x84,0x98,0x30,0x60

38、,0xc0,0x40,0x00,0x00,0x80,0x40,0x20,0x10,0x0f,0x00,0x00,0x20,0x40,0x3f,0x00,0x00,0x00,0x00,0x00,/*-二 -*/0x12,0x12,0xd2,0xfe,0x91,0x11,0xc0,0x38,0x10,0x00,0xff,0x00,0x08,0x10,0x60,0x00,0x04,0x03,0x00,0xff,0x00,0x83,0x80,0x40,0x40,0x20,0x23,0x10,0x08,0x04,0x03,0x00/*-三 -*/0x00,0xfc,0x44,0x44,0x44,0xfc

39、,0x10,0x90,0x10,0x10,0x10,0xff,0x10,0x10,0x10,0x00,0x00,0x07,0x04,0x04,0x04,0x07,0x00,0x00,0x03,0x40,0x80,0x7f,0x00,0x00,0x00,0x00,/*-五-*/0x04,0x04,0x04,0x07,0x00,0x00,0x03,0x40,0x800x00,0xfc,0x44,0x44,0x44,0xfc,0x10,0x00,0x07,0x04,0x04,0x04,0x07,0x00,0x00,0x03,0x40,0x80,0x7f,0x00,0x00,0x00,0x00,/*-

40、六-*/0x04,0x04,0x04,0x07,0x00,0x00,0x03,0x40,0x800x04,0x04,0x04,0x07,0x00,0x00,0x03,0x40,0x800x04,0x04,0x04,0x07,0x00,0x00,0x03,0x40,0x800,0x800,0x00,0x03,0x800,/*-日-*/0x00,0xff,0x11,0x11,0x11,0x11,0x11,0xff,0x00,0x00,0x00,0x00, 0x800,0x800,0x00,0x03,0x00,0x40,0x20,0x10,0x0c,0x03,0x01,0x01,0x01,0x21,

41、0x41,0x3f,0x00,0x00,;/半角數(shù)字點(diǎn)陣(8x16)-prog_uchar digits = 0x00,0xe0,0x10,0x08,0x08,0x10,0xe0,0x00,0x00,0x0f,0x10,0x20,0x20,0x10,0x0f,0x00,/00x00,0x10,0x10,0xf8,0x00,0x00,0x00,0x00,0x00,0x20,0x20,0x3f,0x20,0x20,0x00,0x00,/10x00,0x70,0x08,0x08,0x08,0x88,0x70,0x00,0x00,0x30,0x28,0x24,0x22,0x21,0x30,0x00,/

42、20x00,0x30,0x08,0x88,0x88,0x48,0x30,0x00,0x00,0x18,0x20,0x20,0x20,0x11,0x0e,0x00,/30x00,0x00,0xc0,0x20,0x10,0xf8,0x00,0x00,0x00,0x07,0x04,0x24,0x24,0x3f,0x24,0x00,/40x00,0xf8,0x08,0x88,0x88,0x08,0x08,0x00,0x00,0x19,0x21,0x20,0x20,0x11,0x0e,0x00,/50x00,0xe0,0x10,0x88,0x88,0x18,0x00,0x00,0x00,0x0f,0x1

43、1,0x20,0x20,0x11,0x0e,0x00,/60x00,0x38,0x08,0x08,0xc8,0x38,0x08,0x00,0x00,0x00,0x00,0x3f,0x00,0x00,0x00,0x00,/70x00,0x70,0x88,0x08,0x08,0x88,0x70,0x00,0x00,0x1c,0x22,0x21,0x21,0x22,0x1c,0x00,/80x00,0xe0,0x10,0x08,0x08,0x10,0xe0,0x00,0x00,0x00,0x31,0x22,0x22,0x11,0x0f,0x00 /9;int8u h_offset = 10, v_p

44、age_offset = 0; /水平與垂直偏移/-/ 判斷是否為閏年/-int8u isleapyear(int16u y) int temp;y=temp;if(y%4=0)temp=y;retun(int8u);else temp=y+1;retun(int8u)/-/ 求自2000.1.1開始的任何一天是星期幾/ 函數(shù)沒有通過求出總天數(shù)后再求星期幾,/ 因?yàn)榍罂偺鞌?shù)可能會(huì)越出int16u的范圍/-void refreshweekday() time-datestring0 = 2; time-datestring1 = 0; time-datestring2 = time-year/1

45、0 + 0; time-datestring3 = time-year%10 + 0; else time-datestring0 = ; time-datestring1 = ; time-datestring2 = ; time-datestring3 = ;time-datestring4 = /;if(hide_monthdatestring5 = time-month/10 + 0; time-datestring6 = time-month%10 + 0; else time-datestring5 = ; time-datestring6 = ;time-datestring7

46、= /;if(hide_daydatestring8 = time-day/10 + 0; time-datestring9 = time-day%10 + 0; elsetime-datestring8 = ;time-datestring9 = ; if(hide_weekweek%10 + 0;/-/ 年月日時(shí)分+/-/-void datetime_adjust(char x) time-datestring10 = 0; /字符串末尾加 0 ,判斷結(jié)束字符void timetostr(systemtime *time) /將時(shí),分,秒數(shù)據(jù)轉(zhuǎn)換成液晶顯示字符放到數(shù)組 timestring; if(hide_hourtimestring0 = time-hour/10 + 0; time-timestring1 = time-hour%10 + 0; else time-tim

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(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ǔ)空間,僅對(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)論