李小蕊 崔紫騰 陳清清
摘 要:單片機(jī)具有集成度高,體積小可靠性好和性價(jià)比高得優(yōu)點(diǎn),該文主要闡述了設(shè)計(jì)一個利用單片機(jī)作為總控制中樞的秒表系統(tǒng)。利用單片機(jī)可以定時和記數(shù)的原理結(jié)合時鐘電路、數(shù)碼管顯示電路、復(fù)位電路和按鍵電路將軟、硬件同時結(jié)合起來,使得系統(tǒng)能夠準(zhǔn)確無誤地進(jìn)行計(jì)時,同時具有開始,暫停,清零和復(fù)位的功能。
關(guān)鍵詞:單片機(jī);多功能秒表;C語言
中圖分類號:TP368 文獻(xiàn)標(biāo)識碼:A 文章編號:1009-3044(2016)13-0257-02
Abstract: MCU with integration of small size, high reliability and high ratio of performance to price advantages, this paper mainly expounds the design using a single chip microcomputer as the total central control of the stopwatch system. The use of single-chip can timing and counting principle in conjunction with the clock circuit, digital tube display circuit, reset circuit and the key circuit software and hardware combined together, which makes the system can accurately correct timing, also has a start, pause, clear and reset function.
Key words: single chip microcomputer; multifunction stopwatch; C language
1 系統(tǒng)硬件總體結(jié)構(gòu)
本系統(tǒng)采用AT89C52單片機(jī)為核心器件,通過硬件電路的制作和軟件程序的編寫,利用單片機(jī)的控制作用通過LED來直接顯示數(shù)字[1]。其中硬件電路如電源電路,晶振電路,復(fù)位電路[2],顯示電路,以及一些按鍵電路等,軟件系統(tǒng)采用C語言編寫,包括數(shù)碼管點(diǎn)亮顯示程序,加減計(jì)數(shù)程序,延時程序,按鍵消抖程序等[3],并在Keil中調(diào)試運(yùn)行,硬件系統(tǒng)利用proteus仿真,簡單而且易于觀察,在仿真中就可以觀察到實(shí)際的工作。總體硬件框圖如圖1所示。[4]
2 模塊電路分析
多功能秒表能正常工作,是在各個電路模塊組合下協(xié)調(diào)完成的,其中包括了單片機(jī)工作電路、數(shù)碼管顯示電路,按鍵電路和時鐘電路,下面做詳細(xì)介紹。
2.1 單片機(jī)簡單介紹
電源VCC、GND,時鐘引腳XTAL1、XTAL2 ,I/O口引腳P0、P1、P2、P3四組八位I/0,編程控制引腳RST。采用MSC-51系列的單片機(jī)是因?yàn)槠渚哂袃纱髢?yōu)勢[5]:1)片內(nèi)程序存儲器采用快閃存儲器,使程序?qū)懭敕奖?,還可以任意的擦寫;2)提供了更小的芯片,使整個硬件電路體積更小,物美價(jià)廉,經(jīng)濟(jì)適用。
2.2 晶體振蕩電路
AT89C52芯片內(nèi)部有一個反相放大器,用于構(gòu)成振蕩器。引腳 XTAL1為反向放大器的輸入,引腳XTAL2為反向放大器輸出,兩端跨接石英晶體及兩個電容就可構(gòu)成穩(wěn)定的自激振蕩器。電容器C1,C2起穩(wěn)定振蕩頻率,并對振蕩頻率有微調(diào)作用。這部分給單片機(jī)提供晶振周期。
2.3 復(fù)位電路
采用上加電壓加按鍵共同組成復(fù)位電路[2],上電之后,此時電容是充電狀態(tài),使RST保持高電平。當(dāng)單片機(jī)運(yùn)行的時候,按下按鍵電路上的復(fù)位鍵也能使RST保持在高電平上,由此實(shí)現(xiàn)按鍵復(fù)位的操作,用來完成單片機(jī)的復(fù)位初始化。
2.4 數(shù)碼管顯示電路
多功能秒表顯示是由AT89C52提供控制信號,通過數(shù)碼管的段選和位選來控制數(shù)碼管的動態(tài)顯示,其中P0口提供段選,給數(shù)碼管送入要顯示的數(shù)字,P2口控制位選,通過給P2口送入數(shù)字來控制數(shù)碼管的亮滅,仿真電路圖如圖3所示[6]。
我們采用的是數(shù)碼管顯示電路。LED數(shù)碼管是由多個發(fā)光二極管封裝在一起組成“8”字型的元器件[7],數(shù)碼管顯示分為靜態(tài)和動態(tài)顯示兩種,靜態(tài)顯示程序設(shè)計(jì)比較簡單,但是會用到較多的端口;動態(tài)顯示用到的端口會相對較少,節(jié)省了單片機(jī)的I/O口使用。在設(shè)計(jì)中,我們采用數(shù)碼管動態(tài)顯示,用P0口作驅(qū)動。因?yàn)镻0口的內(nèi)部沒有上拉電阻[8],不管它的驅(qū)動能力有多大,也相當(dāng)于它是沒有電源的,所以在使用時必需要為其外接上拉電阻才能輸出高電平。
2.5 按鍵電路
本設(shè)計(jì)使用的是P1口作為輸入電路。仿真電路圖如圖5所示。
在按鍵電路中,我們可以在I/O口上直接接按鍵,分別是開始、暫停和清零。P1口作為輸入端時要先向該口進(jìn)行寫1操作[9](P1口內(nèi)有上拉電阻,這個端口沒有高阻態(tài),不能鎖存)單片機(jī)內(nèi)部才會正確讀出外部信號。
3 軟件設(shè)計(jì)
系統(tǒng)軟件由單片機(jī)最小系統(tǒng),按鍵電路和顯示電路組成,當(dāng)系統(tǒng)開始工作時首先由復(fù)位電路給整個程序初始化,然后單片機(jī)等待按鍵按下,由所按得鍵執(zhí)行對應(yīng)的函數(shù)在將函數(shù)運(yùn)行結(jié)果傳給顯示電路并將其顯示[10]。程序圖如圖6所示。
4 結(jié)束語
本次設(shè)計(jì)經(jīng)過仿真成功之后又搭建了實(shí)際電路,跟預(yù)期結(jié)果一致,計(jì)時最大值為99.99秒,精確到0.01秒[5],整體電路計(jì)時精確度高,抗干擾能力強(qiáng),實(shí)用性強(qiáng),性價(jià)比高具有一定的市場。
參考文獻(xiàn):
[1] 羅佳. 基于單片機(jī)的數(shù)字電子鐘及其實(shí)現(xiàn)[J]. 常州信息職業(yè)技術(shù)學(xué)院學(xué)報(bào),2010,9(2):17-19,22.
[2] 高文慶,呂英英. 基于AT89C51單片機(jī)的數(shù)字秒表設(shè)計(jì)[J]. 電腦知識與技術(shù),2012(22):5344-5346.
[3] 樓俊君. 基于STC89C51的簡易秒表的設(shè)計(jì)[J]. 福建電腦,2015(9):116,145.
[4] 雷躍榮,詹旭,杜玲艷,等. 基于單片機(jī)的智能秒表設(shè)計(jì)[J].四川理工學(xué)院學(xué)報(bào):自然科學(xué)版,2010,23(5):602-604.
[5] 郭海麗. 基于單片機(jī)的數(shù)字秒表設(shè)計(jì)[J]. 電子元器件應(yīng)用,2012,14(1):27-29.
[6] 吳瑋瑋. 基于Multisim10的智能秒表設(shè)計(jì)[J]. 電子設(shè)計(jì)工程,2015,23(13):115-116,120.
[7] 曹瓊. 秒表系統(tǒng)[J].山西青年,2013(4):79-80.
[8] 韓彩霞. 51單片機(jī)中并行I/O口的使用[J].電腦與電信,2013(4):71-73.
[9] 湯曉君,劉君華,梁鴻生. MCS系列單片機(jī)P1口鍵盤顯示功能的實(shí)現(xiàn)[J]. 儀表技術(shù)與傳感器,2002(11):27-29.
[10] 朱奇,高言. 單片機(jī)多功能秒表[J]. 微型電腦應(yīng)用,1994(2):24-28.