- 1、本文档共41页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第二讲 点阵、液晶显示模块的应用设计 点阵式汉字显示原理 8*8点阵应用设计 16*16点阵应用设计 24*24点阵应用设计 液晶显示模块1602的显示原理及应用 液晶显示器12864的显示原理及应用 项目1:8*8点阵应用设计 与单片机连接图 一、题目要求:用8051控制8*8点阵,使其先从左到右动态点亮3次,后从右到左动态点亮3次,;再从上到下点亮3次,最后从下到上点亮3次,如此动态循环。 原理说明 8X8点阵LED工作原理说明 :8X8点阵共由64个发光二极管组成,且每个发光二极管是放置在行线和列线的交叉点上,当对应的某一列置1电平,某一行置0电平,则相应的二极管就 会点亮;因此要实现一根柱形的亮法,对应的一列为一根竖柱,或者对应的一行为一根横柱,实现柱的亮的方法如下: 一根竖柱:对应的列置1,而行则采用扫描的方法来实现。 一根横柱:对应的行置0,而列则采用扫描的方法来实现。 /* 程序分析*/ #include AT89S52.H unsigned char code taba[]={0xfe,0xfd,0xfb,0xf7,0xef,0xdf,0xbf,0x7f};unsigned char code tabb[]={0x01,0x02,0x04,0x08,0x10,0x20,0x40,0x80}; ?void delay(void){unsigned char i,j;for(i=10;i0;i--)for(j=248;j0;j--);} void delay1(void){unsigned char i,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){ for(j=0;j3;j++) //from left to right 3 time{for(i=0;i8;i++){P3=taba[i];P1=0xff;//列柱,列置1,行扫描delay1();}} for(j=0;j3;j++) //from right to left 3 time{for(i=0;i8;i++){P3=taba[7-i];P1=0xff;delay1();}}for(j=0;j3;j++) //from top to bottom 3 time{for(i=0;i8;i++){P3=0x00;P1=tabb[7-i];//行柱,行清0,列扫描delay1();}} for(j=0;j3;j++) //from bottom to top 3 time{for(i=0;i8;i++){P3=0x00;P1=tabb[i];delay1();}}}} 一、题目要求: 8X8LED 点阵屏循环显示数字0~9,刷新过程由定时器中断完成。 /* 程序分析*/ #includereg51.h #includeintrins.h #define uchar unsigned char #define uint unsigned int uchar code Table_of_Digits[]= { 0x00,0x3e,0x41,0x41,0x41,0x3e,0x00,0x00, //0 0x00,0x00,0x00,0x21,0x7f,0x01,0x00,0x00, //1 0x00,0x27,0x45,0x45,0x45,0x39,0x00,0x00, //2 0x00,0x22,0x49,0x49,0x49,0x36,0x00,0x00, //3 0x00,0x0c,0x14,0x24,0x7f,0x04,0x00,0x00, //4 0x00,0x72,0x51,0x51,0x51,0x4e,0x00,0x00, //5 0x00,0x3e,0x49,0x49,0x49,0x26,0x00,0x00, //6 0x00,0x40,0x40,0x40,0x4f,0x70,0x00,0x00, //7 0x00,0x36,0x49,0x49,0x49,0x36,0x00,0x00, //8 0x00,0x32,0x49,0x49,0x49,0x3e,0x00,0x00 //9 }; uchar i=0,t=0,Num_Index; //主程序 void main() { P3=0x80; Num_Index=0; //从0 开始显示 TMOD=0x00; //T0 方式0 TH0=(8192-2000)/32; //2ms 定时,8192=213 TL0=(8192-2
文档评论(0)