帶串口、定時鬧鐘、時鐘計時器的顯示屏設計
摘要:本次課程設計主要采用基于STC89C52單片機系統的萬年歷設計,實現了以下功能:時間顯示并且可調,日期、星期顯示,鬧鈴,串口通信,可移動字幕顯示。其中串口通信采用MX232來實現,顯示屏采用12864液晶屏,為計時準確,采用DS1302時鐘芯片來實現時間計時模塊。采用STC89C52單片機內部定時器0中斷實現時間顯示和鬧鐘掃描,定時器1中斷實現5S按鍵無操作退出返回主顯示界面,定時器2實現串口波特率發生器。
通過這次課程設計,讓我們掌握了如何設計一個具有完整功能的單片機系統,同時也讓我們學習了keil開發軟件和proteus仿真軟件的使用,而且還讓我們更好地學會了組內分工合作,共同完成一項任務的配合精神。
目 錄
0.引言
0.1智能儀表課程設計概要 2
0.2設計任務與要求
0.2.1設計目的
0.2.1設計要求
基本功能要求
擴展功能 2
1. 方案設計及方案論證
1.1系統整體設計思路
1.2系統方案論證
1.2.1 時鐘系統方案選擇
1.2.2單片機的選擇
1.2.3顯示系統的方案比較
1.2.4時鐘系統方案選擇
1.2.5串口通信方案選擇
2.硬件設計 4
2.1硬件總體結構簡介
2.2 單片機選擇
2.2.1 單片機概述
2.2.2 STC89C52單片機的引腳說明
2.2.3 STC89C52單片機最小系統
2.3顯示模塊的選擇
2.3.1 LCD12864概述
2.3.2 LCD12864基本參數及引腳功能
2.4時鐘芯片器的選擇
2.5硬件線路設計分析
2.5.1 單片機最小系統
2.5.2 LCD12864連線圖
2.5.3 按鍵連線圖
2.5.4 蜂鳴器驅動
2.5.5 串口通信模塊
2.5.6 電源模塊
3.系統工作流程圖
4.個人心得
參考文獻
附錄A:電路原理圖 14
附錄B: 實物圖
附錄C: 源程序
0.引言
隨著人們生活水平的不斷提高,單片機控制無疑是人們追求的目標之一,它所給人帶來的方便也是不可否定的,要為現代人工作、科研、生活、提供更好的更方便的設施就需要從數單片機技術入手,一切向著數字化控制,智能化控制方向發展。
本設計是數據采集及處理,顯示系統與單片機有效結合,本設計是通過在“單片機原理及應用”課堂上學習的知識的綜合應用,以及查閱資料,培養一種自學的能力。并且引導一種創新的思維,把學到的知識應用到日常生活當中。在設計的過程中,不斷的學習,思考和同學間的相互討論,運用科學的分析問題的方法解決遇到的困難,掌握單片機系統一般的開發流程,學會對常見問題的處理方法,積累設計系統的經驗,充分發揮教學與實踐的結合。全能提高個人系統開發的綜合能力,開拓了思維,為今后能在相應工作崗位上的工作打下了堅實的基礎。
0.1智能儀表課程設計概要
0.1.1智能儀表課程設計的方法和步驟
在設計一個智能儀表系統時,首先必須明確系統的設計任務,根據任務進行方案選擇,然后對方案中的各部分進行單元電路的設計、參數計算和器件選擇,最后將各部分連接在一起,畫出一個符合設計要求的系統電路圖,再按照電路圖在實際的PCB板上做出實物并進行調試。
一、明確系統的設計任務要求
對系統的設計任務進行具體分析,充分了解系統的性能、指標、內容及要求,以便明確系統應完成的任務。
二、方案選擇
把系統要完成的任務分解為若干個單元電路,并畫出一個能表示各單元功能的整機原理框圖。
方案選擇的重要任務是根據掌握的知識和資料,針對系統提出的任務、要求和條件,完成系統的功能設計。在此過程中要敢于探索,勇于創新,爭取方案的設計合理、可靠、經濟、功能齊全、技術先進。并且對方案要不斷進行可行性和優缺點的分析,最后設計出一個完整框圖。
三、單元電路的設計、參數計算和器件選擇
根據系統的指標和功能框圖,明確各部分任務,進行各單元電路設計、參數計算和器件選擇。
1、單元電路的設計
單元電路是整機的一部分,只有把單元電路設計好才能提高整機設計水平。每個單元電路設計前都需明確本單元電路的任務,詳細擬訂出單元電路的性能指標,與前后級之間的聯系,分析電路的組成形式。具體設計時,可以模仿成熟的先進的電路,也可以創新或改進,但都必須保證性能要求。而且,不僅單元電路本身要求設計合理,各單元電路間也要互相配合,注意各部分的輸入、輸出信號和控制信號的關系。
2、參數計算
為保證單元電路達到功能指標要求,就需要用電子技術知識對參數進行計算,例如放大電路中各電阻值、放大倍數;振蕩器中電阻、電容、振蕩頻率等參數。只有很好地理解電路的工作原理,正確利用計算公式,計算的參數才能滿足設計要求。計算參數時,同一個電路可能有幾組數據,注意選擇一組能完成電路設計功能、在實踐中真正可行的參數。
3、器件選擇
集成電路的選擇根據電路功能、性能指標選擇集成電路。注意集成電路的功耗、電源電壓、工作速度是否滿足設計要求。通過查閱有關設計手冊,進行元器件的選擇。
4、電路圖的繪制
電路圖通常是在系統框圖、單元電路設計、參數計算和器件選擇的基礎上繪制的,它是電路組裝、調試和維修的依據。繪制電路圖時,注意以下幾點:
(1) 元器件布局合理、排列均勻、圖面清晰、便于閱讀。
(2) 注意信號流向。一般從輸入端或信號源開始,由左至右或上至下按信號的流向依次畫出各單元電路,而反饋通路的信號流向則與此相反。
(3) 圖形符號標準,適當標注。
(4) 連線應為直線,盡量少交叉和折彎。
四、實物的制作
在制作實物的過程中,特別要注意PCB板的布線,將各模塊有次序地焊到電路板上。
0.2設計任務與要求
0.2.1設計目的
1、掌握數字電子鐘的設計方法;
2、掌握常用數字集成電路的功能和使用;
3、掌握小型單片機系統的開發。
0.2.1設計要求
基本功能要求
1、可動態左右、上下顯示“中國計量學院歡迎您”;
2、在5秒按鈕無操作則以24h(小時)計時方式顯示時、分、秒;
3、使用按鍵開關可實現時分調整;
4、具有鬧鐘功能,聲光提示。
擴展功能
1、顯示日期與星期;
2、可232通訊顯示計算機傳送字符;
1. 方案設計及方案論證
1.1系統整體設計思路
按照系統的設計功能要求,本時鐘系統的設計必須采用單片機軟件系統實現,用STC89C52單片機的自動控制能力配合時鐘芯片DS1302來控制時鐘調整顯示,并可實現鬧鐘及串口通信功能,單片機對其進行一系列的處理,最后通過液晶LCD12864顯示出來。
1.2系統方案論證
1.2.1 時鐘系統方案選擇
方案1:
通過單片機內部的定時器/計數器,用軟件實現,直接用單片機的定時器編程以實現時鐘;
方案2:
用專門的時鐘芯片實現時鐘的計時,再把時間數據送入單片機,由單片機控制顯示。
因為單片機的定時中斷資源寶貴,所以我們采用DS1302時鐘芯片來進行計時功能,將定時中斷用作其他用處。
1.2.2單片機的選擇
實現對于單片機的選擇,如果用8031 系列,由于它沒有內部RAM,系統又需要大量內存存儲數據,因而不可用;51 系列單片機的ROM 為4K,對于我們設計的系統可能有點小;52 系列單片機與51 系列的結構一樣,而ROM 擴大為8K,對我們設計系統提供充足的空間進行功能的擴展。再有51 系列單片機與52系列的單片機價格差不多。因此,我們選擇52系列的單片機。
1.2.3顯示系統的方案比較
方案1:用數碼管或點陣LED 顯示。
方案2:用液晶1602 顯示。
方案3:用液晶12864 顯示。
時鐘和溫度的顯示可以用數碼管或LED,而且價格便宜。但是數碼管的只能顯示簡單的設計的系統,與我們設計要求也不相符。因為有很多東西需要顯示,還是用顯示功能更好的液晶顯示器比較好,它能顯示更多的數據,用1602 液晶顯示數據有限,1602不能夠顯示指針時鐘,只能夠顯示一些基本的西文字符,顯示數據的可讀性不好,用可以顯示漢字的12864液晶顯示器還可以增加顯示信息的可讀性,用12864的繪圖功能即可繪制出指針時鐘的框架,讓人看起來會很方便。雖然它們在價格上差距很大,但是1602不能夠實現我們的要求,所以我們選擇LCD12864顯示屏。
1.2.4串口通信方案選擇
方案1:RS485,傳輸距離遠,抗干擾能力強,但只普遍用于工業現場,在普遍民用中很少使用。
方案2:RS232,傳輸范圍有限,比較容易受干擾,但普遍民用計算機都設有該接口,所以相對普及且易操作。
經過比較選擇方案2以能滿足該實驗要求。
2.硬件設計
2.1硬件總體結構簡介
帶串口、時鐘計時器,萬年歷的顯示屏設計設計硬件結構圖如下所示:

圖1-1系統總體硬件連接圖
此系統包括單片機主控模塊、時鐘芯片模塊、12864顯示模塊、按鈕設置模塊、串口通信模塊、蜂鳴器模塊共6大部分。
2.2 單片機選擇
2.2.1 單片機概述
單片微型計算機簡稱單片機,又稱微控制器,嵌入式微控制器等,屬于第四代電子計算機。它把中央處理器、存儲器、輸入/輸出接口電路以及定時器葉數器集成在一塊芯片上,從而具有體積小、功耗低、價格低廉、抗干擾能力強且可靠性高等特點,因此,適合應用于工業過程控制、智能儀器儀表和測控系統的前端裝置。正是由于這一原因,國際上逐漸采用微控制器(MCU)代替單片微型計算機(SCM)這一名稱。“微控制器”更能反映單片機的本質,但是由于單片機這個名稱已經為國內大多數人所接受,所以仍沿用“單片機”這一名稱。
1、單片機的主要特點有:
(1) 具有優異的性能價格比。
(2) 集成度高、體積小、可靠性高。
(3) 控制功能強。
(4) 低電壓,低功耗。
2、單片機的主要應用領域:
(1) 工業控制
(2) 儀器儀表
(3) 電信技術
(4) 辦公自動化和計算機外部設備
(5) 汽車和節能
(6) 制導和導航
(7) 商用產品
(8) 家用電器
因此,在本課題設計的溫濕度測控系統中,采用單片機來實現。在單片機選用方面,由于STC89系列單片機與MCS-51系列單片機兼容,所以,本系統中選用STC89C52單片機。
2.2.2 STC89C52單片機的引腳說明
圖1-2 STC89C52單片機引腳圖
芯片引腳如圖1-2所示:
VCC : 電源。
GND: 地。
P0口:P0口是一個8位漏極開路的雙向I/O口。
P1口: 是一個具有內部上拉電阻的8 位雙向I/O 口,p1 輸出緩沖器能驅動4 個TTL 邏輯電平。
P2口:P2口是一個具有內部上拉電阻的8 位雙向I/O口,P2輸出緩沖器能驅動4個TTL 邏輯電平。
P3口:P3口是一個具有內部上拉電阻的8 位雙向I/O 口,p2 輸出緩沖器能驅動4 個TTL 邏輯電平。
RST: 復位輸入。晶振工作時,RST腳持續2個機器周期高電平將使單片機復位。看門狗計時完成后,RST 腳輸出96 個晶振周期的高電平。特殊寄存器AUXR(地址8EH)上的DISRTO位可以使此功能無效。DISRTO默認狀態下,復位高電平有效。
ALE/PROG:地址鎖存控制信號(ALE)是訪問外部程序存儲器時,鎖存低8 位地址的輸出脈沖。
PSEN:外部程序存儲器選通信號(PSEN)是外部程序存儲器選通信號。
EA/VPP:訪問外部程序存儲器控制信號。
XTAL1:振蕩器反相放大器和內部時鐘發生電路的輸入端。
XTAL2:振蕩器反相放大器的輸出端。
程序存儲器:如果EA引腳接地,程序讀取只從外部存儲器開始。對于89C54,如果EA 接VCC,程序讀寫先從內部存儲器(地址為0000H~1FFFH)開始,接著從外部尋址,尋址地址為:2000H~FFFFH。
數據存儲器:STC89C52 有256 字節片內數據存儲器。高128 字節與特殊功能寄存器重疊。
定時器2:定時器2是一個16位定時/計數器,它既可以做定時器,又可以做事件計數器。
2.2.3 STC89C52單片機最小系統
圖1-3 晶振電路
圖1-4 復位電路
如圖1-3、圖1-4所示,復位電路和時鐘電路是維持單片機最小系統運行的基本模塊。單片機最小系統是在以51單片機為基礎上擴展,使其能更方便地運用于測試系統中,不僅具有控制方便、組態簡單和靈活性大等優點,而且可以大幅度提高被測試的技術指標,從而能夠大大提高產品的質量和數量。單片機以其功能強、體積小、可靠性高、造價低和開發周期短等優點,稱為在實時檢測和自動控制領域中廣泛應用的器件,在工業生產中稱為必不可少的器件,尤其是在日常生活中發揮的作用也越來越大。
2.3顯示模塊的選擇
2.3.1 LCD12864概述
帶中文字庫的128X64是一種具有4位/8位并行、2線或3線串行多種接口方式,內部含有國標一級、二級簡體中文字庫的點陣圖形液晶顯示模塊;其顯示分辨率為128×64, 內置8192個16*16 點漢字,和128個16*8 點ASCII 字符集。利用該模塊靈活的接口方式和簡單、方便的操作指令,可構成全中文人機交互圖形界面。可以顯示8×4 行16×16 點陣的漢字,也可完成圖形顯示。低電壓低功耗是其又一顯著特點。由該模塊構成的液晶顯示方案與同類型的圖形點陣液晶顯示模塊相比,不論硬件電路結構或顯示程序都要簡潔得多,且該模塊的價格也略低于相同點陣的圖形液晶模塊。
圖形液晶模塊。
圖1-5 LCD1602實物圖
2.3.2 LCD12864基本參數及引腳功能
引腳功能如表1-1所示:
表1-1 LCD12864引腳功能
2.4時鐘芯片的選擇
功能特色:
時鐘計數功能,可以對秒、分鐘、小時、月、星期、年的計數。年計數可達到2100年。
有31*8位的額外數據暫存寄存器
最少I/O 引腳傳輸,通過三引腳控制
工作電壓:2.0-5.5V
工作電流小于320 納安(2.0V)
讀寫時鐘寄存器或內部RAM(31*8位的額外數據暫存寄存)可以采用單字節模式和突發模式
8-pin DIP封裝或8-pin SOICs
兼容TTL (5.0V)
可選的工業級別,工作溫度-40 – 85攝氏度
兼容DS1202較DS1202增加的功能:
1. 可通過Vcc1進行涓流充電
2. 雙重電源補給
3. 備用電源可采用電池或者超級電容(0.1F以上),可以用老式電腦主板上的3.6V充電電池。如果斷電時間較短(幾小時或幾天)時,就可以用漏電較小的普通電解電容器代替。100 μF 就可以保證1小時的正常走時。DS1302在第一次加電后,必須進行初始化操作。初始化后就可以按正常方法調整時間。
2.5硬件線路設計分析
2.5.1 單片機最小系統
CPU 為STC89 系列增強型8 位單片機,頻率高達80MHz,可工作于6Clock,32 I/O,3 定時器,內置 WDT、EEPROM。支持ISP,ESD。晶振采用12M/11.0592M(可更換)。
2.5.2 LCD12864連線圖

第1 腳:VSS 為地電源
第 2 腳:VCC 接5V 正電源
第 3 腳:V0 為液晶顯示器對比度調整端,接正電源時對比度最弱,接地電源時對比度最高,對
比度過高時會產生重影,使用時可以通過一個10K 的電位器調整對比度。
第 4 腳:RS 為寄存器選擇,高電平時選擇數據寄存器、低電平時選擇指令寄存器。
第 5 腳:RW 為讀寫信號線,高電平時進行讀操作,低電平時進行寫操作。當RS 和RW 共同為低電平時可以寫入指令或者顯示地址,當RS 為低電平RW為高電平時可以讀忙信號,當RS為高電平RW 為低電平時可以寫入數據。
第 6 腳:E 端為使能端,當E 端由高電平跳變成低電平時,液晶模塊執行命令。
第 7~14 腳:D0~D7 為8 位雙向數據線。
第15腳:PSB 并/串行接口選擇:H-并行;L-串行。
第19腳:背光源正極(LED+5V)由P24腳接三極管放大后驅動背光,可實現由單片機管腳控制背光亮滅。
第20腳:背光源負極(LED-0V)。
2.5.3 按鍵連線圖
5個獨立按鍵接P11~P15口,并由LED燈指示。實現時鐘的增、確認、返回和鬧鐘設置等功能。
2.5.4 蜂鳴器驅動
蜂鳴器由P2.0控制并通過三極管放大驅動。
2.5.5 串口通信模塊
RS232 接口是制定用于串行通訊的標準。該標準規定采用一個25 個腳的 DB25 連接器,對連接器的每個引腳的信號內容加以規定,還對各種信號的電平加以規定。DB25 的串口一般只用到的管腳只有2(RXD)、3(TXD)、7(GND)這三個,隨著設備的不斷改進,現在DB25 針很少看到了,代替他的是DB9 的接口,DB9 所用到的管腳比DB25 有所變化,是2(RXD)、3(TXD)、5(GND)這三個。因此現在都把RS232 接口叫做DB9。
2.5.6 電源模塊
直流電源通過USB插座接入,由開關控制其開關,通過電容濾波,并有LED燈指示。

3.系統工作流程圖
4.個人心得
通過這次課程設計使我對課堂上的理論知識有了進一步的了解,并增強了對單片機領域的興趣。同時也發現自對數電知識和電子設計軟件掌握得不夠。
這次設計仿真我們用到了仿真軟件Proteus7.8和編譯軟件keil4.0,從網上查閱資料學到了很多課堂之外的專業知識。這次的設計最主要是單片機的應用,從控制到接口。這個技術是一個多學科的綜合,要做到靈活應用需要自我學習各種輔助技術的應用。
本次課程設計最大的體會就是軟件編程的辛苦。如果硬件是系統的骨架,那么軟件就是系統的靈魂,當我們把系統的原理圖弄好,硬件做好以后發現在編程的時候,其實有很多細節的東西都沒有安排好,比如按鍵的設計時,在編程的時候發現原理的按鍵安排其實很沒有邏輯,做完以后的用戶體驗其實很差,按鍵操作起來感覺不符合原來想的。軟件編程的過程中是一個很費腦力的過程,由于一開始我對系統整體的邏輯安排不夠清晰,所以在編程的過程中出現很多次編完的程序可以實現單獨的某一模塊功能,但是卻不符合整個系統的布局。這是我第一次完整的編一個比較長的程序,這次過程讓我深深地體會到編程工作需要嚴謹的邏輯,編程切記要一步一步,思維不能有太大的跳躍,而且在程序出現錯誤的時候要有很強的耐心能靜下心來一步步檢查錯誤的原因。
這次設計中我明顯體會到自己知識的匱乏,以及動手能的不足,這激勵我不僅要學好基礎知識,同時還要拓展知識面增加自己的動手實踐能力。
參考文獻
[1] 易幼
[2] 萬福君,潘松峰,劉芳,MCS-51單片機原理、系統設計與應用,清華大學出版社
[3] 潘旭華,陳剛,姜書浩,趙玉剛,大學C語言實用教程,清華大學出版社
[4] 陸蓓,樓永堅,汪志勤,C語言程序設計,科學出版社
附錄A:電路原理圖
附錄圖1 電路總圖
附錄B: 實物圖
附錄圖2 動畫界面
附錄圖:3主界面
附錄圖4 串口通訊界面
完整的Word格式文檔51黑下載地址(含源碼):
電子時鐘報告(萬年歷)-0e22aa95daef5ef7ba0d3cdd.doc
(2.25 MB, 下載次數: 78)
2017-12-9 21:01 上傳
點擊文件名下載附件
下載積分: 黑幣 -5