數字萬用表的設計單片機自動打鈴系統(tǒng)論文_第1頁
數字萬用表的設計單片機自動打鈴系統(tǒng)論文_第2頁
數字萬用表的設計單片機自動打鈴系統(tǒng)論文_第3頁
數字萬用表的設計單片機自動打鈴系統(tǒng)論文_第4頁
數字萬用表的設計單片機自動打鈴系統(tǒng)論文_第5頁
已閱讀5頁,還剩35頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、欽 州學院 電子電路課程設計報告 數字萬用表的設計 院 系 物理與電子工程學院 專 業(yè) 自動化 學 生 班 級 自動本101班 姓 名 _韋永強_ 指導教師單位 欽州學院 指導教師姓名 申康 指導教師職稱 講 師 2013年10月摘要在現(xiàn)如今快節(jié)奏的生活中,人們對于時間的要求越來越苛刻,很多時候都需要對時間進行規(guī)劃,然后到時間點就要有時間提醒,這就必須用到時鐘提醒裝置,亦可稱為打鈴裝置。打鈴裝置有很多種,比如手機的打鈴系統(tǒng),鬧鐘的機械打鈴裝置,廣播打鈴系統(tǒng)等等,但是日常生活中見得最多的還是校園的自動打鈴系統(tǒng)。在學校生活中,每天上下課都離不開打鈴系統(tǒng)的使用。打鈴器可以為上下課的學生和老師們提供時

2、間提醒,有利于師生對上課和學習的合理安排,同時,也可作為一個提醒學生們作息時間的時間表,讓老師和學生都能有一個規(guī)律和科學的時間安排。因此,打鈴系統(tǒng)的核心部分也是時鐘部分,為系統(tǒng)提供時間基準。本設計主要是針對適用于校園打鈴系統(tǒng)要求的,其介紹了一種基于單片機的自動打鈴系統(tǒng)的設計方法,系統(tǒng)以at89c52單片機為控制器,以isd4004時鐘芯片為系統(tǒng)提供時間,并在液晶顯示器上顯示,通過按鍵可以設定定時打鈴時間和打鈴的時間間隔。系統(tǒng)軟件設計采用c語言來完成,c語言語法簡潔,使用方便,用于完成軟件設計非常方便。本文提出的設計方法電路簡單、成本低廉、實用性強。關鍵字:打鈴器、at89c52單片機、isd4

3、004、液晶顯示器目錄1 前言11.1 選題目的及意義11.2 論文內容12 方案設計22.1 方案比較與選擇22.1.1 系統(tǒng)方案選擇22.1.2 時鐘芯片選擇22.1.3 顯示器件選擇32.2 設計方案33 系統(tǒng)硬件設計43.1 硬件電路圖43.2 時鐘電路43.2.1 時鐘電路設計43.3 按鍵電路53.4 單片機電路63.4.1 單片機簡介63.4.2 單片機最小系統(tǒng)電路93.5 顯示電路103.6 打鈴電路114 系統(tǒng)軟件設計124.1 軟件設計流程圖124.2 讀取isd4004時間程序設計134.3 顯示程序設計144.4 按鍵設定程序設計175 系統(tǒng)調試185.1 元件清單18

4、5.2 調試過程186 總結與展望20心得體會20參考文獻21附錄221 前言1.1 選題目的及意義隨著現(xiàn)代科技的發(fā)展,管理水平的完善,具有自動提示功能的打鈴器能夠為企業(yè)節(jié)省人力資源,減少開支,對做到一體化管理具有很大的幫助。而且自動打鈴系統(tǒng)不斷影響著我們的學習和生活,它已被廣泛應用于各個學校中,它能夠實現(xiàn)學校的辦公自動化,便于學校的管理。用單片機控制的自動打鈴器,充分發(fā)揮了體積小,價格便宜,功耗低可靠性好等特點,而且具有可改性,用于學校作息,方便了廣大師生。目前自動打鈴系統(tǒng)的研究和使用已經非常普及,之所以選這個課題就是看在他的成熟性和普遍性。打鈴器可以為上下課的學生和老師們提供時間提醒,同時

5、,也可作為一個提醒學生們作息時間的時間表,讓大家有一個時間意識,形成規(guī)律的生物鐘,對自身的健康也有很大的好處的。對于那些上課精力過于集中、知識面拓展比較廣的老師的拖堂現(xiàn)象也給了一個下課時間提醒,以免耽誤學生們下一節(jié)課的上課時間。打鈴器作為一個提醒人們時間的設備,自然離不開提供時間的系統(tǒng),最原始的打鈴器是人工根據時間通過敲鐘來提醒,隨著技術的發(fā)展,開始有了機械時打鈴器。隨著二十世紀電子技術的發(fā)展和二十一世紀半導體技術和集成電路的發(fā)展,電子技術開始滲入到各行各業(yè),以電子表為主要基礎提供時間基準的打鈴器自然也是更新?lián)Q代的更快,現(xiàn)在各種功能更多、使用更先進的打鈴器層出不窮,有的還可以以音樂響鈴代替?zhèn)鹘y(tǒng)

6、的“呤呤”聲,打鈴器更多的向著智能型轉變。設備的智能化離不開單片機的使用。單片機簡單的說就是一款微型的計算機,包含中央處理器cup、隨機存取存儲器ram、只讀存儲器rom、i/o口、串行口等部分,可以作為一個系統(tǒng)的主控制器,將其他部分電路整合到一起組成一個系統(tǒng),為控制提供智能化?;谝陨显颍菊n題設計了一款基于單片機的自動打鈴系統(tǒng),使用簡單方便、功能齊全。本次的設計重點在于實現(xiàn)自動打鈴系統(tǒng)的基本功能之外,爭取設計出亮點,出新意,對我本身是個不小的挑戰(zhàn),因此對這個課題的研究不管是對于我本身還是對此項目在科技方面的發(fā)展都是有很重要的意義1.2 論文內容本設計是以at89c52單片機為核心的一款自

7、動打鈴系統(tǒng),以時鐘芯片來實現(xiàn)計時功能,然后單片機負責將時間送入顯示電路顯示,整個系統(tǒng)不是很復雜,其設計主要包括單片機控制模塊、時鐘電路和顯示電路三個模塊的設計,在設計前本人在學校圖書館看了很多關于單片機方面的書,也在網上查了不少資料,也查閱過跟此設計相似的論文或者期刊,得到了不少啟發(fā)和經驗,對本人的設計工作有很大的幫助,能很好的把握設計的整體方向和細節(jié)。2 方案設計2.1 方案比較與選擇2.1.1 系統(tǒng)方案選擇方案一:采用數字電路來搭建,利用555時基電路構成振蕩器產生100hz頻率的振蕩電路,再通過分頻器得到1hz頻率,即產生1秒計時時間,顯示部分通過鎖存器和驅動芯片將計時時間送入數碼管顯示

8、。設計框圖如圖2-1所示。這種方案電路結構比較復雜,芯片使用比較多,靈活性不高,而且準確度不夠精確,不利于系統(tǒng)的擴展。而且這種電路中需要使用獨立式的數碼管,每一個數碼管都需要連接一個數據鎖存器和數碼管驅動芯片,連接線比較多,制作的過程中很容易出錯。ne555時基電路分頻器100hz信號數據鎖存器1hz信號數碼管驅動數碼管顯示圖2-1 方案一設計框圖方案二:采用at89s51單片機作為系統(tǒng)控制單元,通過時鐘芯片來實現(xiàn)計時功能,單片機負責將時間送入顯示電路顯示。設計框圖如圖2-2所示。這種方案電路設計簡單,時間精確,使用方便。而且單片機的強大功能使得系統(tǒng)方便擴展,有利于提高智能性。時鐘芯片秒計時單

9、片機液晶顯示器顯示計時時間圖2-2 方案二設計框圖綜上所述,本設計選用第二種設計方案。2.1.2 時鐘芯片選擇方案一:因為本文設計的數字鐘只需要顯示分鐘和秒,因此可以直接采用單片機定時計數器提供秒信號,使用程序實現(xiàn)分、秒計數。采用此種方案雖然減少芯片的使用,節(jié)約成本,但是,實現(xiàn)的時間誤差較大,硬件就比較復雜,穩(wěn)定性低,而且不易控制。所以不采用此方案。方案二:采用isd4004時鐘芯片實現(xiàn)時鐘。isd4004,它是i2c總線接口實時時鐘芯片,可以獨立于cpu工作,不受cpu主晶振及其電容的影響,且計時準確,月累積誤差一般小于10秒。芯片還具有主電源掉電情況下的時鐘保護電路,isd4004的時鐘靠

10、后備電池維持工作,拒絕cpu對其讀出和寫入訪問。同時還具有備用電源自動切換控制電路,因而可在主電源掉電和其它一些惡劣環(huán)境場合中保證系統(tǒng)時鐘的定時準確性。同時,isd4004芯片內部還集成有一定容量、具有掉電保護特性的靜態(tài)ram,可用于保存一些關鍵數據。所以采用isd4004作為時鐘芯片。2.1.3 顯示器件選擇為了能以十進制數碼直觀地顯示數字系統(tǒng)的運行數據,目前廣泛使用了七段字符顯示器,或稱做七段數碼管。這種字符顯示器由七段可發(fā)光的線段拼合而成。常見的七段字符顯示器有半導體數碼管和液晶顯示器兩種。半導體數碼管的每個線段都是一個發(fā)光二極管(light emitting diode,簡稱led),

11、因而也把它叫作led數碼管或led七段顯示器。半導體數碼管不僅具有工作電壓低、體積小、壽命長、可靠性高等優(yōu)點,而且響應時間短(一般不超過0.1us),亮度也比較高,但是只能顯示數字,顯示內容比較受到限制,又過多的占用單片機的i/o口。液晶顯示器簡稱lcd,液晶是一種既具有液體的流動性又具有光學特性的有機化合物,它的透明度和呈現(xiàn)的顏色受外加電場的影響,利用這一特點便可以做成字符顯示器。液晶顯示器最大的優(yōu)點是功耗極小,每平方厘米的功耗在1uw以下。它的工作電壓也很低,在1v以下仍能工作。而且顯示內容比數碼管要豐富。因此,液晶顯示器在電子表以及各種小型、便攜式儀器、儀表中得到了廣泛的應用。綜上所述,

12、本設計中選用液晶顯示器作為顯示單元器件。2.2 設計方案本設計系統(tǒng)框圖如圖2-3所示。系統(tǒng)以at89c52單片機為控制器,通過isd4004來為系統(tǒng)提供標準時間,單片機讀取isd4004時間后送液晶顯示器顯示,通過按鍵來設置打鈴時間。當打鈴時間到時,系統(tǒng)實現(xiàn)蜂鳴器和led燈聲光提示。系統(tǒng)設計框圖如下:時鐘電路按鍵設定打鈴時間單片機控制顯示電路打鈴電路3 系統(tǒng)硬件設計3.1 硬件電路圖根據系統(tǒng)設計框圖,本設計硬件電路主要由時鐘電路、按鍵設定電路、單片機電路、顯示電路和打鈴電路組成,電路原理圖見附錄一所示。系統(tǒng)工作原理:系統(tǒng)時間由時鐘芯片isd4004來提供,單片機通過p3口讀取了isd4004的

13、時間數據后,經過處理得到時間顯示模式的時鐘數據,并通過p2口送液晶顯示器顯示出來。再通過掃描p1口是否有按鍵按下,有按鍵按下時,通過液晶顯示器顯示來設置定時時間、打鈴時間間隔,通過設定、移位、加數來實現(xiàn)。當到達打鈴時間時,單片機引腳啟動蜂鳴器和led燈電路工作以聲光形式實現(xiàn)打鈴功能。3.2 時鐘電路3.2.1 時鐘電路設計 時鐘電路如圖3-2所示。時鐘芯片的scl引腳和sda引腳分別由單片機的p3.1和p3.2引腳控制,單片機只需按照isd4004的工作時序來控制ds1307即可實現(xiàn)時間的寫入和讀取,其中isd4004的時鐘端與數據端需外接上拉電阻,本設計選用5針排阻來充當上拉電阻。圖3-1

14、時鐘電路3.3 按鍵電路鍵盤是單片機應用中常用的一種輸入器件,鍵盤的按鍵有觸點式和非觸點式之分,按接口原理有編碼鍵盤和非編碼鍵盤之分。編碼鍵盤主要用硬件來實現(xiàn)對按鍵的識別,非編碼鍵盤是由軟件來實現(xiàn)鍵盤的定義與識別。常用的按鍵一般為觸點式按鍵,根據按鍵所連接的單片機引腳的電平高低來判斷其是否按下。按功能分,鍵盤有獨立按鍵和矩陣按鍵之分,獨立按鍵每一路按鍵就占用單片機的一個控制引腳,單片機直接獲取其信息;矩陣按鍵將按鍵排成由行和列組成的行列式,通過確認按鍵的行號和列號來確定每一路按鍵,利用少的單片機引腳控制更多的按鍵。本設計中按鍵電路如圖3-2所示,由單片機的p1口控制按鍵電路。本設計中按鍵用于設

15、定定時時間、打鈴時間間隔,所以只需4路按鍵即可實現(xiàn)所需功能,采用獨立式按鍵即可。由于按鍵是機械式觸點,所以在斷開或閉合時,一般都有抖動產生,雖然這個抖動時間在我們看來非常短,但是單片機執(zhí)行指令的速度為微秒級別,很容易會讀取這個時間而將其判斷為真正的工作狀態(tài),從而引起誤判。因此,在設計中必須考慮到按鍵抖動的影響。常用的去抖動的方法有兩種:硬件方法和軟件方法。硬件方法一般是加電容或者rs觸發(fā)器;軟件方法是在單片機在檢測引腳所連接的按鍵的工作狀態(tài)時加一個延時程序再次確認,通過2次的確認就可以確保按鍵的工作狀態(tài)不受機械抖動的影響了。圖3-2 按鍵電路3.4 單片機電路3.4.1 單片機簡介單片機是一種

16、集成電路芯片,是采用超大規(guī)模集成電路技術把具有數據處理能力的cpu、ram、rom、多種i/o口、中斷系統(tǒng)和定時器/計時器功能集成到一塊芯片上的完善的計算機系統(tǒng),它最早是被用在工業(yè)控制領域。由于單片機在工業(yè)控制領域的廣泛應用,為使更多的業(yè)內人士、學生和愛好者學習掌握這門技術,產生了單片機開發(fā)板。早期的單片機是8位或4位的,其中最成功的是intel的8031單片機,因簡單可靠而獲得了很大的好評。此后,在8031的基礎上發(fā)展出了mcs51系列單片機,基于這一系統(tǒng)的單片機一直到現(xiàn)在還廣泛應用著。隨著工業(yè)控制領域要求的提高,開始出現(xiàn)了16位的單片機,因性價比不好并未得到廣泛的應用。90年代后期隨著消費

17、電子產品的大發(fā)展,單片機技術得到了很大的提高,32位機迅速代替了16位機進入主流市場,傳統(tǒng)的8位機的處理速度也提高了數百倍,而且價格也降低了很多,得到了廣泛的應用?,F(xiàn)在人們生活中幾乎每個電子產品或機械產品都或多或少帶有單片機控制系統(tǒng),智能儀器儀表、醫(yī)療器械、家用電器、兒童玩具等等,汽車電子中單片機的應用也是非常廣泛,一般汽車上配備有接近40多個單片機系統(tǒng)。at89c52是一種帶4k字節(jié)閃爍可編程可擦除只讀存儲器的低電壓、高性能cmos8位微處理器。單片機的可擦除只讀存儲器可以反復擦除100次。該器件采用atmel高密度非易失性存儲器制造技術,與工業(yè)標準的mcs-51指令集和輸出管腳相兼容。主要

18、特性:與mcs-51產品指令系統(tǒng)完全兼容;4k字節(jié)在系統(tǒng)編程(isp)flash閃速存儲器;1000次擦鞋周期;4.0-5.5v的電壓工作范圍;全靜態(tài)工作模式:0hz-33mhz;三級程序加密鎖;128*8字節(jié)內部ram;32個可編程i/o口線(p1、p2、p3、p4);2個16位定時/計數器,可通過編程實現(xiàn)4種工作方式;1個具有6個中斷源、4個優(yōu)先級的中斷潛嵌套結構;全雙工uart通道;低功耗空閑和掉電模式;中斷可從空閑模式喚醒系統(tǒng);看門狗(wdt)及雙數據指針;掉電標識和快速編程特性;靈活的在系統(tǒng)編程(isp字節(jié)或頁寫模式)。at89c52單片機內部主要由9個部件組成:1個8位中央處理器;

19、4kbflash存儲器;128b的數據存儲器;32條i/o口線;2個定時器/計數器;1個具有6個中斷源、4個優(yōu)先級的中斷嵌套結構;用于多處理機通信、i/o擴展或全雙工uart的串行口;特殊功能寄存器;1個片內振蕩器和時鐘電路。at89s51系列單片機完全繼承了mcs-51的指令系統(tǒng),共有111條指令,按其功能可分為五大類:數據傳送類指令、算術運算類指令、邏輯運算類指令、控制轉移類指令、布爾操作。中斷技術是計算機中的重要技術之一,它既和硬件相關,也和軟件相關,正因為有了“中斷”才使得計算機的工作更加靈活、效率更高。所謂中斷實際是一個處理時間的過程,這一過程一般是由計算機內部或外部某種緊急事件引起

20、并向主機發(fā)出請求處理的信號,主機在允許情況下相應請求,暫停正在執(zhí)行的程序,保存好“斷點”處的現(xiàn)場,轉去執(zhí)行中斷處理程序,處理完后自動返回到原斷點處,繼續(xù)執(zhí)行原程序。引起中斷的原因,或是能發(fā)出中斷申請的來源,稱為中斷源。at89c52提供5個中斷源,即:外部中斷源/int0:由p3.2輸入;外部中斷源/int1:由p3.3輸入,i/o設備中斷請求信號,或掉電故障異常事件中斷請求信號都可以作為外部中斷源連/int0、/int1。定時器/計數器t0溢出中斷:tf0做標志,由p3.4輸出;定時器/計數器t1溢出中斷:tf1做標志,由p3.5輸出;片內串行口產生的中斷:rx、tx。i/o口分配:p0口(

21、p0.0p0.7)為雙向8位三態(tài)i/o口,當作為i/o口使用時,可直接連接外部i/o設備。它是地址總線低8位及數據總線分時服用口,可驅動8個ttl負載。一般作為擴展時地址/數據總線口使用。p1口(p1.0p1.7)的每一位都可以分別定義為輸入線和輸出線(做輸入時,鎖存器必須置1),可驅動4個ttl負載。p1口常用作通用i/o口,它是一個標準的準雙向口。p2口(p2.0p2.7)為8位準雙向i/o口,當作為i/o口使用時,可直接連接外部i/o設備。它是地址總線的高8位復用,可驅動4個ttl負載。一般作為擴展地址總線的高8為使用。p3口(p3.0p3.7)為8位準雙向i/o口,是雙功能復用口,可驅

22、動4個ttl負載,能夠實現(xiàn)第一功能,可作為通用i/o口。p3口的第二功能定義如表3-1所示:表3-1 p3口第二功能定義引腳定義功能引腳定義功能p3.0-rxd串行輸入口p3.1-txd串行輸出口p3.2-外部中斷0p3.3-外部中斷1p3.4-t0計時器0外部輸入p3.5-t1計時器1外部輸入p3.6-外部數據存儲器寫選通p3.7-外部數據存儲器讀選通rst:復位輸入。當振蕩器復位器件時,要保持rst腳兩個機器周期的高電平時間。ale/prog:地址鎖存允許信號輸出。在cpu訪問外部程序存儲器或外部數據存儲器時,ale提供一個地址鎖存信號,將低8位地址鎖存在片外鎖存器中。在與flash并行編

23、程/校驗期間,該引腳也是編程負脈沖的輸入端。在正常操作狀態(tài)下,該引腳端口輸出恒定頻率的脈沖。其頻率為晶振頻率的1/6,可用作外部定時或其他觸發(fā)信號。如果需要,可通過sfr的第0位置禁止ale操作,但ale的禁止位不影響對外部存儲器的訪問。:片外程序存儲器選通信號,低電平有效。當at89s51執(zhí)行來自外部程序存儲器的指令代碼時,psen/每個機器周期兩次有效。在訪問外部數據存儲器時,psen/無效。:片外程序存儲器訪問允許信號,低電平有效。當接地時,cpu只執(zhí)行片外存儲器中的程序;當接vcc時,cpu首先執(zhí)行片內程序存儲器中的程序(0000h0fffh),然后自動轉向執(zhí)行片外程序存儲器中的程序(

24、1000hffffh)。如果程序鎖定位lb1被編程(p),那么值將在復位時由片內鎖存。在與flash并行編程/校驗期間,該引腳施加12v的編程電壓vpp。xtal1:反向振蕩放大器的輸入及內部時鐘工作電路的輸入。xtal2:來自反向振蕩器的輸出。at89s51引腳圖如圖3-3所示3.4.2 單片機最小系統(tǒng)電路單片機最小系統(tǒng)由晶振電路和復位電路組成。電路如圖3-5所示。晶振電路用于產生單片機工作時所需要的時鐘信號,單片機的指令必須在時鐘信號下按照時序執(zhí)行。晶振電路通常用兩種設計方式:內部振蕩方式和外部振蕩方式。內部振蕩方式是在單片機的xtal1和xtal2引腳外接一個晶體振蕩器,與單片機內部的振

25、蕩器組成時鐘信號;外部振蕩方式是在外部將已有的脈沖信號引入單片機內,一般用于使單片機的時鐘與外部信號保持同步。本設計選用內部振蕩方式,在xtal1和xtal2引腳之間連接一個12mhz的晶振,再分別外接30p的對地電容。單片機在啟動時需要復位,使系統(tǒng)各器件處于初始狀態(tài)。復位引腳為rst,當系統(tǒng)上電后晶振電路穩(wěn)定后,rst引腳有一個高電平且持續(xù)2個機器周期以上,單片機系統(tǒng)就可以實現(xiàn)復位功能。復位一般有手動復位和上電復位功能。手動復位是在rst引腳設置按鍵,當按鍵按下時,rst引腳會有高電平,即可實現(xiàn)復位功能;上電復位是在rst引腳連接一個電解電容接至電源,再接一個電阻接地,系統(tǒng)上電時,電容充電,

26、只要電源的上升時間不超過1ms,就可以實現(xiàn)復位功能。本設計選用按鍵復位。圖3-4 單片機最小系統(tǒng)電路3.5 顯示電路lcd1602為字符型液晶顯示器,分為帶背光和不帶背光兩種,主要技術參數:顯示容量,162個字符;芯片工作電壓,4.5v-5.5v;工作電流,2.0ma;模塊最佳工作電壓,5v;字符尺寸,2.954.35mm。lcd1602共有16個引腳,引腳說明如下:1腳,vss,電源地;2腳,vdd,電源正極,接+5v;3腳,vl,液晶顯示偏壓,接正電源時對比度較弱,接地時對比度最高;4腳,rs,數據/命令選擇,高電平時選擇數據寄存器,低電平時選擇指令寄存器;5腳,r/w,讀/寫選擇,高電平

27、時進行讀操作,低電平時進行寫操作,當rs和r/w共同為低電平時可以寫入指令或者顯示地址,當rs為低電平r/w為高電平時可以讀忙信號,當rs為高電平r/w為低電平時可以寫入數據;6腳,e,使能信號,當e端由高電平跳變?yōu)榈碗娖綍r,液晶塊執(zhí)行命令;7-14腳,d0-d7,8位雙向數據線;15腳,bla,背光源正極;16腳,blk,背光源負極。單片機的p2口作為lcd1602的數據線端口,p3口控制lcd1602的使能端。單片機讀取數據后,通過控制lcd1602的讀寫端、復位端和使能端將其設置為寫入數據狀態(tài),再將數據通過p2口送入lcd1602實現(xiàn)顯示功能。3.6 打鈴電路 打鈴電路一般用聲音或音樂作

28、為提醒,本設計選用蜂鳴器和led燈實現(xiàn)聲光雙重打鈴功能,電路如圖3-7所示。打鈴時間到時,單片機p3.3引腳置高,三極管9013導通,繼而蜂鳴器和led燈導通,實現(xiàn)蜂鳴和燈亮打鈴功能。圖3-5 打鈴電路4 系統(tǒng)軟件設計4.1 軟件設計流程圖 系統(tǒng)軟件設計流程圖如圖4-1所示。圖4-1 軟件設計流程圖 程序設計過程:首先要定義單片機的引腳,然后初始化器件,再利用isd4004的讀寫時序讀取時間數據。再利用按鍵進入時間設定狀態(tài),設定完時間后單片機通過比較時間是否到達設定的時間來確定是否到打鈴時間,如果達到打鈴時間,則控制蜂鳴器響led燈亮。4.2 讀取isd4004時間程序設計isd4004中的時

29、間寄存器地址編碼為00h-07h,而具有掉電保護的ram寄存器的地址編碼為08h-3fh。當地址指針指向ram的最后一個地址3fh時,若進行多字節(jié)操作,則地址指針將會復位而指向00h,這樣原來存在00h的數據將會丟失。ds1307的各類時間數據均以bcd碼的格式存儲在相應的時間寄存器中,具體分配如表4-1所示:表4-1 isd4004寄存器分配00h01h02h03h04h05h06h07h秒分小時星期日期月年控制字單片機通過讀取isd4004相應的寄存器字節(jié),可以獲取時鐘和日歷信息。時鐘和日歷信息以bcd碼的形式存放在寄存器中,寄存器0的第7位為時鐘停止位,振蕩器停止工作。由于在初次上電時,

30、所有寄存器的狀態(tài)是不確定的,所以在初始化時必須將寄存器0中的第7位設為0。isd4004可運行在12/24小時模式下,并由時間控制器中的相應位來進行控制。根據小時寄存器的第6位是0還是1,置為1時,是工作于12小時模式下,此時,小時寄存器的第5位為am/pm標志。在24小時模式中,小時寄存器的第5位和第4位共同組成小時的十位數。時鐘模塊設計流程:單片機按如下順序將數據寫入到isd4004 寄存器或內部ram 中:1、start 信號2、寫sla+w(0xd0)字節(jié),ds1307 應答(ack);3、寫1 字節(jié)內存地址(在以下第四步寫入的第一字節(jié)將存入到ds1307 內該地址處,ds1307應答

31、);4、寫數據(可寫多個字節(jié),每一字節(jié)寫入后ds1307 內部地址計數器加一,isd4004應答);5、stop 信號單片機讀取isd4004子程序流程圖如圖4-2所示:圖4-2 單片機讀取ds1307子程序流程圖4.3 顯示程序設計lcd1602的基本操作時序:讀狀態(tài):輸入:rs=l,rw=h,e=h;輸出:d0-d7=狀態(tài)字。寫指令:輸入:rs=l,rw=l,d0-d7=指令碼,e=高脈沖;輸出:無。讀數據:輸入:rs=h,rw=h,e=h;輸出:d0-d7=數據。寫數據:輸入:rs=h,rw=l,d0-d7=數據,e=高脈沖;輸出:無。lcd1602初始化過程:延時15ms;寫指令38h

32、(不檢測忙信號);延時5ms;寫指令38h(不檢測忙信號);延時5ms;寫指令38h(不檢測忙信號);以后每次寫指令、讀/寫數據操作均需要檢測忙信號;寫指令38h,顯示模式設置;寫指令08h,顯示關閉;寫指令01h,顯示清屏;寫指令06h,顯示光標移動設置;寫指令0ch,顯示開及光標設置。lcd有11條控制指令,如表4-2所示。表4-2lcd1602控制指令表序號指令rsr/wd7d6d5d4d3d2d1d01清顯示00000000012光標返回000000001*3置輸入模式00000001i/ds4顯示開/關控制0000001dcb5光標或字符移位000001s/cr/l*6置功能0000

33、1dlnf*7置字符發(fā)生存儲器地址0001字符發(fā)生存儲器地址8置數據存儲器地址001顯示數據存儲器地址9讀忙標志或地址01bf計數器地址10向cgram或ddram寫數10要寫的數據內容11從cgram或ddram讀數11讀出的數據內容lcd1602內部自帶有808位的ram緩沖區(qū),ram地址映射如表4-3所示。表4-3 lcd1602的ram地址映射表00010203040506070809404142434445464748490a0b0c0d0e0f10274a4b4c4d4e4f5067lcd1602寫操作時序如圖4-3所示。圖4-3 lcd1602寫操作時序向lcd1602寫數據程序

34、子程序流程圖如圖4-4所示:圖4-4 向lcd1602寫數據程序子程序流程圖4.4 按鍵設定程序設計單片機讀取按鍵的方式有2種:查詢方式和中斷方式。查詢方式是利用單片機引腳不斷查詢是否有按鍵按下,如果有按鍵按下,利用延時程序去除抖動再次確認后,進入該按鍵對應的子程序執(zhí)行命令。中斷方式是利用單片機的外部中斷功能來檢測是否有按鍵按下。利用中斷功能可以不用在主程序中不斷的執(zhí)行查詢命令,有中斷產生即有按鍵按下時,再進入中斷子程序中進行處理。本設計選用查詢方式處理按鍵設定程序。每個獨立式按鍵直接接至單片機引腳,每個按鍵的鍵值與單片機端口的8個引腳的8位二進制碼相對應。本設計為p1.0-p1.3引腳控制4

35、路按鍵。單片機控制按鍵子程序流程圖如圖4-5所示:圖4-5 單片機控制按鍵子程序流程圖5 系統(tǒng)調試5.1 元件清單本設計中的硬件制作中所用元器件如表5-1所示。表5-1 元件清單元器件名稱個數元器件名稱個數at89s51單片機1ds13071lcd1602132.768khz晶振11n4148二極管15.1k電阻29013三極管1蜂鳴器1發(fā)光二極管112mhz晶振122p電容210u電解電容110k電阻210k電位器147電阻1按鍵45針排阻1萬用板15.2 調試過程 制作調試過程中所用儀器有:數字萬用表、電烙鐵,焊錫絲、焊錫膏、剝線鉗、尖嘴鉗、圓口鉗、鑷子,吸錫器等,另外準備盡量多的導線。制

36、作與調試過程如下:1、按照元器件清單準備好所需要用到的元器件。2、按照電路原理圖焊接硬件電路板,先焊接芯片的底座,再焊接其外圍電路。實物電路圖如圖5-1所示:圖5-1 實物電路圖3、當定時時間到時,蜂鳴器響,led燈亮。4、每隔設置的打鈴時間間隔,蜂鳴器響,led燈亮,實現(xiàn)打鈴功能。經上述調試,系統(tǒng)工作正常,實現(xiàn)設計要求的功能。6 總結與展望經過這段時間的努力,畢業(yè)設計也接近了尾聲。本文從選題目的及意義開始,介紹了系統(tǒng)的方案設計,其中提供了兩種設計方案,經過互相之間的比較后選擇了簡單易行的一種方案,后面還列出了其他兩種模塊的設計方案,并經比較后選擇了合適的方案,然后對系統(tǒng)的硬件設計進行了闡述,

37、包括電路圖和元器件的介紹,對它們實現(xiàn)的功能和內部結構都進行了說明,接著是軟件部分的設計,這也是此設計的關鍵部分,有很詳細的說明。本設計是針對學校的作息時間而設計的一種自動打鈴系統(tǒng),但是它同樣可以用于其他的場所,如工廠,生廠車間等等,它能很好的起到時鐘提醒的作用,方便了人們的日常生活。在硬件設計部分,顯示器件選的是液晶顯示器,它具有功耗和工作電壓低的特點,而且它的顯示質量高,可視面積大,能很好的達到設計要求,還降低了軟件的編程難度。本設計的自動打鈴系統(tǒng)還存在不足和缺點,主要表現(xiàn)在這些方面:雖然系統(tǒng)能夠很好的實現(xiàn)打鈴的要求,但是能夠設定的打鈴時間只有六個,這是因為想降低編程時的難度,在不影響其功能

38、的前提下,降低了要求;還有就是其擴展性不強,后續(xù)的發(fā)展比較困難,制約了系統(tǒng)的升級,在商品競爭中沒什么優(yōu)勢,需要進一步的研究和開發(fā)。通過此次畢業(yè)設計,我對所學專業(yè)的知識有了很好的回顧和實踐,提高了自己的動手和思考能力,這對我自身的發(fā)展有很大的幫助,同時在此期間我查閱了很多的書籍和資料,從中學到了很多課本上沒有的知識,拓展了自己的知識面,如果沒有前期的準備工作是沒法很好的完成此次設計的,所以多學、多看、多想、多動手才是學好知識的必要素質,這對我未來的發(fā)展和進步有著至關重要的作用。心得體會回顧這次設計的過程,感慨良多,收獲頗豐,首先要感謝我的導師,成凌飛老師。在這段時間里成老師經常給提醒我們在做畢業(yè)

39、設計過程中應當注意的事項,并在百忙之中特地抽出時間為我們講課,講解論文的排版及寫作技巧,使我們受益不淺,還不忘督促我們按步驟完成每一項內容,可以說從畢業(yè)設計的開始到完成都能看見老師的身影,沒有老師的辛勤輔導和對學生的責任心就沒有我現(xiàn)在這樣一篇畢業(yè)論文。同時我還要感謝大學四年所有教導過我的老師,是他們的諄諄教誨給了我大學四年的專業(yè)知識,在學習的道路上,他們就是我的領路人,真的非常感謝,還要感謝陪伴了我四年的每一個同學,因為他們,我的大學才不蒼白,因為他們,我的大學才精彩,也是因為他們,我的大學才有意義。畢業(yè)設計告一段落了,但是我的人生卻迎來了另一個出發(fā)點,畢業(yè)并不意味著結束,它同時是一個新的開始

40、,我會帶著老師們的希冀,朋友們的祝福和友誼走得更遠、更高、更堅定,謝謝,謝謝你們!參考文獻1 張鳳言.電子電路基礎.北京高等教育出版社,1995.2 戴佳,戴衛(wèi)恒,劉博文等.51單片機c語言應用程序設計實例精講.電子工業(yè)出版社,2008.3 孫江宏等. protel 99 電路設計與應用.機械工業(yè)出版社,2001.4 閻石.數字電子技術基礎.高等教育出版社,1998.5 范風強,蘭嬋麗.單片機語言c51應用實戰(zhàn)集錦.電子工業(yè)出版社,2001. 6張萌,和湘,姜斌等.單片機應用系統(tǒng)開發(fā)綜合實例.清華大學出版社,2007.7 張義和.例說51單片機(c語言版),人民郵電出版社,2010. 10 徐

41、福成.一款人性化的打鈴器.電子制作,2008,(2):36-37.附錄源程序#include #includeyuyin3.h/#includematch.h#define uchar unsigned char#define uint unsigned int#define keyinc 0xfb / p32#define keydec 0xf7 / p33/#define flaginc 0xfe /p30/#define flagdec 0xfd/p31/ uchar num;sbit rw=p06;sbit lcdrs=p07;sbit lcden=p05;sbit sda=p04;s

42、bit scl=p03;sbit warming=p00;/報警中斷/*sbit k1= p30;/加sbit k2= p31;/sbit k3= p32; /加sbit k4= p33;/ 加sbit k5= p34;/ jiansbit k6= p35;/ jian*/ sbit k7= p01; /fensbit k8= p02;/ jian sbit led= p10;/ jianuint year;uchar s,hour,min,sec,week,mon,day,r,x=1,p=0,d=0,m;uchar flag=0;uchar code table=0,1,2,3,4,5,6,

43、7,8,9,:,-;/uint code table1=mon,tue,wed,thu,fri,sat,sun;uchar code table1=s,u,n,m,o,n,t,u,e,w,e,d,t,h,u,f,r,i,s,a,t;uchar code table2=flag;uchar code fen=0x10,0x11,0x15,0x20,0x25,0x30,0x35,0x40,0x45,0x50,0x55; /fendingshiuchar code shi=0x01,0x02,0x03,0x04,0x05,0x06,0x07,0x08,0x09,0x10,0x11,0x12,0x13

44、,0x14,0x15,0x16,0x17,0x18,0x19,0x20,0x21,0x22,0x23; /fendingshivoid delayus();void write_add(uchar address,uchar date);delay(uint t)/延時函數uint i,j;for(i=0;it;i+)for(j=0;j120;j+);void write_com(uchar com)/寫指令于lcdrw=0;lcdrs=0;p2=com;delay(5);lcden=1;delay(5);lcden=0;void write_data(uchar date)/寫內容與lcd顯

45、示lcdrs=1;p2=date;delay(5);lcden=1;delay(5);lcden=0;void init()/初始化rw=0;lcden=0;write_com(0x38);write_com(0x0c);write_com(0x06);write_com(0x01);write_com(0x80+0x10);sda=1;delayus();scl=1;delayus();write_add(0x00,0x00);/00write_add(0x01,0x00);/00write_add(0x02,0x50);/57秒鐘write_add(0x03,0x09);/56分鐘writ

46、e_add(0x04,0x01);/09小時write_add(0x05,0x13);/20 日期write_add(0x06,0x07);/04 星期write_add(0x07,0x10);/ 01 月write_add(0x08,0x13);/ 10 年/write_add(0x02,0x00);/秒設置/*write_add(0x09,0x49);/報警時間49分write_add(0x0a,0x22); /報警時間22小時 write_add(0x01,0x12); /報警生效 */*void warming1() /uchar p,d,m; write_add(0x09,fenp)

47、;/報警時間49分write_add(0x0a,shid); /報警時間22小時 write_add(0x01,0x12); /報警生效 if(k1=0)/被按下 if(p0x60)led=led;p+;/fen else p=0x00; if(k2=0) if(d0x25)d+;led=led; else d=0x01; /shi if(k3=0)if(m0x01)p-;led=led; else p=0x00;if(k5=0) if(d0x02)d-;led=led; else p=0x01;if(k6=0) if(m0x02)m-; led=led; else p=0x01; */voi

48、d delayus()/延時微秒函數;void start() /開始信號sda=1;delayus();scl=1;delayus();sda=0;delayus();void stop() /停止sda=0;delayus();scl=1;delayus();sda=1;delayus();void respons() /應答uchar i;scl=1;delayus();while(sda=1)&(i250)i+;scl=0;delayus();void write_byte(uchar date)/寫一個字節(jié)子函數uchar i,temp;temp=date;for(i=0;i8;i+)temp=temp1;scl=0; delayus();sda=cy;delayus();scl=1;delayus();scl=0;delayus();sda=1;delayus();uchar read_byte()/讀一個字節(jié)函數uchar i,k;scl=0;delayus();sda=1;delayus();for(i=0;i8;i+)scl=1;delayus();k=(k1)|sda;scl=

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論