亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        基于AT89C2051的多功能時(shí)鐘設(shè)計(jì)

        2008-04-12 00:00:00劉文霞董軍堂張威虎楊會(huì)彩
        現(xiàn)代電子技術(shù) 2008年18期

        摘 要:以AT89C2051為中心控制單元,采用匯編語(yǔ)言編程,設(shè)計(jì)一個(gè)用6位數(shù)碼管顯示時(shí)、分、秒的時(shí)鐘。該時(shí)鐘可實(shí)現(xiàn)時(shí)間顯示、時(shí)間調(diào)整、鬧鐘設(shè)置、整點(diǎn)報(bào)時(shí)和省電等多種功能,具有制作簡(jiǎn)單、調(diào)整方便、穩(wěn)定性好、便于擴(kuò)展等特點(diǎn)。經(jīng)實(shí)踐制作、調(diào)試,證明設(shè)計(jì)可靠、方案可行,尤其是在教學(xué)中有較大的實(shí)用價(jià)值,可以為單片機(jī)學(xué)習(xí)者提供很好的練習(xí)題材。

        關(guān)鍵詞:AT89C2051;時(shí)鐘;數(shù)碼管;動(dòng)態(tài)顯示

        中圖分類號(hào):TP313 文獻(xiàn)標(biāo)識(shí)碼:B 文章編號(hào):1004373X(2008)1817804

        Design of Multifunctional Clock Based on AT89C2051

        LIU Wenxia,DONG Juntang,ZHANG Weihu,LI Na,YANG Huicai

        (College of Physics and Electronic Information,Yan′an University,Yan′an,716000,China)

        Abstract:Applying single chip microcomputer AT89C2051 as main control unit,using assemble language to program,designing a kind of multifunctional clock with six LEDs displaying hour,minute and second.The clock carrys out displaying clock,setting clock,adjusting alarm,informing integer o′clock etc.It′s easy to design,convenient to set clock and alarm ,working credibly and stably.Through producing the physical circuit and debug,it proves that the scheme is reliable and the approach is feasible.It′s offerd an excellent practice stuff for the MCU learners.

        Keywords:AT89C2051;clock;digital displaying diode;dynamic display

        1 引 言

        現(xiàn)有時(shí)鐘設(shè)計(jì)的可選方案較多,可以利用中小規(guī)模集成電路設(shè)計(jì),可以利用專用的時(shí)鐘芯片設(shè)計(jì),也可以利用單片機(jī)進(jìn)行設(shè)計(jì)等,且各有特點(diǎn)。其中利用單片機(jī)實(shí)現(xiàn)時(shí)鐘的設(shè)計(jì)方法,具有電路簡(jiǎn)單、編程靈活、便于擴(kuò)展、精確度高、穩(wěn)定性好等優(yōu)點(diǎn),所以這里選擇利用單片機(jī)設(shè)計(jì)。

        在選擇單片機(jī)時(shí),考慮到AT89C2051體積較小、性價(jià)比較高,在家電產(chǎn)品、工業(yè)控制、計(jì)算機(jī)產(chǎn)品、醫(yī)療器械、汽車工業(yè)、智能儀器等應(yīng)用領(lǐng)域已成為用戶降低成本的首選產(chǎn)品[1]。所以,該設(shè)計(jì)選用AT89C2051作為時(shí)鐘的中心控制單元,結(jié)合相關(guān)外圍電路,實(shí)現(xiàn)了時(shí)間顯示、時(shí)鐘調(diào)整、鬧鐘設(shè)置、整點(diǎn)報(bào)時(shí)及省電等多種功能。

        2 系統(tǒng)設(shè)計(jì)

        2.1 定時(shí)器工作方式選擇

        時(shí)鐘設(shè)計(jì)的關(guān)鍵問題是秒信號(hào)的產(chǎn)生,在使用MCS51的定時(shí)器/計(jì)數(shù)器生成秒信號(hào)時(shí),若選用12 MHz晶振,選擇工作方式0時(shí),最大定時(shí)時(shí)間為8.19 ms;選擇工作方式1時(shí),最大定時(shí)時(shí)間為65.54 ms;選擇工作方式2,3時(shí),最大定時(shí)時(shí)間為0.26 ms。因?yàn)檫M(jìn)入中斷要做很多判斷,如果中斷時(shí)間太短則不能完成任務(wù),導(dǎo)致時(shí)鐘誤差增大,所以選擇中斷時(shí)間最長(zhǎng)的工作方式1。這時(shí)定時(shí)器最大定時(shí)時(shí)間只能達(dá)到65.5 ms,離1 s還相差甚遠(yuǎn)。因此,該設(shè)計(jì)采用硬件定時(shí)和軟件計(jì)數(shù)相結(jié)合的方式實(shí)現(xiàn)秒信號(hào)的,即把秒定時(shí)時(shí)間定為50 ms,軟件計(jì)數(shù)20次為1 s。

        2.2 定時(shí)初值的計(jì)算

        MCS51系列單片機(jī)的定時(shí)器為加法計(jì)數(shù)器計(jì)滿溢出時(shí)申請(qǐng)中斷,所以在給定時(shí)器賦初值時(shí),不能直接輸入所需的計(jì)數(shù)值,而應(yīng)輸入定時(shí)器的計(jì)數(shù)最大值與需要定時(shí)值的差值。采用定時(shí)器/計(jì)數(shù)器0,選擇工作方式1,在選用12 MHz系統(tǒng)晶振時(shí),要得到50 ms定時(shí),設(shè)定時(shí)初值為X,則有如下等式:(216-X)×1=50 000

        計(jì)算得定時(shí)初值X=15 536,二進(jìn)制表示為1110010110000B,16進(jìn)制表示為3CB0H。

        為了實(shí)現(xiàn)調(diào)整時(shí)間時(shí)的閃爍顯示功能,采用T1定時(shí)器,定時(shí)初值仍可延用上面計(jì)算結(jié)果。

        2.3 存儲(chǔ)單元的設(shè)置

        為了方便實(shí)現(xiàn)其他附加功能,將計(jì)時(shí)存儲(chǔ)單元、顯示存儲(chǔ)單元與鬧鐘時(shí)間存儲(chǔ)單元分開。其中顯示裝置是用6位LED數(shù)碼管,時(shí)鐘的時(shí)、分和秒各占2位。在鬧鐘設(shè)置時(shí)顯示鬧鐘時(shí)間,其余時(shí)間顯示時(shí)鐘。存儲(chǔ)單元設(shè)置分別如表1,表2,表3所示。

        3 電路設(shè)計(jì)

        3.1 時(shí)鐘電路原理圖

        數(shù)碼管時(shí)鐘電路以AT89C2051單片機(jī)最小系統(tǒng)為基礎(chǔ),顯示采用LED動(dòng)態(tài)掃描方式實(shí)現(xiàn),P3.7口接設(shè)置按鈕,用來(lái)實(shí)現(xiàn)調(diào)時(shí)鐘、調(diào)鬧鐘、省電3種狀態(tài)的轉(zhuǎn)換,在鬧鐘和時(shí)鐘調(diào)整時(shí)為上翻鍵,也是關(guān)閉鬧鐘的按鍵。為了提供LED數(shù)碼管的驅(qū)動(dòng)電流,用三極管9012作輸出驅(qū)動(dòng)。為了提高秒計(jì)時(shí)精確度,系統(tǒng)選用12 MHz晶振,即電路主要是由單片機(jī)、復(fù)位電路、振蕩電路和顯示電路4部分組成。復(fù)位電路采用上電復(fù)位,振蕩電路選用12 MHz中晶振和2個(gè)30 pF的瓷介電容。電路原理如圖1所示。

        3.2 AT89C2051芯片簡(jiǎn)介

        AT89C2051是Atmel公司生產(chǎn)的帶2 kB FLASH存儲(chǔ)器(PEROM)的8 位單片機(jī),它具有如下主要特性:與MCS51兼容;內(nèi)部帶2 kB可編程FLASH存儲(chǔ)器;工作電壓范圍為2.7~6 V;全靜態(tài)工作頻率為0 Hz~24 MHz;128×8位內(nèi)部RAM;2個(gè)16位定時(shí)器/計(jì)數(shù)器;片內(nèi)振蕩器和時(shí)鐘電路;片內(nèi)精確模擬比較器;低功耗的休眠和掉點(diǎn)模式。

        AT89C2051減少了兩個(gè)外部端口,因而芯片的外部引腳大大減少,芯片尺寸很小。它是一個(gè)有20引腳雙列直插式的芯片。

        3.3 顯示電路

        時(shí)鐘采用6個(gè)共陽(yáng)極的數(shù)碼管完成時(shí)、分、秒的顯示,P3口的低6位分別通過5.6 kΩ的限流電阻與相應(yīng)的驅(qū)動(dòng)三極管的連接,三極管的導(dǎo)通與否決定對(duì)應(yīng)位是否顯示。其中數(shù)碼管引腳與單片機(jī)引腳的連接關(guān)系如表4所示,數(shù)碼管的顯示代碼如表5所示[2]

        4軟件設(shè)計(jì)

        4.1 主程序

        主程序主要完成系統(tǒng)的初始化和按鍵的捕獲,在鍵沒有被按下時(shí)調(diào)用顯示子程序,程序流程圖如圖2所示。

        4.2 顯示程序

        需要顯示時(shí),從P1口送出時(shí)鐘的顯示段碼,從P3口低6位送出時(shí)鐘的位選信號(hào),通過動(dòng)態(tài)掃描的方式實(shí)現(xiàn)時(shí)鐘的顯示功能[3]。應(yīng)該注意的是,16進(jìn)制數(shù)所表示的共陽(yáng)極的段碼最高位都為1,這樣在顯示時(shí)它將P1.7強(qiáng)行置1,即直接關(guān)閉響鈴,所以在顯示數(shù)據(jù)送給P1口之前要進(jìn)行判斷,如果P1.7為0,則將顯示數(shù)據(jù)與立即數(shù)7fH邏輯與;如果P1.7為1,則不做任何,直接輸出處理。這樣,顯示時(shí)就不會(huì)影響響鈴的正常進(jìn)行。

        另外,為了符合人們的習(xí)慣,該設(shè)計(jì)中將小時(shí)的十位做滅零處理,所以在軟件設(shè)計(jì)中要檢測(cè)顯示首位是否為零,若是則放入 “熄滅符”,即關(guān)閉該位的顯示,若不是則正常顯示。

        4.3 定時(shí)器T0中斷程序

        定時(shí)器T0主要完成時(shí)鐘計(jì)時(shí)、整點(diǎn)報(bào)時(shí)和鬧鐘控制等功能,其流程圖如圖3所示。

        4.3.1 計(jì)時(shí)的實(shí)現(xiàn)

        定時(shí)器溢出中斷周期為50 ms,中斷累計(jì)20次得到1 s,這樣就產(chǎn)生了秒信號(hào)。程序中通過數(shù)值累加和數(shù)值比較來(lái)實(shí)現(xiàn)從秒到分鐘,從分鐘到小時(shí)的計(jì)時(shí)。具體地來(lái)說(shuō),每產(chǎn)生1 s的定時(shí),計(jì)數(shù)緩沖區(qū)中與“秒”對(duì)應(yīng)的存儲(chǔ)單元值加1;秒單元內(nèi)容加至60時(shí)則產(chǎn)生1 min信號(hào),相應(yīng)的計(jì)時(shí)緩沖區(qū)中與“分鐘”對(duì)應(yīng)的存儲(chǔ)單元加1,同時(shí),將秒計(jì)數(shù)緩沖區(qū)清零;分鐘存儲(chǔ)單元內(nèi)容加至60時(shí)則產(chǎn)生1 h信號(hào),相應(yīng)的計(jì)數(shù)緩沖區(qū)中與“小時(shí)”對(duì)應(yīng)的存儲(chǔ)單元加1,同時(shí),將分鐘計(jì)數(shù)緩沖區(qū)清零;小時(shí)存儲(chǔ)單元內(nèi)容加至24時(shí)自動(dòng)清零,則產(chǎn)生24小時(shí)的定時(shí),從而實(shí)現(xiàn)了24小時(shí)制的時(shí)鐘。

        4.3.2 整點(diǎn)報(bào)時(shí)的實(shí)現(xiàn)

        每次小時(shí)加1時(shí)即為整點(diǎn),此時(shí)打開鬧鈴,同時(shí)將整點(diǎn)報(bào)時(shí)標(biāo)志位06H置1,整點(diǎn)數(shù)賦給times,以后進(jìn)入中斷則通過1 s定時(shí)初值R4判斷是關(guān)閉鬧鈴還是打開鬧鈴;通過判斷整點(diǎn)數(shù)times是否為零來(lái)結(jié)束響鈴,從而實(shí)現(xiàn)了整點(diǎn)報(bào)時(shí)即鬧鈴響的次數(shù)等于整點(diǎn)時(shí)數(shù)。

        需要說(shuō)明的是,因?yàn)樾r(shí)的十位和個(gè)位分別放在兩個(gè)存儲(chǔ)單元中,所以在整點(diǎn)數(shù)賦給times之前應(yīng)該將其合并轉(zhuǎn)換為10進(jìn)制數(shù),否則將出錯(cuò)。

        在整點(diǎn)報(bào)時(shí)程序中,考慮到在臨晨0點(diǎn)到臨晨6點(diǎn)一般不需要報(bào)時(shí),所以,將整點(diǎn)報(bào)時(shí)關(guān)閉;當(dāng)鬧鐘設(shè)置為整點(diǎn),則鬧鐘優(yōu)先,鬧鈴響時(shí),不進(jìn)行整點(diǎn)報(bào)時(shí)。

        4.3.3 鬧鐘的實(shí)現(xiàn)

        鬧鐘通過比較鬧鐘存儲(chǔ)單元的值與時(shí)鐘存儲(chǔ)單元的值是否相等來(lái)實(shí)現(xiàn)。設(shè)置的鬧鐘值存放在7BH7EH中,當(dāng)鬧鐘有效時(shí),計(jì)時(shí)單元的小時(shí)和分鐘每分鐘與相應(yīng)的鬧鐘存儲(chǔ)單元比較1次,當(dāng)時(shí)鐘值和鬧鐘值相等時(shí),則開始響鬧鈴;響鬧鈴期間若有按鍵按下,則停止鬧鈴;若無(wú)按鍵按下,鬧鈴將持續(xù)響1 min后自動(dòng)停止。在停止鬧鈴的同時(shí),將自動(dòng)取消鬧鐘功能,除非再次設(shè)置,所以實(shí)現(xiàn)的是一次鬧鈴功能。

        4.4 T1中斷服務(wù)程序

        T1中斷服務(wù)程序用來(lái)實(shí)現(xiàn)閃爍顯示功能。在調(diào)整時(shí)鐘或設(shè)置鬧鐘的狀態(tài)下,使對(duì)應(yīng)顯示單元的數(shù)據(jù)在時(shí)間數(shù)據(jù)和“熄滅符”數(shù)據(jù)(#0AH)之間以0.3 s為間隔交替顯示,這樣,對(duì)應(yīng)的調(diào)整單元數(shù)據(jù)就會(huì)閃爍,以便于調(diào)整。

        4.5 調(diào)時(shí)程序

        首先需要說(shuō)明長(zhǎng)按和短按的標(biāo)準(zhǔn),其標(biāo)志是鈴聲,當(dāng)在鈴響之前放開按鍵則是短按,之后放開則是長(zhǎng)按。調(diào)時(shí)程序的設(shè)計(jì)方法是:2次連續(xù)短按進(jìn)入省電狀態(tài)(時(shí)鐘繼續(xù),但數(shù)碼管不亮);第一次短按,第二次長(zhǎng)按進(jìn)入調(diào)時(shí)狀態(tài),此時(shí)關(guān)閉T0,時(shí)鐘停止,開始調(diào)整時(shí)間,短按實(shí)現(xiàn)分鐘加1操作,分鐘調(diào)整完畢后,若長(zhǎng)按則進(jìn)入小時(shí)調(diào)整狀態(tài),同樣,短按實(shí)現(xiàn)小時(shí)加1操作,當(dāng)小時(shí)調(diào)整好后長(zhǎng)按則退出時(shí)間調(diào)整,開啟T0,啟動(dòng)時(shí)鐘。

        在響鬧鈴的時(shí)候,有按鍵按下,其作用是關(guān)閉鬧鈴,不進(jìn)入調(diào)時(shí)狀態(tài)。

        4.6 鬧鐘調(diào)整程序

        一次長(zhǎng)按進(jìn)入鬧鐘調(diào)整程序。其中鬧鐘調(diào)整和時(shí)鐘調(diào)整的方法完全相同,只是時(shí)鐘調(diào)整時(shí)關(guān)閉T0,而在鬧鐘調(diào)整程序中T0需要繼續(xù)工作。另外,要設(shè)置不同的標(biāo)志,以實(shí)現(xiàn)鬧鐘調(diào)整時(shí)閃爍的數(shù)據(jù)是鬧鐘。

        總之,在應(yīng)用單片機(jī)設(shè)計(jì)的電路中,程序設(shè)計(jì)很重要,尤其是硬件電路比較簡(jiǎn)單的情況下,這就需要軟件完成和補(bǔ)充其他功能。主要思想為將總體功能分解成若干個(gè)模塊,每個(gè)功能模塊完成特定的功能,并且確定各模塊之間的關(guān)系,最終完成設(shè)計(jì)的所有功能。

        5 系統(tǒng)的調(diào)試

        調(diào)試階段的任務(wù)是排除系統(tǒng)的硬件故障和糾正軟件中的設(shè)計(jì)錯(cuò)誤,并解決硬件和軟件之間的協(xié)調(diào)問題。

        首先進(jìn)行硬件調(diào)試。硬件調(diào)試方法有靜態(tài)調(diào)試和動(dòng)態(tài)調(diào)試2種。靜態(tài)調(diào)試是在電路加電之前先用萬(wàn)用表等工具根據(jù)硬件原理檢查電路的連接,核對(duì)元器件的型號(hào)、規(guī)格、安裝,特別要檢查電源系統(tǒng),防止電源短路和極性錯(cuò)誤。動(dòng)態(tài)調(diào)試是電路在檢查無(wú)誤后,給電路和仿真器加上電源進(jìn)行的聯(lián)機(jī)仿真調(diào)試。軟件的調(diào)試是通過程序的匯編、連接、執(zhí)行來(lái)發(fā)現(xiàn)程序中的語(yǔ)法錯(cuò)誤與邏輯錯(cuò)誤并加以糾正的過程。實(shí)際上系統(tǒng)的硬件調(diào)試和軟件調(diào)試是不能完全分開的,許多軟件錯(cuò)誤是在硬件電路上運(yùn)行后發(fā)現(xiàn)的,所以硬件和軟件應(yīng)該結(jié)合起來(lái)調(diào)試[4]

        經(jīng)過上述反復(fù)調(diào)試,該電路在5V電壓供電的情況下,正常的現(xiàn)實(shí)24小時(shí)計(jì)時(shí)方式的時(shí)、分、秒顯示以及調(diào)時(shí)、調(diào)鬧鐘、整點(diǎn)報(bào)時(shí)和省電狀態(tài)等多種功能。

        6 結(jié) 語(yǔ)

        該設(shè)計(jì)是應(yīng)用AT89C2051進(jìn)行設(shè)計(jì)的典型實(shí)例,應(yīng)用數(shù)碼管顯示原理,動(dòng)態(tài)掃描原理。因?yàn)橥鈬娐份^為簡(jiǎn)單,所以大部分功能用軟件來(lái)實(shí)現(xiàn),這就提高了系統(tǒng)的靈活性和穩(wěn)定性。由于軟件中要完成的功能較多,所以尤其適合單片機(jī)學(xué)習(xí)者實(shí)戰(zhàn)練習(xí)。

        參 考 文 獻(xiàn)

        [1]余錫存,曹國(guó)華.單片機(jī)原理及接口技術(shù)[M].西安:西安電子科技大學(xué)出版社,2000.

        [2]孫鋼峰,楊利霞.時(shí)鐘設(shè)計(jì)問題的討論[J].鄂州大學(xué)學(xué)報(bào),2001,8(4):2327.

        [3]翟玉文,梁偉.電子設(shè)計(jì)與實(shí)踐[J].北京:中國(guó)電力出版社,2005.

        [4]陳建設(shè).簡(jiǎn)單易制的三位電子秒表[J].電子制作,2005(3):29.

        [5]郝建國(guó),鄭燕,薛延俠.單片機(jī)在電子電路設(shè)計(jì)中的應(yīng)用[M].北京:清華大學(xué)出版社,2006.

        [6]王法能.單片機(jī)原理及應(yīng)用[M].北京:高等教育出版社,

        1997.

        [7]劉瑩,秦迎春.基于AT89C2051雙向溫度監(jiān)控系統(tǒng)的設(shè)計(jì)\\.國(guó)外電子元器件,2008(6):3638.

        精品少妇无码av无码专区| 日本免费三片在线视频| 亚洲第一幕一区二区三区在线观看 | 成在人线av无码免费| 欧美肥胖老妇做爰videos| 日日拍夜夜嗷嗷叫国产| 怡红院a∨人人爰人人爽| 女局长白白嫩嫩大屁股| 免费的成年私人影院网站| 国产一区二区丁香婷婷| 成人性生交大全免费看| 日日碰狠狠添天天爽五月婷| 无码中文字幕色专区| 青青草针对华人超碰在线| 激情五月开心五月麻豆| 国产成人精品午夜视频| 91制服丝袜| 亚洲国产不卡免费视频| 亚洲精品宾馆在线精品酒店| 另类内射国产在线| 91青草久久久久久清纯| 成人大片在线观看视频| 又粗又黄又猛又爽大片app| 日本55丰满熟妇厨房伦| 亚洲精品无人区一区二区三区| 少妇被黑人嗷嗷大叫视频| 亚洲а∨精品天堂在线| 国产91吞精一区二区三区| 中文字幕亚洲中文第一| 国产熟妇与子伦hd| 法国啄木乌av片在线播放| 亚洲免费观看一区二区三区| 亚洲毛片在线免费视频| 四虎影视免费观看高清视频| 欧美日本道免费二区三区| 亚洲综合久久中文字幕专区一区| 亚洲av无码国产综合专区| 无限看片在线版免费视频大全| 精品日本一区二区视频| 久久久久人妻精品一区二区三区| 性高朝久久久久久久|