資源描述:
《基于51單片機的時鐘秒表》由會員上傳分享,免費在線閱讀,更多相關(guān)內(nèi)容在行業(yè)資料-天天文庫。
1、目錄摘要11設(shè)計目的及要求21.1設(shè)計目的21.2設(shè)計要求22設(shè)計方案選擇32.1芯片簡介32.2總體設(shè)計思路32.3單元電路設(shè)計42.3.1時鐘模塊42.3.2復(fù)位電路模塊42.3.3控制模塊52.3.4顯示模塊53軟件設(shè)計63.1整體程序設(shè)計思路63.2程序流圖63.3主要程序代碼84仿真調(diào)試114.1keil簡介114.1keil與protues聯(lián)調(diào)114.2仿真實現(xiàn)125硬件實現(xiàn)125.1程序下載步驟125.1硬件調(diào)試136拓展146.1設(shè)計原理146.2主要程序清單146.3仿真實現(xiàn)157心得體會16參考文獻1
2、719摘要本設(shè)計的數(shù)字秒表系統(tǒng)采用STC89C52單片機為中心器件,利用其定時器/計數(shù)器原理,結(jié)合LED數(shù)碼管以及按鍵電路來設(shè)計計時器。將軟、硬件有機地結(jié)合起來,使得系統(tǒng)能夠?qū)崿F(xiàn)四位LED顯示,顯示時間為00.00~99.99秒,計時精度為0.01秒,能正確地進行計時。同時,我在此基礎(chǔ)上,又設(shè)計了時鐘秒表定時器,可以顯示年、月、日、星期、時間進制、時、分、秒、、以及鬧鐘啟/停狀態(tài),可以實現(xiàn)時間的調(diào)整,時鐘/秒表功能的轉(zhuǎn)換,鬧鐘的啟/停。其中軟件系統(tǒng)采用C語言編寫程序,包括顯示程序,定時中斷服務(wù),延時程序等,并在keil中
3、調(diào)試運行,硬件系統(tǒng)利用PROTEUS強大的功能來實現(xiàn),簡單切易于觀察,在仿真中就可以觀察到實際的工作狀態(tài),利用單片機開發(fā)板可下載程序,實現(xiàn)硬件實現(xiàn)。關(guān)鍵詞:秒表,時鐘,定時/計數(shù)器191設(shè)計目的及要求1.1設(shè)計目的本設(shè)計主要是應(yīng)用Proteus軟件和嵌入式C語言編程工具,結(jié)合單片機原理及應(yīng)用、微機原理與接口技術(shù)等專業(yè)課程,強化和鞏固專業(yè)理論基礎(chǔ),掌握Proteus仿真的技巧和嵌入式C語言編程工具,提高單片機開發(fā)能力,并為嵌入式開發(fā)打下基礎(chǔ)。1.2設(shè)計要求試用定時器/計數(shù)器設(shè)計一個簡單的秒表,能顯示計時狀態(tài)和結(jié)果。要求進行
4、電路仿真實驗,并使用C語言進行程序的開發(fā)。192設(shè)計方案選擇2.1芯片簡介本設(shè)計選擇采用STC89C52單片機為核心。STC89C52是一個低電壓、高性能CMOS8位單片機帶有64K字節(jié)的可反復(fù)擦寫的程序存儲器。和128字節(jié)的存取數(shù)據(jù)存儲器RAM,這種器件采用ATMEL公司的高密度、不容易丟失存儲技術(shù)生產(chǎn),并且能夠與MCS-52系列的單片機兼容。片內(nèi)含有8位中央處理器和閃爍存儲單位,有較強的功能的STC89C52單片機能夠被應(yīng)用到控制領(lǐng)域中。STC89C52提供以下的功能標(biāo)準(zhǔn):4K字節(jié)閃爍存儲器,128字節(jié)隨機存取數(shù)據(jù)存
5、儲器,32個I/O口,2個16位定時/計數(shù)器,1個5向量兩級中斷結(jié)構(gòu),1個串行通信口,片內(nèi)振蕩器和時鐘電路。另外,STC89C52還可以進行0HZ的靜態(tài)邏輯操作,并支持兩種軟件的節(jié)電模式。閑散方式停止中央處理器的工作,能夠允許隨機存取數(shù)據(jù)存儲器、定時/計數(shù)器、串行通信口及中斷系統(tǒng)繼續(xù)工作。2.2總體設(shè)計思路本設(shè)計使用89C52芯片作為控制芯片,復(fù)位電路和時鐘電路構(gòu)成單片機最小系統(tǒng)。利用P1口8個引腳接上拉電阻,然后連接四位共陰極數(shù)碼管段選段即P0.0—P0.7分別連接共陰極數(shù)碼管的A—DP腳,P1.0—P1.3分別反相器
6、74HC04再與數(shù)碼管的位選端1—4腳連接,實現(xiàn)秒表的顯示。利用P3.2和P3.3分別連接了2個按鍵,分別用來控制秒表復(fù)位、開始/暫停。單片機控制原理圖如下:圖2.2單片機控制原理圖192.3單元電路設(shè)計本設(shè)計主要分為時鐘電路模塊,復(fù)位電路模塊,顯示模塊和控制模塊。設(shè)計方案如下:2.3.1時鐘模塊圖2.3時鐘電路如上圖所示,89C52單片機的時鐘信號通常用內(nèi)部振蕩方法得到,在引腳XTAL1和XTAL2外接晶體振蕩器(簡稱晶振)或陶瓷諧振器,就構(gòu)成了內(nèi)部振蕩方法。由于單片機內(nèi)部有一個高增益反相放大器,當(dāng)外接晶振后,就構(gòu)成了
7、自激振蕩器并產(chǎn)生振蕩時鐘脈沖。晶振通常選擇6MHz、12MHz、24MHz。本設(shè)計采用12MHz晶振。圖中電容C1、C2起到穩(wěn)固振蕩頻率、快速起振的作用。電容值一般為5—30pF。本設(shè)計選用22pF電容。2.3.2復(fù)位電路模塊圖2.4復(fù)位電路復(fù)位操作完成電路的初始化,使單片機從一種確定的狀態(tài)開始運行。由上圖可知,控制模塊實際上就是單片機的最小系統(tǒng)。本設(shè)計采用常用的上電且開關(guān)復(fù)位電路。上電后,由于電容的充電,使RST持續(xù)一段高電平時間。當(dāng)單片機已在運行中時,按下復(fù)位鍵也能使RST持續(xù)一段時間的高電平,從而實現(xiàn)上電且開關(guān)復(fù)位
8、的操作。此處,C3電容取20uF,R1=1K。192.3.3控制模塊控制部分電路連接如下圖所示:圖2.5控制電路單片機檢測按鍵的原理是:單片機的I/O口既可作為輸出也可作為輸入使用,當(dāng)檢測按鍵時,用的是它的輸入功能,我們把按鍵的一端接地,另一端與單片機的某個I/O口相連,開始時先給該I/O口賦一高電平,然后讓單片機不