第二讲-点阵和液晶屏课件

上传人:2127513****773577... 文档编号:240920321 上传时间:2024-05-17 格式:PPT 页数:42 大小:1.45MB
返回 下载 相关 举报
第二讲-点阵和液晶屏课件_第1页
第1页 / 共42页
第二讲-点阵和液晶屏课件_第2页
第2页 / 共42页
第二讲-点阵和液晶屏课件_第3页
第3页 / 共42页
点击查看更多>>
资源描述
8*8点阵外型和结构点阵外型和结构8*8点阵外型和结构项目项目1:8*8点阵应用设计点阵应用设计与单片机连接图与单片机连接图项目1:8*8点阵应用设计与单片机连接图一、题目要求一、题目要求:用用80518051控制控制8*88*8点阵,使点阵,使其先从左到右动态点亮其先从左到右动态点亮3 3次,后从右到次,后从右到左动态点亮左动态点亮3 3次,次,;再从上到下点亮再从上到下点亮3 3次,次,最后从下到上点亮最后从下到上点亮3 3次,如此动态循环。次,如此动态循环。一、题目要求:用8051控制8*8点阵,使其先从左到右动态点原理说明原理说明8X8点阵点阵LED工作原理说明工作原理说明:8X8点阵共由点阵共由64个发光二个发光二极管组成,且每个发光二极管是放置在行线和列线的交极管组成,且每个发光二极管是放置在行线和列线的交叉点上,当对应的某一列置叉点上,当对应的某一列置1电平,某一行置电平,某一行置0电平,则电平,则相应的二极管就相应的二极管就 会点亮;因此要实现一根柱形的亮法,会点亮;因此要实现一根柱形的亮法,对应的一列为一根竖柱,或者对应的一行为一根横柱,对应的一列为一根竖柱,或者对应的一行为一根横柱,实现柱的亮的方法如下:实现柱的亮的方法如下:一根竖柱:对应的列置一根竖柱:对应的列置1,而行则采用扫描的方法来实,而行则采用扫描的方法来实现。现。一根横柱:对应的行置一根横柱:对应的行置0,而列则采用扫描的方法来实,而列则采用扫描的方法来实现。现。原理说明8X8点阵LED工作原理说明:8X8点阵共由64个/*程序分析*/#includeunsignedcharcodetaba=0 xfe,0 xfd,0 xfb,0 xf7,0 xef,0 xdf,0 xbf,0 x7f;unsignedcharcodetabb=0 x01,0 x02,0 x04,0 x08,0 x10,0 x20,0 x40,0 x80;voiddelay(void)unsignedchari,j;for(i=10;i0;i-)for(j=248;j0;j-);/*程序分析*/voiddelay1(void)unsignedchari,j,k;for(k=10;k0;k-)for(i=20;i0;i-)for(j=248;j0;j-);void main(void)unsigned char i,j;while(1)voiddelay1(void)unsignedcfor(j=0;j3;j+)/from left to right 3 timefor(i=0;i8;i+)P3=tabai;P1=0 xff;/列柱,列置列柱,列置1,行扫描,行扫描delay1();for(j=0;j3;j+)/fromleftfor(j=0;j3;j+)/from right to left 3 timefor(i=0;i8;i+)P3=taba7-i;P1=0 xff;delay1();for(j=0;j3;j+)/from top to bottom 3 timefor(i=0;i8;i+)P3=0 x00;P1=tabb7-i;/行柱,行清行柱,行清0,列扫描,列扫描delay1();for(j=0;j3;j+)/fromrightfor(j=0;j3;j+)/from bottom to top 3 timefor(i=0;i8;i+)P3=0 x00;P1=tabbi;delay1();for(j=0;j3;j+)/frombotto一、题目要求一、题目要求:8X8LED点阵屏循环显示数字09,刷新过程由定时器中断完成。一、题目要求:8X8LED点阵屏循环显示数字09,刷新/*程序分析*/#include#include#defineucharunsignedchar#defineuintunsignedintucharcodeTable_of_Digits=0 x00,0 x3e,0 x41,0 x41,0 x41,0 x3e,0 x00,0 x00,/00 x00,0 x00,0 x00,0 x21,0 x7f,0 x01,0 x00,0 x00,/10 x00,0 x27,0 x45,0 x45,0 x45,0 x39,0 x00,0 x00,/20 x00,0 x22,0 x49,0 x49,0 x49,0 x36,0 x00,0 x00,/30 x00,0 x0c,0 x14,0 x24,0 x7f,0 x04,0 x00,0 x00,/4/*程序分析*/0 x00,0 x72,0 x51,0 x51,0 x51,0 x4e,0 x00,0 x00,/50 x00,0 x3e,0 x49,0 x49,0 x49,0 x26,0 x00,0 x00,/60 x00,0 x40,0 x40,0 x40,0 x4f,0 x70,0 x00,0 x00,/70 x00,0 x36,0 x49,0 x49,0 x49,0 x36,0 x00,0 x00,/80 x00,0 x32,0 x49,0 x49,0 x49,0 x3e,0 x00,0 x00/9;uchari=0,t=0,Num_Index;0 x00,0 x72,0 x51,0 x51,0 x51,0 x4e,/主程序voidmain()P3=0 x80;Num_Index=0;/从0开始显示TMOD=0 x00;/T0方式0TH0=(8192-2000)/32;/2ms定时,8192=213TL0=(8192-2000)%32;IE=0 x82;TR0=1;/启动T0while(1);/主程序/T0中断函数voidLED_Screen_Display()interrupt1/1是T0中断服务程序代码TH0=(8192-2000)/32;/恢复初值TL0=(8192-2000)%32;P0=0 xff;/输出位码和段码P0=Table_of_DigitsNum_Index*8+i;/段码P3=P31;/位码if(+i=8)i=0;/每屏一个数字由8个字节构成if(+t=250)/每个数字刷新显示一段时间t=0;if(+Num_Index=10)Num_Index=0;/显示下一个数字/T0中断函数思考思考若图中引入按键K1,每次按下K1时,会使8X8LED点阵屏循环显示不同图形,试画出原理图、编写程序。思考若图中引入按键K1,每次按下K1时,会使8X8LED点参数:参数:显示容量显示容量:162个字符个字符芯片工作电压芯片工作电压:4.55.5V工作电流工作电流:2.0mA(5.0V)模块最佳工作电压模块最佳工作电压:5.0V字符尺寸字符尺寸:2.954.35(WH)m引脚:引脚:1602LCD采用标准的采用标准的14脚(无背光)或脚(无背光)或16脚(带背光)脚(带背光)接口。接口。1602液晶显示:液晶显示:参数:1602液晶显示:第第1脚:脚:VSS为地电源。为地电源。第第2脚:脚:VDD接接5V正电源。正电源。第第3脚:脚:VL为液晶显示器对比度调整端,接正电源时对比度最弱,接为液晶显示器对比度调整端,接正电源时对比度最弱,接地时对比度最高,对比度过高时会产生地时对比度最高,对比度过高时会产生“鬼影鬼影”,使用时可以,使用时可以通过一个通过一个10K的电位器的电位器调整对比度。调整对比度。第第4脚:脚:RS为寄存器选择,高电平时选择数据寄存器、低电平时选择为寄存器选择,高电平时选择数据寄存器、低电平时选择指令寄存器。指令寄存器。第第5脚:脚:R/W为读写信号线,高电平时进行读操作,低电平时进行写为读写信号线,高电平时进行读操作,低电平时进行写操作。操作。当当RS和和R/W共同为低电平时可以写入指令或者显示地址共同为低电平时可以写入指令或者显示地址,当,当RS为低电平为低电平R/W为高电平时可以读忙信号,当为高电平时可以读忙信号,当RS为高电平为高电平R/W为低为低电平时可以写入数据。电平时可以写入数据。第第6脚:脚:E端为使能端,当端为使能端,当E端由高电平跳变成低电平时,液晶模块执端由高电平跳变成低电平时,液晶模块执行命令。行命令。第第714脚:脚:D0D7为为8位双向数据线。位双向数据线。第第15脚:背光源正极。脚:背光源正极。第第16脚:背光源负极脚:背光源负极第1脚:VSS为地电源。1602LCD的的RAM地址映射:地址映射:液晶显示模块是一个慢显示器件,所以在执行每条指令之前一定要确认模块的忙标志为低电平,表示不忙,否则此指令失效。要显示字符时要先输入显示字符地址,也就是告诉模块在哪里显示字符,下图是1602的内部显示地址。1602LCD的RAM地址映射:液晶显示模块是项目二:项目二:1602液晶显示液晶显示一、题目要求:一、题目要求:1602字符液晶滚屏显示字符液晶滚屏显示元件的选择元件的选择 P0.07分别接分别接LM016L的的D0D7 P2.0接接RS,P2.1接接RW,P2.2接接E项目二:1602液晶显示一、题目要求:1602字符液晶滚屏电路连接图:电路连接图:电路连接图:程序分析程序分析#include /包含头文件包含头文件#define uint unsigned int /预定义一下预定义一下#define uchar unsigned char sbit rs=P35;/1602的数据的数据/指令选择控制线指令选择控制线 sbit rw=P36;/1602的读写控制线的读写控制线 sbit en=P37;/1602的使能控制线的使能控制线 /*P0口接口接1602的的D0D7,注意不要接错了顺序,注意不要接错了顺序*/uchar code table=“welcome to LCD1602!”;/要显要显示的内容示的内容1放入数组放入数组tablel uchar code table1=“nice to meet you!;/要显示的内容要显示的内容2放入数组放入数组table1 程序分析#include/包含头void delay(uint n)/延时函数延时函数 uint x,y;for(x=n;x0;x-)for(y=110;y0;y-);void lcd_wcom(uchar com)/1602写命令函数写命令函数 rs=0;/选择指令寄存器选择指令寄存器 rw=0;/选择写选择写 P0=com;/把命令字送入把命令字送入P0 delay(5);/延时一小会儿,让延时一小会儿,让1602准备接收数据准备接收数据 en=1;/使能线电平变化,命令送入使能线电平变化,命令送入1602的的8位数据位数据 en=0;voiddelay(uintn)/延时函void lcd_wdat(uchar dat)/1602写数据函数写数据函数 rs=1;/选择数据寄存器选择数据寄存器 rw=0;/选择写选择写 P0=dat;/把要显示的数据送入把要显示的数据送入P0 delay(5);/延时一小会儿,让延时一小会儿,让1602准备接收数据准备接收数据 en=1;/使能线电平变化,数据送入使能线电平变化,数据送入1602的的8位数据口位数据口 en=0;void lcd_init()/1602初始化函数初始化函数 lcd_wcom(0 x38);/8位数据,双列,位数据,双列,5*7字形字形 lcd_wcom(0 x0c);/开启显示屏,关光标,光标不闪烁开启显示屏,关光标,光标不闪烁 lcd_wcom(0 x06);/显示地址递增,即写一个数据后,显显示地址递增,即写一个数据后,显示位置右移一位示位置右移一位 lcd_wcom(0 x01);/清屏清屏 voidlcd_wdat(uchardat)void main()/主函数主函数 uchar n,m=0;lcd_init();/液晶初始化液晶初始化 lcd_wcom(0 x80);/显示地址设为显示地址设为80H(即(即00H,)上排,)上排第一位第一位 for(m=0;m16;m+)/将将table中的数据依次写入中的数据依次写入1602 lcd_wdat(tablem);delay(200);lcd_wcom(0 x80+0 x44);/重新设定显示地址为重新设定显示地址为0 xc4,即下即下排第排第5位位 for(n=0;n8;n+)/将将table1中的数据依次写入中的数据依次写入1602显显示示 lcd_wdat(table1n);delay(200);while(1);/动态停机动态停机 voidmain()/主函数思考思考查看查看1602的相关资料,试编程实现的相关资料,试编程实现LCD显示心型图案。显示心型图案。思考查看1602的相关资料,试编程实现LCD显示心型图案。LCD12864功能介绍:功能介绍:12864是一种图形点阵液晶显示是一种图形点阵液晶显示器,它主要由器,它主要由行驱动器行驱动器/列驱动器列驱动器及及128*64全点阵液晶显示器组成。全点阵液晶显示器组成。可完成图形显示,也可以显示可完成图形显示,也可以显示8*4汉字汉字LCD12864功能介绍:12864管脚管脚管脚说明:管脚说明:12864管脚管脚说明:第二讲-点阵和液晶屏课件项目三项目三 液晶显示器液晶显示器12864一、题目要求:左右滚屏显示汉字(该一、题目要求:左右滚屏显示汉字(该12864不带字库)不带字库)项目三液晶显示器12864一、题目要求:左右滚屏显示汉字(#include#include#define uchar unsigned char#define uint unsigned int#define LCD_databus P0uchar num;程序分析程序分析#include程序分析uchar code zi1032=/*临临*/0 x00,0 xF8,0 xF0,0 x00,0 xFF,0 xFE,0 x80,0 x60,0 x38,0 x1E,0 x3F,0 x6A,0 x68,0 xC8,0 x4C,0 x08,0 x00,0 x0F,0 x07,0 x00,0 xFF,0 x7F,0 x00,0 xFF,0 x7E,0 x42,0 x7E,0 x7E,0 x42,0 xFE,0 x7F,0 x02,/*沂沂*/0 x00,0 x10,0 xE1,0 xC6,0 x0C,0 x8C,0 xE0,0 xFE,0 xFC,0 x24,0 x26,0 xE2,0 xE3,0 x23,0 x32,0 x20,0 x00,0 x04,0 x78,0 xF8,0 x1E,0 x83,0 x40,0 x3F,0 x1F,0 x00,0 x00,0 xFF,0 x7F,0 x00,0 x00,0 x00,.略略(要显示什么汉字,自己在字模提取软件中生成)(要显示什么汉字,自己在字模提取软件中生成)ucharcodezi1032=sbit RS=P22;sbit RW=P21;sbit EN=P20;sbit CS1=P24;sbit CS2=P23;/对应的端口根据硬件电路图来确定对应的端口根据硬件电路图来确定void delay(uint x)uchar i;while(x-)for(i=0;i120;i+);void Read_busy()P0=0X00;RS=0;RW=1;EN=1;while(P0&0 x80);EN=0;sbitRS=P22;void write_LCD_command(uchar value)Read_busy();RS=0;RW=0;LCD_databus=value;EN=1;_nop_();_nop_();EN=0;void write_LCD_data(uchar value)Read_busy();RS=1;RW=0;LCD_databus=value;EN=1;_nop_();_nop_();EN=0;voidwrite_LCD_command(ucharvvoid Set_page(uchar page)page=0 xb8|page;write_LCD_command(page);void Set_line(uchar startline)startline=0 xc0|startline;write_LCD_command(startline);void Set_colum(uchar colum)colum=colum&0 x3f;colum=0 x40|colum;write_LCD_command(colum);voidSet_page(ucharpage)void Setonoff(uchar onoff)onoff=0 x3e|onoff;write_LCD_command(onoff);void SelectScreen(uchar screen)switch(screen)case 0:CS1=0;CS2=0;break;case 1:CS1=0;CS2=1;break;case 2:CS1=1;CS2=0;break;default:break;voidSetonoff(ucharonoff)void ClearScreen(uchar screen)uchar i,j;SelectScreen(screen);for(i=0;i8;i+)Set_page(i);Set_colum(0);for(j=0;j64;j+)write_LCD_data(0 x00);voidClearScreen(ucharscreen)void InitLCD()Read_busy();SelectScreen(0);Setonoff(0);SelectScreen(0);Setonoff(1);SelectScreen(0);ClearScreen(0);Set_line(0);voidInitLCD()void Display(uchar ss,uchar page,uchar colum,uchar*p)uchar i;SelectScreen(ss);Set_page(page);Set_colum(colum);for(i=0;i16;i+)write_LCD_data(pi);Set_page(page+1);Set_colum(colum);for(i=0;i16;i+)write_LCD_data(pi+16);voidDisplay(ucharss,ucharpavoid main()int i;InitLCD();ClearScreen(0);Set_line(0);while(1)for(i=0;i=10|b=10|c=10|d=10|e=10|f=10|g=10)a=a%10;b=b%10;c=c%10;d=d%10;e=e%10;f=f%10;g=g%10;Display(1,2,0*16,zii);Display(1,2,1*16,zia);Display(1,2,2*16,zib);Display(1,2,3*16,zic);Display(2,2,0*16,zid);Display(2,2,1*16,zie);Display(2,2,2*16,zif);Display(2,2,3*16,zig);delay(500);ClearScreen(0);voidmain()精品课件精品课件!精品课件!40精品课件精品课件!精品课件!41第二讲-点阵和液晶屏课件
展开阅读全文
相关资源
相关搜索

最新文档


当前位置:首页 > 办公文档 > 教学培训


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!