第二講點(diǎn)陣和液晶屏_第1頁
第二講點(diǎn)陣和液晶屏_第2頁
第二講點(diǎn)陣和液晶屏_第3頁
第二講點(diǎn)陣和液晶屏_第4頁
第二講點(diǎn)陣和液晶屏_第5頁
已閱讀5頁,還剩36頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

第二講點(diǎn)陣和液晶屏第1頁,共41頁,2023年,2月20日,星期三8*8點(diǎn)陣外型和結(jié)構(gòu)第2頁,共41頁,2023年,2月20日,星期三項(xiàng)目1:8*8點(diǎn)陣應(yīng)用設(shè)計(jì)與單片機(jī)連接圖第3頁,共41頁,2023年,2月20日,星期三一、題目要求:用8051控制8*8點(diǎn)陣,使其先從左到右動態(tài)點(diǎn)亮3次,后從右到左動態(tài)點(diǎn)亮3次,;再從上到下點(diǎn)亮3次,最后從下到上點(diǎn)亮3次,如此動態(tài)循環(huán)。第4頁,共41頁,2023年,2月20日,星期三原理說明8X8點(diǎn)陣LED工作原理說明:8X8點(diǎn)陣共由64個(gè)發(fā)光二極管組成,且每個(gè)發(fā)光二極管是放置在行線和列線的交叉點(diǎn)上,當(dāng)對應(yīng)的某一列置1電平,某一行置0電平,則相應(yīng)的二極管就會點(diǎn)亮;因此要實(shí)現(xiàn)一根柱形的亮法,對應(yīng)的一列為一根豎柱,或者對應(yīng)的一行為一根橫柱,實(shí)現(xiàn)柱的亮的方法如下:一根豎柱:對應(yīng)的列置1,而行則采用掃描的方法來實(shí)現(xiàn)。

一根橫柱:對應(yīng)的行置0,而列則采用掃描的方法來實(shí)現(xiàn)。第5頁,共41頁,2023年,2月20日,星期三/*程序分析*/#include<AT89S52.H>unsignedcharcodetaba[]={0xfe,0xfd,0xfb,0xf7,0xef,0xdf,0xbf,0x7f};

unsignedcharcodetabb[]={0x01,0x02,0x04,0x08,0x10,0x20,0x40,0x80};

voiddelay(void)

{

unsignedchari,j;

for(i=10;i>0;i--)

for(j=248;j>0;j--);

}第6頁,共41頁,2023年,2月20日,星期三voiddelay1(void)

{

unsignedchari,j,k;

for(k=10;k>0;k--)

for(i=20;i>0;i--)

for(j=248;j>0;j--);

}voidmain(void)

{

unsignedchari,j;

while(1)

{

第7頁,共41頁,2023年,2月20日,星期三for(j=0;j<3;j++)//fromlefttoright3time

{

for(i=0;i<8;i++)

{

P3=taba[i];

P1=0xff;//列柱,列置1,行掃描

delay1();

}

}

第8頁,共41頁,2023年,2月20日,星期三for(j=0;j<3;j++)//fromrighttoleft3time

{

for(i=0;i<8;i++)

{

P3=taba[7-i];

P1=0xff;

delay1();

}

}

for(j=0;j<3;j++)//fromtoptobottom3time

{

for(i=0;i<8;i++)

{

P3=0x00;

P1=tabb[7-i];//行柱,行清0,列掃描

delay1();

}

}第9頁,共41頁,2023年,2月20日,星期三for(j=0;j<3;j++)//frombottomtotop3time

{

for(i=0;i<8;i++)

{

P3=0x00;

P1=tabb[i];

delay1();

}

}

}

}

第10頁,共41頁,2023年,2月20日,星期三一、題目要求:8X8LED點(diǎn)陣屏循環(huán)顯示數(shù)字0~9,刷新過程由定時(shí)器中斷完成。

第11頁,共41頁,2023年,2月20日,星期三/*程序分析*/#include<reg51.h>#include<intrins.h>#defineucharunsignedchar#defineuintunsignedintucharcodeTable_of_Digits[]={0x00,0x3e,0x41,0x41,0x41,0x3e,0x00,0x00,//00x00,0x00,0x00,0x21,0x7f,0x01,0x00,0x00,//10x00,0x27,0x45,0x45,0x45,0x39,0x00,0x00,//20x00,0x22,0x49,0x49,0x49,0x36,0x00,0x00,//30x00,0x0c,0x14,0x24,0x7f,0x04,0x00,0x00,//4第12頁,共41頁,2023年,2月20日,星期三0x00,0x72,0x51,0x51,0x51,0x4e,0x00,0x00,//50x00,0x3e,0x49,0x49,0x49,0x26,0x00,0x00,//60x00,0x40,0x40,0x40,0x4f,0x70,0x00,0x00,//70x00,0x36,0x49,0x49,0x49,0x36,0x00,0x00,//80x00,0x32,0x49,0x49,0x49,0x3e,0x00,0x00//9};uchari=0,t=0,Num_Index;第13頁,共41頁,2023年,2月20日,星期三//主程序voidmain(){P3=0x80;Num_Index=0;//從0開始顯示TMOD=0x00;//T0方式0TH0=(8192-2000)/32;//2ms定時(shí),8192=213TL0=(8192-2000)%32;IE=0x82;TR0=1;//啟動T0while(1);}第14頁,共41頁,2023年,2月20日,星期三//T0中斷函數(shù)voidLED_Screen_Display()interrupt1//1是T0中斷服務(wù)程序代碼{TH0=(8192-2000)/32;//恢復(fù)初值TL0=(8192-2000)%32;P0=0xff;//輸出位碼和段碼P0=~Table_of_Digits[Num_Index*8+i];//段碼P3=P3<<1;//位碼if(++i==8)i=0;//每屏一個(gè)數(shù)字由8個(gè)字節(jié)構(gòu)成if(++t==250)//每個(gè)數(shù)字刷新顯示一段時(shí)間{t=0;if(++Num_Index==10)Num_Index=0;//顯示下一個(gè)數(shù)字}}第15頁,共41頁,2023年,2月20日,星期三思考若圖中引入按鍵K1,每次按下K1時(shí),會使8X8LED點(diǎn)陣屏循環(huán)顯示不同圖形,試畫出原理圖、編寫程序。第16頁,共41頁,2023年,2月20日,星期三參數(shù):顯示容量:16×2個(gè)字符芯片工作電壓:4.5—5.5V工作電流:2.0mA(5.0V)模塊最佳工作電壓:5.0V字符尺寸:2.95×4.35(W×H)m引腳:1602LCD采用標(biāo)準(zhǔn)的14腳(無背光)或16腳(帶背光)接口。1602液晶顯示:第17頁,共41頁,2023年,2月20日,星期三第1腳:VSS為地電源。第2腳:VDD接5V正電源。第3腳:VL為液晶顯示器對比度調(diào)整端,接正電源時(shí)對比度最弱,接地時(shí)對比度最高,對比度過高時(shí)會產(chǎn)生“鬼影”,使用時(shí)可以通過一個(gè)10K的電位器調(diào)整對比度。第4腳:RS為寄存器選擇,高電平時(shí)選擇數(shù)據(jù)寄存器、低電平時(shí)選擇指令寄存器。第5腳:R/W為讀寫信號線,高電平時(shí)進(jìn)行讀操作,低電平時(shí)進(jìn)行寫操作。當(dāng)RS和R/W共同為低電平時(shí)可以寫入指令或者顯示地址,當(dāng)RS為低電平R/W為高電平時(shí)可以讀忙信號,當(dāng)RS為高電平R/W為低電平時(shí)可以寫入數(shù)據(jù)。第6腳:E端為使能端,當(dāng)E端由高電平跳變成低電平時(shí),液晶模塊執(zhí)行命令。第7~14腳:D0~D7為8位雙向數(shù)據(jù)線。第15腳:背光源正極。第16腳:背光源負(fù)極第18頁,共41頁,2023年,2月20日,星期三1602LCD的RAM地址映射:液晶顯示模塊是一個(gè)慢顯示器件,所以在執(zhí)行每條指令之前一定要確認(rèn)模塊的忙標(biāo)志為低電平,表示不忙,否則此指令失效。要顯示字符時(shí)要先輸入顯示字符地址,也就是告訴模塊在哪里顯示字符,下圖是1602的內(nèi)部顯示地址。第19頁,共41頁,2023年,2月20日,星期三項(xiàng)目二:1602液晶顯示一、題目要求:1602字符液晶滾屏顯示元件的選擇

P0.0~7分別接LM016L的D0~D7P2.0接RS,P2.1接RW,P2.2接E第20頁,共41頁,2023年,2月20日,星期三電路連接圖:第21頁,共41頁,2023年,2月20日,星期三程序分析#include<reg52.h>//包含頭文件#defineuintunsignedint//預(yù)定義一下#defineucharunsignedcharsbitrs=P3^5;//1602的數(shù)據(jù)/指令選擇控制線sbitrw=P3^6;//1602的讀寫控制線sbiten=P3^7;//1602的使能控制線/*P0口接1602的D0~D7,注意不要接錯(cuò)了順序*/ucharcodetable[]=“welcometoLCD1602!”;//要顯示的內(nèi)容1放入數(shù)組tablelucharcodetable1[]=“nicetomeetyou!";//要顯示的內(nèi)容2放入數(shù)組table1第22頁,共41頁,2023年,2月20日,星期三voiddelay(uintn)//延時(shí)函數(shù){uintx,y;for(x=n;x>0;x--)for(y=110;y>0;y--);}voidlcd_wcom(ucharcom)//1602寫命令函數(shù){rs=0;//選擇指令寄存器rw=0;//選擇寫P0=com;//把命令字送入P0delay(5);//延時(shí)一小會兒,讓1602準(zhǔn)備接收數(shù)據(jù)en=1;//使能線電平變化,命令送入1602的8位數(shù)據(jù)en=0;}第23頁,共41頁,2023年,2月20日,星期三voidlcd_wdat(uchardat)//1602寫數(shù)據(jù)函數(shù){rs=1;//選擇數(shù)據(jù)寄存器rw=0;//選擇寫P0=dat;//把要顯示的數(shù)據(jù)送入P0delay(5);//延時(shí)一小會兒,讓1602準(zhǔn)備接收數(shù)據(jù)en=1;//使能線電平變化,數(shù)據(jù)送入1602的8位數(shù)據(jù)口en=0;}voidlcd_init()//1602初始化函數(shù){lcd_wcom(0x38);//8位數(shù)據(jù),雙列,5*7字形lcd_wcom(0x0c);//開啟顯示屏,關(guān)光標(biāo),光標(biāo)不閃爍lcd_wcom(0x06);//顯示地址遞增,即寫一個(gè)數(shù)據(jù)后,顯示位置右移一位lcd_wcom(0x01);//清屏}

第24頁,共41頁,2023年,2月20日,星期三voidmain()//主函數(shù){ucharn,m=0;lcd_init();//液晶初始化lcd_wcom(0x80);//顯示地址設(shè)為80H(即00H,)上排第一位

for(m=0;m<16;m++)//將table[]中的數(shù)據(jù)依次寫入1602{lcd_wdat(table[m]);delay(200);}lcd_wcom(0x80+0x44);//重新設(shè)定顯示地址為0xc4,即下排第5位for(n=0;n<8;n++)//將table1[]中的數(shù)據(jù)依次寫入1602顯示{lcd_wdat(table1[n]);delay(200);}while(1);//動態(tài)停機(jī)}第25頁,共41頁,2023年,2月20日,星期三

思考查看1602的相關(guān)資料,試編程實(shí)現(xiàn)LCD顯示心型圖案。第26頁,共41頁,2023年,2月20日,星期三LCD12864功能介紹:12864是一種圖形點(diǎn)陣液晶顯示器,它主要由行驅(qū)動器/列驅(qū)動器及128*64全點(diǎn)陣液晶顯示器組成??赏瓿蓤D形顯示,也可以顯示8*4漢字第27頁,共41頁,2023年,2月20日,星期三12864管腳管腳說明:第28頁,共41頁,2023年,2月20日,星期三第29頁,共41頁,2023年,2月20日,星期三項(xiàng)目三液晶顯示器12864一、題目要求:左右滾屏顯示漢字(該12864不帶字庫)第30頁,共41頁,2023年,2月20日,星期三#include<AT89X51.h>#include<intrins.h>#defineucharunsignedchar#defineuintunsignedint#defineLCD_databusP0ucharnum;程序分析第31頁,共41頁,2023年,2月20日,星期三ucharcodezi[10][32]={/***********************臨**************************/ 0x00,0xF8,0xF0,0x00,0xFF,0xFE,0x80,0x60,0x38,0x1E,0x3F,0x6A,0x68,0xC8,0x4C,0x08,0x00,0x0F,0x07,0x00,0xFF,0x7F,0x00,0xFF,0x7E,0x42,0x7E,0x7E,0x42,0xFE,0x7F,0x02,/***********************沂**************************/ 0x00,0x10,0xE1,0xC6,0x0C,0x8C,0xE0,0xFE,0xFC,0x24,0x26,0xE2,0xE3,0x23,0x32,0x20,0x00,0x04,0x78,0xF8,0x1E,0x83,0x40,0x3F,0x1F,0x00,0x00,0xFF,0x7F,0x00,0x00,0x00,……..略(要顯示什么漢字,自己在字模提取軟件中生成)第32頁,共41頁,2023年,2月20日,星期三sbitRS=P2^2;sbitRW=P2^1;sbitEN=P2^0;sbitCS1=P2^4;sbitCS2=P2^3;//對應(yīng)的端口根據(jù)硬件電路圖來確定voiddelay(uintx){uchari; while(x--) for(i=0;i<120;i++);}voidRead_busy(){ P0=0X00; RS=0; RW=1; EN=1; while(P0&0x80); EN=0;}第33頁,共41頁,2023年,2月20日,星期三voidwrite_LCD_command(ucharvalue){ Read_busy(); RS=0; RW=0; LCD_databus=value; EN=1; _nop_(); _nop_(); EN=0;}voidwrite_LCD_data(ucharvalue){ Read_busy(); RS=1; RW=0; LCD_databus=value; EN=1; _nop_(); _nop_(); EN=0;}第34頁,共41頁,2023年,2月20日,星期三voidSet_page(ucharpage){ page=0xb8|page; write_LCD_command(page);}voidSet_line(ucharstartline){ startline=0xc0|startline; write_LCD_command(startline);}voidSet_colum(ucharcolum){ colum=colum&0x3f; colum=0x40|colum; write_LCD_command(colum);}第35頁,共41頁,2023年,2月20日,星期三voidSetonoff(ucharonoff){ onoff=0x3e|onoff; write_LCD_command(onoff);}voidSelectScreen(ucharscreen){ switch(screen) { case0:CS1=0;CS2=0;break; case1:CS1=0;CS2=1;break; case2:CS1=1;CS2=0;break; default:break; }}第36頁,共41頁,2023年,2月20日,星期三voidClearScreen(ucharscreen){ uchari,j; SelectScreen(screen); for(i=0;i<8;i++) { Set_page(i); Set_colum(0); for(j=0;j<64;j++) { write_LCD_data(0x00); } }}第37頁,共41頁,2023年,2月20日,星期三voidInitLCD(){ Read_busy(); SelectScreen(0); Setonoff(0); SelectScreen(0); Setonoff(1); SelectScreen(0); ClearScreen(0); Set_line(0);

}第38頁,共41頁,2023年,2月20日,星期三voidDisplay(ucharss,uchar

溫馨提示

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

評論

0/150

提交評論