




版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、 . 中南大學(xué)自動(dòng)化工程訓(xùn)練設(shè)計(jì)題目 LCD時(shí)鐘程序設(shè)計(jì) 指導(dǎo)老師 設(shè)計(jì)者 專(zhuān)業(yè)班級(jí) 自動(dòng)化 級(jí) 班號(hào) 設(shè)計(jì)日期 2016年9月16 / 20目錄一、設(shè)計(jì)任務(wù)要求分析11.1設(shè)計(jì)總體方案與其方案論證1二、組成電路介紹12.1 復(fù)位電路:12.2晶振電路:12.3鍵盤(pán)控制系統(tǒng)設(shè)計(jì):22.4鬧鐘部分:32.5顯示電路設(shè)計(jì)32.5.1 LCD1602簡(jiǎn)介3三 、軟件設(shè)計(jì)43.1程序主流程圖53.2初始化流程圖53.3延時(shí)中斷子程序63.4時(shí)間設(shè)置子程序7四、系統(tǒng)測(cè)試74.1 測(cè)試方法74.2 測(cè)試結(jié)果74.3 結(jié)果分析8五、源程序8一、設(shè)計(jì)任務(wù)要求分析本設(shè)計(jì)要實(shí)現(xiàn)的功能是:實(shí)時(shí)顯示當(dāng)前的時(shí)鐘,并且可
2、以設(shè)定鬧鈴,以蜂鳴器鳴響5秒的方式作為鬧鈴。1.1設(shè)計(jì)總體方案與其方案論證 按照系統(tǒng)的設(shè)計(jì)功能所要求的,液晶顯示電子時(shí)鐘原理圖如圖所示。液晶顯示電子時(shí)鐘原理圖 本系統(tǒng)以AT89C51單片機(jī)為核心,該單片機(jī)可把數(shù)據(jù)進(jìn)行處理,從而把數(shù)據(jù)傳輸?shù)斤@示模塊LCD1602液晶顯示器,實(shí)現(xiàn)時(shí)間與日期的顯示。以LCD液晶顯示器為顯示模塊,把單片機(jī)傳來(lái)的數(shù)據(jù)顯示出來(lái),并且顯示多樣化,還可以對(duì)時(shí)間和日期進(jìn)行設(shè)置,主要靠按鍵來(lái)實(shí)現(xiàn)。二、 組成電路介紹2.1 復(fù)位電路:復(fù)位電路復(fù)位電路有兩種方式:上電復(fù)位和按鈕復(fù)位,我們主要用按鈕復(fù)位方式。如圖所示:2.2晶振電路:晶振電路如圖所示:晶振模塊原理圖選取原則:電容選取2
3、2pF,晶振為12MHz。1) 電源:AT89S51單片機(jī)的供電電源是5V的直流電。2) EA非/Vpp腳:我們沒(méi)有用外部擴(kuò)展ROM,因此EA非/Vpp為高電平,即接+5V電源。2.3鍵盤(pán)控制系統(tǒng)設(shè)計(jì):按鍵需要4個(gè),分別實(shí)現(xiàn)為時(shí)間調(diào)整、時(shí)間的加、時(shí)間的減、鬧鐘調(diào)整四個(gè)功能。用單片機(jī)的4個(gè)I/O口接收控制信號(hào),其電路如圖所示:按鍵調(diào)時(shí)電路通過(guò)控制鍵來(lái)控制所要調(diào)節(jié)的是時(shí)、分、還是秒。在控制鍵按下后LCD中會(huì)在相應(yīng)的位置出現(xiàn)光標(biāo),這時(shí)在通過(guò)加數(shù)鍵或減數(shù)鍵來(lái)控制時(shí)分秒的加或減。在調(diào)鬧鐘鍵按下后LCD中也會(huì)在相應(yīng)的位置出現(xiàn)光標(biāo),這時(shí)也通過(guò)加數(shù)鍵或減數(shù)鍵來(lái)設(shè)置鬧鐘。2.4鬧鐘部分:鬧鐘部分主要由蜂鳴器,三
4、極管,電阻組成。其電路圖如圖所示:鬧鐘電路當(dāng)單片機(jī)的P15接口輸出為高電平時(shí),蜂鳴器響,當(dāng)輸出為低電平時(shí),蜂鳴器停止。2.5顯示電路設(shè)計(jì)2.5.1 LCD1602簡(jiǎn)介L(zhǎng)CD1602液晶也叫1602字符型液晶,它是一種專(zhuān)門(mén)用來(lái)顯示字母、數(shù)字、符號(hào)等的點(diǎn)陣型液晶模塊,它有若干個(gè)5X7或者5X11等點(diǎn)陣字符位組成,每個(gè)點(diǎn)陣字符位都可以顯示一個(gè)字符。每位之間有一個(gè)點(diǎn)距的間隔,每行之間也有也有間隔,起到了字符間距和行間距的作用,正因?yàn)槿绱?,所以他不能顯示圖形(用自定義CGRAM,顯示效果也不好)。1602LCD是指顯示的容為16X2,即可以顯示兩行,每行16個(gè)字符液晶模塊(顯示字符和數(shù)字)。目前市面上字
5、符液晶絕大多數(shù)是基于HD44780液晶芯片的,控制原理是完全一樣的,因此基于HD44780寫(xiě)的控制程序可以很方便地應(yīng)用于市面上大部分的字符型液晶。 (1)LCD1602的主要技術(shù)參數(shù)顯示容量:16×2個(gè)字符;芯片工作電壓:4.55.5V;工作電流:2.0mA(5.0V);模塊最佳工作電壓:5.0V;字符尺寸:2.95×4.35(W×H)mm。(2)LCD1602引腳功能說(shuō)明1602LCD采用標(biāo)準(zhǔn)的14腳(無(wú)背光)或16腳(帶背光)接口,各引腳接口說(shuō)明如下: 第1腳:VSS為地電源; 第2腳:VDD接5V正電源; 第3腳:VL為液晶顯示器對(duì)比度調(diào)整端,接正電源時(shí)對(duì)比
6、度最弱,接地時(shí)對(duì)比度最高,對(duì)比度過(guò)高時(shí)會(huì)產(chǎn)生“鬼影”,使用時(shí)可以通過(guò)一個(gè)10K的電位器調(diào)整對(duì)比度; 第4腳:RS為寄存器選擇,高電平時(shí)選擇數(shù)據(jù)寄存器、低電平時(shí)選擇指令寄存器; 第5腳:R/W為讀寫(xiě)信號(hào)線,高電平時(shí)進(jìn)行讀操作,低電平時(shí)進(jìn)行寫(xiě)操作。當(dāng)RS和R/W共同為低電平時(shí)可以寫(xiě)入指令或者顯示地址,當(dāng)RS為低電平R/W為高電平時(shí)可以讀忙信號(hào),當(dāng)RS為高電平R/W為低電平時(shí)可以寫(xiě)入數(shù)據(jù); 第6腳:E端為使能端,當(dāng)E端由高電平跳變成低電平時(shí),液晶模塊執(zhí)行命令; 第714腳:D0D7,為8位雙向數(shù)據(jù)線; 第15腳:背光源正極; 第16腳:背光源負(fù)極。1602液晶模塊的讀寫(xiě)操作,屏幕和光標(biāo)的操作都是通過(guò)
7、指令編程來(lái)實(shí)現(xiàn)的。本顯示電路將單片機(jī)的P0口作為液晶的數(shù)據(jù)口,由于P0口沒(méi)有上拉電阻,所以需額外加一個(gè)排阻作為上拉電阻,利用P1口作為其讀寫(xiě)控制端,具體電路如圖。顯示電路 三 、軟件設(shè)計(jì)軟件設(shè)計(jì)是本次設(shè)計(jì)中不可缺少的環(huán)節(jié),是本次設(shè)計(jì)能夠完成的最重要的環(huán)節(jié)之一。在完成了硬件電路的設(shè)計(jì)之后,依據(jù)系統(tǒng)設(shè)計(jì)要求和硬件電路開(kāi)始系統(tǒng)軟件部分的設(shè)計(jì)。本系統(tǒng)軟件設(shè)計(jì)包括:主程序、系統(tǒng)初始化子程序、延時(shí)中斷子程序、時(shí)間設(shè)置子程序。首先進(jìn)行模塊設(shè)計(jì),最后進(jìn)行各模塊的整合以完成整個(gè)軟件系統(tǒng)。3.1程序主流程圖主流程圖3.2初始化流程圖系統(tǒng)初始化模塊的主要功能是完成系統(tǒng)的初始化以與設(shè)定系統(tǒng)的工作狀態(tài),初始化部分包括以
8、下方面的容:(1)單片機(jī)定時(shí)器0初始化以與各種I/O口定義;(2)1602液晶初始化清屏與設(shè)定工作方式;(3)系統(tǒng)進(jìn)入正常工作狀態(tài)。初始化流程圖3.3延時(shí)中斷子程序延時(shí)中斷子程序3.4時(shí)間設(shè)置子程序這里僅畫(huà)出了秒設(shè)置流程圖,其他時(shí)間與日期設(shè)置類(lèi)似。秒設(shè)置流程圖四、系統(tǒng)測(cè)試4.1測(cè)試方法系統(tǒng)單片機(jī)代碼采用C語(yǔ)言編寫(xiě),proteus進(jìn)行原理圖的設(shè)計(jì),keil軟件進(jìn)行代碼的編譯,通過(guò)keil與proteus軟件的充分利用,將編譯好的執(zhí)行代碼加載到原理圖中的單片機(jī)里面進(jìn)行原理圖仿真,通過(guò)仿真對(duì)系統(tǒng)的代碼程序和原理圖進(jìn)行測(cè)試,看是否達(dá)到系統(tǒng)的設(shè)計(jì)要求。4.2測(cè)試結(jié)果(1) 通過(guò)按調(diào)時(shí)健、加減鍵的調(diào)節(jié),我
9、們可以設(shè)定出具體的時(shí)間1:00:00,觀察LCD液晶屏如圖所示精確顯示出我們所設(shè)定的時(shí)間時(shí)間。 (2)通過(guò)按鍵調(diào)節(jié)調(diào)鬧鐘健,我們可以五秒聽(tīng)到清晰的蜂鳴聲。4.3 結(jié)果分析通過(guò)對(duì)系統(tǒng)原理圖和程序的仿真與調(diào)試基本實(shí)現(xiàn)了系統(tǒng)的功能要求??梢酝ㄟ^(guò)按鍵(mode)來(lái)設(shè)定具體時(shí)間、鬧鐘。LCD液晶顯示屏能夠準(zhǔn)確而且清晰地顯示出時(shí)間。五、源程序#include<reg51.h>#include<intrins.h>#define uchar unsigned char#define uint unsigned intsbit beep=P15; /定義蜂鳴器的io口sbit rw=P
10、21; /定義讀寫(xiě)的io口sbit rs=P20;/定義接收與發(fā)送指令的io口sbit lcden=P22;/定義使能端的io口sbit k1=P30; /定義調(diào)時(shí)鍵的io口sbit k2=P31; /定義加數(shù)鍵的io口sbit k3=P32; /定義減數(shù)鍵的io口sbit k4=P33; /定義調(diào)鬧鐘鍵的io口uchar count,count1,num,num1,num2;char h,min,sec,h1,min1,sec1;uchar table=" 23:59:57"uchar table1=" 00:00:00"void delay(uint
11、 ms)/延時(shí)程序 int i;while(ms-) for(i = 0; i< 250; i+) _nop_(); _nop_(); _nop_(); _nop_(); delay1(uchar z) /延時(shí)程序 uint x,y; for(x=z;x>0;x-) for(y=110;y>0;y-); return 0;bit write_busy() /判斷是否為繁忙狀態(tài) bit result; rs = 0; rw = 1; lcden = 1; _nop_(); _nop_(); _nop_(); _nop_(); result = (bit)(P0&0x80
12、); lcden= 0; return result; void write_(uchar ) /寫(xiě)指令函數(shù) while(write_busy(); rs=0; rw=0; lcden=0; P0=; _nop_(); _nop_(); _nop_(); _nop_(); lcden=1; _nop_(); _nop_(); _nop_(); _nop_(); lcden=0;void write_data(uchar date) /寫(xiě)數(shù)據(jù)函數(shù) while(write_busy(); rs=1; rw=0; lcden=0; P0=date; _nop_(); _nop_(); _nop_()
13、; _nop_(); lcden=1; _nop_(); _nop_(); _nop_(); _nop_(); lcden=0;void write_pos(uchar pos) /設(shè)定地址write_(pos | 0x80); /數(shù)據(jù)指針=80+地址變量void write_sfm(uchar add,uchar date) /設(shè)定時(shí)分秒與其顯示與地址uint shi,ge; shi=date/10;ge=date%10;write_(0x80+0x40+add); write_data(0x30+shi); write_data(0x30+ge);void write_sfm1(uchar
14、 add,uchar date) /設(shè)置鬧鐘時(shí)分秒與其顯示與地址uint shi,ge; shi=date/10;ge=date%10;write_(0x80+add); write_data(0x30+shi); write_data(0x30+ge);void keyscan() /鍵盤(pán)掃描 if(k1=0) delay1(5); if(k1=0) while(!k1); num+; if(num=1) TR0=0; write_(0x80+0x40+11); write_(0x0f); if(num=2) write_(0x80+0x40+8); if(num=3) write_(0x8
15、0+0x40+5); if(num=4) num=0; write_(0x0c); TR0=1; if(num!=0) if(k2=0) delay1(5); if(k2=0) while(!k2) if(num=1) sec+; if(sec=60) sec=0; write_sfm(10,sec); write_(0x80+0x40+0x10); if(num=2)min+;if(min=60)min=0;write_sfm(7,min);write_(0x80+0x40+8); if(num=3)h+;if(h=24)h=0;write_sfm(4,h);write_(0x80+0x40
16、+5); if(k3=0) delay1(5); if(k3=0) while(!k3); if(num=1) sec-; if(sec=-1) sec=59; write_sfm(10,sec); write_(0x80+0x40+0x10); if(num=2) min-; if(min=-1)min=59; write_sfm(7,min); write_(0x80+0x40+8); if(num=3) h-; if(h=-1) h=23; write_sfm(4,h); write_(0x80+0x40+5); if(k4=0) delay1(5); if(k4=0) while(!k
17、4); num1+; if(num1=1) write_sfm1(10,sec1); write_sfm1(7,min1); write_sfm1(4,h1); if(num1=2) write_(0x80+11); write_(0x0f); if(num1=3) write_(0x80+8); if(num1=4) write_(0x80+5); if(num1=5) num1=0; write_(0x0c); write_sfm(10,sec); write_sfm(7,min); write_sfm(4,h); if(num1!=0) if(k2=0) delay1(5); if(k2
18、=0) while(!k2) if(num1=2) sec1+; if(sec1=60) sec1=0; write_sfm1(10,sec1); write_(0x80+0x10); if(num1=3)min1+;if(min1=60)min1=0;write_sfm1(7,min1);write_(0x80+8); if(num1=4)h1+;if(h1=24)h1=0;write_sfm1(4,h1);write_(0x80+5); if(k3=0) delay1(5); if(k3=0) while(!k3); if(num1=2) sec1-; if(sec1=-1) sec1=5
19、9; write_sfm1(10,sec1); write_(0x80+0x10); if(num1=3) min1-; if(min1=-1)min=59; write_sfm1(7,min1); write_(0x80+8); if(num1=4) h1-; if(h1=-1) h1=23; write_sfm1(4,h1); write_(0x80+5); void init() /程序初始化函數(shù) uint i; h=23; min=59; sec=57; h1=00; min1=00; sec1=00; num=0; lcden=0; write_(0x38); delay(1); write_(0x0c); /顯示開(kāi),關(guān)光標(biāo) delay(1); write_(0x06); /移動(dòng)光標(biāo) delay(1); writ
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年度特色餐飲檔口經(jīng)營(yíng)權(quán)轉(zhuǎn)讓合同
- 二零二五年度養(yǎng)殖場(chǎng)地承包與農(nóng)業(yè)科技研發(fā)合同
- 二零二五年度土地經(jīng)營(yíng)權(quán)流轉(zhuǎn)與農(nóng)產(chǎn)品品牌建設(shè)協(xié)議
- 2025年度校園安全責(zé)任協(xié)議書(shū)家長(zhǎng)反饋流程
- 二零二五年度施工合同糾紛和解免責(zé)協(xié)議
- 2025年度都市時(shí)尚酒吧連鎖經(jīng)營(yíng)合作協(xié)議
- 工作交流座談會(huì)發(fā)言稿
- 整體防雷方案設(shè)計(jì)及接地系統(tǒng)方案
- 2025年郴州貨運(yùn)從業(yè)資格考試題
- 影視劇本等信息保密合同
- 溫庭筠《望江南》ppt課件
- 口腔正畸學(xué)單詞
- 公共場(chǎng)所健康證體檢表
- 普通高等學(xué)校獨(dú)立學(xué)院教育工作合格評(píng)估指標(biāo)體系(第六稿)
- 內(nèi)襯修復(fù)用HTPO管材企標(biāo)
- 部編教材一年級(jí)下冊(cè)生字筆順筆畫(huà)
- 多維閱讀第13級(jí)—A Stolen Baby 小猩猩被偷走了
- 二維火收銀使用手冊(cè)
- 2018版公路工程質(zhì)量檢驗(yàn)評(píng)定標(biāo)準(zhǔn)分項(xiàng)工程質(zhì)量檢驗(yàn)評(píng)定表交通安全設(shè)施
- EN12680.3中文
- 歐科模塊化風(fēng)冷冷水熱泵機(jī)組報(bào)警代碼和維修步驟
評(píng)論
0/150
提交評(píng)論