




版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領
文檔簡介
1、單片機課程設計報告題目:基于單片機的LCM1602液晶控制 萬年歷顯示設計 所在系部: 信息與電氣工程 所在專業(yè): 通信本 所在班級: 1001 姓 名 : 曹懷寶 學 號 : 20213615276 指導教師: 陳勇 完成時間: 2021年 7月 3日 基于單片機的LCM1602液晶控制 萬年歷顯示設計1.設計目的該設計是基于AT89C52單片機的電子萬年歷系統(tǒng),采用LCD1602液晶屏實現(xiàn)顯示。顯示年月 日星期溫度等,雙行顯示,。顯示年、月、日、星期、時間,可設置,設置功能。綜上所述此時鐘具有讀取方便、顯示直觀、功能多樣、電路簡潔、等優(yōu)點,符合電子儀器儀表的開展趨勢,具有廣闊的市場前景。
2、2.設計原理及相關說明設計原理:利用DS1302讀取系統(tǒng)中的日期以及時間信息,并分別利用P1.1端口和P3.3端口將相關信息傳送至STC12C5A60S2 主芯片之中,利用P0端口使之顯示于LCD1602液晶顯示屏上,四個按鍵分別置于P1口的5、6、7端口可以對時間進行控制修改。詳細請參閱第三節(jié)的芯片介紹。2.2總體設計框圖日歷時鐘系統(tǒng)設計框圖如圖1所示:DS1302At89C52鍵掃描電路LCD 1602DS18B20蜂鳴器圖1 電子萬年歷系統(tǒng)設計框圖3 各芯片的設計及其調(diào)用3.1 STC12C5A60S2 單片機主控模塊STC12C5A60S2簡介STC12C5A60S2是STC生產(chǎn)的單時
3、鐘/機器周期1T的單片機,是高速、低功耗、超強抗干擾的新一代8051單片機,指令代碼完全兼容傳統(tǒng)8051,但速度快8-12倍。內(nèi)部集成MAX810專用復位電路,2路PWM,8路高速10位A/D轉換1、 增強型8051CPU,1T1024G,單時鐘機器周期2、 工作電壓5.5-3.5V 3、1280字節(jié)RAM 4、通用I/O口,復位后為:準雙向口/弱上拉可設置成四種模式:準雙向口/弱上拉,強推挽/強上拉,僅為輸入/高阻,開漏每個I/O口驅(qū)動能力均可到達20mA,但整個芯片最大不要超過120mA 5、 有EEPROM功能6、看門狗7、內(nèi)部集成MAX810專用復位電路8、外部掉電檢測電路9、時鐘源:
4、外部高精度晶體/時鐘,內(nèi)部R/C振蕩器常溫下內(nèi)部R/C振蕩器頻率為:5.0V單片機為:1117MHz 3.3V 單片機為:812MHz 針對電機控制,強干擾場合。對應電路圖中的單片機的周圍電路,圖為89C51用protus軟件的仿真圖使用的是89c513.2 LCD 1602 液晶顯示模塊液晶顯示模塊3.2.1引腳及接口說明1602采用標準的16腳接口,其中:第1腳:VSS為電源地第2腳:VDD接5V電源正極第3腳:V0為液晶顯示器比照度調(diào)整端,接正電源時比照度最弱,接地電源時比照度最高比照度過高時會 產(chǎn)生“鬼影,使用時可以通過一個10K的電位器調(diào)整比照度。第4腳:RS為存放器選擇,高電平1時
5、選擇數(shù)據(jù)存放器、低電平0時選擇指令存放器。第5腳:RW為讀寫信號線,高電平(1)時進行讀操作,低電平(0)時進行寫操作。第6腳:E(或EN)端為使能(enable)端。第714腳:D0D7為8位雙向數(shù)據(jù)端。第1516腳:空腳或背燈電源。15腳背光正極,16腳背光負極。2 LCD1602特性+5V電壓,比照度可調(diào)內(nèi)含復位電路提供各種控制命令,如:清屏、字符閃爍、光標閃爍、顯示移位等多種功能有80字節(jié)顯示數(shù)據(jù)存儲器DDRAM內(nèi)建有192個5X7點陣的字型的字符發(fā)生器CGROM8個可由用戶自定義的5X7的字符發(fā)生器CGRAM3.2.2 LCD1602模塊內(nèi)部結構LCM1602內(nèi)部主要存放器有:輸入/
6、輸出緩沖器,指令存放器Instuction Register,即IR,指令譯碼器,數(shù)據(jù)存放器Data Register,即DR,地址計數(shù)器Address Counter,即AC,忙標識Busy Flag,即BF以及顯示數(shù)據(jù)存儲器Display Data RAM,即DDRAM,字符發(fā)生器Character Generate ROM,即CGROM。其各個單元的功能作用如下:1. 輸入/輸出緩沖器,用于緩存輸入/輸出的數(shù)據(jù)與控制信號。2. 指令存放器IR,為八位存放器。用于存放LCD指令、DDRAM或CGROM地址。數(shù)據(jù)輸入流程:數(shù)據(jù)存入DR,然后將該數(shù)據(jù)地址與指令存入IR,最后將該數(shù)據(jù)輸入到DDR
7、AM或CGROM。讀取數(shù)據(jù)流程:將該數(shù)據(jù)地址與指令存入IR,DR取得該地址數(shù)據(jù)。3. 指令譯碼器,將IR里的指令進行譯碼,以獲取DDRAM或CGROM地址。4. 數(shù)據(jù)存放器DR,連接LCM內(nèi)部數(shù)據(jù)總線以及緩存DDRAM或CGROM的存取數(shù)據(jù)。當CPU讀取DR內(nèi)容后,DR能自動加載下一個地址的內(nèi)容。5. 地址計數(shù)器AC,連接LCM內(nèi)部數(shù)據(jù)總線以及緩存DDRAM或CGROM的存取數(shù)據(jù)地址。當存取DDRAM或CGROM的數(shù)據(jù)地址,AC能自動加載下一個存儲地址。6. 忙標識BF,表示LCM的當前狀態(tài)。假設BF=1,那么表示LCM處于忙綠狀態(tài),無法接收外部數(shù)據(jù)或指令。7. 顯示數(shù)據(jù)存儲器DDRAM,存儲
8、所要顯示數(shù)據(jù)的ASCII碼,根據(jù)該ASCII碼地址,即可到CGROM里找到該字符的顯示編碼。8. 字符發(fā)生器CGROM,是一個只讀存儲器,預制所有數(shù)據(jù)的ASCII碼。其存儲的編碼表如下表3-5:此外,還有自定義字符發(fā)生器,串行/并行數(shù)據(jù)轉換器,光標閃爍控制電路,時序產(chǎn)生電路,偏壓產(chǎn)生電路,共同端驅(qū)動電路以及段驅(qū)動電路等。3.5 蜂鳴器本設計采用的是無源蜂鳴器如下列圖:圖13 無源蜂鳴器3.6 鍵盤接口鍵盤接口電路如圖,本次設計中,按鍵有3個,每個按鍵各占用一根I/O線,各按鍵相互獨立,彼此的工作狀態(tài)互不影響,用查詢法完成按鍵功能。圖1鍵盤接口電路5 EPROMEPROM是一種具有可擦除功能,擦
9、除后即可進行再編程的ROM內(nèi)存,寫入前必須先把里面的內(nèi)容用紫外線照射它的IC卡上的透明視窗的方式來去除掉。這一類芯片比擬容易識別,其封裝中包含有“石英玻璃窗,一個編程后的EPROM芯片的“石英玻璃窗一般使用黑色不干膠紙蓋住, 以防止遭到陽光直射。EPROM芯片可重復擦除和寫入,解決了PROM芯片只能寫入一次的弊端。EPROM芯片有一個很明顯的特征,在其正面的陶瓷封裝上,開有一個玻璃窗口,透過該窗口,可以看到其內(nèi)部的集成電路,紫外線透過該孔照射內(nèi)部芯片就可以擦除其內(nèi)的數(shù)據(jù),完成芯片擦除的操作要用到EPROM擦除器。EPROM內(nèi)資料的寫入要用專用的編程器,并且往芯片中寫內(nèi)容時必須要加一定的編程電壓
10、VPP=1224V,隨不同的芯片型號而定。EPROM的型號是以27開頭的,如27C020(8*256K)是一片2M Bits容量的EPROM芯片。EPROM芯片在寫入資料后,還要以不透光的貼紙或膠布把窗口封住,以免受到周圍的紫外線照射而使資料受損。 EPROM芯片在空白狀態(tài)時用紫外光線擦除后,內(nèi)部的每一個存儲單元的數(shù)據(jù)都為1高電平。4 .系統(tǒng)軟件設計4.1 時間程序 使用中斷并定時器T0的方式1,時分秒計數(shù),采用24的時鐘表示法,時計滿23那么回0,分秒計滿59那么回0,鍵盤輸入可調(diào),為4*4對地獨立鍵盤中的某三個鍵,其中一個為功能鍵,用于調(diào)整時分秒,另外兩個鍵用于調(diào)節(jié)數(shù)字使之上調(diào)和下調(diào),其中
11、日期可顯示初始化程序,不可調(diào),另外可以顯示星期。初始化時,只需通過P1口中的低兩位讀取5 .調(diào)試5.1 調(diào)試步驟調(diào)試分為硬件調(diào)試和軟件調(diào)試。硬件調(diào)試主要是檢查硬件電路是否有短路、斷路和虛焊等,首先接上電源,電源的指示燈亮了之后,檢測一下單片機的電源腳有沒有電源輸入,如果有這說明焊接無誤,然后可以用萬用表檢查各個元器件的管腳之間的焊接,檢查過程中需要細心和耐心。硬件調(diào)試無誤后,進行軟件調(diào)試。5.2 性能分析將程序燒入單片機后,在proteus軟件中進行仿真。經(jīng)過測試制作完成后的電子萬年歷,只有局部功能實現(xiàn),它能顯示年、月、日等,但顯示不穩(wěn)定,設計中硬件或軟件有待修正。6 .心得首先拿到板子,依據(jù)
12、電路圖和板子,畫電路圖,并生成PCB圖。然后將板子焊接,注意焊接的方法,防止虛焊和過度焊接。在對芯片的管腳功能和用法有充分的了解后,根據(jù)設計要求設計硬件電路,包括單片機控制電路、存儲電路、鍵盤掃描電路、顯示電路。然后通過軟件編程,實現(xiàn)了對年、月、日、時、分、秒、星期的自動調(diào)整,用按鍵進行控制,用液晶模塊進行顯示。用PROTUS仿真實現(xiàn)相關的軟件仿真,芯片采用最普遍的89C51,用KEIL軟件編寫程序,編寫程序前,可以先查閱網(wǎng)上的相關資料,比方LCD芯片的原理圖,有關可以借鑒的程序等。自己編寫,然后生成hex文件,仿真實現(xiàn)。用焊接好的板子,將文件燒錄進去,調(diào)試,查錯??赡軙霈F(xiàn)LCD屏幕不顯示,
13、或者出現(xiàn)一行黑一行白的現(xiàn)象,可能是插反了,或者驅(qū)動程序有問題,這時候需要根據(jù)實際的板子的需要,調(diào)整延遲時間,等等。調(diào)試成功。電子萬年歷可以正常顯示時間并進行時間調(diào)整,根本完成了預期要實現(xiàn)的目標。附錄1 系統(tǒng)電路原理圖SCH文件選擇自上而下的文件畫法,可能有些器件的擺放有點亂單片機級復位電路數(shù)碼管和4*4矩陣ISP和電源接口LED燈蜂鳴器和lcd屏頂層文件附錄2,PCB圖附錄四:PCB3D圖附錄3 實物圖附錄4 系統(tǒng)程序清單/*#include<reg51.h>#define uchar unsigned char #define uint unsigned int#include&
14、quot;24c02.h"/*LCM1602 IO口位定義*/sbit RS=P22;sbit RW=P21;sbit EN=P20;/*獨立控制按鍵位定義*/ sbit key1=P15;/功能sbit key2=P16;/加sbit key3=P17;/減/*蜂鳴器IO口定義*/sbit Speaker=P26;/接蜂鳴器接口sbit RedLed=P27;uchar key1n,count;uint hour,minute,second;uchar code tab=" 2021-7-2 THU "/定義初始上電時液晶默認顯示狀態(tài)/*延時子函數(shù),延時z毫秒*
15、/ void delay(uint z)uint i,j;for(i=0;i<z;i+)for(j=0;j<110;j+);void di()Speaker=0;delay(400);Speaker=1;/ /*LCD1602有關子函數(shù)*/*函數(shù)功能:LCD1602寫命令函數(shù)入口參數(shù):com出口參數(shù): */void write_com(uchar com)RS=0;RW=0;EN=0;P0=com;delay(5);EN=1;delay(5);EN=0;/*函數(shù)功能:LCD1602寫數(shù)據(jù)函數(shù)入口參數(shù):dat出口參數(shù): */void write_data(uchar dat)RS=1
16、;RW=0;EN=0;P0=dat;delay(5);EN=1;delay(5);EN=0;/*函數(shù)功能:時分秒顯示函數(shù)入口參數(shù):出口參數(shù): */void DisplayTime(uchar add,uchar dat)uint i,j;i=dat/10;j=dat%10;write_com(0x80+0x40+add);write_data(0x30+i);write_data(0x30+j); /*函數(shù)功能:LCM1602初始化入口參數(shù):出口參數(shù): */void init_LCD1602()uchar i;EN=0;minute=0;hour=0;second=0;key1n=0;coun
17、t=0;init_24c02();write_com(0x38);write_com(0x0c);write_com(0x06);write_com(0x01);write_com(0x80);/日歷顯示固定符號從第一行第1個位置之后開始顯示for(i=0;i<15;i+)write_data(tabi);/向液晶屏寫日歷顯示的固定符號局部delay(5);write_com(0x80+0x40+6);/寫出時間顯示局部的兩個冒號write_data(':');delay(5);write_com(0x80+0x40+9);write_data(':');
18、delay(5);second=read_add(1);/首次上電從AT24C02中讀取出存儲的數(shù)據(jù)minute=read_add(2);hour=read_add(3);DisplayTime(10,second);/分別送去液晶顯示DisplayTime(7,minute);DisplayTime(4,hour);TMOD=0x01;/設置定時器0工作模式1TH0=(65536-50000)/256;/定時器裝初值TL0=(65536-50000)%256;EA=1;/開總中斷ET0=1;/開定時器0中斷TR0=1;/啟動定時器0/*按鍵掃描4*4獨立對地矩陣*/ /*函數(shù)功能:獨立對地鍵
19、盤掃描入口參數(shù):出口參數(shù): ;*/void KeyScan() if(key1=0)delay(5);if(key1=0)/第一次被按下時key1n+;while(!key1);di();RedLed=0;di();RedLed=1;if(key1n=1)/第一次被按下時TR0=0; /關閉定時器write_com(0x80+0x40+10);/光標定位到秒位置write_com(0x0f); /光標開始閃爍if(key1n=2)/第二次按下光標閃爍定位到分鐘位置write_com(0x80+0x40+7);if(key1n=3)/第三次按下光標閃爍定位到小時位置write_com(0x80+
20、0x40+4);if(key1n=4)/第四次按下key1n=0;/記錄按鍵數(shù)清零write_com(0x0c);/取消光標閃爍TR0=1;/啟動定時器使時鐘開始走if(key1n!=0)/只有功能鍵被按下后,增加和減小鍵才有效if(key2=0)delay(5);if(key2=0)/增加鍵確認被按下while(!key2);/按鍵釋放di();/每當有按鍵釋放蜂鳴器發(fā)出滴聲RedLed=0;delay(10);RedLed=1;if(key1n=1)/假設功能鍵第一次按下second+; /那么調(diào)整秒加1if(second=60)/假設滿60后將清零second=0;DisplayTime
21、(10,second);/每調(diào)節(jié)一次送液晶顯示一下write_com(0x80+0x40+10);/顯示位置重新回到調(diào)節(jié)處write_add(1,second);/數(shù)據(jù)改變立即存入24C02if(key1n=2)/假設功能鍵第二次按下minute+;/那么調(diào)整分鐘加1if(minute=60)/假設滿60后將清零minute=0;DisplayTime(7,minute);/每調(diào)節(jié)一次送液晶顯示一下write_com(0x80+0x40+7);/顯示位置重新回到調(diào)節(jié)處write_add(2,minute);/數(shù)據(jù)改變立即存入24C02if(key1n=3)/假設功能鍵第三次按下hour+;/那
22、么調(diào)整小時加1if(hour=24)/假設滿24后將清零hour=0;DisplayTime(4,hour);/每調(diào)節(jié)一次送液晶顯示一下write_com(0x80+0x40+4);/顯示位置重新回到調(diào)節(jié)處write_add(3,hour);/數(shù)據(jù)改變立即存入24C02if(key3=0)delay(5);if(key3=0)/確認減小鍵被按下while(!key3);/按鍵釋放di();/每當有按鍵釋放蜂鳴器發(fā)出滴聲RedLed=0;delay(10);RedLed=1;if(key1n=1)/假設功能鍵第一次按下second-;/那么調(diào)整秒減1if(second=-1)/假設減到負數(shù)那么將其重新設置為59second=59;DisplayTime(10,second);/每調(diào)節(jié)一次送液晶顯示一下write_com(0x80+0x40+10);/顯示位置重新回到調(diào)節(jié)處write_add(1,second);/數(shù)據(jù)改變立即存入24C02if(key1n=2)/假設功能鍵第二次按下minute-;/那么調(diào)整分鐘減1if(minute=-1)/假設減到負數(shù)那么將其重新設置為59minute=59;DisplayTime(7,minute);/每調(diào)節(jié)一次送液晶顯示一下write_com(0x80+0x40+7);/顯示位置重新回到調(diào)節(jié)處write_add(2,minute);/數(shù)據(jù)改變
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 工程建設項目招標3篇
- 代辦戶口登記委托示例3篇
- 辦理證照全權委托書模板3篇
- 停車場道閘系統(tǒng)安裝承包合同3篇
- 農(nóng)村房子轉讓簡單協(xié)議書3篇
- 建材買賣協(xié)議書格式3篇
- 工程圖紙審查
- 完整工程招標與合同管理2篇
- 自動售貨機行業(yè)市場發(fā)展現(xiàn)狀與市場進出口分析考核試卷
- 羽絨制品生產(chǎn)安全管理規(guī)范考核試卷
- 2025至2030中國射頻芯片市場趨勢展望及需求前景研究報告
- 應急急救知識課件
- 文綜中考試卷及答案解析
- 鼠傷寒沙門菌護理查房
- 2024年江蘇省南京市中考物理試卷真題(含答案)
- K30自動生成及計算試驗記錄
- (完整)教育心理學-各章節(jié)重點學習筆記
- 建筑行業(yè)施工期間意外傷害免責協(xié)議
- 民兵國防知識教育教案
- 毒理學研究新技術應用-深度研究
- DB33T 2202-2019 公安警察院校警務化管理規(guī)范
評論
0/150
提交評論