基于單片機(jī)的數(shù)字電子鐘--畢業(yè)論文設(shè)計(jì)_第1頁
基于單片機(jī)的數(shù)字電子鐘--畢業(yè)論文設(shè)計(jì)_第2頁
基于單片機(jī)的數(shù)字電子鐘--畢業(yè)論文設(shè)計(jì)_第3頁
基于單片機(jī)的數(shù)字電子鐘--畢業(yè)論文設(shè)計(jì)_第4頁
基于單片機(jī)的數(shù)字電子鐘--畢業(yè)論文設(shè)計(jì)_第5頁
已閱讀5頁,還剩25頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

-PAGE2-CHANGZHOUINSTITUTEOFTECHNOLOGY科研實(shí)踐題目:基于單片機(jī)的數(shù)字電子鐘二級學(xué)院(直屬學(xué)部):延陵學(xué)院專業(yè):電氣工程及其自動(dòng)化班級:學(xué)生姓名:學(xué)號:指導(dǎo)教師姓名:職稱:副教授

目錄一、緒論 31.1課題研究的背景和意義 31.2課題研究的目的 3二、課題設(shè)計(jì)概況 42.1課題主要實(shí)現(xiàn)功能 42.2課題功能分析 42.3課題功能實(shí)現(xiàn)過程的描述 4三、總體設(shè)計(jì)方案 53.1單片機(jī)的選擇 53.2數(shù)字電子鐘顯示方案論證 5四、硬件設(shè)計(jì) 64.1總體設(shè)計(jì)結(jié)構(gòu)圖 64.2單片機(jī)最小系統(tǒng)的設(shè)計(jì) 64.3輸入電路的設(shè)計(jì) 74.4輸出電路的設(shè)計(jì) 8五、軟件設(shè)計(jì) 105.1主程序結(jié)構(gòu)圖 105.2主程序流程圖 105.3主要程序模塊分析 125.3.1延時(shí)程序 125.3.2計(jì)24小時(shí)程序 125.3.3暫停/繼續(xù)程序 145.3.4校時(shí)燈閃程序 145.3.516進(jìn)制轉(zhuǎn)BCD碼程序 15六、Protues和keil仿真 166.1proteus軟件的介紹及使用 166.2Keil軟件的介紹及使用 166.3數(shù)字電子鐘的仿真 16七、實(shí)物制作 217.1電路板焊接 217.2電路板調(diào)試 21八、總結(jié)和展望 228.1科研實(shí)踐總結(jié) 228.2對未來的展望 22附錄 23參考文獻(xiàn) 23元器件清單 23原理圖和PCB圖 24C語言程序代碼 25實(shí)物圖 30一、緒論1.1課題研究的背景和意義20世紀(jì)末,電子技術(shù)獲得了飛速發(fā)展,在其推動(dòng)下,現(xiàn)代電子產(chǎn)品幾乎滲透了社會(huì)的各個(gè)領(lǐng)域,有力的推動(dòng)了社會(huì)生產(chǎn)力的發(fā)展和社會(huì)信息化程度的提高,同時(shí)也使現(xiàn)代電子產(chǎn)品性能進(jìn)一步提高,產(chǎn)品更新?lián)Q代的節(jié)奏也越來越快。時(shí)間對人們來說總是那么寶貴,工作的忙碌性和繁雜性容易使人忘記時(shí)間,忘記了要做的事情,但是,一旦重要的事情,一時(shí)的耽誤可能釀成大禍。

目前,單片機(jī)正朝著高性能和多品種方向發(fā)展,發(fā)展趨勢將是進(jìn)一步向著CMOS化、低功耗、小體積、大容量、高性能、低價(jià)格和外圍電路內(nèi)裝化等幾個(gè)方面發(fā)展。

單片機(jī)模塊中最常見的是數(shù)字鐘,數(shù)字鐘是一種利用數(shù)字電路技術(shù)實(shí)現(xiàn)時(shí)、分、秒計(jì)時(shí)的裝置,與機(jī)械式時(shí)鐘相比具有更高的準(zhǔn)確性和直觀性,且無機(jī)械裝置,具有更長的使用壽命,因此得到了廣泛使用。

數(shù)字電子鐘是采用數(shù)字電路對時(shí)、分、秒數(shù)字顯示的計(jì)時(shí)裝置,廣泛用于個(gè)人家庭、車站、碼頭、辦公室等公共場所,成為人們?nèi)粘I钪胁豢扇鄙俚谋匦杵贰S捎跀?shù)字集成電路的發(fā)展和石英晶體振蕩器的廣泛應(yīng)用,使得數(shù)字鐘的精度遠(yuǎn)遠(yuǎn)超過老式鐘表,鐘表的數(shù)字化給人們的生產(chǎn)生活帶來了極大的方便,而且大大的擴(kuò)展了鐘表原來的報(bào)時(shí)功能,因此研究數(shù)字鐘及擴(kuò)大其應(yīng)用,有著日?,F(xiàn)實(shí)的意義。1.2課題研究的目的復(fù)習(xí)KEIL軟件的使用方法;學(xué)會(huì)編寫數(shù)字電子鐘的C語言程序;學(xué)會(huì)畫數(shù)字電子鐘的PROTEUS圖;學(xué)會(huì)穩(wěn)壓電源的制作方法;學(xué)會(huì)制作相應(yīng)的實(shí)物。二、課題設(shè)計(jì)概況2.1課題主要實(shí)現(xiàn)功能1、該單片機(jī)數(shù)字電子鐘能在LED

數(shù)碼管準(zhǔn)確顯示24小時(shí)(顯示格式為:時(shí)時(shí),分分,秒秒);2、可暫停時(shí)間的變動(dòng),同時(shí)在暫停的時(shí)候可以通過調(diào)秒、調(diào)分和調(diào)時(shí)按鈕校正時(shí)間,繼續(xù)計(jì)時(shí)的時(shí)候按調(diào)整后的時(shí)間變動(dòng)。每調(diào)整一次時(shí)間相對應(yīng)的LED燈會(huì)亮三次,計(jì)時(shí)的時(shí)候燈不亮;3、每次上電的時(shí)候數(shù)碼管顯示“000000”2.2課題功能分析1、為了實(shí)現(xiàn)計(jì)時(shí)功能,必須有合適精確的秒源;2、通過進(jìn)位的方法可以實(shí)現(xiàn)分鐘和小時(shí)的顯示;3、時(shí)、分、秒計(jì)到24、60、60要清零;4、給暫停和校時(shí)功能分別設(shè)置按鈕,每按一次校時(shí)按鈕相應(yīng)的數(shù)碼管顯示加1,相應(yīng)的LED燈亮;5、通過軟件編程課實(shí)現(xiàn)上述功能。2.3課題功能實(shí)現(xiàn)過程的描述給單片機(jī)上電之后,數(shù)碼管顯示時(shí)間為00時(shí)00分00秒,按下暫停/繼續(xù)鍵后,通過三個(gè)校時(shí)按鈕把時(shí)間校準(zhǔn)到實(shí)際時(shí)間,再次按下暫停/繼續(xù)鍵恢復(fù)計(jì)時(shí)。每一次校時(shí)的時(shí)候相應(yīng)的燈就會(huì)閃,不調(diào)時(shí)的時(shí)候燈就滅。三、總體設(shè)計(jì)方案3.1單片機(jī)的選擇AT89C51是一種帶4K字節(jié)FLASH存儲(chǔ)器(FPEROM—FlashProgrammableandErasableReadOnlyMemory)的低電壓、高性能CMOS8位微處理器,俗稱單片機(jī)。AT89C2051是一種帶2K字節(jié)閃存可編程可擦除只讀存儲(chǔ)器的單片機(jī)。單片機(jī)的可擦除只讀存儲(chǔ)器可以反復(fù)擦除1000次。該器件采用ATMEL高密度非易失存儲(chǔ)器制造技術(shù)制造,與工業(yè)標(biāo)準(zhǔn)的MCS-51指令集和輸出管腳相兼容。由于將多功能8位CPU和閃速存儲(chǔ)器組合在單個(gè)芯片中,ATMEL的AT89C51是一種高效微控制器,AT89C2051是它的一種精簡版本。AT89C51單片機(jī)為很多嵌入式控制系統(tǒng)提供了一種靈活性高且價(jià)廉的方案。而ATMEL公司的89C52單片機(jī),是增強(qiáng)型RISC內(nèi)載Flash的單片機(jī)。由于單片機(jī)的種類很多,在選擇單片機(jī)時(shí)要依據(jù)實(shí)際設(shè)計(jì)要求選擇合適的單片機(jī)。本數(shù)字電子鐘產(chǎn)生的數(shù)據(jù)量并不大,但是為了確保程序的運(yùn)行,所以選擇C51單片機(jī)。表3-151和52的比較數(shù)據(jù)存儲(chǔ)器程序存儲(chǔ)器定時(shí)器中斷51系列128B4KB2552系列256B8KB383.2數(shù)字電子鐘顯示方案論證本設(shè)計(jì)可以選擇的方案有數(shù)碼管顯示和LCD顯示。由于只要實(shí)現(xiàn)時(shí)分秒的顯示,LCD的顯示盡管多,但無論在軟件上還是硬件上都需要添加其它部件,比較復(fù)雜,因此選擇數(shù)碼管即可。四、硬件設(shè)計(jì)4.1總體設(shè)計(jì)結(jié)構(gòu)圖數(shù)字電子鐘總體設(shè)計(jì)結(jié)構(gòu)圖如下:圖4-1數(shù)字電子鐘的總體設(shè)計(jì)結(jié)構(gòu)圖4.2單片機(jī)最小系統(tǒng)的設(shè)計(jì)1、時(shí)鐘電路如下:單片機(jī)必須在時(shí)鐘的驅(qū)動(dòng)下才能工作.由之前所學(xué)的《單片機(jī)原理》最小系統(tǒng)內(nèi)容,在單片機(jī)內(nèi)部有一個(gè)時(shí)鐘振蕩電路,只需要外接一個(gè)振蕩源就能產(chǎn)生一定的時(shí)鐘信號送到單片機(jī)內(nèi)部的各個(gè)單元,決定單片機(jī)的工作速度。典型的晶振取11.0592MHz(因?yàn)榭梢詼?zhǔn)確地得到9600波特率和19200波特率,用于有串口通訊的場合)。為了匹配單片機(jī)的頻率,經(jīng)過試驗(yàn)選擇匹配電容為30pF。時(shí)鐘電路如下(注意接的是單片機(jī)18、19引腳):圖4-2時(shí)鐘電路2、復(fù)位電路51單片機(jī)通常有兩種復(fù)位方式,上電復(fù)位和按鈕復(fù)位,本論文采用上電復(fù)位。由于本設(shè)計(jì)的晶體振蕩器采用的是12M,因此RC采用典型值。復(fù)位時(shí)間計(jì)算:當(dāng)取100us時(shí)為高電平,所以可以達(dá)到復(fù)位作用。復(fù)位電路圖如下(請忽略時(shí)鐘電路):圖4-3復(fù)位電路4.3輸入電路的設(shè)計(jì)1、暫停和校時(shí)電路如下:由于在P0口,所以要選擇上拉電阻.參照總體結(jié)構(gòu)設(shè)計(jì)圖,最多顧及LED參數(shù)(2.2V,10mA),計(jì)算(5-2.2)/0.01=280,為了保證完全滿足參數(shù)要求,選一定可以滿足條件的500,電流<10mA。各個(gè)按鈕的功能已經(jīng)在下圖中標(biāo)明(按鈕選擇常見的TD-03B即可)。圖4-4暫停和校時(shí)電路2、穩(wěn)壓電源計(jì)算如下:在實(shí)際做硬件實(shí)物的時(shí)候制作出實(shí)際的5V直流穩(wěn)壓電源也是必要的一部分。由于主屏幕上的空間不夠,所以并沒有接穩(wěn)壓電源的線,讓其參與仿真。圖4-5穩(wěn)壓電路4.4輸出電路的設(shè)計(jì)1、校時(shí)時(shí)燈閃電路如下:上拉電阻選擇同上。LED選擇Φ5的T1型紅色燈就行了(電流從參數(shù)已在上文敘述)。圖4-6校時(shí)時(shí)燈閃電路2、數(shù)碼管顯示電路如下:本電子鐘設(shè)計(jì)只牽涉到6位數(shù)碼管的顯示,因此采用6個(gè)7SEG-COM-CATHODE就夠了。此數(shù)碼管共陰極接地。端口引出還要加74LS48譯碼器接單片機(jī),這樣軟件編程的內(nèi)容就能清楚地顯示了。圖4-7數(shù)碼管顯示電路五、軟件設(shè)計(jì)5.1主程序結(jié)構(gòu)圖系統(tǒng)初始化模塊系統(tǒng)初始化模塊按鍵模塊計(jì)時(shí)模塊校時(shí)模塊數(shù)碼管顯示模塊暫停繼續(xù)模塊燈閃模塊圖5-1主程序結(jié)構(gòu)圖5.2主程序流程圖流程圖是使用圖形表示算法的思路是一種極好的方法,不論采用何種程序設(shè)計(jì)方法,程序總體結(jié)構(gòu)確定后,一般以程序流程圖的形式對其進(jìn)行描述??傮w框圖中的各個(gè)子模塊或各個(gè)子任務(wù)也應(yīng)該結(jié)合具體的教學(xué)模型和算法畫出較詳細(xì)的程序流程圖,供后面編寫具體程序和閱讀程序使用。開始開始定義輸入輸出端口開始計(jì)時(shí)顯示按暫停繼續(xù)按鈕YN按調(diào)秒按鈕YN調(diào)秒閃燈按調(diào)分按鈕YN調(diào)分閃燈時(shí)間暫停YN調(diào)分閃燈按調(diào)時(shí)按鈕按暫停繼續(xù)鈕就繼續(xù)計(jì)時(shí)YN繼續(xù)暫停結(jié)束圖5-2主程序流程圖5.3主要程序模塊分析所有的程序詳見附錄。5.3.1延時(shí)程序通過軟件和晶振電路的配合實(shí)現(xiàn)提供1ms的延時(shí)程序,當(dāng)調(diào)用ms函數(shù)時(shí),通過嵌套調(diào)用100us、50us、5us的乘法關(guān)系來實(shí)現(xiàn)1ms的輸出。當(dāng)晶振為12MHz時(shí),由可知程序的確可以延時(shí)5us乃至1ms??紤]誤差程序用的是11.0592MHz。流程圖如下:圖5-3延時(shí)程序流程圖5.3.2計(jì)24小時(shí)程序由得到的10ms乘以100次可以得到1s,然后進(jìn)行加法運(yùn)算,滿60秒進(jìn)1清零,滿60分進(jìn)1清零,滿24時(shí)清零。流程圖如下:YY是否滿24h?顯示緩沖單元清0返回NY是否滿60m?小時(shí)加1分值加1N計(jì)數(shù)器重新加載循環(huán)次數(shù)加1是否滿1s?是否滿60s?秒值加1N開始圖5-4計(jì)24小時(shí)程序5.3.3暫停/繼續(xù)程序通過確認(rèn)暫停/繼續(xù)鍵是否松開這樣的去抖程序可以使得按下這一鍵以及按暫停鍵之后的動(dòng)作得以完美執(zhí)行。流程圖如下:再按一次恢復(fù)運(yùn)行確認(rèn)暫停鍵低電平開始去抖暫停再按一次恢復(fù)運(yùn)行確認(rèn)暫停鍵低電平開始去抖暫停圖5-5暫停/繼續(xù)程序5.3.4校時(shí)燈閃程序參照上一個(gè)模塊,在去抖之后可以執(zhí)行相應(yīng)的程序。校時(shí)模塊:時(shí)分秒的思路其實(shí)是一樣的,按下相應(yīng)的鍵一次,把相應(yīng)端口的值加1,時(shí)的端口時(shí)加1,分的端口分加1,秒的端口秒加1。只要在暫停的情況下按幾下校對時(shí)間的鍵相應(yīng)端口的數(shù)碼管就加幾。燈閃模塊:在端口加1之后,通過延時(shí)程序讓LED亮0.1秒滅0.1秒,重復(fù)2次,以表明在校時(shí)。流程圖如下:開始開始按校秒分時(shí)鍵后去抖秒分時(shí)值加1送相應(yīng)的端口顯示相應(yīng)的燈閃爍3次結(jié)束暫停的時(shí)候滅燈結(jié)束圖5-6秒分時(shí)校時(shí)閃燈程序5.3.516進(jìn)制轉(zhuǎn)BCD碼程序用十位乘以16加個(gè)位得到。流程圖省略。六、Protues和keil仿真6.1proteus軟件的介紹及使用Proteus軟件是LabcenterElectronics公司的一款電路設(shè)計(jì)與仿真軟件,它包括ISIS、ARES等軟件模塊,ARES模塊主要用來完成PCB的設(shè)計(jì),而ISIS模塊用來完成電路原理圖的布圖與仿真。Proteus的軟件仿真基于VSM技術(shù),它與其他軟件最大的不同也是最大的優(yōu)勢就在于它能仿真大量的單片機(jī)芯片,比如MCS-51系列、PIC系列等等,以及單片機(jī)外圍電路,比如按鍵、LED、數(shù)碼管等等。通過Proteus仿真軟件的使用我們能夠輕易地獲得一個(gè)功能齊全、實(shí)用方便的單片機(jī)實(shí)驗(yàn)室。

Proteus仿真時(shí)只需在AT89C52單片機(jī)中加載Keil軟件生成的.HEX格式文件,即可啟動(dòng)仿真。6.2Keil軟件的介紹及使用KeilC51是美國KeilSoftware公司出品的51系列兼容單片機(jī)C語言軟件開發(fā)系統(tǒng),與匯編相比,C語言在功能上、結(jié)構(gòu)性、可讀性、可維護(hù)性上有明顯的優(yōu)勢,因而易學(xué)易用。Keil提供了包括C編譯器、宏匯編、連接器、庫管理和一個(gè)功能強(qiáng)大的仿真調(diào)試器等在內(nèi)的完整開發(fā)方案,通過一個(gè)集成開發(fā)環(huán)境、將這些部分組合在一起。運(yùn)行Keil軟件需要WIN98、NT、WIN2000、WINXP等操作系統(tǒng)。如果你使用C語言編程,那么Keil幾乎就是你的不二之選,其方便易用的集成環(huán)境、強(qiáng)大的軟件仿真調(diào)試工具也會(huì)令你事半功倍。本設(shè)計(jì)使用的keil軟件是keiluvision4版本的,protues仿真前要通過工程選項(xiàng),在output選項(xiàng)卡把生成.HEX文件勾選上,然后編譯生成.HEX文件供protues軟件仿真使用。6.3數(shù)字電子鐘的仿真根據(jù)設(shè)計(jì)思路做好以下幾步:查找所需的元器件;擺好元器件的位置;連線;添加KEIL生成的HEX文件進(jìn)行仿真。仿真圖如下:圖6-1整體仿真圖按下暫停/繼續(xù)鍵,如下:圖6-2按下暫停/繼續(xù)鍵的圖按下秒校時(shí)鍵:圖6-3按下秒計(jì)時(shí)鍵按下分校時(shí)鍵:圖6-4按下分校時(shí)鍵按下時(shí)校時(shí)鍵圖6-5按下時(shí)校時(shí)鍵連續(xù)校時(shí)也可以滿足:圖6-6連續(xù)校時(shí)按下暫停/繼續(xù)鍵繼續(xù)走時(shí)圖6-7繼續(xù)走時(shí)七、實(shí)物制作7.1電路板焊接一般來說,造成硬件問題的首要問題就是焊接了,也就是說焊接的好與壞直接響產(chǎn)品的正常運(yùn)行。造成焊接質(zhì)量不高的常見原因是:①焊錫用量過多,形成焊點(diǎn)的錫堆積;焊錫過少,不足以包裹焊點(diǎn)。②冷焊。焊接時(shí)烙鐵溫度過低或加熱時(shí)間不足,焊錫未完全熔化、浸潤、焊錫表面不光亮(不光滑),有細(xì)小裂紋(如同豆腐渣一樣!)。③夾松香焊接,焊錫與元器件或印刷板之間夾雜著一層松香,造成電連接不良。若夾雜加熱不足的松香,則焊點(diǎn)下有一層黃褐色松香膜;若加熱溫度太高,則焊點(diǎn)下有一層碳化松香的黑色膜。對于有加熱不足的松香膜的情況,可以用烙鐵進(jìn)行補(bǔ)焊。對形成的黑膜,要"吃"凈焊錫,清潔被焊元器件或印刷板表面,重新進(jìn)行焊接才行。④焊錫連橋。指焊錫量過多,造成元器件的焊點(diǎn)之間短路。這在對超小元器件及細(xì)小印刷電路板進(jìn)行焊接時(shí)要尤為注意。⑤焊劑過量,焊點(diǎn)明圍松香殘?jiān)芏?。?dāng)少量松香殘留時(shí),可以用電烙鐵再輕輕加熱一下,讓松香揮發(fā)掉,也可以用蘸有無水酒精的棉球,擦去多余的松香或焊劑。⑥焊點(diǎn)表面的焊錫形成尖銳的突尖。這多是由于加熱溫度不足或焊劑過少,以及烙鐵離開焊點(diǎn)時(shí)角度不當(dāng)浩成的內(nèi)。7.2電路板調(diào)試最小系統(tǒng)的電路不工作,首先應(yīng)該確認(rèn)電源電壓是否正常。用電壓表測量接地引腳跟電源引腳之間的電壓,看是否符合電源電壓,常用的是5V左右。接下來就是檢測復(fù)位引腳的電壓是否正常,EA引腳的電壓要正常為5V左右。如果補(bǔ)焊電源后最小系統(tǒng)還是不能工作,有可能是AT89C51單片機(jī)壞掉了,重新選擇一個(gè)AT89C51單片機(jī)焊接。如果是工作但是不能按需要的功能執(zhí)行,也可用更換AT89C51單片機(jī)方法調(diào)試,但在此之前可以選擇檢查對應(yīng)的模塊是否有焊接問題,若沒有再進(jìn)行更換。八、總結(jié)和展望8.1科研實(shí)踐總結(jié)經(jīng)過近兩周的的努力,在老師和同學(xué)的商討和幫助下,我較好的完成了設(shè)計(jì)任務(wù),通過此次課程設(shè)計(jì),我重新認(rèn)識到了自學(xué)的重要性,以及學(xué)以致用的道理。我在圖書館查閱了大量的資料,同時(shí)也認(rèn)識到了圖書館的重要作用。通過此次的搶答器的設(shè)計(jì),讓我重新拾起了以前所學(xué)習(xí)的電子知識,及我覺得此次設(shè)計(jì)讓我更加鞏固了所學(xué)的知識并在設(shè)計(jì)的過程中學(xué)會(huì)了與時(shí)俱進(jìn),克服了編程的枯燥感,讓我受益匪淺。在學(xué)習(xí)單片機(jī)這門課程的時(shí)候,我們應(yīng)該好好你的記筆記,課下好好的做練習(xí)題才能把C程序設(shè)計(jì)靈活的運(yùn)用到單片機(jī)程序的設(shè)計(jì)上,在單片機(jī)這門課程的學(xué)習(xí)上,我們還應(yīng)該知道一種常用的仿真軟件proteus軟件,可以讓你我們更為清晰的掌握AT89C51單片機(jī)的實(shí)際應(yīng)用上的設(shè)計(jì)。在今后的學(xué)習(xí)過程中,應(yīng)該多到圖書館看一些專業(yè)方面的書籍,以豐富自己的知識。也使我加深了對單片機(jī)及接口技術(shù)的理解和應(yīng)用,由于知識水平的局限,設(shè)計(jì)中可能會(huì)存在著一些不足,我真誠的接受老師和同學(xué)的批評和指正。8.2對未來的展望經(jīng)過兩周的科研實(shí)踐,我深刻明白了理論知識與社會(huì)實(shí)踐相結(jié)合的道理,也得到了以前書本知識所不曾得到的知識,更加明白了如今信息時(shí)代電子技能知識的重要性。

本設(shè)計(jì)增強(qiáng)了我對單片機(jī)、C語言等技能方面的認(rèn)識,掌握了分析、處理問題的方法、邏輯思維能力等基本技能的訓(xùn)練,具有了一定程度的實(shí)際工作能力。

面對如此激烈的市場競爭體系,只有努力掌握好單片機(jī)知識方可在競爭中立于不敗之地,我對從事電子設(shè)計(jì)、C語言編程和研究產(chǎn)生了濃厚的興趣。希望自己以后能通過自己的不懈努力取得更大的進(jìn)步。

附錄參考文獻(xiàn)[1]高偉.單片機(jī)原理及應(yīng)用[M].北京:國防工業(yè)出版社,2008年.[2]范力旻.《單片機(jī)原理及應(yīng)用技術(shù)》.電子工業(yè)出版社.[3]胡文金楊健.《單片機(jī)應(yīng)用技術(shù)實(shí)訓(xùn)教程》.重慶大學(xué)出版社.[4]楊加國.《單片機(jī)原理與應(yīng)用及C51程序設(shè)計(jì)》.清華大學(xué)出版社,2006年.[5]齊朱寧西.單片機(jī)應(yīng)用系統(tǒng)設(shè)計(jì)實(shí)驗(yàn)(C51).電子工業(yè)出版社,2013年.元器件清單序號名稱型號規(guī)格數(shù)量元件編號1直流電源9V1V12電解電容220uF和10uF1和1C3~C43瓷片電容0.022uF和30pF1和2C5、C1~C24三端穩(wěn)壓器78051U85電阻500,1k8,1R1~R7,R86晶振11.0592MHz1X17單片機(jī)STC89C511U18LED-REDφ53LED1~LED39輕觸按鈕TD-03B4S1~S410數(shù)碼管7SEG-COM-CATHODE6DIG1~DIG611譯碼器74LS486U2~U7

原理圖和PCB圖C語言程序代碼#include<REG52.h> //片內(nèi)寄存器定義#include<stdio.h> //輸入輸出函數(shù)庫#include<intrins.h> // 內(nèi)部函數(shù)庫 sbitpauseButton=P0^0; //暫停/繼續(xù)按鈕sbitsecButton=P0^1; //調(diào)秒按鈕sbitminButton=P0^2; //調(diào)分按鈕sbithouButton=P0^3; //調(diào)時(shí)按鈕sbitLed1=P0^4; //調(diào)分的時(shí)候閃燈sbitLed3=P0^6; //調(diào)時(shí)的時(shí)候閃燈voidtime(unsignedintucMs); /延時(shí)單位:ms/*HEXtoBCD*/unsignedcharHEXtoBCD(unsignedcharhex){return((hex/10)*16+(hex%10));}/*mainC*/voidmain(void){inti;unsignedcharuc10ms=0,uc1s=0,uc60s=0,uc1h=0; while(1){P1=HEXtoBCD(uc1s); //顯示秒P2=HEXtoBCD(uc60s); //顯示分P3=HEXtoBCD(uc1h); //顯示時(shí) time(10); //延時(shí)0.01秒uc10ms++;if(uc10ms==100){uc10ms=0;uc1s++;}if(uc1s==60){ //滿60秒,即一分uc1s=0;uc60s++;}P1=HEXtoBCD(uc1s);if(uc60s==60){ //滿60分,即一小時(shí)uc60s=0;uc1h++;}P2=HEXtoBCD(uc60s);if(uc1h==24) //滿一天,歸零{ uc1h=0;} P3=HEXtoBCD(uc1h);Led1=1;Led2=1;Led3=1;if(!pauseButton) //暫停/繼續(xù),用來校時(shí){ while(!pauseButton);while(pauseButton){if(!secButton)

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(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ǔ)空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論