




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領
文檔簡介
1、精選文檔試驗三 LCD1602液晶顯示試驗姓名 專業(yè) 學號 成果 一、 試驗目的1. 把握Keil C51軟件與proteus軟件聯(lián)合仿真調(diào)試的方法;2. 把握LCD1602液晶模塊顯示西文的原理及使用方法;3. 把握用8位數(shù)據(jù)模式驅(qū)動LCM1602液晶的C語言編程方法;4. 把握用LCM1602液晶模塊顯示數(shù)字的C語言編程方法。二、 試驗儀器與設備1.微機一臺 2.keil C51集成開發(fā)環(huán)境 3.Proteus仿真軟件三、 試驗內(nèi)容1. 用Proteus設計一LCD1602液晶顯示接口電路。要求利用P0口接LCD1602液晶的數(shù)據(jù)端,P2.0P2.2做LCD1602液晶的把握信號輸入端。P
2、3.0P3.3口擴展3個功能鍵K1K3。參考電路見后面。2. 編寫程序,實現(xiàn)字符的靜態(tài)和動態(tài)顯示。顯示字符為第一行:“1.姓名全拼”,其次行:“2.專業(yè)全拼+學號”。3. 編寫程序,利用功能鍵實現(xiàn)字符的垂直滾動和水平滾動等效果顯示。顯示字符為:“1.姓名全拼 2.專業(yè)全拼+學號 3.MCS-51 EXP8 4.LCD DISPLAY ”主程序靜態(tài)顯示“My information!”四、 試驗原理液晶顯示的原理:接受的LCD顯示屏都是由不同部分組成的分層結(jié)構(gòu),位于最終面的一層是由熒光物質(zhì)組成的可以放射光線的背光層,背光層發(fā)出的光線在穿過第一層偏振過濾層之后進入包含成千上萬水晶液滴的液晶層,液晶
3、層中的水晶液滴都被包含在細小的單元格結(jié)構(gòu)中,一個或多個單元格構(gòu)成屏幕上的一個像素。當LCD中的電極產(chǎn)生電場時,液晶分子就會產(chǎn)生扭曲,從而將穿越其中的光線進行有規(guī)章的折射,然后經(jīng)過其次層過濾層的過濾在屏幕上顯示出來。1. LCD1602接受標準的14引腳(無背光)或16引腳(帶背光)接口,各引腳接口說明如表:編號符號引腳說明編號符號引腳說明1VSS電源地9D2數(shù)據(jù)2VDD電源正極10D3數(shù)據(jù)3VL液晶顯示偏壓11D4數(shù)據(jù)4RS數(shù)據(jù)/命令選擇12D5數(shù)據(jù)5R/W讀/寫選擇13D6數(shù)據(jù)6E使能信號14D7數(shù)據(jù)7D0數(shù)據(jù)15BLA背光源正極8D1數(shù)據(jù)16BLK背光源負極2. 1602液晶模塊內(nèi)部的把握
4、器共有11條把握指令,如表所示:3. 芯片時序表:41602LCD的一般初始化(復位)過程 (1) 延時15ms。(2) 寫指令38H(不檢測忙信號)。(3) 延時5ms。(4) 寫指令38H(不檢測忙信號)。(5) 延時5ms。(6) 寫指令38H(不檢測忙信號)。(7) 以后每次寫指令、讀/寫數(shù)據(jù)操作均需要檢測忙信號。(8) 寫指令38H:顯示模式設置。(9) 寫指令08H:顯示關(guān)閉。(10) 寫指令01H:顯示清屏。(11) 寫指令06H:顯示光標移動設置。(12) 寫指令0CH:顯示開及光標設置。五、試驗步驟1. 用Proteus設計1602液晶顯示接口電路;2. 在Keil C51中
5、編寫液晶顯示把握程序,編譯通過后,與Proteus聯(lián)合調(diào)試;3. 按動功能鍵,觀看字符及效果是否正確顯示。六、電路設計調(diào)試及程序 1) 試驗電路2) 程序設計與調(diào)試靜態(tài)顯示#include<reg51.h>#define uchar unsigned char#define uint unsigned intuchar code table="1.Huang Xin "uchar code table1="2.Tongxin 412381"sbit lcden=P22;sbit lcdrw=P21;sbit lcdrs=P20;uchar n
6、um;void delay(uint z) uint x,y; for(x=z;x>0;x-) for(y=110;y>0;y-);void write_com(uchar com) lcdrs=0; P0=com; delay(5); lcden=1; delay(5); lcden=0;void write_data(uchar date) lcdrs=1; P0=date; delay(5); lcden=1; delay(5); lcden=0;void init() lcden=0; lcdrw=0; write_com(0x38); write_com(0x0c); w
7、rite_com(0x06); write_com(0x01); write_com(0x80+0x00);void main() init(); delay(100); while(1) for(num=0;num<12;num+) write_data(tablenum); delay(200); write_com(0x02); write_com(0x80+0x40); for(num=0;num<16;num+) write_data(table1num); delay(200); while(1); 動態(tài)顯示#include<reg51.h>#define
8、uchar unsigned char#define uint unsigned intuchar code table="1.Huang Xin "uchar code table1="2.Tongxin 412381"sbit lcden=P22;sbit lcdrw=P21;sbit lcdrs=P20;uchar num;void delay(uint z) uint x,y; for(x=z;x>0;x-) for(y=110;y>0;y-);void write_com(uchar com) lcdrs=0; P0=com; de
9、lay(5); lcden=1; delay(5); lcden=0;void write_data(uchar date) lcdrs=1; P0=date; delay(5); lcden=1; delay(5); lcden=0;void init() lcden=0; lcdrw=0; write_com(0x38); write_com(0x0f); write_com(0x06); write_com(0x01); write_com(0x80+0x00);void main() init(); delay(100); while(1) for(num=0;num<12;nu
10、m+) write_data(tablenum); delay(200); write_com(0x02); write_com(0x80+0x40); for(num=0;num<16;num+) write_data(table1num); delay(200); write_com(0x01); 按鍵實現(xiàn)不同效果#include<reg51.h>#define uchar unsigned char#define uint unsigned intuchar code table="My information!"uchar code table1=
11、"1.Huang Xin"uchar code table2="2.Tongxin 412381"uchar code table3="3.MCS-51 EXP8"uchar code table4="4.LCD DISPLAY"uchar num,i,j;uchar flag1,flag2,flag3,flag4;sbit k1=P30;sbit k2=P31;sbit k3=P32;sbit k4=P33;sbit lcden=P22;sbit lcdrw=P21;sbit lcdrs=P20;void del
12、ay(uint z) uint x,y; for(x=z;x>0;x-) for(y=110;y>0;y-);void write_com(uchar com) lcdrs=0; P0=com; delay(5); lcden=1; delay(5); lcden=0;void write_data(uchar date) lcdrs=1; P0=date; delay(5); lcden=1; delay(5); lcden=0;void init() lcden=0; lcdrw=0; write_com(0x38); write_com(0x0f); write_com(0x
13、06); write_com(0x01); void main() init(); TMOD=0x01; TH0=(65536-10000)/256; TL0=(65536-10000)%256; EA=1; ET0=1; TR0=1; EX0=1; IT0=1; IP=0x05; EX1=1; IT1=1; delay(100); while(1) flag3=0; write_com(0x01); write_com(0x80+0x01); delay(50); for(num=0;num<15;num+) write_data(tablenum); delay(200); dela
14、y(200); write_com(0x01); void display() if(k1=0) while(1) if(flag1=1) break; if(flag3=0)/ if(flag1=1)break;/把握返回 write_com(0x01); write_com(0x80+0x00); delay(50); for(num=0;num<11;num+) /顯示"1.Huang Xin" if(flag1=1) break; while(flag3=1) if(flag1=1)break; write_data(table1num); delay(200
15、); write_com(0x80+0x40); for(num=0;num<16;num+)/顯示"2.Tongxin 412381" if(flag1=1) break;while(flag3=1) if(flag1=1) break; write_data(table2num); delay(200); write_com(0x01); delay(200); write_com(0x80+0x00); for(num=0;num<16;num+)/顯示"2.Tongxin 412381" if(flag1=1) break;while
16、(flag3=1) if(flag1=1)break; write_data(table2num);delay(200); write_com(0x80+0x40); for(num=0;num<13;num+) /顯示"3.MCS-51 EXP8" if(flag1=1) break;while(flag3=1) if(flag1=1)break; write_data(table3num);delay(200); write_com(0x01); write_com(0x80+0x00); for(num=0;num<13;num+) /顯示"3.
17、MCS-51 EXP8" if(flag1=1) break;while(flag3=1) if(flag1=1)break; write_data(table3num);delay(200); delay(200);if(flag1=1) break; write_com(0x80+0x40); for(num=0;num<13;num+) /顯示"4.LCD DISPLAY" if(flag1=1) break; while(flag3=1) if(flag1=1)break; write_data(table4num);delay(200); writ
18、e_com(0x01); write_com(0x80+0x00); for(num=0;num<13;num+) /顯示"4.LCD DISPLAY" if(flag1=1) break;while(flag3=1) if(flag1=1)break; write_data(table4num);delay(200); write_com(0x80+0x40); for(num=0;num<11;num+) /顯示"1.Huang Xin" if(flag1=1) break;while(flag3=1) if(flag1=1)break;
19、 write_data(table1num);delay(200); flag3=0; flag1=0;/清標志位 write_com(0x01);/清屏 if(k2=0) /if(flag1=1)break; write_com(0x01);/清屏 write_com(0x80+0x00); for(num=0;num<11;num+) /顯示"1.Huang Xin" if(flag1=1)break;write_data(table1num);delay(50); write_com(0x80+0x10); for(num=0;num<16;num+)/顯示"2.Tongxin 412381" if(flag1=1)break; write_data(table2num);delay(50); write_com(0x02); write_com(0x80+0x40); for(num=0;num<13;num+) /顯示"3.MCS-51 EXP8" if(flag1=1)break; write_data(table3num);delay(50); write_com(0x80+0x50); for(num=0;num<13;num+) /顯示&q
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 度農(nóng)業(yè)供應鏈合同:農(nóng)副產(chǎn)品
- 度工程借款合同范本
- 設計公司內(nèi)部培訓合同樣本
- 標準勞動合同模板合同
- 委托代理合同(公民類)范本
- 飾品定制合同范本
- 短期租賃合同格式
- 地下車庫車位承包合同轉(zhuǎn)讓協(xié)議
- 設備定期保養(yǎng)合同范文
- 大學生創(chuàng)新創(chuàng)業(yè)項目合同
- GB/T 15175-2012固體激光器主要參數(shù)測量方法
- 建筑工程施工進度計劃網(wǎng)絡圖和橫道圖
- HP工作站BIOS詳解參考模板
- 員工培訓、考試、積分記錄表
- 微專題:地理時空“尺度觀”思想課件
- 大學普通物理-習題答案(程守洙-江之勇主編-第六版)課件
- 風冷熱泵主機改造-模塊機匯總
- 2023年山東藥品食品職業(yè)學院單招綜合素質(zhì)考試筆試題庫及答案解析
- 烏司他丁課件
- 《工程化學》全套教學課件
- 職業(yè)衛(wèi)生工程控制技術(shù)課件
評論
0/150
提交評論