具有串口傳送功能的電子時鐘

學生姓名 學號
學生專業 自動化 班級09自動化1
學院機電工程學院 指導教師 王桂榮
中國計量學院
帶串口、定時鬧鐘、時鐘計時器的顯示屏設計
摘要:本次課程設計主要采用基于STC89C52單片機系統的萬年歷設計,實現了以下功能:時間顯示并且可調,日期、星期顯示,鬧鈴,串口通信,可移動字幕顯示。其中串口通信采用MX232來實現,顯示屏采用12864液晶屏,為計時準確,采用DS1302時鐘芯片來實現時間計時模塊。采用STC89C52單片機內部定時器0中斷實現時間顯示和鬧鐘掃描,定時器1中斷實現5S按鍵無操作退出返回主顯示界面,定時器2實現串口波特率發生器。
通過這次課程設計,讓我們掌握了如何設計一個具有完整功能的單片機系統,同時也讓我們學習了keil開發軟件和proteus仿真軟件的使用,而且還讓我們更好地學會了組內分工合作,共同完成一項任務的配合精神。
0.1智能儀表課程設計概要
0.2設計任務與要求
0.2.1設計目的
1、掌握數字電子鐘的設計方法;
2、掌握常用數字集成電路的功能和使用;
3、掌握小型單片機系統的開發。
0.2.1設計要求
基本功能要求
1、可動態左右、上下顯示“中國計量學院歡迎您”;
2、在5秒按鈕無操作則以24h(小時)計時方式顯示時、分、秒;
3、使用按鍵開關可實現時分調整;
4、具有鬧鐘功能,聲光提示。
擴展功能
1、顯示日期與星期;
2、可232通訊顯示計算機傳送字符;
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.1硬件總體結構簡介
帶串口、時鐘計時器,萬年歷的顯示屏設計設計硬件結構圖如下所示:


圖1-1系統總體硬件連接圖
此系統包括單片機主控模塊、時鐘芯片模塊、12864顯示模塊、按鈕設置模塊、串口通信模塊、蜂鳴器模塊共6大部分。
2.2 單片機選擇
2.2.1 單片機概述
單片微型計算機簡稱單片機,又稱微控制器,嵌入式微控制器等,屬于第四代電子計算機。它把中央處理器、存儲器、輸入/輸出接口電路以及定時器葉數器集成在一塊芯片上,從而具有體積小、功耗低、價格低廉、抗干擾能力強且可靠性高等特點,因此,適合應用于工業過程控制、智能儀器儀表和測控系統的前端裝置。正是由于這一原因,國際上逐漸采用微控制器(MCU)代替單片微型計算機(SCM)這一名稱!拔⒖刂破鳌备芊从硢纹瑱C的本質,但是由于單片機這個名稱已經為國內大多數人所接受,所以仍沿用“單片機”這一名稱。
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個機器周期高電平將使單片機復位?撮T狗計時完成后,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概述

圖1-5 LCD1602實物圖
2.3.2 LCD12864基本參數及引腳功能
編號 | 符號 | 方向 | 引腳說明 |
1 | VSS | - | 模塊的電源地 |
2 | VDD | - | 模塊的電源正端 |
3 | V0 | - | LCD驅動電壓輸入端 |
4 | RS(CS) | H/L | 并行的指令/數據選擇信號;串行的片選信號 |
5 | R/W(SID) | H/L | 并行的讀寫選擇信號;串行的數據口 |
6 | E(CLK) | H/L | 并行的使能信號;串行的同步時鐘 |
7 | DB0 | H/L | 數據0 |
8 | DB1 | H/L | 數據1 |
9 | DB2 | H/L | 數據2 |
10 | DB3 | H/L | 數據3 |
11 | DB4 | H/L | 數據4 |
12 | DB5 | H/L | 數據5 |
13 | DB6 | H/L | 數據6 |
14 | DB7 | H/L | 數據7 |
15 | PSB | H/L | 并/串行接口選擇:H-并行;L-串行 |
16 | NC | 空腳 | |
17 | /RET | H/L | 復位低電平有效 |
18 | NC | 空腳 | |
19 | LED_A | - | 背光源正極(LED+5V) |
20 | LED_K | - | 背光源正極(LED+5V) |
表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 單片機最小系統

2.5.2 LCD12864連線圖
第1 腳:VSS 為地電源2.5.3 按鍵連線圖

2.5.4 蜂鳴器驅動

2.5.5 串口通信模塊

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

附錄圖1 電路總圖
附錄B: 實物圖



電子時鐘報告(萬年歷)-0e22aa95daef5ef7ba0d3cdd.doc
(2.25 MB, 下載次數: 78)
| 歡迎光臨 (http://www.raoushi.com/bbs/) | Powered by Discuz! X3.1 |