劉 銳 范少慧
(河北農(nóng)業(yè)大學機電工程學院,河北 保定 071001)
微型控制器單片機的運算能力強、程序設計方式多樣且靈活、實際操作使用性強,所以可使用編程軟件設計程序和各種算法來實現(xiàn)各種功能的邏輯控制。此外單片機還具有重量輕、消耗低、生產(chǎn)成本低、抗干擾性能強大等優(yōu)點,因此單片機在各個領域得以廣泛加工使用。本設計無須高性能的處理系統(tǒng)處理數(shù)據(jù),所以本簡易電子時鐘設計方案考慮選擇經(jīng)濟且實用的STC89C51單片機作為控制核心器件。
簡易電子時鐘數(shù)碼管上“時”“分”“秒”的數(shù)字顯示和時鐘走時的功能幾乎完全借助于軟件程序實現(xiàn)。定時器的功能也是通過計數(shù)器的計數(shù)來實現(xiàn)的,不同于計數(shù)器的計數(shù)功能是對外來脈沖進行計數(shù),定時器的計數(shù)脈沖是來自單片機的內(nèi)部。程序設計的總體框架為:在單片機內(nèi)部存儲器設置3個足夠大的字節(jié)分別用于存放簡易電子時鐘的“時”“分”“秒”信息。單片機每個機器周期產(chǎn)生一個計數(shù)脈沖,也就是每經(jīng)過一個機器周期的時間,計數(shù)器加1。當計數(shù)器計數(shù)溢出時,利用中斷程序向CPU發(fā)出中斷請求信號,CPU轉向中斷服務程序后單片機內(nèi)“秒”的存儲器的數(shù)值加1;若“秒”的存儲器的數(shù)值達到60,則將其清零,并在“分”的存儲器的字節(jié)內(nèi)數(shù)值加1;若“分"的存儲器的數(shù)值達到60,則將其清零,并在“時”的存儲器的字節(jié)內(nèi)的數(shù)值加1;當“時”的存儲器的字節(jié)內(nèi)的數(shù)值達到24時,則將其清零。雖然本簡易電子時鐘設計具備簡單的電路特性,但是微型處理器單片機CPU執(zhí)行程序時,定時器都需要再次賦予電子時鐘初始值,所以電子時鐘的精確度低。
顯示模塊釆用的是LED數(shù)碼管來實現(xiàn)“時”“分”“秒”的顯示功能。LED數(shù)碼管顯示屏展示的字母字符有限,但是LED數(shù)碼管已經(jīng)足夠滿足本次設計中顯示電子時鐘“時”“分”“秒”需求,并且LED數(shù)碼管成本低,所以從降低生產(chǎn)制作的成本的層面出發(fā),在此次簡易電子時鐘設計中選擇LED數(shù)碼管作為顯示模塊。
STC89C51單片機是一種低功耗、高性能8位微控制處理器。微型處理器單片機具有靈敏的8位CPU、4KB的片內(nèi)ROM和最多能擴展64KB的片外程序處理器,使其為嵌入式控制應用系統(tǒng)提供靈活有效的系統(tǒng)設計。STC89C51單片機片內(nèi)還含有ROM/EPROM,因此,由STC89C51單片機組成的電路系統(tǒng)簡潔實用、可靠安全。
本次簡易電子時鐘設計采用的是共陰數(shù)碼管、動態(tài)顯示的顯示方式。數(shù)碼管是一個把8個LED顯示段集在一起的電子顯示器件,8個顯示段可以顯示數(shù)字0~9,顯示屏右下的dp點可以將簡易數(shù)字時鐘顯示的“時”“分”“秒”數(shù)字分隔開。本次設計采用的共陰型數(shù)碼管是把8個LED顯示段的陰極接在一起形成公共端,二極管的正極為陽極。八段數(shù)碼管的8個LED顯示段分別為A、B、C、D、E、F、G、DP,其中DP是小數(shù)點位段。當單片機輸出一個“1”的控制信號時,共陰型數(shù)碼管該顯示段LED點亮。數(shù)碼管動態(tài)顯示的原理是各數(shù)碼管的同名端連接在一起,另為每個數(shù)碼管的公共極增加位選通控制電路,位選通由各自獨立的I/O線控制。當單片機輸出字形碼時只要將需要顯示的數(shù)碼管的選通控制打開,數(shù)碼管就顯示出字形,而沒有選通的數(shù)碼管就不會亮。
本次簡易電子時鐘的設計只利用了74HC573的驅動功能來驅動數(shù)碼管的顯示功能。74HC573芯片是包括八路D型透明鎖存器,每個鎖存器具有獨立的D型輸入,以及適用于面向總線的應用的三態(tài)輸出。所有鎖存器共用一個鎖存使能(LE)端和一個輸出使能(OE)端。D是輸入,Q是輸出。LE端的作用是通過高低電平控制八位輸入與內(nèi)部數(shù)據(jù)保持器的輸入端的連通和開關。當LE端為高電平時,數(shù)據(jù)從D輸入到鎖存器,鎖存器的輸出Q隨著對應輸入D的變化而變化。當LE端為低電平時,鎖存器D輸入上的信息不會被輸出。當OE為低電平時,芯片內(nèi)部數(shù)據(jù)保持輸出器與芯片的八位輸出端之間聯(lián)通,8個鎖存器的內(nèi)容可被正常輸出;當OE為高電平時,8個鎖存器進入高阻態(tài)將不會輸出內(nèi)容。
基于單片機的簡易電子時鐘硬件設計,是數(shù)字化綜合運用的體現(xiàn)。以STC89C51單片機為整體設計中心,對基于單片機的簡易電子時鐘的控制模塊、計時模塊、顯示模塊進行要點剖析,并且詳細介紹了STC89C51單片機、數(shù)碼管和74HC573芯片的功能。因此,文章研究結果將為基于單片機的電子元件的設計提供參考與借鑒。