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

下載本文檔

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

文檔簡介

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

一根橫柱:對應的行置0,而列則采用掃描的方法來實現(xiàn)。第5頁,課件共41頁,創(chuàng)作于2023年2月/*程序分析*/#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頁,創(chuàng)作于2023年2月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頁,創(chuàng)作于2023年2月for(j=0;j<3;j++)//fromlefttoright3time

{

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

{

P3=taba[i];

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

delay1();

}

}

第8頁,課件共41頁,創(chuàng)作于2023年2月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頁,創(chuàng)作于2023年2月for(j=0;j<3;j++)//frombottomtotop3time

{

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

{

P3=0x00;

P1=tabb[i];

delay1();

}

}

}

}

第10頁,課件共41頁,創(chuàng)作于2023年2月一、題目要求:8X8LED點陣屏循環(huán)顯示數(shù)字0~9,刷新過程由定時器中斷完成。

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

P0.0~7分別接LM016L的D0~D7P2.0接RS,P2.1接RW,P2.2接E第20頁,課件共41頁,創(chuàng)作于2023年2月電路連接圖:第21頁,課件共41頁,創(chuàng)作于2023年2月程序分析#include<reg52.h>//包含頭文件#defineuintunsignedint//預定義一下#defineucharunsignedcharsbitrs=P3^5;//1602的數(shù)據(jù)/指令選擇控制線sbitrw=P3^6;//1602的讀寫控制線sbiten=P3^7;//1602的使能控制線/*P0口接1602的D0~D7,注意不要接錯了順序*/ucharcodetable[]=“welcometoLCD1602!”;//要顯示的內容1放入數(shù)組tablelucharcodetable1[]=“nicetomeetyou!";//要顯示的內容2放入數(shù)組table1第22頁,課件共41頁,創(chuàng)作于2023年2月voiddelay(uintn)//延時函數(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);//延時一小會兒,讓1602準備接收數(shù)據(jù)en=1;//使能線電平變化,命令送入1602的8位數(shù)據(jù)en=0;}第23頁,課件共41頁,創(chuàng)作于2023年2月voidlcd_wdat(uchardat)//1602寫數(shù)據(jù)函數(shù){rs=1;//選擇數(shù)據(jù)寄存器rw=0;//選擇寫P0=dat;//把要顯示的數(shù)據(jù)送入P0delay(5);//延時一小會兒,讓1602準備接收數(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);//開啟顯示屏,關光標,光標不閃爍lcd_wcom(0x06);//顯示地址遞增,即寫一個數(shù)據(jù)后,顯示位置右移一位lcd_wcom(0x01);//清屏}

第24頁,課件共41頁,創(chuàng)作于2023年2月voidmain()//主函數(shù){ucharn,m=0;lcd_init();//液晶初始化lcd_wcom(0x80);//顯示地址設為80H(即00H,)上排第一位

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

思考查看1602的相關資料,試編程實現(xiàn)LCD顯示心型圖案。第26頁,課件共41頁,創(chuàng)作于2023年2月LCD12864功能介紹:12864是一種圖形點陣液晶顯示器,它主要由行驅動器/列驅動器及128*64全點陣液晶顯示器組成??赏瓿蓤D形顯示,也可以顯示8*4漢字第27頁,課件共41頁,創(chuàng)作于2023年2月12864管腳管腳說明:第28頁,課件共41頁,創(chuàng)作于2023年2月第29頁,課件共41頁,創(chuàng)作于2023年2月項目三液晶顯示器12864一、題目要求:左右滾屏顯示漢字(該12864不帶字庫)第30頁,課件共41頁,創(chuàng)作于2023年2月#include<AT89X51.h>#include<intrins.h>#defineucharunsignedchar#defineuintunsignedint#defineLCD_databusP0ucharnum;程序分析第31頁,課件共41頁,創(chuàng)作于2023年2月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頁,創(chuàng)作于2023年2月sbitRS=P2^2;sbitRW=P2^1;sbitEN=P2^0;sbitCS1=P2^4;sbitCS2=P2^3;//對應的端口根據(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頁,創(chuàng)作于2023年2月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頁,創(chuàng)作于2023年2月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頁,創(chuàng)作于2023年2月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頁,創(chuàng)作于2023年2月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頁,創(chuàng)作于2023年2月voidInitLCD(){ Read_busy(); SelectScreen(0); Setonoff(0); SelectScreen(0); Setonoff(1); SelectScreen(0); ClearScreen(0); Set_line(0);

}第38頁,課件共41頁,創(chuàng)作于2023年2月voidDisplay(ucharss,ucharpag

溫馨提示

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

評論

0/150

提交評論