基于1602液晶的電子時鐘設計_第1頁
基于1602液晶的電子時鐘設計_第2頁
基于1602液晶的電子時鐘設計_第3頁
基于1602液晶的電子時鐘設計_第4頁
基于1602液晶的電子時鐘設計_第5頁
已閱讀5頁,還剩21頁未讀 繼續免費閱讀

下載本文檔

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

文檔簡介

1、精選優質文檔-傾情為你奉上 2012 2013 學年 第2 學期 單片機原理及應用 課 程 設 計 報 告題 目:基于1602液晶的電子時鐘設計專 業: 自動化 班 級: 電氣工程系2011年5月12日1、任務書課題名稱基于1602液晶的電子時鐘設計指導教師(職稱) 執行時間20122013 學年第2學期 第 10 周學生姓名學號承擔任務摘 要電子時鐘在日常生活和工農業生產中是必不可少的。所以本文利于89C51單片機作為核心控制芯片,設計了一款基于1602LCD液晶顯示的電子時鐘。該時鐘具有鍵盤控制的暫停和啟動,時鐘、分鐘和秒鐘的手動調節功能;同時具備到整時(如1點整,2點整)時蜂鳴器發出“滴

2、答”聲,并且一個發光二極管發出閃爍。所以設計最后在Protues仿真軟件上仿真,驗證該設計的正確性,關鍵詞:電子時鐘,LCD1602液晶,仿真。基于1602液晶的電子時鐘設計目 錄緒 論20世紀末,電子技術獲得了飛速發展,在其推動下,現代電子產品幾乎深入到社會的各個領域,有力地推動了社會生產力的發展和社會信息化程度的提高,同時也是現代產品性能進一步提高,產品更新換代的節奏也越來越快。現代生活的人們越來越重視起了時間觀念。對于那些對于時間把握得非常精確的人或事來說,時間的不準確會帶來非常大的麻煩,所以,以數碼管顯示器的時鐘比指針式的時鐘表現出了更大的優越性。數碼管顯示的時間簡單明了,而且讀書快、

3、時間準確顯示到秒。而機械式的時鐘得依賴于晶體振蕩器,會導致較大的誤差。相比之下,電子時鐘要占了很大的優勢。數字電子鐘是采用數字電路實現對“時”、“分”、“秒”數字顯示的計時裝置。數字電子鐘的精度、穩定度都遠遠超過機械式的時鐘。在本次設計中,我采用了容量較大的LCD液晶顯示屏來顯示年月日以及時分秒,并以二十四小時計時方式。此外,本次設計的電路還有實現對時間的設定及報警功能。此類數字電子鐘因體積小、價格低廉,走時精度高,功能多,使用方便,便于集成化而受廣大消費者的喜愛,得到了廣泛的應用。時鐘電路在計算機系統中起著非常重要的作用,是保證系統正常工作的基礎。在單片機的應用系統中,時鐘有兩個方面的含義:

4、一是指為保障系統正常工作的基準振蕩定時信號,主要由晶振和外圍電路組成,晶振頻率的大小決定了單片機系統工作的快慢;二是指系統的標準定時時鐘,即定時時間,它通常有兩種實現方法:一是用軟件實現,即用單片機內部的可編程定時器/計數器來實現;二是用專門的時鐘芯片實現。這次我們直接用單片機控制。第一章 設計要求與方案論證1.1 設計要求基于1602液晶的電子時鐘設計要求:(1)液晶第一行顯示“Electr Clock”;(2)第二行顯示電子時鐘的格式為00-00-00,分別表示時鐘、分鐘和秒鐘;(3)要求有暫停,能進行鐘和時鐘、分秒鐘的調節;(4)到整時(如1點整,2點整)時蜂鳴器發出“滴答”聲,同時一個

5、發光二極管發出閃爍。1.2 系統基本方案選擇1.2.1 單片機芯片的選擇方案采用STC89C52芯片作為硬件核心。STC89C52內部具有8KB ROM 存儲空間,512字節數據存儲空間,帶有2K字節的EEPROM存儲空間,與MCS-51系列單片機完全兼容,STC89C52可以通過串口下載。1.2.2 顯示模塊選擇方案通過比較,本設計采用LCD1602液晶顯示屏,因為本設計要求顯示時、分、秒,顯示容量較大,LCD1602液晶顯示屏的特性滿足設計要求,而且價格適中。1.2.3 時鐘的控制方案直接采用單片機定時計數器提供秒信號,使用程序實現年、月、日、星期、時、分、秒計數。采用此種方案能減少芯片的

6、使用,節約成本。1.3 電路設計最終方案決定綜上各方案所述,對此次作品的方案選定: 采用STC89C52單片機作為主控制系統;采用單片機本身進行時鐘控制,采用1602 LCD液晶作為顯示器件。總設計原理框圖如下圖所示:微型控制器時鐘電路聲光報時校時輸入數據顯示第二章 主要元件介紹2.1 單片機STC89C52介紹2.1.1 STC89C52主要功能89C52是INTEL公司MCS-51系列單片機中基本的產品,它采用INTEL公司可靠的CMOS工藝技術制造的高性能8位單片機,屬于標準的MCS-51的CMOS產品。它結合了CMOS的高速和高密度技術及CMOS的低功耗特征,它基于標準的MCS-51單

7、片機體系結構和指令系統,屬于80C51增強型單片機版本,集成了時鐘輸出和向上或向下計數器等更多的功能,適合于類似馬達控制等應用場合。89C52內置8位、256字節內部數據存儲器RAM、8k片內程序存儲器(ROM)32個雙向輸入/輸出(I/O)口、3個16位定時/計數器和5個兩級中斷結構,一個全雙工串行通信口,片內時鐘振蕩電路。此外,89C52還可工作于低功耗模式,可通過兩種選擇空閑和掉電模式。在空閑模式下凍結CPU而RAM、串行口和中斷系統維持其功能。掉電模式下,保存RAM數據,時鐘振蕩停止,同時停止芯片內其它功能。STC89C52主要功能特性如表所示。主要功能特性兼容MCS51指令系統8K可

8、反復擦寫Flash ROM32個雙向I/O口256x8bit內部RAM3個16位可編程定時/計數器中斷時鐘頻率0-24MHz2個串行中斷可編程UART串行通道2個外部中斷源共6個中斷源2個讀寫中斷口線3級加密位低功耗空閑和掉電模式軟件設置睡眠和喚醒功能表 STC89C52主要功能2.1.2 STC89C52引腳介紹VCC:供電電壓。 GND:接地。 P0口:P0口為一個8位漏級開路雙向I/O口,每腳可吸收8TTL門電流。當P1口的管腳第一次寫1時,被定義為輸入。P0能夠用于外部程序數據存儲器,它可以被定義為數據/地址的第八位。在FIASH編程時,P0 口作為原碼輸入口,當FIASH進行校驗時,

9、P0輸出原碼,此時P0外部必須被拉高。 P1口:P1口是一個內部提供上拉電阻的8位雙向I/O口,P1口緩沖器能接收輸出4TTL門電流。P1口管腳寫入1后,被內部上拉為高,可用作輸入,P1口被外部下拉為低電平時,將輸出電流,這是由于內部上拉的緣故。在FLASH編程和校驗時,P1口作為第八位地址接收。 P2口:P2口為一個內部上拉電阻的8位雙向I/O口,P2口緩沖器可接收,輸出4個TTL門電流,當P2口被寫“1”時,其管腳被內部上拉電阻拉高,且作為輸入。并因此作為輸入時,P2口的管腳被外部拉低,將輸出電流。這是由于內部上拉的緣故。P2口當用于外部程序存儲器或16位地址外部數據存儲器進行存取時,P2

10、口輸出地址的高八位。在給出地址“1”時,它利用內部上拉優勢,當對外部八位地址數據存儲器進行讀寫時,P2口輸出其特殊功能寄存器的內容。P2口在FLASH編程和校驗時接收高八位地址信號和控制信號。 P3口:P3口管腳是8個帶內部上拉電阻的雙向I/O口,可接收輸出4個TTL門電流。當P3口寫入“1”后,它們被內部上拉為高電平,并用作輸入。作為輸入,由于外部下拉為低電平,P3口將輸出電流(ILL)這是由于上拉的緣故。P3口作為AT89C51的一些特殊功能口,管腳 備選功能 P3.0 RXD(串行輸入口) P3.1 TXD(串行輸出口) P3.2 /INT0(外部中斷0) P3.3 /INT1(外部中斷

11、1) P3.4 T0(計時器0外部輸入) P3.5 T1(計時器1外部輸入) P3.6 /WR(外部數據存儲器寫選通) P3.7 /RD(外部數據存儲器讀選通) RST:復位輸入。當振蕩器復位器件時,要保持RST腳兩個機器周期的高電平時間。 ALE/PROG:當訪問外部存儲器時,地址鎖存允許的輸出電平用于鎖存地址的地位字節。 在FLASH編程期間,此引腳用于輸入編程脈沖。在平時,ALE端以不變的頻率周期輸出正脈沖信號,此頻率為振蕩器頻率的1/6。因此它可用作對外部輸出的脈沖或用于定時目的。然而要注意的是:每當用作外部數據存儲器時,將跳過一個ALE脈沖。如想禁止ALE的輸出可在SFR8EH地址上

12、置0。此時, ALE只有在執行MOVX,MOVC指令是ALE才起用。另外,該引腳被略微拉高。如果微處理器在外部執行狀態ALE禁止,置位無效。 /PSEN:外部程序存儲器的選通信號。在由外部程序存儲器取指期間,每個機器周期兩/PSEN有效。但在訪問外部數據存儲器時,這兩次有效的/PSEN信號將不出現。/EA / VPP:當/EA保持低電平時,則在此期間外部程序存儲器(0000H-FFFFH),不管是否有內部程序存儲器。注意加密方式1時,/EA將內部鎖定為RESET;當/EA端保持高電平時,此間內部程序存儲器。在FLASH編程期間,此引腳也用于施加12V編程電源(VPP)。 XTAL1:反向振蕩放

13、大器的輸入及內部時鐘工作電路的輸入。 XTAL2:來自反向振蕩器的輸出。 主電源引腳(2根)VCC(Pin40):電源輸入,接5V電源GND(Pin20):接地線外接晶振引腳(2根)XTAL1(Pin19):片內振蕩電路的輸入端XTAL2(Pin20):片內振蕩電路的輸出端控制引腳(4根)RST/VPP(Pin9):復位引腳,引腳上出現2個機器周期的高電平將使單片機復位。ALE/PROG(Pin30):當訪問外部存儲器時,地址鎖存允許的輸出電平用于鎖存地址的地位字節。PSEN(Pin29):外部存儲器讀選通信號EA/VPP(Pin31):程序存儲器的內外部選通,接低電平從外部程序存儲器讀指令,

14、如果接高電平則從內部程序存儲器讀指令。2.1.3 STC89C52最小系統 最小系統是指能進行正常工作的最簡單電路。STC89C52最小應用系統電路它包含五個電路部分:電源電路、時鐘電路、復位電路、片內外程序存儲器選擇電路、輸入/輸出接口電路。其中電源電路、時鐘電路、復位電路是 保證單片機系統能夠正常工作的最基本的三部分電路,缺一不可。2. 2 1602字符液晶介紹2.2.1 1602液晶概述工業字符型液晶,1602是指顯示的內容為16*2,能同時顯示兩行,每行16個字符。常見的1602字符液晶有兩種,一種顯示綠色背光黑色字體,另一種顯示藍色背光白色字體,目前市面上絕大多數基于HD44780液

15、晶芯片控制,原理是完全相同的。本課題所用1602液晶模塊,顯示屏是藍色背光白色字體。如圖所示:1602字符液晶2.2.2 1602引腳介紹表1602字符液晶引腳說明編號符號引腳說明編號符號引腳說明1GND電源地2VCC電源正極3VO液晶顯示對比度調節端4RS數據/命令選擇端5R/W讀寫選擇6E使能信號7D0數據口8D1數據口9D2數據口10D3數據口11D4數據口12D5數據口13D6數據口14D7數據口15BLA背光電源正16BLK背光電源負各個引腳具體功能說明:第1腳:GND為地電源。第2腳:VCC接5V正電源。第3腳:VO為液晶顯示器對比度調整端,接正電源時對比度最弱,接地電源時對比度最

16、高,對比度過高時會產生重影,使用一個1K的電位器調整對比度。第4腳:RS為寄存器選擇,高電平時選擇數據寄存器,低電平時選擇指令寄存器。第5腳:R/W為讀寫信號線,高電平時進行讀操作,低電平時進行寫操作。第6腳:E端為使能端,當E端由高電平跳變成低電平時,液晶模塊執行命令。第714腳:DB0DB7為8位雙向數據線。第1516腳:背光燈電源。2.2.3 1602字符液晶使用方法(1)基本操作時序表 1602字符液晶讀寫狀態表操作輸入輸出讀狀態RSL,RWH,EHD0D7狀態字寫指令RSL,RWL,D0D7指令碼,E高脈沖無讀數據RSH,RWH,EHD0D7數據寫數據RSH,RWL,D0D7數據,E

17、高脈沖無 1602液晶寫時序圖1602液晶讀時序圖(2)RAM1602液晶控制器芯片內部帶有80個8位的RAM緩沖區,其地址和屏幕的對應關系如圖2.4示(3)1602字符液晶字庫  1602液晶模塊內部的字符發生存儲器(CGROM)已經存儲了160個不同的點陣字符圖形,這些字符有:阿拉伯數字、英文字母的大小寫、常用的符號、和日文假名等,每一個字符都有一個固定的代碼,比如大寫的英文字母“A”的代碼是B(41H),顯示時模塊把地址41H中的點陣字符圖形顯示出來,我們就能看到字母“A” 。第三章 系統硬件設計3.1 單片機控制系統本次設計時鐘電路,使用了STC89C52單片機芯片控制電路,

18、單片機控制電路簡單且省去了很多復雜的線路,使得電路簡明易懂,使用鍵盤鍵上的按鍵來調整時鐘的時、分、秒,用一揚聲器來進行定時提醒,同時使用C語言程序來控制整個時鐘顯示,使得編程變得更容易,這樣通過四個模塊:鍵盤、芯片、揚聲器、顯示屏即可滿足設計要求。3.2各部分功能實現3.2.1.控制部分(STC89C52)單片機采用52系列單片機。由STC公司生產的STC89C52是一種低功耗、高性能CMOS8位微控制器,具有8K 在系統可編程Flash 存儲器。使用STC公司高密度非易失性存儲器技術制造,與工業80C51 產品指令和引腳完全兼容。在單芯片上,擁有靈巧的8 位CPU 和在線系統可編程Flash

19、,使得STC89C52為眾多嵌入式控制應用系統提供高靈活、有效的解決方案。單片機最小系統 單片機最小系統主要由復位電路,晶振電路,電源等幾部分組成。1) 復位電路復位電路有兩種方式:上電復位和按鈕復位,我們主要用按鈕復位方式。如圖所示: 復位電路2) 晶振電路晶振電路原理圖:晶振模塊原理圖 選取原則:電容選取30pF,晶振為12MHz。3) 電源STC89C52單片機的供電電源是5V的直流電。4) EA非/Vpp 腳我們沒有用外部擴展ROM,因此EA非/Vpp為高電平,即接+5V電源。3.2.2鍵盤控制系統設計按鍵需要3個,分別實現為時間調整、時間的加、時間的減、退出四個功能。用單片機的3個I

20、/O口接收控制信號,其電路如圖下: 通過控制鍵來控制所要調節的是時、分、還是秒。在控制鍵按下后LCD中會在相應的位置出現光標,這時在通過加數鍵或減數鍵來控制時分秒的加或減。3.2.3.顯示電路顯示電路如圖所示:顯示電路3.2.4整點提醒電路對于蜂鳴器,三極管選定NPN型,單片機在復位后的個I/O口是高電平,此時三極管是截止的,編寫程序使選定的I/O為低電平,此時三極管導通,導通后蜂鳴器與電源正極連通,構成一個工作回路,從而發出滴滴的響聲。其中電阻R1在電路里起分壓限流的作用,NPN三極管起到模擬開關的作用。對于發光二極管,只要編寫程序使選定的I/O為低電平,二極管就亮。整點提醒電路3.3. 總

21、電路原理圖系統原理圖第四章 軟件設計及仿真4.1 軟件主要要完成的功能(1)顯示時間程序用軟件調節時間,通過程序的調節,最后用LCD現實時鐘(2)調節時間程序按鍵調節時間,能實現時、分、秒的調節4.2軟件設計的主要流程(1)系統總的流程圖主要功能是負責時間的顯示,通過寫地址和寫數據來實現時間的調節和控制,最后通過調用顯示子程序顯示出來。(2)時間控制程序時間控制程序,用中斷準確的控制時間,采用60進制,60秒為一分鐘,60分鐘為一個小時,全天設置為24小時。程序流程圖如圖所示。 程序流程圖程序代碼見附錄部分。4.3 仿真顯示效果總 結通過本次論文設計,使我加深了對單片機的認識,并且熟悉了單片機

22、系統的設計流程,收獲豐碩。功能上基本達標:時鐘的顯示,調時功能。時鐘顯示功能,精確度完全可以滿足日常生活顯示時間的需要;調時功能,方便快捷。硬件設施基本合乎要求,軟件設計可以配合硬件實現其功能。技術在不斷進步,機械式時鐘已經被淘汰,取而代之的是具有高度準確性和直觀性且無機械裝置,具有更長的使用壽命等優點的電子時鐘。電子時鐘更具人性化,更能提高人們的生活質量,更受人們歡迎。機械時代已經遠去,電子時代已經到來。做為新時代的我們,更應該提高自身能力,適應新時代的發展。知識來自實踐,多從生活中探尋所需要的,只有是符合時代需求,符合時代進步潮流的東西才是我們該努力地方向。互聯網成了我們生活中不可或缺的一

23、部分,網絡在本次設計中起到了很大作用,很多芯片資料,傳統的紙質圖書里是沒有的。如何在浩如煙海的網絡中提取我們需要的知識也是我必須要提高的,網絡作為一個平臺,由于大家的無私奉獻,才使得它豐富多彩,包羅萬象。但從這么多的資料中找到我想要的卻不是那么容易,以后得著重加強這方面的能力。從這次的論文設計中,我真正的體會到,什么叫書到用時方恨少,還有就是理論聯系實踐的重要性,如何把我們所學的理論知識運用到實際生活當中,這是最難的,也是我最缺的。實踐出真知,光有書本上的知識是遠遠不夠的,我明白了,作為一個理工科學生,我必須多動手多實踐。參考文獻:1 陳權昌,李興富.單片機原理及應用.廣州:華南理工大學出版社

24、,2007.82 李慶亮.C語言程序設計實用教程.北京:機械工業出版社,2005.33 楊志忠.數字電子技術.北京:高等教育出版社,2003.124 及力.Protel 99 SE原理圖與PCB設計教程.北京:電子工業出版社,2007.8附錄#include<reg52.h>#define uchar unsigned charsbit rs=P05;/定義LCD1602控制端口sbit rw=P06;sbit ep=P07;sbit k1=P35;/定義按鍵輸入sbit k2=P36;sbit k3=P37;sbit feng=P31;sbit led=P32;uchar cod

25、e table="Electr Clock" /第一行顯示uchar code table1=" 00:00:00"uchar num,count,k1num;char shi,fen,miao;void delay(int x) /延時函數int y;for(x;x>0;x-) for(y=100;y>0;y-);void writezd(uchar com) /LCD1602寫控制字rs=0;rw=0;ep=0;P2=com;delay(5);ep=1;delay(5);ep=0;void writesj(uchar date) /LCD

26、1602寫數據rs=1;rw=0;ep=0;P2=date;delay(5);ep=1;delay(5);ep=0;void init() /LCD1602初始化ep=0;TMOD=0x01;TH0=(65536-50000)/256;TL0=(65536-50000)%256;EA=1;ET0=1;TR0=1;writezd(0x38);writezd(0x0c);writezd(0x06);writezd(0x80);for(num=0;num<16;num+) /寫第一行writesj(tablenum);writezd(0x80+0x40);for(num=0;num<12;num+) /寫第二行writesj(table1num);void writesfm(uchar add,uchar date) /寫時間子函數 uchar shi,ge;shi=date/10;ge=date%10;writezd(0x80+0x40+add);writesj(0x30+shi);writesj(0x30+ge);void keyscan() /鍵盤掃描子函數if(k1=0)delay(5);if(k1=0)while(!k1);k1num+;if(k1num=1) TR0=0;writezd(0x80+0x40+11);writezd(0x0f);if(k1num=

溫馨提示

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

評論

0/150

提交評論