電子萬年歷論文-范本_第1頁
電子萬年歷論文-范本_第2頁
電子萬年歷論文-范本_第3頁
電子萬年歷論文-范本_第4頁
電子萬年歷論文-范本_第5頁
已閱讀5頁,還剩18頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

PAGEPAGE22目錄第一章 電子技術(shù)的發(fā)展 1第二章電子時鐘系統(tǒng)設(shè)計思想 2§2-1設(shè)計要求 2§2-2硬件電路設(shè)計 2§2-3工作原理 2第三章電子時鐘硬件系統(tǒng)設(shè)計 4§3-1元器件明細(xì)表 4§3-2電路設(shè)計框圖 4§3-3系統(tǒng)硬件概述 5§3-4主要單元電路的設(shè)計 53-4-1單片機主控制模塊的設(shè)計 53-4-2時鐘電路模塊的設(shè)計 6§3-5DS1302與CPU的連接 6§3-6電路原理及說明 73-6-1時鐘芯片DS1302的工作原理 73-6-2DS1302的控制字節(jié) 73-6-3數(shù)據(jù)輸入輸出(I/O) 83-6-4DS1302的寄存器 8第四章系統(tǒng)的軟件設(shè)計 9§4-1程序流程框圖 9§4-2模塊的對外接口 114-2-1

時鐘分頻模塊 114-2-2

計時模塊 124-2-3

按鍵模塊 124-2-4

顯示模塊 12§4-3電子鐘頂層VHDL設(shè)計 12§4-4電子鐘的底層模塊 14§4-5DS1302介紹 15第五章安裝與調(diào)試 18第六章總結(jié) 20參考文獻 21電子技術(shù)的發(fā)展

國內(nèi)外發(fā)展:單片機自20世紀(jì)70年代問世以來,以其極高的性能價格比,受到人們的重視和關(guān)注,應(yīng)用很廣、發(fā)展很快。單片機具有體積小、重量輕、抗干擾能力強、環(huán)境要求不高、價格低廉、可靠性高、靈活性好、開發(fā)較為容易。目前單片機滲透到我們生活的各個領(lǐng)域,幾乎很難找到哪個領(lǐng)域沒有單片機的蹤跡。導(dǎo)彈的導(dǎo)航裝置,飛機上各種儀表的控制,計算機的網(wǎng)絡(luò)通訊與數(shù)據(jù)傳輸,工業(yè)自動化過程的實時控制和數(shù)據(jù)處理,廣泛使用的各種智能IC卡,錄象機、攝象機,以及程控玩具、電子寵物等等,這些都離不開單片機。更不用說自動控制領(lǐng)域的機器人、智能儀表、醫(yī)療器械了。因此,單片機的學(xué)習(xí)、開發(fā)與應(yīng)用將造就一批計算機應(yīng)用與智能化控制的科學(xué)家、工程師。電子鐘是一種利用數(shù)字電路來顯示秒、分、時的計時裝置,與傳統(tǒng)的機械鐘相比,它具有走時準(zhǔn)確、顯示直觀、無機械傳動裝置等優(yōu)點,因而得到廣泛應(yīng)用。隨著人們生活環(huán)境的不斷改善和美化,在許多場合可以看到數(shù)字電子鐘。在城市的主要營業(yè)場所、車站、碼頭等公共場所使用數(shù)字電子鐘已經(jīng)成為一種時尚。但目前市場上各式各樣的LCD數(shù)字電子鐘大多數(shù)用全硬件電路實現(xiàn),電路結(jié)構(gòu)復(fù)雜,功率損耗大等缺點。因此有必要對數(shù)字電子鐘進行改進。系統(tǒng)由石英晶體振蕩器,分頻器,計數(shù)電路,校時電路,整點報時電路組成。第二章電子時鐘系統(tǒng)設(shè)計思想設(shè)計了用T2518DD3+DS1302的電子萬年歷.該萬年歷的特點是:動態(tài)顯示;能接多位數(shù)碼管成多點輸出。采用DS1302時鐘模塊,走時準(zhǔn)確、停電能繼續(xù)計時(精度±5秒/日左右,輸入接口由三個按鍵來實現(xiàn),用這三個按鍵可以對日期和時間進行調(diào)整,并可以對鬧鈴的開關(guān)和鬧鈴的時間進行設(shè)置。鬧鈴功能通過蜂鳴器來實現(xiàn)。軟件控制程序?qū)崿F(xiàn)所有的功能。采用有源晶振,如DS32Hz,走時精度甚至可達到年誤差小于2分鐘)。整機電路使用+5V穩(wěn)壓電源,可穩(wěn)定工作。§2-1設(shè)計要求1、“時”、“分”(23小時59分)顯示且有校時功能。(設(shè)計秒脈沖發(fā)生器)有日歷功能和顯示星期、農(nóng)歷功能。2、有整點報時功能。(選:上下午、日期、鬧鐘等)3、用中規(guī)模、小規(guī)模集成電路及模擬器件實現(xiàn)。4、供電方式:AC220V50HZ。(設(shè)計5V直流穩(wěn)壓電源)§2-2硬件電路設(shè)計T2518DD3作為數(shù)據(jù)處理,DS1302作為計時處理及停電繼續(xù)走時,用15只LED數(shù)碼管顯示年、月、日、星期、時、分,采用1838V為遙控接收.74LS595作為數(shù)碼管筆畫顯示選擇移位?!?-3工作原理初始化后,DS1302開始走時。T2518DD3讀取時間數(shù)據(jù)并處理后,通過2級8位移位寄存器(74LS595將數(shù)碼管的選通數(shù)據(jù)送至顯示驅(qū)動,SRCLK是移位脈沖。上升沿有RCLK是輸出鎖存器的鎖存信號,其上升沿將移位寄存器的輸出鎖存到輸出鎖存器偉是選通信號,只有e為低電平時鎖存器的輸出才開放。所有數(shù)碼管的同一筆畫是連在一起的,由T2518DD3對DS1302讀回的時間數(shù)據(jù)進行拆分處理,然后轉(zhuǎn)換成要顯示的數(shù)字代碼,再由SERT2518DD3的P3.5腳)逐位輸出到IC1的(14)腳。以完成對需要顯示筆畫的數(shù)0-9,對一個數(shù)碼管的同一筆畫進行掃描,第一筆畫點亮延時,繼續(xù)把第二筆畫的代碼移位至74LS595進行第二個筆畫的掃描,直至七個筆畫全部顯示完為止。例如,耍顯示的時間為07-02-23.則各數(shù)的代碼分別為3FH、07H、3FH、5BH、BH、4FH。先通過74LS595把3F、07、3F、5B、5B、4F的DO,即低位右移一位,通過74LS595至馭動三極管的菇極,如果某位為0,則相應(yīng)的位就不點亮.然后從P1.1輸出0,那么該筆畫中相應(yīng)為1的筆畫就被點亮,各數(shù)相應(yīng)代碼就變?yōu)椋?FH-1FF,07H-3H、3FI3-1FIi、511H-2DH、5BH-2DH、4FH-27H。繼續(xù)通過74LS595把IF,3,1F,2D,2D,27的最低位送至三極管的基極。然后P1.2輸出0,數(shù)碼管的第二筆畫相應(yīng)的位被點亮。各數(shù)代碼則變?yōu)椋篎H,IH,FH,16H,16H,13H。重復(fù)上面的移位及掃描,直至7個顯示完成,就完成了07-02-03的全部顯示。這種顯示電路的特點是能夠同屏顯示多位數(shù)碼管及多位輸出。圖中還可增加秒閃爍和驅(qū)動報時蜂嗚器等電路功能。第三章電子時鐘硬件系統(tǒng)設(shè)計§3-1元器件明細(xì)表元件明細(xì)表如表3.1所示:表3.1元器件明細(xì)表序號元件名稱數(shù)量序號元件名稱數(shù)量1電阻10Ω122穩(wěn)壓器780512電阻33Ω823晶振32.76813電阻47Ω324芯片T2518DD314電阻75Ω7250.5’數(shù)碼管115電阻100Ω1260.8’數(shù)碼管46電阻150Ω827電池卡17電阻330Ω728圓片電池(可裝可不裝)18電阻1.5K429微動開關(guān)49電阻10K2305P線110電阻390K131喇叭111電阻470K132變壓器112電容22P233電源線113電容102P134細(xì)線214電容181P1353*6自動螺絲815電容104P2363*6帶墊自攻螺絲216電容470U/16V3373*10自攻螺絲617二極管4004538電路板218二極管1N60239面板419發(fā)光二極管440機殼1套20三極管855084121三極管8050142§3-2電路設(shè)計框圖電路設(shè)計框圖如圖3.1所示:數(shù)碼管動態(tài)掃描顯示模塊主控制模數(shù)碼管動態(tài)掃描顯示模塊主控制模塊鍵盤模塊鍵盤模塊時鐘模塊時鐘模塊圖3.1電路設(shè)計框圖§3-3系統(tǒng)硬件概述本電路是由T2518DD3單片機為控制核心,具有在線編程功能,低功耗,能在3V超低壓工作;時鐘電路由DS1302提供,它是一種高性能、低功耗、帶RAM的實時時鐘電路,它可以對年、月、日、周日、時、分進行計時,具有閏年補償功能,工作電壓為2.5V~5.5V。采用三線接口與CPU進行同步通信,并可采用突發(fā)方式一次傳送多個字節(jié)的時鐘信號或RAM數(shù)據(jù)。DS1302內(nèi)部有一個31*8的用于臨時性存放數(shù)據(jù)的RAM寄存器。可產(chǎn)生年、月、日、周日、時、分,具有使用壽命長,精度高和低功耗等特點,同時具有掉電自動保存功能;溫度的采集由DS18B20構(gòu)成;顯示部份由15個數(shù)碼管,74ls138、74ls47譯碼器構(gòu)成。使用動態(tài)掃描顯示方式對數(shù)字的顯示?!?-4主要單元電路的設(shè)計3-4-1單片機主控制模塊的設(shè)計T2518DD3單片機為40引腳雙列直插芯片,有四個I/O口P0,P1,P2,P3,MCS-51單片機共有4個8位的I/O口(P0、P1、P2、P3),每一條I/O線都能獨立地作輸出或輸入。單片機的最小系統(tǒng)如圖3.2所示,18引腳和19引腳接時鐘電路,XTAL1接外部晶振和微調(diào)電容的一端,在片內(nèi)它是振蕩器倒相放大器的輸入,XTAL2接外部晶振和微調(diào)電容的另一端,在片內(nèi)它是振蕩器倒相放大器的輸出。第9引腳為復(fù)位輸入端,接上電容,電阻及開關(guān)后夠上電復(fù)位電路,20引腳為接地端,40引腳為電源端。圖3.2主控制系統(tǒng)圖3-4-2時鐘電路模塊的設(shè)計DS1302的引腳排列如圖3.3所示,其中Vcc1為后備電源,Vcc2為主電源。在主電源關(guān)閉的情況下,也能保持時鐘的連續(xù)運行。DS1302由Vcc1或Vcc2兩者中的較大者供電。當(dāng)Vcc2大于Vcc1+0.2V時,Vcc2給DS1302供電。當(dāng)Vcc2小于Vcc1時,DS1302由Vcc1供電。X1和X2是振蕩源,外接32.768KHz晶振。RST是復(fù)位/片選線,通過把RST輸入驅(qū)動置高電平來啟動所有的數(shù)據(jù)傳送。RST輸入有兩種功能:首先,RST接通控制邏輯,允許地址/命令序列送入移位寄存器;其次,RST提供終止單字節(jié)或多字節(jié)數(shù)據(jù)的傳送手段。當(dāng)RST為高電平時,所有的數(shù)據(jù)傳送被初始化,允許對DS1302進行操作。如果在傳送過程中RSTS置為低電平,則會終止此次數(shù)據(jù)傳送,I/O引腳變?yōu)楦咦钁B(tài)。上電動行時,在Vcc大于等于2.5V之前,RST必須保持低電平。中有在SCLK為低電平時,才能將RST置為高電平,I/O為串行數(shù)據(jù)輸入端(雙向)。SCLK始終是輸入端。圖3.3DS1302的引腳圖§3-5DS1302與CPU的連接實際上,在調(diào)試程序時可以不加電容器,只加一個32.768kHz的晶振即可。只是選擇晶振時,不同的晶振,誤差也較大。另外,還可以在上面的電路中加入DS18B20,同時顯示實時溫度。只要占用CPU一個口線即可。LCD還可以換成LED,還可以使用北京衛(wèi)信杰科技發(fā)展有限公司生產(chǎn)的10位多功能8段液晶顯示模塊LCM101,內(nèi)含看門狗(WDT)/時鐘發(fā)生器及兩種頻率的蜂鳴器驅(qū)動電路,并有內(nèi)置顯示RAM,可顯示任意字段筆劃,具有3-4線串行接口,可與任何單片機、IC接口。功耗低,顯示狀態(tài)時電流為2μA(典型值),省電模式時小于1μA,工作電壓為2.4V~3.3V,顯示清晰。DS1302與CPU的連接的原理圖如圖3.4所示。圖3.4DS1302與CPU的連接的原理圖§3-6電路原理及說明3-6-1時鐘芯片DS1302的工作原理DS1302在每次進行讀、寫程序前都必須初始化,先把SCLK端置“0”,接著把RST端置“1”,最后才給予SCLK脈沖;讀/寫時序如下圖3-5所示。表3-1為DS1302的控制字,此控制字的位7必須置1,若為0則不能把對DS1302進行讀寫數(shù)據(jù)。對于位6,若對程序進行讀/寫時RAM=1,對時間進行讀/寫時,CK=0。位1至位5指操作單元的地址。位0是讀/寫操作位,進行讀操作時,該位為1;該位為0則表示進行的是寫操作。控制字節(jié)總是從最低位開始輸入/輸出的。表3-2為DS1302的日歷、時間寄存器內(nèi)容:“CH”是時鐘暫停標(biāo)志位,當(dāng)該位為1時,時鐘振蕩器停止,DS1302處于低功耗狀態(tài);當(dāng)該位為0時,時鐘開始運行?!癢P”是寫保護位,在任何的對時鐘和RAM的寫操作之前,WP必須為0。當(dāng)“WP”為1時,寫保護位防止對任一寄存器的寫操作。3-6-2DS1302的控制字節(jié)DS1302的控制字如表3.1所示??刂谱止?jié)的高有效位(位7)必須是邏輯1,如果它為0,則不能把數(shù)據(jù)寫入DS1302中,位6如果0,則表示存取日歷時鐘數(shù)據(jù),為1表示存取RAM數(shù)據(jù);位5至位1指示操作單元的地址;最低有效位(位0)如為0表示要進行寫操作,為1表示進行讀操作,控制字節(jié)總是從最低位開始輸出。表3.1DS1302的控制字格式RAMRD1A4A3A2A1A0/CK/WR 3-6-3數(shù)據(jù)輸入輸出(I/O)在控制指令字輸入后的下一個SCLK時鐘的上升沿時,數(shù)據(jù)被寫入DS1302,數(shù)據(jù)輸入從低位即位0開始。同樣,在緊跟8位的控制指令字后的下一個SCLK脈沖的下降沿讀出DS1302的數(shù)據(jù),讀出數(shù)據(jù)時從低位0位到高位7。如下圖3.5所示圖3.5DS1302讀/寫時序圖3-6-4DS1302的寄存器DS1302有12個寄存器,其中有7個寄存器與日歷、時鐘相關(guān),存放的數(shù)據(jù)位為BCD碼形式,其日歷、時間寄存器及其控制字如表3.2所示。表3.2DS1302的日歷、時間寄存器寫寄存器讀寄存器Bit7Bit6Bit5Bit4Bit3Bit2Bit1Bit082H83H10分分84H85H12/24010時時AM/PM86H87H0010日日88H89H00010月月8AH8BH00000星期8CH8DH10年年8EH8FHWP0000000此外,DS1302還有年份寄存器、控制寄存器、充電寄存器、時鐘突發(fā)寄存器及與RAM相關(guān)的寄存器等。時鐘突發(fā)寄存器可一次性順序讀寫除充電寄存器外的所有寄存器內(nèi)容。DS1302與RAM相關(guān)的寄存器分為兩類:一類是單個RAM單元,共31個,每個單元組態(tài)為一個8位的字節(jié),其命令控制字為C0H~FDH,其中奇數(shù)為讀操作,偶數(shù)為寫操作;另一類為突發(fā)方式下的RAM寄存器,此方式下可一次性讀寫所有的RAM的31個字節(jié),命令控制字為FEH(寫)、FFH(讀)。圖3.6電路原理圖第四章系統(tǒng)的軟件設(shè)計開始初始化分離日期\時間顯示值顯示子程序日期、時間修改子程序開始初始化分離日期\時間顯示值顯示子程序日期、時間修改子程序農(nóng)歷自動更新子程序閏月子程定時鬧鈴子程序返回程序流程圖如圖4.1;4.2;4.3;4.4所示:圖4.1主程序流程圖圖4.2計算陽歷序流程圖圖4.3時間調(diào)整程序流程圖圖4.4農(nóng)歷程序流程圖根據(jù)系統(tǒng)的設(shè)計要求和工作原理以及圖(如圖3.6所示電路原理圖)。所示的各個模塊之間的連接關(guān)系,可以看出系統(tǒng)的輸入輸出信號包括:1)

外部輸入的時鐘信號clk:輸入信號;2)

復(fù)位開關(guān)信號reset:輸入信號;3)

時/分調(diào)整信號sethr10、sethr、setmin10、setmin:輸入信號;4)

LED六段顯示數(shù)碼管的選通信號choose[5:0]:輸出信號;5)

LED七段顯示數(shù)碼管的輸出信號segment[6:0]:輸出信號。由于外部始終信號clk的頻率為10Hz,而實際需要的內(nèi)部計時時鐘頻率為1Hz。因此需要一個時鐘分頻電路。通過這個分頻電路,對外部時鐘信號clk進行分頻操作,用來產(chǎn)生頻率分別為1Hz的時鐘信號。由于時間顯示是由6個LED七段顯示數(shù)碼管組成,因此需要產(chǎn)生6位的計時信息:小時十位信號、小時各位信號、分十位信號、分各位信號、秒十位信號、秒各位信號。這個定時計數(shù)可以采用一個定時計數(shù)器來完成,他的功能就是用來產(chǎn)生6位計時信息。這里采用循環(huán)點亮LED七段顯示數(shù)碼管的方法來顯示時間輸出。通過信號choose(7DOWNTO0)來進行6個LED七段顯示數(shù)碼管的選擇。從而將輸出信號segment(6DOWNTO0)送到相應(yīng)的LED七段顯示數(shù)碼管上以完成秒表計時的顯示。§4-2模塊的對外接口時鐘分頻模塊、計時模塊、按鍵模塊和顯示模塊四個部分組成。4-2-1

時鐘分頻模塊1)復(fù)位開關(guān)信號reset:輸入信號;2)外部時鐘信號clk:輸入信號;3)內(nèi)部計時時鐘信號clk0:輸出信號。4-2-2

計時模塊1)內(nèi)部計時時鐘信號clk0:輸入信號;2)復(fù)位關(guān)信號reset:輸入信號;3)小時十位信號hr10:輸出信號;4)小時個位信號hr:輸出信號;5)分十位信號min10:輸出信號;6)分個位信號min:輸出信號;7)秒十位信號sec10:輸出信號;8)秒個位信號sec:輸出信號。4-2-3

按鍵模塊1)復(fù)位開關(guān)信號reset:輸入信號;2)時調(diào)整按鍵sethr10、sethr:輸入信號;3)分調(diào)整按鍵setmin10、setmin:輸入信號;4)小時十位信號hr10:輸出信號;5)小時個位信號hr:輸出信號;6)分十位信號min10:輸出信號;7)分個位信號min:輸出信號。4-2-4

顯示模塊1)外部時鐘信號clk:輸入信號;2)小時十位信號hr10:輸入信號;3)小時個位信號hr:輸入信號;4)分十位信號min10:輸入信號;5)分個位信號min:輸入信號;6)秒十位信號sec10:輸入信號;7)秒個位信號sec:輸入信號。8)LED七段顯示數(shù)碼管的選通信號choose:輸出信號;9)LED七段顯示數(shù)碼管的輸出信號segment:輸出信號?!?-3電子鐘頂層VHDL設(shè)計劃分的四個模塊以元件的形式給出,因此首先在結(jié)構(gòu)的說明部分進行元件說明,然后才呢功能夠在結(jié)構(gòu)體中進行例化調(diào)用,另外,結(jié)構(gòu)的說明部分還定義了許多中間信號,他們的功能是用來在模塊之間傳誦信息。電子鐘頂層VHDL設(shè)計程序:libraryieee;useieee.std_logic_1164.all;useieee.std_logic_arith.all;useieee.std_logic_unsigned.all;entitystopwatchis

port(reset

:instd_logic;Shi_on

:instd_logic;

fen_on

:instd_logic;

clk

:instd_logic;

choose

:outstd_logic_vector(5downto0);

segment

:outstd_logic_vector(6downto0));endstopwatch;architecturestructureofstopwatchis

componentclk_div

port(clk

:in

std_logic;clk0

:outstd_logic);

end

component;

componenttime_counter

port(reset

:in

std_logic;

enable

:in

std_logic;

clk0

:in

std_logic;

hr10

:out

std_logic_vector(3downto0);

hr

:out

std_logic_vector(3downto0);

min10

:out

std_logic_vector(2downto0);min

:out

std_logic_vector(3downto0);

sec10

:out

std_logic_vector(2downto0);

sec

:out

std_logic_vector(3downto0));

end

component;

componentkeyin

port(clk

:in

std_logic;sethr10:in

std_logic;

sethr

:in

std_logic;

setmin10:in

std_logic;

setmin:in

std_logic;

reset

:in

std_logic;

hr10

:outstd_logic_vector(3downto0);

hr

:outstd_logic_vector(3downto0);

min10

:outstd_logic_vector(2downto0);

min

:outstd_logic_vector(3downto0));

end

component;

componentdisplay

port(clk

:instd_logic;reset

:instd_logic;

hr10

:instd_logic_vector(3downto0);

hr

:instd_logic_vector(3downto0);

min10

:instd_logic_vector(2downto0);

min

:instd_logic_vector(3downto0);

sec10

:instd_logic_vector(2downto0);

sec

:instd_logic_vector(3downto0);

choose

:outstd_logic_vector(5downto0);

segment

:outstd_logic_vector(6downto0));

endcomponent;

signalclk0

:std_logic;

signalenable

:std_logic;

signal

hr10

:std_logic_vector(3downto0);

signal

hr

:std_logic_vector(3downto0);signal

min10

:std_logic_vector(2downto0);

signal

min

:std_logic_vector(3downto0);

signal

sec10

:std_logic_vector(2downto0);

signal

sec

:std_logic_vector(3downto0);begin

u0:clk_div

portmap(clk,clk0);

u1:time_counter

portmap(reset,enable,clk0,hr10,hr,min10,min,sec10,sec);

u2:keyin

portmap(clk,Shi_on,fen_on,reset,

hr10,hr,min10,min,sec10,sec);

u3:display

portmap(clk,reset,hr10,hr,min10,min,sec10,sec,

choose,segment);endstructure;完成電子鐘的頂層VHDL設(shè)計程序后,接下來就進行底層模塊的設(shè)計了,因為頂層設(shè)計完全是靠底層模塊來支持的。另外,對于頂層VHDL設(shè)計程序的仿真驗證也需要在底層模塊的設(shè)計完成后才能進行?!?-4電子鐘的底層模塊4-2-1時鐘分頻模塊時鐘分頻模塊的功能是將輸入的外部時鐘信號clk進行分頻,從而產(chǎn)生用來內(nèi)部定時計數(shù)的1Hz的時鐘信號clk0。采用10分頻電路就可以完成相應(yīng)功能。下面給出10分頻電路的VHDL設(shè)計程序。libraryieee;useieee.std_logic_1164.all;useieee.std_logic_arith.all;useieee.std_logic_unsigned.all;entityclk_divis

port(clk

:instd_logic;

clk0:outstd_logic);endclk_div;architecturertlofclk_divissignalcount:std_logic_vector(3downto0);begin

process(clk)

begin

if(clk'eventandclk='1')then

if(count="1001")then

count<=(others=>'0');

else

count<=count+1;

endif;

endif;

endprocess;

process(clk)

begin

if(clk'eventandclk='1')then

if(count="1001")then

clk0<='1';

else

clk0<='0';

endif;

endif;

endprocess;

endrtl;完成VHDL設(shè)計程序后,接下來可以對其仿真,以驗證VHDL設(shè)計的邏輯是否正確,下圖3.3給出了10分頻電路的仿真波形。為了能夠在圖上看的清楚,仿真時鐘選擇的是clk周期為200ns。電子種計時模塊主要是用來實現(xiàn)內(nèi)部定時計數(shù)功能。計時模塊的輸入信號包括內(nèi)部計時時鐘信號clk0,輸出信號就是計時信息,包括小時十位信號hr10、小時個位信號hr、分十位信號min10、分個位信號min、秒十位信號sec10、秒個位信號sec。通過分析,計時模塊可以采用2個六進制計數(shù)器、2個十進制計數(shù)器和1個二十四進制計數(shù)器串聯(lián)在一起來實現(xiàn)。§4-5DS1302介紹//bcdhex//此函數(shù)用于將8421BCD碼轉(zhuǎn)換為十進制數(shù),從函數(shù)參數(shù)可以看出此BCD碼是由兩位十進制數(shù)組成的。BCD碼是用二進制數(shù)對十進制數(shù)的各個位數(shù)進行編碼,比如十進制數(shù)58,那么轉(zhuǎn)換為BCD碼為0x58,356對應(yīng)BCD碼就是0x356。注意這是編碼不是數(shù)進制間的轉(zhuǎn)換,他們之間不存在等價關(guān)系。只是進行編號,為了方便對編號后的數(shù)據(jù)用十六進制數(shù)表示。對應(yīng)編碼規(guī)則如下:十進制數(shù)8421BCD碼編碼后用等價的十六進制數(shù)表示:000000x0100010x1200100x2300110x3401000x4501010x5601100x6701110x7810000x8910010x9知道了編碼規(guī)則,那么將2位8421bcd碼編號的數(shù),還原為十進制數(shù)也就方便了。函數(shù)參數(shù)是一個字節(jié)那么決定了此8421BCD碼是兩位碼即高四位是一個碼值、低四位是一個碼值,將高四位乘以10加上低四位碼值就得到了十進制數(shù)。bytebcd2_hex(byteval){bytei;i=val&0x0f;//按位與,i得到低四位數(shù)。val>>=4;//右移四位,將高四位移到低四位的位置,得到高四位碼值。val&=0x0f;//防止移位時高位補進1,只保留高四位碼值。val*=10;//高位碼值乘以10。i+=val;//然后與第四位碼值相加。returni;//將得到的十進制數(shù)返回。}//*****************************************************************//這個應(yīng)該是一個類似I2C協(xié)議的字節(jié)寫操作。staticvoidDS1302_WriteByte(byteval){bytei;//MinCardClk(0);//stopclk//Sys_SetCpuClk(clockdiv1);for(i=0;i<8;i++)//通過循環(huán)將1字節(jié)也即8位二進制數(shù)送給i2c數(shù)據(jù)線。{if(val&0x01)DS1302_SDA_W(1);//如果此位是1,那么送給數(shù)據(jù)線1。elseDS1302_SDA_W(0);//如果是0,那么給數(shù)據(jù)線0。DS1302_SCK(0);//時鐘線置0也即拉低。DS1302_SCK(1);//時鐘線置1,通過這兩個動作時鐘線產(chǎn)生一個從低到高的跳變,作用是通知從器件取走數(shù)據(jù)線上的數(shù)據(jù)。val>>=1;//FORDELAYANDSHIFT//右移數(shù)據(jù),接著發(fā)送下一位數(shù)據(jù),數(shù)據(jù)是從低位到高位發(fā)送。}//DS1302_SCK(0);//Sys_SetCpuClk(clockdiv0);//MinCardClk(1);//startclk}//*****************************************************************//同理i2c讀字節(jié)staticbyteDS1302_ReadByte(void){bytei,val;//MinCardClk(0);//stopclk//Sys_SetCpuClk(clockdiv1);val=0;DS1302_SDA_W(1);for(i=0;i<8;i++)//循環(huán)從數(shù)據(jù)線上讀取8位數(shù)據(jù),然后湊成一字節(jié)。{DS1302_SCK(1);DS1302_SCK(0);//時鐘一個從高到低的跳變,通知從器件將數(shù)據(jù)放到數(shù)據(jù)線上。val>>=1;//接收完1位后右移數(shù)據(jù),準(zhǔn)備接收下一位,這里也是從低位到高位接收數(shù)據(jù)。if(DS1302_SDA_R())val|=0x80;//如果是1那么與0x80或后就得到了1,如果是0,就不用管了因為在移位時直接補的是0。}//Sys_SetCpuClk(clockdiv0);//MinCardClk(1);//startclkreturnval;}根據(jù)本人在調(diào)試中遇到的問題,特作如下說明:DS1302與微處理器進行數(shù)據(jù)交換時,首先由微處理器向電路發(fā)送命令字節(jié),命令字節(jié)最高位MSB(D7)必須為邏輯1,如果D7=0,則禁止寫DS1302,即寫保護;D6=0,指定時鐘數(shù)據(jù),D6=1,指定RAM數(shù)據(jù);D5~D1指定輸入或輸出的特定寄存器;最低位LSB(D0)為邏輯0,指定寫操作(輸入),D0=1,指定讀操作(輸出)。在DS1302的時鐘日歷或RAM進行數(shù)據(jù)傳送時,DS1302必須首先發(fā)送命令字節(jié)。若進行單字節(jié)傳送,8位命令字節(jié)傳送結(jié)束之后,在下2個SCLK周期的上升沿輸入數(shù)據(jù)字節(jié),或在下8個SCLK周期的下降沿輸出數(shù)據(jù)字節(jié)。DS1302與RAM相關(guān)的寄存器分為兩類:一類是單個RAM單元,共31個,每個單元組態(tài)為一個8位的字節(jié),其命令控制字為C0H~FDH,其中奇數(shù)為讀操作,偶數(shù)為寫操作;再一類為突發(fā)方式下的RAM寄存器,在此方式下可一次性讀、寫所有的RAM的31個字節(jié)。要特別說明的是備用電源B1,可以用電池或者超級電容器(0.1F以上)。雖然DS1302在主電源掉電后的耗電很小,但是,如果要長時間保證時鐘正常,最好選用小型充電電池??梢杂美鲜诫娔X主板上的3.6V充電電池。如果斷電時間較短(幾小時或幾天)時,就可以用漏電較小的普通電解電容器代替。100μF就可以保證1小時的正常走時。DS1302在第一次加電后,必須進行初始化操作。初始化后就可以按正常方法調(diào)整時間。第五章安裝與調(diào)試1.安裝順序與要求:首先安裝43只電阻和7個二極管,用剪下來的電阻或二極管的腳制作15條過線并焊接在板上,再焊圓片電容、三極管、數(shù)碼管……;三只電解電容器和三端穩(wěn)壓器(7805)這四個件不能高過數(shù)碼的高度,所以應(yīng)讓這四個件平躺在電路板上焊接。最后CPU芯片,焊CPU芯片時最好是斷電焊接,以主感應(yīng)電壓擊穿UPU。安裝備電路圖如圖5.1所示:圖5.1安裝圖2.連接:(1)大板與小板用5P線連接,注意大、小板之間的連接要1連1、2連2……;(2)用兩條細(xì)線連大板與喇叭。(3)變壓器副邊的兩條線焊在標(biāo)有AC12V的兩個焊盤上,原邊與電源線連接好,并用膠布包好確保安全。3.通電調(diào)試:焊接完畢后,先不要裝機殼,平放在桌面上,接通電源,這時數(shù)碼管顯示出時間、喇叭也會給您播放一曲。但是所顯示的時間性不是當(dāng)時的時間,很可能顯示:03年某月某日(應(yīng)該是芯片出廠的日期)……。這時按小板上的設(shè)置鍵,會看到“年份”閃爍,再按修改鍵,將年份調(diào)到當(dāng)時的年份。再按設(shè)置鍵,“月份”閃爍,按修改鍵將月份調(diào)正確。再按設(shè)置鍵,“日期”閃爍,按修改鍵將日期調(diào)正確。再按設(shè)置鍵,“小時|”閃爍,按修改鍵將小時調(diào)正確。再按設(shè)置鍵,“分鐘”閃爍,按修改鍵將分鐘調(diào)正確。再按一下設(shè)置鍵,即時間高整完畢。這時中間的兩個發(fā)光管閃爍,即秒閃。農(nóng)歷和星期自動跟蹤。4.定鬧鐘設(shè)定:按定鬧鍵進入定鬧鐘設(shè)定狀態(tài),這時按設(shè)置鍵“小時”閃爍,按修改鍵高定小時。再按設(shè)置鍵“分鐘”閃爍,按修改鍵設(shè)定分鐘,再按退出鍵恢復(fù)正常顯示這時定鬧鐘批示燈常亮即定鬧鐘設(shè)置完畢。5.取消定鬧鐘:按定鬧鍵顯示設(shè)定的定鬧時間,這時連續(xù)按修改鍵直到時間顯示“-—:——”再按退出鍵定鬧鐘指示燈熄滅即定鬧鐘被整點報時被取消。6.整點報時:在在狀態(tài)下按修改鍵,整點指示燈亮,表示整點報時已設(shè)定完畢。再按一下修改鍵整點指示燈熄滅表示整點報時衩取消。在設(shè)置狀態(tài)下,如果超過10秒無操作將自動退出設(shè)置狀態(tài)恢復(fù)正常顯示,所有數(shù)據(jù)有效。7.電池的作用與安裝:電池只起斷電后保持?jǐn)?shù)據(jù)的作用,可以不裝,只是斷電后再通電要重新調(diào)整時間。安裝時將圓片電池推入電池卡,注意正極和電池卡連接,負(fù)極與其下邊的一條過線連接。8.成裝:斷電,把電源線與變壓器的連接斷開。將喇叭、變壓器、小板、大板都用螺絲固定在后殼內(nèi),把電源線從后殼側(cè)面的小孔穿入(打一個結(jié)以防外力拉斷電源線與變壓器的連接)與變壓器原邊連接好并用膠布包好確保安全。這時在通電試一下如果沒有設(shè)置的時間還正確,說明主板上的電池起作用了,(如果時間又恢復(fù)了設(shè)置前的顯示說明電池也電或D3接反)。這時即可放上面板蓋上前殼,用6條螺絲擰緊即安裝成功。 第六章總結(jié)在整個設(shè)計過程中,分工合作,充分發(fā)揮人的主觀能動性,自主學(xué)習(xí),學(xué)到了許多沒學(xué)到的知識。雖然在設(shè)計中出現(xiàn)了一些不應(yīng)該出現(xiàn)的問題,但是經(jīng)過我們不斷的努力和老師的大力支持,可以說是較好的完成了作品,達到了預(yù)期的目的,在最初的設(shè)計中,相互學(xué)習(xí)、相互討論、研究,完了最初的設(shè)想。在電路焊接時雖然沒什么大問題,但從中也知道了焊接在整個作品中的重要性,完美性,電路工程雖小,但是不能急,一個個慢慢來不能急于求成。對電路的設(shè)計、布局要先有一個好的構(gòu)思,才顯得電路板美觀、大方。程序編寫中,由于思路不清晰,開始時遇到了很多的問題,經(jīng)過靜下心來思考,和同組員的討論,理清了思路,反而得心應(yīng)手。在此次設(shè)計中,知道了做凡事要有一顆平常的心,不要想著走捷徑,一步一腳印。也練就了我們的耐心,做什么事都在有耐心。此次比賽中學(xué)到了很多很多東西,這是最重要的??傊?,參加電子競賽我們的能力得到了全方位的提高。最后我由衷的感謝我的指導(dǎo)教師。在幾個月的學(xué)習(xí)中,給予我指導(dǎo)與幫助,在我做設(shè)計的過程中,耐心地指導(dǎo)使我順利地完成此次課程設(shè)計。在此,我由衷地感謝每一個在我學(xué)習(xí)或生活中給予我?guī)椭睦蠋煟x謝你們!參考文獻[1]吳金戌,沈慶陽.8051單片機實踐與應(yīng)用,北京:清華大學(xué)出版社,2003.12,26-38.[2]何立民.單片機應(yīng)用文集,北京:北京航空航天大學(xué)出版社,1991,53-72.[3]公茂法.單片機人機接口實例集,北京:北京航空航天大學(xué)出版社,1998.2,32-59.[4]何立明.單片機高級教程——應(yīng)用與設(shè)計,北京:北京航天航空大學(xué)出版社,2000.4,149-173.[5]李廣弟,朱月秀.單片機基礎(chǔ),北京:北京航空航天大學(xué)出版社,2001.8,36-85.[6]樓然苗,李光飛.MCS-51系列單片機設(shè)計實例,北京:北京航天航空大學(xué)出版社,2001.3,75-83.[7]李華.單片機原理與接口技術(shù),北京:清華大學(xué)出版社,33-80.[8]王偉.高性能、低功耗帶RAM實時時鐘芯片DS1302(上),電子世界:第一期,1995,26-35.[9]王偉.高性能、低功耗帶RAM實時時鐘芯片DS1302(下),電子世界:第四期,1995,32-41.[10]劉光潭.中外集成電路簡明速察手冊,上海:電子工業(yè)出版社,1991.[11]一九九九年產(chǎn)品目錄(第一期),武漢力源股份有限公司,1999.[12]劉利.液晶顯示原理,上海:電子工業(yè)出版社,2002.5,52-70.[13]李宏,張家田.液晶顯示器件應(yīng)用技術(shù),北京:機械工業(yè)出版社,2004,156-183.[14]沈慶陽.漢字顯示應(yīng)用技術(shù),上海:電子工業(yè)出版社,2002.3,128-139.[15]MAXIM.NEWRELEASESDATABOOK(VOLUMEV),AMERICA,1996.基于C8051F單片機直流電動機反饋控制系統(tǒng)的設(shè)計與研究基于單片機的嵌入式Web服務(wù)器的研究MOTOROLA單片機MC68HC(8)05PV8/A內(nèi)嵌EEPROM的工藝和制程方法及對良率的影響研究基于模糊控制的電阻釬焊單片機溫度控制系統(tǒng)的研制基于MCS-51系列單片機的通用控制模塊的研究基于單片機實現(xiàn)的供暖系統(tǒng)最佳啟停自校正(STR)調(diào)節(jié)器單片機控制的二級倒立擺系統(tǒng)的研究基于增強型51系列單片機的TCP/IP協(xié)議棧的實現(xiàn)基于單片機的蓄電池自動監(jiān)測系統(tǒng)基于32位嵌入式單片機系統(tǒng)的圖像采集與處理技術(shù)的研究基于單片機的作物營養(yǎng)診斷專家系統(tǒng)的研究基于單片機的交流伺服電機運動控制系統(tǒng)研究與開發(fā)基于單片機的泵管內(nèi)壁硬度測試儀的研制基于單片機的自動找平控制系統(tǒng)研究基于C8051F040單片機的嵌入式系統(tǒng)開發(fā)基于單片機的液壓動力系統(tǒng)狀態(tài)監(jiān)測儀開發(fā)模糊Smith智能控制方法的研究及其單片機實現(xiàn)一種基于單片機的軸快流CO〈,2〉激光器的手持控制面板的研制基于雙單片機沖床數(shù)控系統(tǒng)的研究基于CYGNAL單片機的在線間歇式濁度儀的研制基于單片機的噴油泵試驗臺控制器的研制基于單片機的軟起動器的研究和設(shè)計基于單片機控制的高速快走絲電火花線切割機床短循環(huán)走絲方式研究基于單片機的機電產(chǎn)品控制系統(tǒng)開發(fā)基于PIC單片機的智能手機充電器基于單片機的實時內(nèi)核設(shè)計及其應(yīng)用研究基于單片機的遠程抄表系統(tǒng)的設(shè)計與研究基于單片機的煙氣二氧化硫濃度檢測儀的研制基于微型光譜儀的單片機系統(tǒng)單片機系統(tǒng)軟件構(gòu)件開發(fā)的技術(shù)研究基于單片機的液體點滴速度自動檢測儀的研制基于單片機系統(tǒng)的多功能溫度測量儀的研制基于PIC單片機的電能采集終端的設(shè)計和應(yīng)用基于單片機的光纖光柵解調(diào)儀的研制氣壓式線性摩擦焊機單片機控制系統(tǒng)的研制基于單片機的數(shù)字磁通門傳感器基于單片機的旋轉(zhuǎn)變壓器-數(shù)字轉(zhuǎn)換器的研究基于單片機的光纖Bragg光柵解調(diào)系統(tǒng)的研究單片機控制的便攜式多功能乳腺治療儀的研制基于C8051F020單片機的多生理信號檢測儀基于單片機的電機運動控制系統(tǒng)設(shè)計Pico專用單片機核的可測性設(shè)計研究基于MCS-51單片機的熱量計基于雙單片機的智能遙測微型氣象站MCS-51單片機構(gòu)建機器人的實踐研究基于單片機的輪軌力檢測基于單片機的GPS定位儀的研究與實現(xiàn)基于單片機的電液伺服控制系統(tǒng)用于單片機系統(tǒng)的MMC卡文件系統(tǒng)研制基于單片機的時控和計數(shù)系統(tǒng)性能優(yōu)化的研究基于單片機和CPLD的粗光柵位移測量系統(tǒng)研究單片機控制的后備式方波UPS提升高職學(xué)生單片機應(yīng)用能力的探究基于單片機控制的自動低頻減載裝置研究基于單片機控制的水下焊接電源的研究基于單片機的多通道數(shù)據(jù)采集系統(tǒng)基于uPSD3234單片機的氚表面污染測量儀的研制基于單片機的紅外測油儀的研究96系列單片機仿真器研究與設(shè)計基于單片機的單晶金剛石刀具刃磨設(shè)備的數(shù)控改造基于單片機的溫度智能控制系統(tǒng)的設(shè)計與實現(xiàn)基于MSP430單片機的電梯門機控制器的研制基于單片機的氣體測漏儀的研究基于三菱M16C/6N系列單片機的CAN/USB協(xié)議轉(zhuǎn)換器基于單片機和DSP的變壓器油色譜在線監(jiān)測技術(shù)研究基于單片機的膛壁溫度報警系統(tǒng)設(shè)計基于AVR單片機的低壓無功補償控制器的設(shè)計基于單片機船舶電力推進電機監(jiān)測系統(tǒng)基于單片機網(wǎng)絡(luò)的振動信號的采集系統(tǒng)基于單片機的大容量數(shù)據(jù)存儲技術(shù)的應(yīng)用研究基于單片機的疊圖機研究與教學(xué)方法實踐基于單片機嵌入式Web服務(wù)器技術(shù)的研究及實現(xiàn)基于AT89S52單片機的通用數(shù)據(jù)采集系統(tǒng)基于單片機的多道脈沖幅度分析儀研究機器人旋轉(zhuǎn)電弧傳感角焊縫跟蹤單片機控制系統(tǒng)基于單片機的控制系統(tǒng)在PLC虛擬教學(xué)實驗中的應(yīng)用研究基于單片機系統(tǒng)的網(wǎng)絡(luò)通信研究與應(yīng)用基于PIC16F877單片機的莫爾斯碼自動譯碼系統(tǒng)設(shè)計與研究基于單片機的模糊控制器在工業(yè)電阻爐上的應(yīng)用研究基于雙單片機沖床數(shù)控系統(tǒng)的研究與開發(fā)基于Cygnal單片機的μ

溫馨提示

  • 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)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論