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