目錄
摘要 1
關(guān)鍵詞
第一章 引 言
1.1 課題背景
1.1.1 選題背景
第二章 設(shè)計(jì)方案論證
設(shè)計(jì)要求
設(shè)計(jì)方案選擇
方案一:數(shù)字電路設(shè)計(jì)的作息時(shí)間控制器系統(tǒng)
方案二:基于單片機(jī)的作息時(shí)間控制器系統(tǒng)設(shè)計(jì)
方案確定
基本方案
設(shè)計(jì)課題簡要概述
系統(tǒng)軟硬件劃分
單片機(jī)選型
3.2.2 DS1302
3.3.2 鍵盤接口電路設(shè)計(jì)
4.1.2 顯示程序設(shè)計(jì)和按鍵判斷與按鍵處理程序設(shè)計(jì)
系統(tǒng)主程序流程圖
系統(tǒng)定時(shí)中斷流程圖
第五章 系統(tǒng)程序設(shè)計(jì)
程序設(shè)計(jì)概要
源程序清單
第六章 作息時(shí)間器硬件原理圖
第七章 實(shí)訓(xùn)總結(jié)
參考文獻(xiàn)
附錄
附錄 1 原理電路圖
附錄 2 元件清單
附錄 3 實(shí)物圖
基于單片機(jī)的作息時(shí)間控制器系統(tǒng)設(shè)計(jì)
重慶三峽學(xué)院電子與信息工程學(xué)院
摘要
基于單片機(jī)的作息時(shí)間器系統(tǒng), 是以一片 8 位單片機(jī)為核心的實(shí)時(shí)時(shí)鐘及控制系統(tǒng)。我們知道單片機(jī)的外接石英晶體振蕩器能提供穩(wěn)定、準(zhǔn)確的基準(zhǔn)頻率, 并經(jīng) 12 分頻后向內(nèi)部定時(shí)器提供實(shí)時(shí)基準(zhǔn)頻率信號(hào),設(shè)定定時(shí)器工作在中斷方式下,連續(xù)對(duì)此頻率信號(hào)進(jìn)行分頻計(jì)數(shù), 便可得秒信號(hào), 再對(duì)秒信號(hào)進(jìn)行計(jì)數(shù)便
可得到分、時(shí)等實(shí)時(shí)時(shí)鐘信息。如果石英晶體振蕩器的頻率信號(hào)為 6MHZ,設(shè)定定時(shí)器定時(shí)工作方式 1 下,定時(shí)器為 3CBO,H 則定時(shí)器每 100ms產(chǎn)生 1 次中斷,在定時(shí)器的中斷定時(shí)處理程序中,每 10 次中斷,則向秒計(jì)數(shù)器加 1,秒計(jì)數(shù)器計(jì)數(shù)到 60 則向分計(jì)數(shù)器進(jìn)位(并建立分進(jìn)位標(biāo)志) ,分計(jì)數(shù)器計(jì)數(shù)到 60,則向時(shí)計(jì)數(shù)器進(jìn)位,如此周而復(fù)始的連續(xù)計(jì)數(shù),便可獲得時(shí)、分、秒的信號(hào),建立一
個(gè)實(shí)時(shí)時(shí)鐘。 接下來便可以進(jìn)行定時(shí)處理和打鈴輸出, 當(dāng)主程序檢測(cè)到有分進(jìn)位標(biāo)志時(shí),便開始比較當(dāng)前時(shí)間(小時(shí)與分、存放在 RAM中)與信息時(shí)間表上的作息時(shí)間(小時(shí)與分,存放在 ROM)是否相同,如有相同者,則進(jìn)行報(bào)時(shí)處理并控制打鈴,如有不相同則返回主程序,如此便實(shí)現(xiàn) 了報(bào)時(shí)控制的要求。
關(guān)鍵詞
單片機(jī)、時(shí)間設(shè)置電路、計(jì)時(shí)電路、顯示電路、定時(shí)打鈴控制電路
第一章 引言
1.1 課題背景
1.1.1 選題背景
隨著科技的不斷發(fā)展, 各種芯片都得到了很好的發(fā)展, 80C51 同樣如此, 從開始的無人問津到現(xiàn)在的隨處可見,紅綠燈,記分牌,電子秒表,遙控器,電飯
煲,電視等只要是電子產(chǎn)品, 都會(huì)和芯片有關(guān), 其實(shí)芯片并不是什么神秘的高科技,它只是里面裝了一些己編好的程序而己. 而這里要介紹的是用匯編語言來編程的一個(gè)系統(tǒng), 它能夠讓一個(gè)學(xué)校或企業(yè)集團(tuán)實(shí)現(xiàn)打鈴自動(dòng)化, 總之,一個(gè)需要時(shí)間系統(tǒng)的機(jī)構(gòu)實(shí)現(xiàn)自動(dòng)提醒功能。
當(dāng)今時(shí)代是一個(gè)新技術(shù)層出不窮的時(shí)代, 在電子領(lǐng)域尤其是自動(dòng)化智能控制領(lǐng)域,傳統(tǒng)的分立元件或數(shù)字邏輯電路構(gòu)成的控制系統(tǒng), 正以前所未有的速度被單片機(jī)智能控制系統(tǒng)所取代。單片機(jī)具有體積小、功能強(qiáng)、成本低、應(yīng)用面廣等 優(yōu)點(diǎn),可以說,智能控制與自動(dòng)控制的核心就是單片機(jī)。目前,一個(gè)學(xué)習(xí)與應(yīng)用
單片機(jī)的高潮正在工廠、 學(xué)校及企事業(yè)單位大規(guī)模地興起。 而本文是用 STC89C52
單片機(jī)設(shè)計(jì)的一個(gè)自動(dòng)打鈴系統(tǒng)。
第二章 設(shè)計(jì)方案論證
2.1 設(shè)計(jì)要求
它可以作為時(shí)鐘電路來顯示時(shí)間,進(jìn)行設(shè)置, 定時(shí)打鈴。 按照自頂向下設(shè)計(jì)方法劃分自動(dòng)打鈴系統(tǒng)的功能。可分為:時(shí)間設(shè)置電路,計(jì)時(shí)電路,顯示電路和 定時(shí)打鈴控制電路等。
以江蘇信息職業(yè)技術(shù)學(xué)院的打鈴情況設(shè)計(jì)
方案一:數(shù)字電路設(shè)計(jì)的作息時(shí)間控制器系統(tǒng)
利用函數(shù)信號(hào)發(fā)生器來進(jìn)行脈沖信號(hào)輸出,利用74160N來設(shè)置十進(jìn)制和六進(jìn)制的進(jìn)位輸出。 利用數(shù)碼顯示器來顯示時(shí)間, 利用或門、 與門、非門、與非門、等電路元件進(jìn)行組合實(shí)現(xiàn)打鈴的控制。
方案二:基于單片機(jī)的作息時(shí)間控制器系統(tǒng)設(shè)計(jì)
單片機(jī)內(nèi)部存儲(chǔ)器設(shè)三個(gè)字節(jié)分別存放時(shí)鐘的時(shí)、分、秒信息。利用定時(shí)器與軟件結(jié)合實(shí)現(xiàn)1 秒定時(shí)中斷,沒產(chǎn)生一次中斷,存儲(chǔ)器內(nèi)相應(yīng)的秒值加 1;若秒值達(dá)到 60,則將其清零,并將相應(yīng)的分字節(jié)值加 1;若分值達(dá)到 60,則清零分字節(jié),并將時(shí)字節(jié)值加 1;若時(shí)值達(dá)到 24,則將時(shí)字節(jié)清零。建立完一個(gè)實(shí)時(shí)時(shí)鐘后接下來進(jìn)行定時(shí)處理和打鈴輸出, 當(dāng)主程序檢測(cè)到有分進(jìn)位標(biāo)志時(shí), 便開始比較當(dāng)前時(shí)間與信息時(shí)間表上的作息時(shí)間是否相同, 相同者,則進(jìn)行報(bào)時(shí)處理并控制打鈴,不相同則返回主程序。
方案確定
方案一的設(shè)計(jì)只能事先設(shè)定打鈴時(shí)間不能完全自動(dòng)打鈴,且在修改打鈴時(shí)間上存在一定的困難。 而方案二中的設(shè)計(jì)能完全實(shí)現(xiàn)自動(dòng)化, 詮釋了我們這次設(shè)計(jì)的主題。 并在修改打鈴時(shí)間上有了很大的方便, 只需修改一部分程序便能實(shí)現(xiàn)不同的需要。
因此我選擇方案二進(jìn)行設(shè)計(jì)。
基本方案
設(shè)計(jì)課題簡要概述
作息時(shí)間控制器系統(tǒng)裝置用于工廠、 學(xué)校等地的時(shí)間控制, 本設(shè)計(jì)是按照學(xué)校作息時(shí)問設(shè)定的,模擬了電了鐘顯示時(shí)、分、秒。還根據(jù)學(xué)校的作息時(shí)間按時(shí) 打鈴,本系統(tǒng)有 4 個(gè)按鈕,分別用來調(diào)時(shí)、調(diào)分、秒和強(qiáng)制打鈴及強(qiáng)制關(guān)鈴, 以保證始終與標(biāo)準(zhǔn)時(shí)間相吻合。
首先設(shè)計(jì)出本系統(tǒng)的硬件基本框圖, 根據(jù)框圖設(shè)計(jì)電氣原理圖, 簡要概述基本原理,按照設(shè)計(jì)技術(shù)參數(shù)設(shè)計(jì)出各部分程序。
系統(tǒng)軟硬件劃分
由于需要最小系統(tǒng)設(shè)計(jì), 因此, 極大地介于系統(tǒng)的硬件成本, 所有能用軟件實(shí)現(xiàn)的功能都用軟件完成,如按鍵的去抖,采用延時(shí),顯示部分用動(dòng)態(tài)顯示等, 這樣硬件部分的設(shè)計(jì)可以采用單片機(jī)最小系統(tǒng), 所謂最小系統(tǒng)時(shí)僅有程序存儲(chǔ)器和時(shí)鐘及復(fù)位電路的單片機(jī)系統(tǒng)。
單片機(jī)選型
根據(jù)課題的具體內(nèi)容,任務(wù)要求,計(jì)時(shí)、校時(shí)、定時(shí)、鍵盤顯示等功能,經(jīng) 多方面考慮,所選系統(tǒng)選項(xiàng)用.與MSC-51單片機(jī)完全兼容的 STC89C52低功耗單片機(jī)。
總體設(shè)計(jì)框圖
顯示部分采用 2 塊 4 位數(shù)碼管,即 8 位共陽數(shù)碼顯示,由 STC89C52芯片對(duì)該數(shù)碼管傳送數(shù)據(jù)。而在 P2 口接入 8 個(gè)三極管對(duì)數(shù)碼管的位控進(jìn)行控制。該顯示采用的是動(dòng)態(tài)顯示, 段控和位控都經(jīng)過反相器,顯示的字形代碼是共陽的顯示代碼,位控信號(hào)輸出時(shí)是高電平有效, 在校時(shí)時(shí), 采用的是點(diǎn)亮小數(shù)點(diǎn)信位調(diào)節(jié)器標(biāo)志,哪位小數(shù)點(diǎn)亮表示調(diào)整的是該位的值。 由于鍵盤只有四個(gè),采用獨(dú)立式按鈕,用查詢法完成讀健功能。 圖五 按鍵電路 各鍵功能已寫入程序, 在使用按鍵的時(shí)候, 根據(jù)有無按鍵否, 一一進(jìn)行判斷,軟件中采用 if 嵌套模式,因此使各按鍵的功能具有多樣性和課重復(fù)使用性。因 本次實(shí)訓(xùn)的課題,為實(shí)現(xiàn),年月日,時(shí)分秒等時(shí)間的調(diào)試,系統(tǒng)使用 5 只按鍵, 4 只按鍵用來調(diào)整時(shí)間, 且其中一只在不設(shè)置時(shí)間的情況下可為強(qiáng)制打鈴, 另一只單獨(dú)連接, 可實(shí)行復(fù)位和強(qiáng)制結(jié)束打鈴。 通過選擇鍵選擇調(diào)整位, 選中位閃爍, 按增加鍵為選中位加 1,按減少鍵為選中位減 1。按強(qiáng)制打鈴按鈕是實(shí)現(xiàn)強(qiáng)制打 鈴或者強(qiáng)制關(guān)閉打鈴。 響鈴電路用到了蜂鳴器、三極管、 1K 電阻。蜂鳴器兩端分別接地和三極管。三極管一段電源另一端與電阻相連并接入 STC89C52的 P3.7 接口。
圖六 響鈴電路
首先實(shí)現(xiàn) 24 小時(shí)制電子鐘,在 8 位數(shù)碼管顯示,顯示為時(shí)分秒,實(shí)現(xiàn)的格式為: 23-59-59 。到達(dá)預(yù)定時(shí)間啟動(dòng)蜂鳴器開始打鈴,打鈴的方式分為起床、熄燈和上下課鈴兩種。 系統(tǒng)使用 5 只按鍵, 4 只按鍵用來調(diào)整時(shí)間, 且其中一只在不設(shè)置時(shí)間的情況下可為強(qiáng)制打鈴, 另一只單獨(dú)連接,可實(shí)行復(fù)位和強(qiáng)制結(jié)束打鈴。通過選擇鍵選擇調(diào)整位,選中位閃爍,按增加鍵為選中位加 1,按減少鍵為選中位減 1。按強(qiáng)制打鈴按鈕是實(shí)現(xiàn)強(qiáng)制打鈴或者強(qiáng)制關(guān)閉打鈴。 第四章 軟件電路設(shè)計(jì)及流程圖
主程序首先是初始化部分, 主要是計(jì)時(shí)單元清零, 中斷初始化, 堆棧指針初始化,啟動(dòng)定時(shí)器工作, 然后是調(diào)用顯示子程序。 主程序的起始存儲(chǔ)地址是 0000H 單元,但由于本系統(tǒng)用了定時(shí)器 T0 的中斷,中斷服務(wù)程序入口地址為 000BH, 因此從0000H單元起存放一條短調(diào)轉(zhuǎn)指令 AJMP,使真正的主程序從 0300H單元開始存放。 單片機(jī)內(nèi)部的定時(shí) / 計(jì)數(shù)器 T0 定時(shí) 100ms,即 0.1s ,10 次中斷即為 1 秒, 60 秒為 1 分, 60 分為 1 小時(shí), 24 小時(shí)為一天,如此循環(huán),從而實(shí)現(xiàn)計(jì)時(shí)功能。 編寫中斷服務(wù)程序關(guān)鍵要注意: 1. 現(xiàn)場(chǎng)保護(hù), 本系統(tǒng)中是累加器 A 和程序狀態(tài)字 PSW值的保護(hù)。 2. 計(jì)時(shí)處理時(shí)采用的確十進(jìn)制,因此時(shí),分,秒單元加 1 后要進(jìn)行十進(jìn)制調(diào)整,即要執(zhí)行 DAA指令,還要注意的是時(shí)計(jì)到 24 就回零,分 和秒計(jì)到 60 就回零。 3. 中斷返回前的現(xiàn)場(chǎng)恢復(fù)。
- 顯示程序設(shè)計(jì)和按鍵判斷與按鍵處理程序設(shè)計(jì)
顯示采用的是動(dòng)態(tài)顯示, 段控和位控都經(jīng)過反相器, 顯示的字形代碼是共陽的顯示代碼, 位控信號(hào)輸出時(shí)是高電平有效, 在校時(shí)時(shí), 采用的是點(diǎn)亮小數(shù)點(diǎn)信位調(diào)節(jié)器標(biāo)志,哪位小數(shù)點(diǎn)亮表示調(diào)整的是該位的值。 顯示子程序的第一部分是拆字,顯示緩沖區(qū)是 2FH—2AH;第二部分是查字型碼,輸出段控和位控信號(hào), 由于采用的是動(dòng)態(tài)顯示, 所以每出輸出一位的段控和位控信號(hào)要延時(shí)一定的時(shí)間,使 LED顯示器顯示的字符時(shí)穩(wěn)定的。 按鍵判斷程序有編寫時(shí)應(yīng)注意按鍵的去抖動(dòng), 該系統(tǒng)采用的是延時(shí)去抖動(dòng)的方法,延時(shí)是通過調(diào)用子程序來實(shí)現(xiàn)的, 每個(gè)按鍵按下后都要等待釋放后再返回。 按鍵處理程序中的按鍵式校時(shí)的,所以進(jìn)入按鍵處理程序后就關(guān)閉定時(shí)中斷,對(duì)于動(dòng)能鍵注意設(shè)置顯示標(biāo)志。
圖 7 主程序流程圖
圖 8 中斷流程圖
第五章 系統(tǒng)程序設(shè)計(jì) 5.1 程序設(shè)計(jì)概要 程序名稱:基于單片機(jī)的作息時(shí)間器系統(tǒng)設(shè)計(jì) 說明:實(shí)現(xiàn) 24 小時(shí)制電子鐘, 8 位數(shù)碼管顯示,顯示時(shí)分秒顯示格式: 23-59-59(小時(shí)十位如果為 0 則不顯示)。 到預(yù)定時(shí)問啟動(dòng)蜂鳴器模擬打鈴,蜂鳴器 BEEP: P3.7。打鈴方式分起床、熄幻鈴和上、下課鈴兩種。 系統(tǒng)使用 5 只按鍵,4 只按鍵用來調(diào)整時(shí)間, 且其中一只在不設(shè)置時(shí)間的情況下可為強(qiáng)制打鈴,另一只單獨(dú)連接,可實(shí)行復(fù)位和強(qiáng)制結(jié)束打鈴。 鍵 SET_KFY: PI.0 ;通過選擇鍵選擇要調(diào)的時(shí)間,選中位閃爍。可調(diào)整年月日,時(shí)分秒,周期和預(yù)設(shè)鬧鐘時(shí)間。 鍵 SET_KFY:PI.1 ;通過選擇鍵選擇調(diào)整位,選中位閃爍,且在 1 鍵選擇到設(shè)置鬧鐘時(shí)間時(shí)可跳出預(yù)設(shè)鬧鐘時(shí)間。 增加鍵 ADD_KEY : PI.2;按一次使選中位加 1。 減少鍵 DEC_KEY: PI.3 ;按一次使選中位位。 1,且具有強(qiáng)制打鈴效果
第六章 作息時(shí)間器硬件原理圖
第七章 實(shí)訓(xùn)總結(jié) 完成作息時(shí)間器設(shè)計(jì)的實(shí)訓(xùn)我能綜合運(yùn)用電子技術(shù)中的所學(xué)到的理論 知識(shí)來完成自動(dòng)打鈴機(jī)的設(shè)計(jì)和分析電路, 學(xué)會(huì)了在虛擬的環(huán)境下創(chuàng)建電路, 計(jì)算和調(diào)整參數(shù),我能靈活的應(yīng)用 AltiumDesign 軟件畫圖,并且掌握了一定的 單片片機(jī)知識(shí),通過這門課的設(shè)計(jì)我還有以下幾點(diǎn)收獲: 1、有利于基礎(chǔ)知識(shí)的掌握 通過這次設(shè)計(jì)我親手做, 自己思考, 將理論知識(shí)上升到實(shí)踐的高度, 從而進(jìn)一步打破了單片機(jī)的神秘面紗。 2、有利于邏輯思維的鍛煉。 在許多常規(guī)可生的日常學(xué)習(xí)中我們不難發(fā)現(xiàn)這樣一個(gè)現(xiàn)象, 不少學(xué)生的思維常處于混亂的狀態(tài), 寫作文來前言不搭后語, 解起數(shù)學(xué)題來步驟混亂, 這些都是缺乏思維訓(xùn)練的結(jié)果, 程序設(shè)計(jì)是公認(rèn)的, 最能直接有效的訓(xùn)練學(xué)生的創(chuàng)造思維, 培養(yǎng)分析問題解決問題的能力的方法之一。即使見到陌生的程序,從任務(wù)分析, 確定算法界面布局,縮寫代碼到調(diào)試運(yùn)行,都能順利完成。 整個(gè)過程需要我們有條理的構(gòu)思, 這之間有猜測(cè)設(shè)計(jì), 判斷思維的抽象思維訓(xùn)練,又有分析問題解決問題,預(yù)測(cè)日標(biāo)等能力的培養(yǎng)。
以上圖文的Word格式文檔下載(內(nèi)容和本網(wǎng)頁上的一模一樣,方便保存)::
基于單片機(jī)的作息時(shí)間控制器系統(tǒng)設(shè)計(jì).docx
(737.52 KB, 下載次數(shù): 49)
2018-9-15 15:11 上傳
點(diǎn)擊文件名下載附件
|