• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看

      ?

      基于STC89C52多功能體育用計時器的仿真與設(shè)計

      2019-08-06 04:32譚艷春朱又敏
      軟件工程 2019年7期
      關(guān)鍵詞:計時器

      譚艷春 朱又敏

      摘? 要:51系列單片機以系統(tǒng)架構(gòu)開放、工作性能靈活可靠、價格低廉的優(yōu)勢,在工業(yè)自動化、交通控制、智能儀表等眾多領(lǐng)域得到了廣泛的應(yīng)用。為了進一步研究并拓展其應(yīng)用場景,本文利用STC89C52單片機、KeilC51和Proteus軟件對多功能體育用計時器進行了完整的軟硬件開發(fā)與設(shè)計。Proteus在線仿真驗證了系統(tǒng)設(shè)計的正確性及合理性,具有較強的實際指導(dǎo)意義和應(yīng)用價值。

      關(guān)鍵詞:KeilC51;Proteus;STC89C52;計時器

      中圖分類號:TP399? ? ?文獻標(biāo)識碼:A

      Abstract:MCS-51 has been widely used in industrial automation,traffic control,intelligent instruments and many other fields because of its open system structure,flexible and reliable performance and low price.In order to further study the SCM and expand its application,the paper designs and develops the software and hardware of multi-functional sports timer through MCU STC89C52,KeilC51 and Proteus.The online simulation of Proteus verifies the validity and rationality of the system design,proving its considerable guiding significance and practical value.

      Keywords:KeilC51;Proteus;STC89C52;timer

      1? ?引言(Introduction)

      STC89C52單片機使用經(jīng)典的MCS-51內(nèi)核,但又做了很多改進使該芯片具有傳統(tǒng)51單片機不具備的功能,它以低功耗、高性能可為眾多嵌入式控制應(yīng)用系統(tǒng)提供靈活、智能、有效的解決方案[1-3]。

      Proteus和Keil是目前比較流行的單片機仿真軟件和集成開發(fā)軟件。其中,Proteus不僅具有其他EDA工具軟件的仿真功能,還能仿真單片機及外圍器件,是目前世界上唯一將電路仿真軟件、PCB設(shè)計軟件和虛擬模型仿真軟件三合一的設(shè)計平臺;而Keil支持51單片機的所有兼容機。所以將Proteus和Keil應(yīng)用于單片機的前期開發(fā)設(shè)計與仿真,可以充分檢驗系統(tǒng)設(shè)計的合理性及可靠性,避免直接搭建硬件電路帶來的一些不可逆的嚴(yán)重后果,如因設(shè)計問題導(dǎo)致芯片燒毀等,因此用Proteus和Keil進行系統(tǒng)的前期開發(fā)仿真對硬件電路的搭建具有實際指導(dǎo)意義和作用[4-6]。

      2? ?硬件電路設(shè)計(Design of hardware circuit)

      該系統(tǒng)的硬件電路主要包括STC89C52最小電路模塊、鎖存電路模塊、按鍵模塊和顯示模塊四部分,電路方框圖如圖1所示。

      各電路模塊的具體說明如下:

      2.1? ?STC89C52最小電路模塊

      該模塊采用內(nèi)部時鐘方式,晶振頻率選為12MHz,由此可知一個機器周期為1us。設(shè)計時器的最小計時單位為tmin ms,因此定時器T0的初始值計算公式為:TH0=(65535-tmin)/256;TL0=(65535-tmin)%256。

      2.2? ?鎖存電路模塊

      鎖存電路模塊采用2塊74HC573,它是一種包含八路3態(tài)輸出的非反轉(zhuǎn)透明鎖存器。

      2.3? ?按鍵模塊

      用K1—K4四個按鍵分別實現(xiàn)計時器的啟動/停止、存儲、回顯和清零的功能,具體電路如圖3所示。

      2.4? ?顯示模塊

      計時器從左到右依次顯示為:分鐘(2位,最多計時59分鐘)、空1位、秒(2位,最多計時59秒)、空1位、10毫秒(2位,最多計時100個10毫秒)。

      3 KeilC51環(huán)境下的編程(Programming in the KeilC51)

      3.1? ?軟件編程要點及難點分析

      (1)啟動/停止按鍵、計時按鍵、回顯按鍵和清零按鍵信息分別通過STC89C52單片機的P3.2—P3.5的四個引腳輸入。

      (2)通過P0口將位選信息,以及需要顯示的數(shù)字信息同時送給兩個74HC573鎖存器。

      (3)1個74HC573鎖存器接數(shù)碼管的A-G,DP引腳,另1個74HC573鎖存器接8個數(shù)碼管的公共端,并通過STC89C52的P1.4和P1.5引腳控制兩個鎖存器的使能。

      (4)該計時器最小計時單位tmin的選擇:雖然人的手眼協(xié)調(diào)與反應(yīng)時間和人當(dāng)時的狀態(tài)有很大關(guān)系,如興奮的時候比沮喪的時候反應(yīng)快,但大量的統(tǒng)計數(shù)據(jù)表明,正常人的反應(yīng)時間一般不會低于100ms,因此本文設(shè)計的體育用計時器的最小計時單位選為10ms完全可以滿足實際需求和應(yīng)用,而沒有必要再過分地細(xì)化。

      (5)該系統(tǒng)的設(shè)計難點在于如何實現(xiàn)計時數(shù)據(jù)在正確位置的顯示。因為所有的時間(本設(shè)計包括分、秒、100ms)都是通過并行I/O口送出,因此需要通過軟件編程控制數(shù)據(jù)應(yīng)在其對應(yīng)的數(shù)碼管上顯示,即分顯示在左數(shù)1位和2位、秒顯示在左數(shù)4位和5位、100ms顯示在左數(shù)7位和8位。

      3.2? ?程序流程圖

      該系統(tǒng)的程序流程圖如圖2所示。

      3.3? ?系統(tǒng)源代碼

      該多功能體育用計時器系統(tǒng)的代碼比較多,因篇幅所限,故本文只介紹以下幾個主要源代碼模塊[7,8]。

      3.4? ?系統(tǒng)的應(yīng)用拓展

      本文設(shè)計的多功能體育用計時器的最多存儲計時個數(shù)、回顯個數(shù)及顯示模式可根據(jù)實際情況進行調(diào)整。

      (1)計時器最多存儲計時個數(shù)及回顯個數(shù)的調(diào)整。

      如果要改變該計時器的最大存儲計時個數(shù)及回顯個數(shù),實現(xiàn)方法特別簡單,可通過重新定義變量temp_buf進行改變。例如將該數(shù)組的定義由temp_buf[10][3]變?yōu)閠emp_buf[20][3],則意味著該計時器的最大存儲計時個數(shù)及回顯個數(shù)由10個變?yōu)?0個。

      (2)計時器顯示模式的調(diào)整。

      計時器的顯示模式應(yīng)和實際需求相匹配,因此需要根據(jù)不同的應(yīng)用場合進行適當(dāng)?shù)恼{(diào)整。例如有些應(yīng)用場景不需要很高的精度(最小計時單位為秒即可),但要求計時較長(長達數(shù)個小時),此時可以選取這樣的顯示模式:小時(2位,最多計時99小時)、空1位、分(2位,最多計時59分)、空1位、秒(2位,最多計時59秒)。以上功能可以通過調(diào)整源代碼中的void t0_server(void)interrupt 1和void display(u8 which_bit,u8 which_number)這兩個函數(shù)來實現(xiàn)。當(dāng)然如果8位顯示還不能夠滿足實際需求,則可以通過增加硬件來實現(xiàn)。

      4? 程序加載及仿真演示(Program loading and simulation demonstration)

      將調(diào)試過沒有語法錯誤的代碼文件*.HEX加載到Proteus原理仿真圖的STC89C52單片機中,點擊運行后,依次按下K1~K4,可以觀察到與預(yù)期一致的計時效果,即可以實現(xiàn)啟動、停止、記錄、回顯和清零的功能。具體操作過程是先按下K1,啟動系統(tǒng),然后間隔隨機的時間按下K2共10次,即記錄存儲了10個數(shù)據(jù),再按下K3(10次),依次顯示第10個、第9個……第1個的時間,最后按下K4,實現(xiàn)清零功能。而且經(jīng)過多次反復(fù)實驗,該系統(tǒng)都可以正常運行,說明系統(tǒng)有很好的穩(wěn)定性和可靠性。由于文本的限制,無法演示系統(tǒng)運行的動態(tài)過程,這里只截取了仿真過程中的一張圖。圖3展示的是存儲鍵K2第1次按下時,記錄的時間(0'6.26''),當(dāng)再按下回顯鍵K3時,以倒序依次顯示存儲的時間數(shù)據(jù),倒數(shù)第二個數(shù)據(jù)顯示的和圖3完全一致,即0'6.26''。這里要注意一個問題:若存儲鍵K2鍵連續(xù)按下的次數(shù)超過系統(tǒng)設(shè)置的上限值,則以后的存儲操作不會被系統(tǒng)執(zhí)行,例如本文設(shè)置的計時數(shù)組為temp_buf[10][3],即最多可以存儲10組時間。所以在使用系統(tǒng)之前,要根據(jù)實際需求進行合理設(shè)置,避免存儲過程中因設(shè)置不足導(dǎo)致數(shù)據(jù)的丟失。

      5? ?結(jié)論(Conclusion)

      本文所設(shè)計的多功能體育用計時器通過Proteus軟件在線仿真驗證了該系統(tǒng)設(shè)計的正確性,以及運行的可靠性和穩(wěn)定性。此外,該系統(tǒng)還可以根據(jù)不同應(yīng)用場合的實際需求對計時器的最多存儲個數(shù)、回顯個數(shù)及顯示格式通過簡單修改軟件中的一些函數(shù)和變量參數(shù)來實現(xiàn),因此該系統(tǒng)具有很好的拓展性,以及較強的實際指導(dǎo)意義和應(yīng)用價值。

      參考文獻(References)

      [1] 于博,楊曉慶.基于KeilC51與Proteus仿真聯(lián)合的單片機應(yīng)用研究[J].軟件工程師,2015,18(9):51-52.

      [2] 郭文會.基于單片機與RS485通信芯片的智能家居控制系統(tǒng)設(shè)計[J].自動化與儀器儀表,2016(09):244-246.

      [3] 譚玉琪,王超,湯吉昀.基于Proteus的單片機多機通信的設(shè)計與仿真[J].電子設(shè)計工程,2019(3):164-168.

      [4] 譚艷春,朱又敏,劉目磊.基于KeilC51和Proteus花樣流水燈系統(tǒng)的設(shè)計[J].軟件工程,2018,21(11):14-16.

      [5] 鄧力.基于Keil時序邏輯和Proteus的電路仿真[J].實驗室研究與探索,2017,36(01):80-83.

      [6] 朱敏玲,張偉,侯凌燕.基于Proteus的微機原理與接口技術(shù)教學(xué)改革[J].實驗室研究與探索,2016,35(01):155-160.

      [7] 林立等.單片機原理及應(yīng)用——基于Proteus和Keil C[M].北京:電子工業(yè)出版社,2018.

      [8] 杜樹春.基于Proteus和KeilC51的單片機設(shè)計與仿真[M].北京:電子工業(yè)出版社,2012.

      作者簡介:

      譚艷春(1980-),女,碩士,講師.研究領(lǐng)域:系統(tǒng)設(shè)計,信號處理.

      朱又敏(1966-),男,碩士,工程師.研究領(lǐng)域:射頻通信.本文通訊作者.

      猜你喜歡
      計時器
      松鼠的計時器
      智能射擊計時器測評
      基于ARM內(nèi)核的計時器設(shè)計
      巧用打點計時器做實驗
      抗繆勒氏管激素:卵巢功能的計時器!
      對電火花計時器的小改進
      對電火花計時器的小改進
      由打點計時器引發(fā)的物理題
      豎向固定電火花打點計時器的技巧
      聽過實時游戲嗎?Chronos Conquest將發(fā)!
      凌源市| 南木林县| 磐石市| 张家港市| 台安县| 德令哈市| 绥阳县| 辉县市| 平果县| 阿克苏市| 自治县| 鄢陵县| 北宁市| 正蓝旗| 南宁市| 疏勒县| 汤阴县| 斗六市| 贵德县| 莲花县| 六枝特区| 长兴县| 小金县| 门头沟区| 蒙城县| 宜春市| 诏安县| 天等县| 竹溪县| 若尔盖县| 昂仁县| 曲松县| 静海县| 乐都县| 都江堰市| 雷波县| 雷州市| 无棣县| 台北市| 汉源县| 辽阳县|