• <tr id="yyy80"></tr>
  • <sup id="yyy80"></sup>
  • <tfoot id="yyy80"><noscript id="yyy80"></noscript></tfoot>
  • 99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

    基于AT89C51單片機(jī)的多功能數(shù)字鐘設(shè)計(jì)與仿真

    2021-12-14 10:29:30張皓斐劉雨瀟
    電子制作 2021年23期
    關(guān)鍵詞:數(shù)碼管按鍵時(shí)鐘

    張皓斐,劉雨瀟

    (青島理工大學(xué)信息與控制工程學(xué)院,山東青島,266525)

    0 前言

    數(shù)字鐘作為基于單片機(jī)的定時(shí)及控制設(shè)備中最基本的一個(gè)應(yīng)用實(shí)例,具有結(jié)構(gòu)簡單應(yīng)用廣泛的特點(diǎn)[1,2]。數(shù)字鐘使用了單片機(jī)中最為常用的輸入輸出設(shè)備按鍵開關(guān)和數(shù)碼管,被廣泛應(yīng)用于電子表、電子萬年歷等產(chǎn)品中,帶來了廣泛的經(jīng)濟(jì)效益。因此,研究數(shù)字鐘并擴(kuò)大其應(yīng)用范圍,有著非常現(xiàn)實(shí)的意義。本文將以AT89C51單片機(jī)為基礎(chǔ),并通過Keil uVision5開發(fā)工具與Proteus仿真軟件進(jìn)行多功能數(shù)字鐘的系統(tǒng)設(shè)計(jì)與仿真驗(yàn)證。

    1 系統(tǒng)設(shè)計(jì)思路

    1.1 設(shè)計(jì)方案

    本文設(shè)計(jì)的數(shù)字鐘電路以AT89C51單片機(jī)為核心,將其內(nèi)部時(shí)鐘信號作為系統(tǒng)的中斷時(shí)鐘源。除時(shí)鐘電路和復(fù)位電路外,為滿足系統(tǒng)的設(shè)計(jì)要求,還要輔以數(shù)碼管顯示模塊和按鍵模塊。此外,由于單片機(jī)的總線端口都有一定的負(fù)載能力,在使用數(shù)碼管顯示器時(shí)需要驅(qū)動器加以輔佐,以為其提供更強(qiáng)的驅(qū)動信號,從而減輕單片機(jī)的負(fù)載壓力。在能夠完成系統(tǒng)設(shè)計(jì)所要求的功能之外,本設(shè)計(jì)還因?yàn)橥饨恿朔澍Q器及其驅(qū)動電路,因而具備整點(diǎn)報(bào)時(shí)的功能,從而使得其具有更高的實(shí)用性。

    本設(shè)計(jì)的系統(tǒng)結(jié)構(gòu)框圖如圖1所示。

    圖1 系統(tǒng)結(jié)構(gòu)框圖

    1.2 各模塊與單片機(jī)的聯(lián)調(diào)方案

    單片機(jī)的XTAL1和XTAL2引腳外接時(shí)鐘電路,從而構(gòu)成內(nèi)部并聯(lián)振蕩電路。

    單片機(jī)的RST引腳連接外部復(fù)位電路,從而可以通過上電或按鍵的方式實(shí)現(xiàn)該系統(tǒng)的復(fù)位功能,亦即上電復(fù)位和按鍵復(fù)位。

    按鍵模塊和報(bào)時(shí)模塊引腳用單片機(jī)P3口的I/O功能實(shí)現(xiàn),通過按鍵模塊來對數(shù)碼管顯示模塊的時(shí)間進(jìn)行調(diào)整及校準(zhǔn)。

    將P2口的其中三個(gè)引腳與3線-8線譯碼器的輸入端相連,則譯碼器的輸出信號即可作為數(shù)碼管的位選信號,從而選中相應(yīng)的數(shù)碼管,且此時(shí)其他的數(shù)碼管不會被點(diǎn)亮;P0口則作為數(shù)碼管的段碼發(fā)送口,從而點(diǎn)亮被選中數(shù)碼管的相應(yīng)段符,以顯示與該二進(jìn)制段碼所對應(yīng)的數(shù)字或字母。此外,在使用數(shù)碼管顯示器時(shí)需要連接驅(qū)動器,以減輕單片機(jī)P0口的負(fù)載壓力[3]。

    2 電路分析與設(shè)計(jì)

    2.1 時(shí)鐘模塊電路

    本設(shè)計(jì)使用AT89C51主控芯片內(nèi)部自帶的反相放大器,并將該放大器與外部時(shí)鐘電路相連接,從而構(gòu)成芯片的內(nèi)部振蕩器。該反相放大器與作為反饋元件的片外石英晶體或陶瓷諧振器一起構(gòu)成自激振蕩器。在本設(shè)計(jì)中,時(shí)鐘電路采用12MHz的石英晶振,電容C1、C2參數(shù)均選擇30pF,電路結(jié)構(gòu)如圖2所示。

    圖2 時(shí)鐘電路

    2.2 復(fù)位模塊電路

    AT89C51單片機(jī)復(fù)位需要一個(gè)長達(dá)24個(gè)時(shí)鐘周期的高電平才能復(fù)位,從而使系統(tǒng)恢復(fù)為初始狀態(tài)。復(fù)位電路如圖3所示。

    圖3 復(fù)位電路

    當(dāng)系統(tǒng)上電時(shí),C3有一個(gè)充電放電的過程,放電過程會產(chǎn)生一個(gè)高電平復(fù)位信號。

    當(dāng)系統(tǒng)正常運(yùn)行時(shí),若按下按鍵,RST端的電平也是一個(gè)高電平,此時(shí)芯片也會產(chǎn)生一個(gè)高電平復(fù)位信號。

    2.3 按鍵模塊電路

    圖4 為系統(tǒng)的按鍵模塊電路原理圖。

    圖4 按鍵模塊電路

    k1為數(shù)碼管的時(shí)間設(shè)置按鍵;k2和k3為加減按鍵,可在相應(yīng)模式下進(jìn)行時(shí)間的加減操作,只有在設(shè)置狀態(tài)時(shí)按下才有效;k4為模式切換按鍵,可在時(shí)、分、秒的設(shè)置模式下順序切換,只有在設(shè)置狀態(tài)時(shí)按下才有效。

    2.4 報(bào)時(shí)模塊電路

    由于AT89C51管腳的驅(qū)動能力是有限的,本設(shè)計(jì)在控制無源蜂鳴器工作時(shí)使用了三極管作為電子開關(guān)器件,從而通過小電流來控制大電流的通斷[2,4]。

    因?yàn)榉澍Q器工作需要有一定頻率的交流電,則單片機(jī)的輸出引腳必須輸出一定頻率的電流脈沖信號,故該脈沖信號需要由單片機(jī)的內(nèi)部定時(shí)器中斷來調(diào)制。

    圖5 為系統(tǒng)的報(bào)時(shí)模塊電路。

    圖5 報(bào)時(shí)模塊電路

    2.5 數(shù)碼顯示模塊及其驅(qū)動電路

    本設(shè)計(jì)所用數(shù)碼管采用由8個(gè)共陰極八段數(shù)碼管組成的數(shù)碼管顯示器,其位選信號由單片機(jī)的P2.4、P2.3、P2.2引腳經(jīng)過3線-8線譯碼器74LS138給出,而對應(yīng)數(shù)碼管的段碼是由 P0 口控制,通過 74HC245 鎖存器進(jìn)行信號功率放大來驅(qū)動的。

    由于P0口作為I/O口時(shí)需要外接上拉電阻,故在電路設(shè)計(jì)時(shí)通過一個(gè)排阻接入了電源。

    數(shù)碼顯示模塊及其驅(qū)動電路如圖6所示。

    圖6 數(shù)碼顯示模塊及其驅(qū)動電路

    3 軟件分析與設(shè)計(jì)

    3.1 軟件設(shè)計(jì)流程圖

    軟件設(shè)計(jì)流程圖如圖7所示。

    圖7 軟件設(shè)計(jì)流程圖

    3.2 各功能塊程序設(shè)計(jì)

    3.2.1 數(shù)碼管掃描刷新顯示功能塊

    由表1可定義一包含從0至9共10種段碼的數(shù)組,其所包含的全部元素為0x3f, 0x06, 0x5b, 0x4f, 0x66, 0x6d,0x7d, 0x07, 0x7f, 0x6f。

    表1 共陰極數(shù)碼管真值表

    3.2.2 時(shí)間計(jì)算功能塊

    通過分別對時(shí)、分、秒進(jìn)行取模10和除以10可得到相應(yīng)的低位和高位段碼,在時(shí)、分、秒之間用橫杠隔開,橫杠的段碼為0x40,這樣有助于增強(qiáng)數(shù)字鐘的易讀性。

    3.2.3 主函數(shù)功能塊

    在程序主函數(shù)中進(jìn)行定時(shí)器T0控制方式的選擇,并開啟內(nèi)部定時(shí)器中斷以激活定時(shí)器中斷函數(shù),同時(shí)也設(shè)定了定時(shí)器的初值,從而獲得合適的定時(shí)周期。

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

    定時(shí)器方式寄存器設(shè)為定時(shí)器模式,且T0按16位加1計(jì)數(shù)器的方式(方式一)工作,若設(shè)定時(shí)周期為50ms,則計(jì)數(shù)溢出20次即可得時(shí)鐘計(jì)時(shí)的最小單位秒。

    在定時(shí)器模式下,計(jì)數(shù)器由單片機(jī)主脈沖經(jīng)12分頻后計(jì)數(shù)。因此,定時(shí)器定時(shí)周期T的計(jì)算公式為:

    式中M為模值,與定時(shí)器工作方式有關(guān);T計(jì)數(shù)是時(shí)鐘周期的12倍;TC為定時(shí)初值,T為欲定時(shí)的定時(shí)周期。

    由于單片機(jī)的晶振頻率為12MHz,設(shè)定定時(shí)周期為50ms,則當(dāng)定時(shí)器采用方式一工作時(shí),定時(shí)初值TC滿足:

    則TH0應(yīng)設(shè)置為0x3c,TL0應(yīng)設(shè)置為0xb0。

    (2)采用溢出中斷次數(shù)累計(jì),計(jì)滿20次則加1秒。

    (3)在程序計(jì)時(shí)過程中,通過數(shù)值的累加及比較來實(shí)現(xiàn)時(shí)分秒的更新計(jì)時(shí)功能。

    4 仿真結(jié)果分析

    在Keil環(huán)境下對程序編譯完成后,將HEX文件導(dǎo)入Proteus中,并對電路系統(tǒng)進(jìn)行仿真分析[5]。結(jié)果如圖8所示,經(jīng)過對各模塊的測試,驗(yàn)證了本設(shè)計(jì)的可行性。

    圖8 Proteus仿真結(jié)果

    5 總結(jié)

    本文通過對基于AT89C51主控芯片的數(shù)字鐘電路及其控制程序的搭建和完善,在Proteus環(huán)境下對設(shè)計(jì)結(jié)果進(jìn)行了仿真驗(yàn)證。通過對電路各模塊的綜合聯(lián)調(diào),實(shí)現(xiàn)了基于AT89C51芯片的數(shù)字鐘電路的正常工作,此外還對其進(jìn)行了功能的拓展,使得本設(shè)計(jì)具有了更強(qiáng)的實(shí)用性。

    猜你喜歡
    數(shù)碼管按鍵時(shí)鐘
    別樣的“時(shí)鐘”
    基于有限狀態(tài)機(jī)的按鍵檢測程序設(shè)計(jì)
    電子制作(2021年3期)2021-06-16 03:14:26
    古代的時(shí)鐘
    Arduino編程
    電腦報(bào)(2019年2期)2019-09-10 07:22:44
    MC9S08FL16單片機(jī)數(shù)碼管靜態(tài)顯示分析
    單片機(jī)控制的四位數(shù)碼管動態(tài)顯示編程
    基于Qt的數(shù)碼管數(shù)字編碼系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)
    有趣的時(shí)鐘
    一種多方向?qū)Ч獍存I結(jié)構(gòu)設(shè)計(jì)
    電子制作(2016年1期)2016-11-07 08:43:05
    時(shí)鐘會開“花”
    西贡区| 广丰县| 碌曲县| 三台县| 锦屏县| 霞浦县| 广西| 利辛县| 新野县| 义马市| 揭东县| 宁明县| 平昌县| 临邑县| 济阳县| 建德市| 同仁县| 体育| 淮北市| 松潘县| 怀安县| 太仓市| 三穗县| 瓮安县| 姚安县| 合作市| 香港| 莫力| 内丘县| 星子县| 通江县| 垦利县| 石河子市| 游戏| 衡水市| 正镶白旗| 大洼县| 高阳县| 秀山| 开封县| 百色市|