版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、<p><b> 畢業(yè)設(shè)計(論文)</b></p><p> 論文(設(shè)計)題目: 數(shù)字萬年歷設(shè)計 </p><p> 班 級: 20122711班 </p><p> 姓 名: _____</p><p> 學(xué) 號: _______
2、___</p><p> 指導(dǎo)教師: 廖 </p><p> 時間: 2015 年 5 月 30 日</p><p> 畢業(yè)設(shè)計(論文)成績表</p><p> 電子與信息工程 系 電子工藝與管理 專業(yè) 20122711 班
3、 </p><p><b> 評審意見:</b></p><p> 指導(dǎo)教師對學(xué)生 所完成的課題為 </p><p> 的畢業(yè)設(shè)計(論文)進(jìn)行的情況,完成情況的意見:
4、 </p><p> 評分:平時成績(百分制) 論文成績(百分制) </p><p> 指導(dǎo)教師 </p><p> 年 月 日</p><p>
5、總成績(平時成績20%+論文成績30%+答辯成績50%): </p><p> 簽字: </p><p> 年 月 日</p><p><b> 任務(wù)書</b></p><p> 論文的選題的來源、目的與意義:</p&
6、gt;<p> 來源:在實習(xí)期間,我深刻認(rèn)識到電子鐘的設(shè)計與制作在社會中的廣泛應(yīng)用及重要地位。電子鐘帶動了整個社會的發(fā)展,讓人們不能夠離開它。</p><p><b> 目的:</b></p><p> 1.讓自己所學(xué)過的專業(yè)知識越來越牢固,提高了自己的專業(yè)技能和實際動手操作能力。</p><p> 2、熟練應(yīng)用電子鐘的設(shè)
7、計與制作的過程和基本方法,了解我國現(xiàn)有的電子產(chǎn)品技術(shù)與發(fā)展,正確掌握專業(yè)知識與制作程序與方法。</p><p> 3、學(xué)會獨立思考,熟練的運用相關(guān)的資料,一邊自己更了解電子產(chǎn)品在國內(nèi)的發(fā)展與需要。</p><p><b> 意義:</b></p><p> 近幾年,隨著國內(nèi)的電子產(chǎn)品技術(shù)的飛速發(fā)展,對電子產(chǎn)品質(zhì)量的要求也日益增高,這讓我們
8、都應(yīng)該有高質(zhì)量高品質(zhì)的意識,在工作中相互配合,提高工人的技術(shù)水平,促進(jìn)電子工藝事業(yè)的快速發(fā)展。</p><p><b> 進(jìn)度設(shè)計表</b></p><p> 進(jìn)度計劃(進(jìn)度時間、主要工作內(nèi)容)</p><p> 2014年11月10日—2014年13月25日:完成論文資料的收集</p><p> 2014年13
9、月25日—2015年2月5日:完成論文資料的整理</p><p> 2015年2月5日—2015年3月2日:論文初步成型,接受指導(dǎo)老師的中期檢查、指導(dǎo)</p><p> 2015年3月2日—2015年4月10日:根據(jù)老師的中期檢查指導(dǎo)對初步成型的論文進(jìn)行修改</p><p> 2015年4月10日—2015年4月30日:答辯前對論文進(jìn)行最后的檢查、指導(dǎo)及修改&
10、lt;/p><p> 2015年4月30日—至今:論文成型,完成答辯</p><p><b> 畢業(yè)設(shè)計(論文)</b></p><p> 數(shù)字萬年歷時鐘電路的設(shè)計</p><p> 摘要 本文設(shè)計了具有數(shù)字萬年歷時鐘電路,通過與單片機連接數(shù)碼管動態(tài)顯示年、月、日,時、分、秒計數(shù)功能,以秒、分、時、日、月、年進(jìn)制循
11、環(huán)計時;具有調(diào)時功能、清零、報時功能,通過對各種方案設(shè)計的研究,采用了比較常用且價格適合的LED數(shù)碼管作為電路的顯示部分,開關(guān)按鈕作為調(diào)時部分,并能準(zhǔn)確計算閏年閏月的顯示,外加4個LED會隨每秒閃爍一次,更加美觀直觀,三個按鈕連接P3口可以精確調(diào)整每一個時間數(shù)值,通過對所設(shè)計的萬年歷時鐘電路進(jìn)行實驗測試,達(dá)到了動態(tài)顯示時間,隨時調(diào)整時間,LED每秒閃爍的技術(shù)指標(biāo),基本達(dá)到了任務(wù)書的要求。本系統(tǒng)以單片機的C語言進(jìn)行軟件設(shè)計,增加了程序的可
12、讀性和可移植性,為了便于擴展和更改,軟件的設(shè)計采用模塊化結(jié)構(gòu),使程序設(shè)計的邏輯關(guān)系更加簡潔明了。</p><p> 關(guān)鍵詞 萬年歷、數(shù)碼管、 LED、 動態(tài)顯示、 單片機</p><p><b> 目 錄</b></p><p><b> 引 言1</b></p><p> 第一章
13、 數(shù)字萬年歷設(shè)計方案2</p><p><b> 1.1方案論證2</b></p><p> 1.2 框圖構(gòu)成2</p><p> 第二章 系統(tǒng)硬件設(shè)計3</p><p> 2.1 單片機的選擇與參數(shù)介紹3</p><p> 2.2 時鐘功能的選擇4</p>&
14、lt;p> 2.3復(fù)位電路的選擇5</p><p> 2.4 時間調(diào)整的程序設(shè)計6</p><p> 2.5 時間電路的顯示設(shè)計6</p><p> 2.5.1 掃描方式的選擇6</p><p> 2.5.2 LED數(shù)碼管的選擇7</p><p> 第三章 主程序設(shè)計與仿真8</p&
15、gt;<p> 3.1 主程序的設(shè)計8</p><p> 3.2 仿真實驗9</p><p> 第四章 調(diào)試及制作分析11</p><p> 4.1 原理圖的繪制與PCB的制作11</p><p> 4.1.1 原理圖的繪制11</p><p> 4.1.2 PCB的制作12<
16、;/p><p><b> 結(jié)論13</b></p><p><b> 參考文獻(xiàn)14</b></p><p> 附錄一 Protel 99se原理圖15</p><p> 附錄二 PCB板圖16</p><p> 附錄三 系統(tǒng)程序17</p>&l
17、t;p><b> 致謝21</b></p><p><b> 引 言</b></p><p> 電子科技日新月異,產(chǎn)品逐漸增多,技術(shù)不斷復(fù)新?lián)Q代,人們對現(xiàn)代電子設(shè)備的智能化和微型化及其精度提出了更高的要求。而單片機因其具有穩(wěn)定可靠、 體積小、 成本低等特點,成為設(shè)計智能化儀器儀表的首選微控制器,因此本次我們沒有選用傳統(tǒng)的專用的時鐘
18、芯片,而是采用了AT89C51芯片,此款單片機可以使用軟件對其進(jìn)行在線編程,其靈活性和可靠性都相對提高。</p><p> 現(xiàn)在是一個知識爆炸的新時代。新產(chǎn)品、新技術(shù)層出不窮,電子技術(shù)的發(fā)展更是日新月異。可以毫不夸張的說,電子技術(shù)的應(yīng)用無處不在,電子技術(shù)正在不斷地改變我們的生活,改變著我們的世界。在這快速發(fā)展的年代,時間對人們來說是越來越寶貴,在快節(jié)奏的生活時,人們往往忘記了時間,一旦遇到重要的事情而忘記了時間
19、,這將會帶來很大的損失。因此我們需要一個定時系統(tǒng)來提醒這些忙碌的人。數(shù)字化的鐘表給人們帶來了極大的方便[1]。</p><p> 近些年,隨著科技的發(fā)展和社會的進(jìn)步,人們對數(shù)字鐘的要求也越來越高,傳統(tǒng)的時鐘已不能滿足人們的需求。多功能數(shù)字鐘不管在性能還是在樣式上都發(fā)生了質(zhì)的變化,有電子鬧鐘、數(shù)字鬧鐘等等。單片機在多功能數(shù)字鐘中的應(yīng)用已是非常普遍的,人們對數(shù)字鐘的功能及工作順序都非常熟悉。但是卻很少知道它的內(nèi)部結(jié)
20、構(gòu)以及工作原理。由單片機作為數(shù)字鐘的核心控制器,可以通過它的時鐘信號進(jìn)行計時實現(xiàn)計時功能,將其時間數(shù)據(jù)經(jīng)單片機輸出,利用顯示器顯示出來。通過鍵盤可以進(jìn)行定時、校時功能。輸出設(shè)備顯示器可以用液晶顯示技術(shù)和數(shù)碼管顯示技術(shù)。</p><p> 數(shù)字鐘是采用數(shù)字電路實現(xiàn)對時、分、秒數(shù)字顯示的計時裝置,廣泛用于家庭、車站、會議室、辦公室等公共場所,通過完美的設(shè)計和制作過程數(shù)字萬年歷逐漸受到人們的歡迎。成為人們?nèi)粘I钪胁?/p>
21、可少的必需品,由于數(shù)字集成電路的發(fā)展和石英晶體振蕩器的廣泛應(yīng)用,使得數(shù)字鐘的精度,遠(yuǎn)遠(yuǎn)超過老式鐘表, 鐘表的數(shù)字化給人們生產(chǎn)生活帶來了極大的方便,而且大大地擴展了鐘表原先的報時功能。諸如定時自動報警、按時自動打鈴、時間程序自動控制、自動起閉路燈、、甚至各種定時電氣的自動啟用等,所有這些,都是以鐘表數(shù)字化為基礎(chǔ)的。因此,研究數(shù)字鐘擴大其應(yīng)用,有著非常現(xiàn)實的意義。</p><p> 第一章 數(shù)字萬年歷設(shè)計方案<
22、;/p><p><b> 1.1方案論證</b></p><p> 按照系統(tǒng)設(shè)計功能的要求可見數(shù)字百年歷具有計時和顯示、報時功能。電路設(shè)計中包括分頻模塊,用于將外部晶振產(chǎn)生的一定周期的時鐘信號計數(shù)產(chǎn)生1s時鐘信號;分計數(shù)模塊、60進(jìn)制的秒;24進(jìn)制的時計數(shù)模塊;12進(jìn)制的月計數(shù)模塊;通過語言選擇的閏年平年天數(shù)選擇模塊;2選一模式轉(zhuǎn)換模塊;5選一的調(diào)時控制模塊;另有顯示
23、模塊和整點報時信號端口,通過一段時間對專業(yè)書籍及多種設(shè)計方案的研究機分析,主控芯片使用51系列的AT89C51單板機作為核心控制芯片,用C語言進(jìn)行編程來滿足設(shè)計的要求。年、月、日, 時、分、秒的顯示用LED數(shù)碼管來實現(xiàn),在時、分、秒之間各有2個LED發(fā)光二極管來作為時間分隔符每秒隨秒位閃爍一次,直觀且具有美感,在日期與時間間切換和對時鐘進(jìn)行調(diào)整可以通過3個按鈕開關(guān)來實現(xiàn),其他外接電路還有晶振電路、復(fù)位電路等。</p>&l
24、t;p><b> 1.2 框圖構(gòu)成</b></p><p> 本設(shè)計用AT89c51作為核心控制部分,AT89C51為40引腳雙列直插芯片,有四個I/O口P0,P1,P2,P3,每一條I/O線都能獨立地作輸出或輸入外接晶振電路與復(fù)位電路,P3口接三個按鈕開關(guān)作為時間調(diào)整部分,以LED數(shù)碼管作為顯示部分,P0口控制數(shù)碼管段選部分,P1口和P2口控制數(shù)碼管位選部分。如圖1-1所示:&l
25、t;/p><p> 圖1-1 總體系統(tǒng)框圖</p><p> 第二章 系統(tǒng)硬件電路的設(shè)計</p><p> 2.1 單片機的選擇與參數(shù)介紹</p><p> 我選用了比較常用且功能強大的AT89C51單片機,下面我來詳細(xì)介紹該芯片的參數(shù)與功能:</p><p> AT89C51是由美國Atmel 公司生產(chǎn)的至今
26、為止世界上最新型的高性能八位單片機。該芯片采用FLASH存儲技術(shù),內(nèi)部具有2KB字節(jié)快閃存存儲器,采用DIP封裝,是目前在中小系統(tǒng)中應(yīng)用最為普及的單片機[2]。</p><p> ?。?)AT89C51的功能描述</p><p> AT89C51是一種低損耗、高性能、CMOS八位微處理器,片內(nèi)有4k字節(jié)的在線可重復(fù)編程、快速擦除快速寫入程序的存儲器,能重復(fù)寫入/擦除1000次,數(shù)據(jù)保存時
27、間為十年。它與MCA-51系列單片機在指令系統(tǒng)和引腳上完全兼容,不僅可完全代替MCS-51系列單片機,而且能使系統(tǒng)具有許多MCS-51系列產(chǎn)品沒有的功能。</p><p> AT89C51可構(gòu)成真正的單片機最小應(yīng)用系統(tǒng),縮小系統(tǒng)體積,增加系統(tǒng)的可靠性,降低系統(tǒng)的成本。只要程序長度小于4K,四個I/O口全部提供給用戶。可用5V電壓編程,而且擦寫時間僅需10毫秒,僅為8751/87C51的擦除時間的百分之一,與87
28、51/87C51的12V電壓擦寫相比,不易損壞器件,沒有兩種電源的要求,改寫時不拔下芯片,適合許多嵌入式控制領(lǐng)域。工作電壓范圍(2.7V~6V),全靜態(tài)工作,工作頻率寬在0Hz~24MHz之間,比8751/87C51等51系列的6MHz~12MHz更具有靈活性,系統(tǒng)能快能慢。AT89C51芯片提供三級程序存儲器加密,提供了方便靈活而可靠的硬加密手段,能完全保證程序或系統(tǒng)不被仿制。P0口是三態(tài)雙向口,通稱數(shù)據(jù)總線口,因為只有該口能直接用于
29、對外部存儲器的讀/寫操作。</p><p> (2)AT89C51引腳功能</p><p> AT89C51單片機為40引腳芯片如圖2-1所示,在本設(shè)計中,主要用到P0口、P2口、P1.0口及P3.0、P3.1、P3.2口。</p><p> 圖2-1 AT89C51引腳圖</p><p> AT89S51具有PDIP,TQFP和P
30、LCC三種封裝形式。上圖就是PDIP封裝的引腳排列,有40個引腳,32個外部雙向輸入/輸出(I/O)端口;具有兩個16位可編程定時器;中斷系統(tǒng)是具有6個中斷源、5個中斷矢量、2級中斷優(yōu)先級的中斷結(jié)構(gòu);震蕩器頻率0到33MHZ,因此我們在此選用12MHZ的晶振是比較合理的;具有片內(nèi)看門狗定時器;具有斷電標(biāo)志POF等等。</p><p> P0口可作為通用I/O口,但須外接上拉電阻;作為輸出口,每各引腳可吸收8各T
31、TL的灌電流。作為輸入時,首先應(yīng)將引腳置1。P0也可用做訪問外部程序存儲器和數(shù)據(jù)存儲器時的低8位地址/數(shù)據(jù)總線的復(fù)用線。在該模式下,P0口含有內(nèi)部上拉電阻。在FLASH編程時,P0口接收代碼字節(jié)數(shù)據(jù);在編程效驗時,P0口輸出代碼字節(jié)數(shù)據(jù)(需要外接上拉電阻)。</p><p> P1口:8位、雙向I/0口,內(nèi)部含有上拉電阻。</p><p> P1口可作普通I/O口。輸出緩沖器可驅(qū)動四個
32、TTL負(fù)載;用作輸入時,先將引腳置1,由片內(nèi)上拉電阻將其抬到高電平。P1口的引腳可由外部負(fù)載拉到低電平,通過上拉電阻提供電流。</p><p> 在FLASH并行編程和校驗時,P1口可輸入低字節(jié)地址。在串行編程和效驗時,P1.5/MO-SI,P1.6/MISO和P1.7/SCK分別是串行數(shù)據(jù)輸入、輸出和移位脈沖引腳。 </p><p> P2口:具有內(nèi)部上拉電阻的8位雙向I/O口。&l
33、t;/p><p> P2口用做輸出口時,可驅(qū)動4各TTL負(fù)載;用做輸入口時,先將引腳置1,由內(nèi)部上拉電阻將其提高到高電平。若負(fù)載為低電平,則通過內(nèi)部上拉電阻向外部輸出電流。</p><p> CPU訪問外部16位地址的存儲器時,P2口提供高8位地址。當(dāng)CPU用8位地址尋址外部存儲時,P2口為P2特殊功能寄存器的內(nèi)容。</p><p> 在FLASH并行編程和校驗時
34、,P2口可輸入高字節(jié)地址和某些控制信號。</p><p> P3口:具有內(nèi)部上拉電阻的8位雙向口。</p><p> P3口用做輸出口時,輸出緩沖器可吸收4各TTL的灌電流;用做輸入口時,首先將引腳置1,由內(nèi)部上拉電阻抬位高電平。若外部的負(fù)載是低電平,則通過內(nèi)部上拉電阻向輸出電流。</p><p> 在與FLASH并行編程和校驗時,P3口可輸入某些控制信號。P
35、3口除了通用I/O口功能外,還有替代功能如表2-1所示。</p><p> 表2-1 P3口的第二功能</p><p> 2.2 時鐘功能的選擇</p><p> 方案一:采用實時時鐘芯片。</p><p> 實時時鐘芯片具備年、月、日、時、分、秒計時功能和多點定時功能,計時數(shù)據(jù)的更新每秒自動進(jìn)行一次,不需程序干預(yù)。計算機可通過中斷
36、或查詢方式讀取計時數(shù)據(jù)進(jìn)行顯示,因此計時功能的實現(xiàn)無需占用CPU的時間,程序簡單。此外,實時時鐘芯片多數(shù)帶有鋰電池做后備電源,具備永不停止的計時功能;具有可編程方波輸出功能,可用做實時測控系統(tǒng)的采樣信號等;有的實時時鐘芯片內(nèi)部還帶有非易失性RAM,可用來存放需長期保存但有時也需變更的數(shù)據(jù)。由于功能完善,精度高,軟件程序設(shè)計相對簡單,且計時不占用CPU時間,因此,在工業(yè)實時測控系統(tǒng)中多采用這一類專用芯片來實現(xiàn)實時時鐘功能。</p&g
37、t;<p><b> 方案二:軟件控制。</b></p><p> 利用單片機內(nèi)部的定時/計數(shù)器進(jìn)行中斷定時,配合軟件延時實現(xiàn)時、分、秒的計時及秒表計時。該方案節(jié)省硬件成本,且能使設(shè)計者對單片機的指令系統(tǒng)能有更深入的了解,從而掌握單片機應(yīng)用技術(shù)MCS-51匯編語言程序設(shè)計方法,因此,本系統(tǒng)設(shè)計采用此種軟件控制方法來實現(xiàn)計時。而由于ATMEL公司的AT89C51單片機是低功耗
38、的具有4KB在線可編程Flash存儲器的單片機。它與通用80C51系列單片機的指令系和引腳兼容。片內(nèi)的Flash可允許在線重新編程,也可使用通用非易失性存儲器編程。它將通用CPU和在線可編程Flash集成在一個芯片上,形成了功能強大、使用靈活和具有較高性能價格比的微控制器。它的功能強大,而且也較容易購買[3]。</p><p> 總結(jié):我所要實現(xiàn)的功能通過單片機編程就可以達(dá)到,不需要額外的時鐘芯片來增加成本,并
39、使外圍電路更加簡單明了。</p><p> 2.3復(fù)位電路的選擇</p><p> 目前為止,單片機復(fù)位電路主要有四種類型:(1)微分型復(fù)位電路;(2)積分型復(fù)位電路;(3)比較器型復(fù)位電路;(4)看門狗型復(fù)位電路。我列舉了2種方案進(jìn)行比較:</p><p> 方案一:采用手動復(fù)位,該方法線路簡單。在系統(tǒng)運行過程中,有時可能需要對系統(tǒng)進(jìn)行復(fù)位,以避免對硬件經(jīng)常
40、加電或斷電而造成的傷害,我們可以采用手動復(fù)位的方式。如圖2-2所示。</p><p> 圖 2-2 手動上電復(fù)位電路</p><p> 方案二:阻容上電自動復(fù)位電路,這種電路線路也簡單,它利用電容上電壓不能突變而是按指數(shù)規(guī)律上升或下降的特性,產(chǎn)生所需的復(fù)位脈沖。優(yōu)點:使用最為普遍且成本低廉的復(fù)位電路。</p><p> 圖 2-3 自動復(fù)位電路</p&g
41、t;<p> 總結(jié):這兩種方案對我的設(shè)計影響其實差別不大,根據(jù)我的電路所需要的就是選取最簡單的電路即可,顯然方案二元件和電路更加簡單,所用原件更少,所花成本更少。</p><p> 2.4 時間調(diào)整的程序設(shè)計</p><p> 我采用了獨立式按鍵設(shè)計,如圖2-4所示,獨立式按鍵直接與單片機I/O口相連構(gòu)成鍵盤[4],每個按鍵不會相互影響,因本系統(tǒng)用到的按鍵比較少,采用獨
42、立式鍵盤不會浪費I/O口線,所以本系統(tǒng)采用獨立式鍵盤。按鍵一端接地,一端接于P3.0、P3.1、P3.2口,并接10K的上拉電阻,按下開關(guān)時就會向單片機輸入低電平,觸發(fā)程序跳轉(zhuǎn)。按下跳轉(zhuǎn)鍵可以開始調(diào)時,多按幾次就會在秒分時,日月年之間切換,按下+鍵可以調(diào)高數(shù)值,按下—鍵可以調(diào)低數(shù)值,做到了功能齊全且元件消耗最好。</p><p> 圖2-4 時間調(diào)整電路</p><p> 2.5 時間
43、電路的顯示設(shè)計</p><p> 2.5.1 掃描方式的選擇</p><p> 選用LED數(shù)碼管作為顯示部分的主要元件,數(shù)碼管要正常顯示,就要用驅(qū)動電路來驅(qū)動數(shù)碼管的各個段碼,從而顯示出我們要的數(shù)字,因此根據(jù)數(shù)碼管的驅(qū)動方式的不同,可以分為靜態(tài)式和動態(tài)式兩類[5]。</p><p> 方案一:靜態(tài)顯示驅(qū)動</p><p> 靜態(tài)顯示就
44、是顯示驅(qū)動電路,具有輸出鎖存功能。當(dāng)顯示器顯示某個字符時,相應(yīng)的段恒定的導(dǎo)通或截止,直到顯示另一個字符為止。即單片機將所有要顯示的數(shù)據(jù)送出后就不再控制LED,直到下一次顯示時再傳送一次新的顯示數(shù)據(jù)。靜態(tài)顯示的數(shù)據(jù)穩(wěn)定,數(shù)碼管的亮度較高,占用的CPU時間少,程序容易,管理簡單,但占用的I/O線資源教多。靜態(tài)顯示中,每一個顯示器都要占用單獨的具有鎖存功能的I/O接口,該接口用于筆劃段字型代碼。這樣單片機只要把要顯示的字形代碼發(fā)送到接口電路,
45、該字段就可以顯示發(fā)送的字形。要顯示新的數(shù)據(jù)時,單片機在發(fā)送新的字形碼。動態(tài)掃描方法是用其接口電路把所有顯示器的8個筆畫段a~h同名端連在一起,而每一個顯示器的公共極COM各自獨立的受I/O線控制。CPU向字段輸出口送出字形碼時,所有顯示器接收到相同的字形碼,但究竟是哪個顯示器亮,則取決于COM段,而這一段是由I/O控制的,由單片機決定何時顯示哪一位了。優(yōu)點:程序簡單,亮度高。缺點:所占I/O口過多,不適合數(shù)目多的數(shù)碼管設(shè)計課題。<
46、/p><p> 方案二:動態(tài)顯示驅(qū)動</p><p> 數(shù)碼管動態(tài)顯示接口是單片機中應(yīng)用最為廣泛的一種顯示方式之一,動態(tài)驅(qū)動是將所有數(shù)碼管的8個顯示筆劃"a,b,c,d,e,f,g,dp"的同名端連在一起,另外為每個數(shù)碼管的公共極COM增加位選通控制電路,位選通由各自獨立的I/O線控制,當(dāng)單片機輸出字形碼時,所有數(shù)碼管都接收到相同的字形碼,但究竟是那個數(shù)碼管會顯示出字形,取決于單片機對位選
47、通COM端電路的控制,所以我們只要將需要顯示的數(shù)碼管的選通控制打開,該位就顯示出字形,沒有選通的數(shù)碼管就不會亮。通過分時輪流控制各個數(shù)碼管的的COM端,就使各個數(shù)碼管輪流受控顯示,這就是動態(tài)驅(qū)動。在輪流顯示過程中,每位數(shù)碼管的點亮?xí)r間為1~2mS,由于人的視覺暫留現(xiàn)象及發(fā)光二極管的余輝效應(yīng),盡管實際上各位數(shù)碼管并非同時點亮,但只要掃描的速度足夠快,給人的印象就是一組穩(wěn)定的顯示數(shù)據(jù),不會有閃爍感,動態(tài)顯示的效果和靜態(tài)顯示是一樣的,能夠節(jié)省
48、大量的I/O端口,而且功耗更低。</p><p> 總結(jié):我所要用到的數(shù)碼管共有14位,更加適合用動態(tài)掃描。</p><p> 2.5.2 LED數(shù)碼管的選擇</p><p> LED數(shù)碼管分為共陰和共陽兩種,以利用AT89C51灌電流比較大的特點作為數(shù)碼管的位選,而段碼則由上拉電阻驅(qū)動,用共陰數(shù)碼管會使電路更加簡單,共陰數(shù)碼管管腳圖與內(nèi)部結(jié)構(gòu)圖如圖2-5與圖
49、2-6所示:</p><p> 圖2-5 共陰數(shù)碼管引腳 圖2-6 共陰數(shù)碼管內(nèi)部結(jié)構(gòu)</p><p> C語言中數(shù)碼管十六進(jìn)制數(shù)字型代碼如表2-2所示。</p><p> 表2-2 十六進(jìn)制數(shù)字型代碼</p><p> 怎樣測量數(shù)碼管引腳,分共陰和共陽:找公共共陰和公共共陽首先,我們找個電源
50、(3到5伏)和1個1K(幾百的也歐的也行)的電阻,VCC串接個電阻后和GND接在任意2個腳上,組合有很多,但總有一個LED會發(fā)光的找到一個就夠了,,然后用GND不動,VCC(串電阻)逐個碰剩下的腳,如果有多個LED(一般是8個),那它就是共陰的了。相反用VCC不動,GND逐個碰剩下的腳,如果有多個LED(一般是8個),那它就是共陽的。也可以直接用數(shù)字萬用表,紅表筆是電源的正極,黑表筆是電源的負(fù)極[6]。</p><p
51、> 2.5.3 顯示數(shù)據(jù)的整體實現(xiàn)</p><p> 如圖2-7所示,顯示電路共包含14位數(shù)碼管外加4個LED發(fā)光二極管,數(shù)碼管的段選部分由P0口控制,即數(shù)碼管的段選端并聯(lián)與P0口,數(shù)碼管的段控端a、b、c、d、e、f、g、dp分別接到P0口的P0.0、P0.1、P0.2、P0.3、P0.4、P0.5、P0.6、P0.7口線上,段選部分與P0口之間接上拉電阻來輸入高電平與增強驅(qū)動電流,電阻的大小可影響數(shù)
52、碼管的亮度,由于我沒有外加其他驅(qū)動電路因此我選擇1K的排阻來增加驅(qū)動能力;數(shù)碼管的位選由P1口和P2口控制,每個數(shù)碼管的位控線單獨占用單片機P1口和P3口一根輸出口線,如果發(fā)現(xiàn)數(shù)碼管還是不夠亮的話,可在位選端加NPN三極管放大電流,此時要加限流電阻以免數(shù)碼管被燒。在時分秒之間我各設(shè)置了2個LED做為時間分隔符來隨秒位每秒閃爍一次,更加的美觀[7]。</p><p> 圖2-7 數(shù)碼管顯示部分</p>
53、<p> 第三章 主程序設(shè)計與仿真</p><p> 系統(tǒng)程序采用C語言按模塊化方式進(jìn)行設(shè)計,然后通過Keil C51軟件開發(fā)平臺將程序轉(zhuǎn)變成十六進(jìn)制程序語言,得到HEX文件,接著使用Proteous 進(jìn)行仿真,其次,按照Proteous 的仿真電路圖,在Protel 99SE中完成電路板的邏輯布局及布線。</p><p> 3.1 主程序的設(shè)計</p>
54、<p> 系統(tǒng)程序主要包括主程序,讀出時鐘子程序和顯示數(shù)據(jù)刷新子程序。程序首先初始化定時器、LCD1602及DS1302,然后就開始查詢按鍵,有鍵按下則開始調(diào)整時間和設(shè)置鐘,若沒有按下,則執(zhí)行下面的時間、日期及鬧鐘時間的顯示,最后依次循環(huán)這些相同的操作 程序詳情請看程序附件;主程序流程圖如圖3-1和3-2所示</p><p> 圖3-1 主程序流程圖1</p><p> 圖
55、3-2 主程序流程圖2</p><p> 程序能夠智能計算閏年、閏月,并通過查表方式區(qū)分大、小、平、潤月是否分別為31、30、28、29來正確顯示每月天數(shù)[8]。</p><p><b> 3.2 仿真實驗</b></p><p> 經(jīng)過老師的指導(dǎo)以及查看了許多的資料書籍,終于完成了程序的編輯,并學(xué)會了Keil C51將C程序文件轉(zhuǎn)變成十
56、六進(jìn)制程序語言HEX文件。Keil軟件是目前最流行開發(fā)MCS-51系列單片機的軟件,這從近年來各仿真機廠商紛紛宣布全面支持Keil即可看出。Keil提供了包括C編譯器、宏匯編、連接器、庫管理和一個功能強大的仿真調(diào)試器等在內(nèi)的完整開發(fā)方案,通過一個集成開發(fā)環(huán)境(uVision)將這些部份組合在一起[ 9]。</p><p> 我的仿真軟件采用了Proteus來對我的設(shè)計進(jìn)行仿真,Proteus(海神)的ISIS是
57、一款Labcenter出品的電路分析實物仿真系統(tǒng),可仿真各種電路和IC,并支持單片機,元件庫齊全,使用方便,是不可多得的專業(yè)的單片機軟件仿真系統(tǒng)。仿真圖如圖3-3所示。</p><p> 圖3-3 電路仿真圖</p><p> 仿真圖完全達(dá)到了設(shè)計要求及預(yù)期,經(jīng)過對程序的些微調(diào)整后馬上進(jìn)行實物的制作。</p><p> 第四章調(diào)試及制作分析</p>
58、<p> 要完成一項設(shè)計理論知識當(dāng)然十分重要,也是基礎(chǔ),但實際動手能力也要多加學(xué)習(xí)才能事半功倍。</p><p> 4.1 原理圖的繪制與PCB的制作</p><p> 4.1.1 原理圖的繪制</p><p> (1)在Protel 99se中先新建一個工程,把所需要的元件載入到文檔里面。</p><p> (2)畫
59、好元件庫與封裝庫里的沒有的元件原理圖與封裝。</p><p> (3)再按照系統(tǒng)電路圖繪制導(dǎo)線,把元件連好線。</p><p> (4)通過電氣檢查如果沒有錯誤,那么系統(tǒng)的電路圖就繪制完成。</p><p> 原理圖如圖4-1所示,由于默認(rèn)元件庫和封裝庫里沒有我要用到的雙位數(shù)碼管和四位數(shù)碼管,于是我學(xué)習(xí)動手畫好,我的設(shè)計線過多,為了能更準(zhǔn)確得查看疏漏我采用了網(wǎng)
60、絡(luò)標(biāo)號的方式,網(wǎng)絡(luò)標(biāo)號也是越來越被專業(yè)繪圖人員所采用[10]。</p><p> 圖4-1 Protel 99se電路原理圖</p><p> 4.1.2 PCB的制作</p><p> 將畫好的原理圖轉(zhuǎn)為PCB圖,設(shè)置好規(guī)則開始布線,由于我的連線十分復(fù)雜,這方面花了我很大一部分精力,也使我更加了解了Protel 99se這個軟件的功能,而且學(xué)校PCB板的大小
61、有限制最大只有12*10cm的板子,我的PCB要遠(yuǎn)大于這個數(shù)值,所以我把原來的PCB分成2部分來完成:單片機部分與數(shù)碼管顯示部分,兩部分通過導(dǎo)線連接。如圖4-2和4-3所示:</p><p> 圖4-2 PCB單片機部分</p><p> 圖4-3 PCB 數(shù)碼管顯示部分</p><p> 4.2元器件安裝焊接</p><p> 一、
62、安裝元件時應(yīng)注意以下原則:</p><p> (1)為避免因元器件發(fā)熱而減弱銅箔對基板的附著力,并防止元器件的裸露部分同印制導(dǎo)線短路,安裝時元器件應(yīng)離開面板約1~2mm。</p><p> ?。?)裝配時,應(yīng)該先安裝那些需要機械固定元器件,在此裝置中如穩(wěn)壓管、中心芯片插座。</p><p> ?。?)各種元器件的安裝,應(yīng)該使它們的標(biāo)記(用色碼或字符標(biāo)注的數(shù)值,精度
63、等)朝上面或易于是辨認(rèn)的方向,并注意標(biāo)記的讀書方向一致 (從左到右或從上到下)。</p><p> ?。?)在安裝元件時應(yīng)與焊接同步進(jìn)行操作。</p><p> 二、焊接注意的基本事項</p><p> 在電子制作過程中,焊接工作是必不可少的。它不但要求將元件固定在電路板上,而且要求焊點必須牢固、圓滑,所以焊接技術(shù)的好壞直接影響到電子制作的成功與否,焊接時要注意
64、以下幾點:</p><p> ?。?)焊接方法:焊接時應(yīng)掌握焊接的溫度和焊接的時間,使電烙鐵的溫度高于焊錫的溫度,但也不能太高,以烙鐵頭接觸松香剛剛冒煙為好。焊接時間太短,焊點的溫度過低,焊點融化不充分,焊點粗糙容易造成虛焊,反之焊接時間過長,焊錫容易流淌,并且容易使元件過熱損壞元件。同樣地,要掌握焊接點的上錫數(shù)量,焊接點上的焊錫數(shù)量不能太少,太少了焊接不牢,機械強度也太差。而太多容易造成外觀一大堆而內(nèi)部未接通。
65、焊錫應(yīng)該剛好將焊接點上的元件引腳全部浸沒,輪廓隱約可見為好。最后,要注意烙鐵和焊接點的位置,有些人在焊接時,一般將電烙鐵在焊接處來回移動或者用力擠壓,這種方法是錯誤的。正確的方法是用電烙鐵的焊錫面去接觸焊接點,這樣傳熱面積大,焊接速度快。</p><p> (2)焊接后的檢查:焊接結(jié)束后必須檢查有無漏焊、虛焊以及由于焊錫流淌造成的元件短路。虛焊較難發(fā)現(xiàn),可用鑷子夾住元件引腳輕輕拉動,如發(fā)現(xiàn)搖動應(yīng)立即補焊。<
66、;/p><p> ?。?)對于不同的器件,焊接時的具體操作一般不同:焊接一般元件時,將插好元件的印制板焊接面朝上,左手拿焊錫絲,右手持電烙鐵,把烙鐵頭貼著元件的引線加熱,使焊錫絲在高溫下熔化,沿著引線下流動,直至充滿焊孔并覆蓋引線周圍的金屬部分。然后撤去焊錫絲,并沿著引線向上提拉烙鐵頭,形成像水滴一樣光亮的焊點。焊接速度要快,一般不超過3S,以免損壞元件;焊接晶體管等器件時,可用鑷子或尖嘴鉗夾住管腳進(jìn)行焊接,因鑷子和
67、鉗子具有散熱作用,可以保護(hù)器件;焊接集成電路時,雙列直插式集成電路塊的管腳之間距離只有25mil,焊點過大,會造成相鄰管腳短路。應(yīng)采用尖頭電烙鐵,快速焊接。電烙鐵溫度不能太高,焊接時間不能太長,否則,會燒壞集成塊并使印制板上的導(dǎo)電銅箔脫離,所以焊接時一定要特別細(xì)心[11]。</p><p><b> 4.3 系統(tǒng)調(diào)試</b></p><p> 實物終于完成,調(diào)試工
68、作也是非常重要的一個環(huán)節(jié),它直接關(guān)系到系統(tǒng)能否正常工作。經(jīng)過對PCB板上的焊接、導(dǎo)線反復(fù)地檢查是否有虛焊、漏焊、錯焊后,開始進(jìn)入電源調(diào)試階段。我的VCC采用5V直流穩(wěn)定的電壓,在開始時系統(tǒng)自動通過復(fù)位電容實現(xiàn)開機瞬時自動復(fù)位, 現(xiàn)象為顯示部分的數(shù)碼管與LED全部一閃而過,隨后年、月、日,時、分、秒顯示正常,發(fā)現(xiàn)外加的LED閃爍部分并未亮起,檢查后發(fā)現(xiàn)有根導(dǎo)線焊錯了,沒有檢查到,于是馬上修正,再次調(diào)試,發(fā)現(xiàn)顯示部分完美運行。顯示部分已經(jīng)成
69、功。接下來進(jìn)入調(diào)時部分的測試,按下K1進(jìn)入調(diào)時模式,按下K2鍵上調(diào)數(shù)值,按下K3鍵下調(diào)數(shù)值,功能與預(yù)期一致,很幸運并沒有出現(xiàn)各種大的意外。達(dá)到了設(shè)計的要求與老師的預(yù)期。畢業(yè)設(shè)計實物部分完畢。</p><p><b> 結(jié) 論</b></p><p> 本設(shè)計通過軟硬件的結(jié)合利用單片機實現(xiàn)了智能化萬年歷時鐘的展示,它具有集成化,智能化,高精度,高性能,高可靠性和低價
70、格等優(yōu)點,是一個值得推廣的一種方法。這次課程設(shè)計,我對單片機的理論知識有了進(jìn)一步的掌握,對單片機的原理和實際應(yīng)用有了更多地理解和掌握。我對單片機的C語言編程有了更深刻的認(rèn)識和更扎實的掌握,通過不斷修改,不斷嘗試,對程序各個模塊的函數(shù)都有了一個非常深入的掌握。在收獲知識的同時,還培養(yǎng)了獨立思考、動手制作的能力,在各種其它能力上也都有了提高。</p><p> 通過本次設(shè)計的制作,使我深深感到自身能力的不足,也使我
71、將學(xué)到的知識應(yīng)用到了實踐中,在整個設(shè)計中我遇到許多的困難,我通過查閱數(shù)以百的圖書、報刊、資料的查詢不斷解決一個個難題,同時也增加了自己的知識和解決問題的能力。</p><p> 由于本人的水平有限,設(shè)計當(dāng)中,難免會有不少的缺點和不足之處,懇請指導(dǎo)老師批評并改正。</p><p> 總之,本次設(shè)計對我受益匪淺!</p><p><b> 參考文獻(xiàn)<
72、;/b></p><p> [1] 李響初.基于MCS51單片機的智能時鐘控制系統(tǒng)設(shè)計[J].世界電子元器件,2007,(04):52~57.</p><p> [2] 謝維成. 單片機原理與應(yīng)用及C51程序設(shè)計. 清華大學(xué)出版社. 2009.7.</p><p> [3] 李萍. AT89S51單片機原理、開發(fā)與應(yīng)用實例[
73、M], 北京:中國電力出版社,2008:45~98.</p><p> [4] 周志敏,周紀(jì)海,紀(jì)愛華. LED驅(qū)動電路設(shè)計與應(yīng)用[M], 北京:人民郵電出版社,2006:68~77.</p><p> [5] 龔華生等. 元器件自學(xué)通[M], 北京:電子工業(yè)出版社,2005:31~62.</p><p> [6] 鐘富昭,張晨.8051單片機典型模塊設(shè)計與應(yīng)
74、用[M].河北:人民有點出版社,2007:112~145.</p><p> [7] 徐淑華, 程序安裝.單片微型機原理及應(yīng)用. 哈爾濱:哈爾濱工業(yè)大學(xué)出版社. 2005.1 .</p><p> [8] 潭浩強.C程序設(shè)計(第二版)清華出版社[M],1999.</p><p> [9] 袁濤等.單片機C高級語言程序設(shè)計
75、及其應(yīng)用[M],2001:65~86.</p><p> [10] Wang Liankui.The Design of SCM-51 Memorizer's Colligation Extended and it's Software[J].</p><p> Development & Innovation of Machinery & Elect
76、rical Products,2007,(01).</p><p> [11] Arikm,Beckerc,Weavers,etal.Thermalmanagement of Leds:packagetosystem[J],Proc Of </p><p> Spice,2006,(5).</p><p> 附錄一 Protel 99se原理圖</p&g
77、t;<p> Protel 99se原理圖</p><p><b> 附錄二 PCB板圖</b></p><p> 單片機控制部分PCB圖</p><p> 數(shù)碼管顯示部分pcb圖</p><p><b> 附錄三 元器件清單</b></p><p>
78、<b> 附錄四 實物圖</b></p><p><b> 附錄五 系統(tǒng)源程序</b></p><p> #include<AT89X51.h></p><p> unsigned char code dispcode[]={0x3F,0x06,0x5B,0x4F,0x66,0x6D,0x7D,0x07
79、,0x7F,0x6F,0x40};//共陰極</p><p> unsigned char dispbitcode[]={0x00,0x21,0x42,0x63,0x84,0xA5,0xC6,0xE7};//管子的選擇</p><p> unsigned char dispbuf[8]={0,0,10,0,0,10,2,1}; //16為顯示間斷號符</p><
80、p> unsigned char dispbym[8]={1,2,7,0,6,0,0,2};</p><p> unsigned char dispbitcnt;</p><p> unsigned char second;</p><p> unsigned char minite;</p><p> unsigned ch
81、ar hour;</p><p> unsigned char day;</p><p> unsigned char month;</p><p> unsigned char yearh;</p><p> unsigned char yearl;</p><p> unsigned int tcnt;&
82、lt;/p><p> unsigned char mstcnt;</p><p> unsigned char i,j;</p><p> void main(void)</p><p><b> {</b></p><p> TMOD=0x02; //
83、設(shè)置模式為定時器T0的模式2 (8位自動重裝計數(shù)初值的計數(shù)值) </p><p> TH0=0x06; //設(shè)置計數(shù)器初值,靠TH0存儲重裝的計數(shù)值X0=256-250=6</p><p><b> TL0=0x06;</b></p><p> TR0=1;
84、 //啟動T0</p><p> ET0=1; //開啟定時器T0中斷允許</p><p> EA=1; //開啟中斷總控制</p><p><b> yearh=20;</b></p><p><b> yearl=6;</b>
85、;</p><p><b> month=7;</b></p><p><b> day=21;</b></p><p> hour=12; //初始值為12:00:00</p><p><b> while(1)</b></p>
86、<p><b> {</b></p><p> if(P0_0==0) //掃描秒鐘按鈕</p><p><b> {</b></p><p> for(i=5;i>0;i--) //按鈕抖動消除</p><p> f
87、or(j=248;j>0;j--); //計時</p><p> if(P0_0==0)</p><p><b> {</b></p><p><b> second++;</b></p><p> if(second==60)</p><p>&l
88、t;b> {</b></p><p><b> second=0;</b></p><p><b> }</b></p><p> dispbuf[0]=second%10;</p><p> dispbuf[1]=second/10;</p><p&
89、gt; while(P0_0==0);</p><p><b> }</b></p><p><b> }</b></p><p> if(P0_1==0) //掃描分鐘按鈕</p><p><b> {</b></p><
90、p> for(i=5;i>0;i--) </p><p> for(j=248;j>0;j--);</p><p> if(P0_1==0)</p><p><b> {</b></p><p><b> minite++;</b></p>&l
91、t;p> if(minite==60)</p><p><b> {</b></p><p><b> minite=0;</b></p><p><b> }</b></p><p> dispbuf[3]=minite%10;</p><
92、p> dispbuf[4]=minite/10;</p><p> while(P0_1==0);</p><p><b> }</b></p><p><b> }</b></p><p> if(P0_2==0) //掃描時鐘按鈕</p><
93、;p><b> {</b></p><p> for(i=5;i>0;i--)</p><p> for(j=248;j>0;j--);</p><p> if(P0_2==0)</p><p><b> {</b></p><p><b&g
94、t; hour++;</b></p><p> if(hour==24)</p><p><b> {</b></p><p><b> hour=0;</b></p><p><b> }</b></p><p> dispbu
95、f[6]=hour%10;</p><p> dispbuf[7]=hour/10;</p><p> while(P0_2==0);</p><p><b> }</b></p><p><b> }</b></p><p> if(P0_3==0)</p&
96、gt;<p><b> {</b></p><p> for(i=5;i>0;i--)</p><p> for(j=248;j>0;j--);</p><p> if(P0_3==0)</p><p><b> {</b></p><p>
97、;<b> day++;</b></p><p> if(month==2&&((yearl==0&&yearh%4==0)||(yearl!=0&&yearl%4==0))&&day==30)day=1; </p><p> else if(month==2&&day==29)d
98、ay=1;</p><p> else if((month==4||month==6||month==9||month==11)&&day==31)day=1;</p><p> else if(day==32)day=1;</p><p> dispbym[0]=day%10;</p><p> dispbym[1]
99、=day/10;</p><p> while(P0_3==0);</p><p><b> }</b></p><p><b> }</b></p><p> if(P0_4==0)</p><p><b> {</b></p>
100、<p> for(i=5;i>0;i--)</p><p> for(j=248;j>0;j--);</p><p> if(P0_4==0)</p><p><b> {</b></p><p><b> month++;</b></p><p
101、> if(month==13)month=1;</p><p> dispbym[2]=month%10;</p><p> dispbym[3]=month/10;</p><p> while(P0_4==0);</p><p><b> }</b></p><p><b
102、> }</b></p><p> if(P0_5==0)</p><p><b> {</b></p><p> for(i=5;i>0;i--)</p><p> for(j=248;j>0;j--);</p><p> if(P0_5==0)</
103、p><p><b> {</b></p><p><b> yearl++;</b></p><p> if(yearl==100)</p><p><b> {</b></p><p><b> yearl=0;</b>&l
104、t;/p><p><b> yearh++;</b></p><p> if(yearh==100)yearh=20;</p><p><b> }</b></p><p> dispbym[4]=yearl%10;</p><p> dispbym[5]=yearl/
105、10;</p><p> dispbym[6]=yearh%10;</p><p> dispbym[7]=yearh/10;</p><p> while(P0_5==0);</p><p><b> }</b></p><p><b> }</b></p&
106、gt;<p><b> }</b></p><p><b> }</b></p><p> void t0(void)interrupt 1 using 0 //t0的中斷程序</p><p><b> {</b></p><p><b>
107、 mstcnt++;</b></p><p> if(mstcnt==8) //8次250us為2ms,即每隔2ms掃描一個數(shù)碼管</p><p><b> {</b></p><p><b> mstcnt=0;</b></p><p>
108、P1=dispcode[dispbuf[dispbitcnt]];</p><p> P2=dispcode[dispbym[dispbitcnt]];</p><p><b> P3=0xff;</b></p><p> P3=dispbitcode[dispbitcnt]; //管子的選擇</p>&l
109、t;p> dispbitcnt++; </p><p> if(dispbitcnt==8)</p><p><b> {</b></p><p> dispbitcnt=0;</p><p><b> }</b></p><
110、p><b> }</b></p><p><b> tcnt++;</b></p><p> if(tcnt==4000) //定時器的定時計數(shù),4000次250us為1秒</p><p><b> {</b></p><p>
111、;<b> tcnt=0;</b></p><p><b> second++;</b></p><p> if(second==60) //從秒到時層層嵌套,程序較為精練</p><p><b> {</b></p><p><
112、b> second=0;</b></p><p><b> minite++;</b></p><p> if(minite==60)</p><p><b> {</b></p><p><b> minite=0;</b></p>
113、<p><b> hour++;</b></p><p> if(hour==24)</p><p><b> {</b></p><p><b> hour=0;</b></p><p><b> day++;</b></p&g
114、t;<p> if(month==2&&((yearl==0&&yearh%4==0)||(yearl!=0&&yearl%4==0))&&day==30)day=1; </p><p> else if(month==2&&day==29)day=1;</p><p> else if(
115、(month==4||month==6||month==9||month==11)&&day==31)day=1;</p><p> else if(day==32)day=1;</p><p> if(day==1)</p><p><b> {</b></p><p><b> mo
116、nth++;</b></p><p> if(month==13)</p><p><b> {</b></p><p><b> month=1;</b></p><p><b> yearl++;</b></p><p> if
117、(yearl==100)</p><p><b> {</b></p><p><b> yearl=0;</b></p><p><b> yearh++;</b></p><p> if(yearh==100)</p><p><b&g
118、t; {</b></p><p><b> yearh=20;</b></p><p><b> }</b></p><p><b> }</b></p><p><b> }</b></p><p><
119、b> }</b></p><p><b> }</b></p><p><b> }</b></p><p><b> }</b></p><p> dispbuf[0]=second%10; //送顯示數(shù)據(jù)</p>
120、<p> dispbuf[1]=second/10;</p><p> dispbuf[3]=minite%10;</p><p> dispbuf[4]=minite/10;</p><p> dispbuf[6]=hour%10;</p><p> dispbuf[7]=hour/10;</p><
121、p> dispbym[0]=day%10;</p><p> dispbym[1]=day/10;</p><p> dispbym[2]=month%10;</p><p> dispbym[3]=month/10;</p><p> dispbym[4]=yearl%10;</p><p> di
122、spbym[5]=yearl/10;</p><p> dispbym[6]=yearh%10;</p><p> dispbym[7]=yearh/10;</p><p><b> }</b></p><p><b> }</b></p><p><b>
123、 致謝</b></p><p> 在此畢業(yè)即將完成之際,我首先要感謝我的指導(dǎo)老師廖老師,是他廣博的學(xué)識、深厚的學(xué)術(shù)素養(yǎng)、嚴(yán)謹(jǐn)?shù)闹螌W(xué)精神和一絲不茍的工作作風(fēng)使我終生受益,在此向他表示真誠地感謝和深深的謝意,在本設(shè)計進(jìn)行的自始至終,都得到了老師的耐心細(xì)致指導(dǎo),使我能按時保質(zhì)的完成設(shè)計任務(wù)。 在論文的寫作過程中,也得到了許多同學(xué)的寶貴建議,同時還到許多在工作過程中許多同事的支持和幫助,在此一并致以誠摯的
溫馨提示
- 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. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內(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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 智能萬年歷時鐘電路-電路cad課程設(shè)計
- 基于單片機的萬年歷時鐘設(shè)計【畢業(yè)設(shè)計】
- 數(shù)字萬年歷畢業(yè)設(shè)計
- arm課程設(shè)計——可調(diào)控萬年歷時鐘
- 數(shù)字萬年歷設(shè)計論文
- 基于arm的時鐘萬年歷設(shè)計【畢業(yè)設(shè)計】
- 數(shù)字萬年歷設(shè)計畢業(yè)論文
- 萬年歷電子時鐘溫度畢業(yè)設(shè)計
- 基于單片機的萬年歷時鐘設(shè)計【畢業(yè)設(shè)計+開題報告+文獻(xiàn)綜述】
- 畢業(yè)設(shè)計----電子萬年歷論文設(shè)計
- 畢業(yè)設(shè)計----萬年歷數(shù)字鐘及可調(diào)時鐘系統(tǒng)
- 畢業(yè)設(shè)計---萬年歷功能電子時鐘的設(shè)計
- 基于單片機的萬年歷時鐘設(shè)計【開題報告】
- 基于單片機的萬年歷時鐘設(shè)計【文獻(xiàn)綜述】
- 萬年歷課程設(shè)計--萬年歷電子時鐘
- 數(shù)字萬年歷設(shè)計論文資料
- 電子萬年歷畢業(yè)設(shè)計
- 電子萬年歷畢業(yè)設(shè)計
- 電子萬年歷畢業(yè)設(shè)計
- 萬年歷設(shè)計畢業(yè)論文
評論
0/150
提交評論