第8章键盘显示接口技术--显示器ppt课件.ppt
《第8章键盘显示接口技术--显示器ppt课件.ppt》由会员分享,可在线阅读,更多相关《第8章键盘显示接口技术--显示器ppt课件.ppt(30页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、第八章:第八章:5151系列单片机键盘系列单片机键盘/ /显示器接口技显示器接口技术术 常用的显示设备:常用的显示设备: 发光二极管、八段发光二极管、八段LEDLED显示器、点阵显示器、点阵LEDLED,液晶显示器(液晶显示器(LCDLCD)、屏幕显示器()、屏幕显示器(CRTCRT)等。)等。 8.1 LED8.1 LED显示器接口技术显示器接口技术 8.2 8.2 键盘接口技术键盘接口技术 8.3 8.3 点阵接口技术点阵接口技术 8.4 8.4 液晶显示器接口技术液晶显示器接口技术8.1 518.1 51单片机显示器接口技术单片机显示器接口技术1 1、LEDLED显示器结构与原理显示器结
2、构与原理: (1 1)结构:)结构:LEDLED封装图封装图共阴极共阴极LEDLED共阳极共阳极LEDLED(2 2)LEDLED显示器的基本问题显示器的基本问题 a.a.七段码问题七段码问题 共阳极、共阴极七段码共阳极、共阴极七段码 如显示如显示“0”,0”,共阴极七段码:共阴极七段码: dpdp g f e d c b a g f e d c b a 0 0 1 1 1 1 1 1 0 0 1 1 1 1 1 1 3FH3FH 共阳极七段码:共阳极七段码: dpdp g f e d c b a g f e d c b a 1 1 0 0 0 0 0 0 1 1 0 0 0 0 0 0 0C
3、0H0C0H 共阴极七段码表共阴极七段码表:unsigned char code daima16=unsigned char code daima16= 0 x3F,0 x06,0 x5B,0 x4F,0 x66,0 x6D,0 x7D,0 x27,0 x7F,0 x3F,0 x06,0 x5B,0 x4F,0 x66,0 x6D,0 x7D,0 x27,0 x7F,0 x6F,0 x77,0 x7C,0 x39,0 x5E,0 x79,0 x71;0 x6F,0 x77,0 x7C,0 x39,0 x5E,0 x79,0 x71; b.b.驱动问题驱动问题 LEDLED显示器的每一个段显示器
4、的每一个段通常需要通常需要1 15mA电流。电流。 段驱动、位驱动;段驱动、位驱动; 段口、位口段口、位口 c.c.显示方式问题显示方式问题 静态显示、动态显示静态显示、动态显示 d.d.译码方式问题译码方式问题 硬件译码:硬件译码:采用专用译码器芯片实现,如采用专用译码器芯片实现,如CD4511CD4511、74477447等芯片等芯片 软件译码:软件译码:采用软件查表的方法,如显示采用软件查表的方法,如显示“3”3”: unsigned char code table16=unsigned char code table16= 0 x3F,0 x06,0 x5B,0 x4F,0 x66,0
5、 x6D,0 x7D,0 x27,0 x3F,0 x06,0 x5B,0 x4F,0 x66,0 x6D,0 x7D,0 x27,0 x7F,0 x6F,0 x77,0 x7C,0 x39,0 x5E,0 x79,0 x71;0 x7F,0 x6F,0 x77,0 x7C,0 x39,0 x5E,0 x79,0 x71; unsigned char unsigned char i,ji,j; ; i=0 x03; /i=0 x03; / j=j=tableitablei; /; /查表,转换成查表,转换成7 7段码段码 (3) (3) 显示函数的编写问题显示函数的编写问题 a.a.建立建立7
6、7段码表段码表 b.b.建立显示缓冲区建立显示缓冲区 通常,显示缓冲区中存放要显示的内容,对应通常,显示缓冲区中存放要显示的内容,对应于每个显示器,显示缓冲区的数据由其他函数于每个显示器,显示缓冲区的数据由其他函数或主函数来修改。或主函数来修改。 c.c.编制显示函数编制显示函数 显示函数只完成将显示缓冲区中的数据通过查显示函数只完成将显示缓冲区中的数据通过查表转换成表转换成7 7段码送显示器显示。段码送显示器显示。 d.d.显示函数的调用显示函数的调用 在主函数或其他函数中调用显示函数。在主函数或其他函数中调用显示函数。 例如:例如:2 2位显示器显示函数的编写位显示器显示函数的编写 uns
7、igned char dis_buf2;unsigned char dis_buf2;/显示缓冲区显示缓冲区 unsigned char code table16=unsigned char code table16=0 x3F,0 x06,0 x5B,0 x4F,0 x66,0 x6D,0 x7D,0 x27,0 x7F,0 x6F,0 x77,0 x3F,0 x06,0 x5B,0 x4F,0 x66,0 x6D,0 x7D,0 x27,0 x7F,0 x6F,0 x77,0 x7C,0 x39,0 x5E,0 x79,0 x71;0 x7C,0 x39,0 x5E,0 x79,0 x71
8、; void void Disp(voidDisp(void) ) /2 /2位数码管显示函数位数码管显示函数 unsigned char unsigned char i i; ; i=dis_buf0; / i=dis_buf0; /取显示内容取显示内容 P1= P1=tableitablei; /7; /7段码送显示器段码送显示器 i=dis_buf1; i=dis_buf1; P3= P3=tableitablei; (4 4)LEDLED显示器静态显示显示器静态显示 1 1、一个、一个8 8位端口位端口控制控制1 1位位LEDLED显示显示器;器; 2 2、不改变显示内、不改变显示内容
9、,显示器一直容,显示器一直显示不变;显示不变; 3 3、硬件复杂,软、硬件复杂,软件控制简单。件控制简单。例例1 1:利用:利用P2P2、P3P3口进行静态显示:轮流显口进行静态显示:轮流显示示“12”12”、“-”-”、“AB”AB”ahabcdefgbcdefghR1A02B018A13B117A24B216A35B315A46B414A57B513A68B612A79B711CE19AB/BA1U274LS245A02B018A13B117A24B216A35B315A46B414A57B513A68B612A79B711CE19AB/BA1U374LS245XTAL218XTAL119
10、ALE30EA31PSEN29RST9P0.0/AD039P0.1/AD138P0.2/AD237P0.3/AD336P0.4/AD435P0.5/AD534P0.6/AD633P0.7/AD732P1.0/T21P1.1/T2EX2P1.23P1.34P1.45P1.56P1.67P1.78P3.0/RXD10P3.1/TXD11P3.2/INT012P3.3/INT113P3.4/T014P3.7/RD17P3.6/WR16P3.5/T115P2.7/A1528P2.0/A821P2.1/A922P2.2/A1023P2.3/A1124P2.4/A1225P2.5/A1326P2.6/A1
11、427U1AT89C52 #include #include unsigned char dis_buf2;unsigned char dis_buf2; / /显示缓冲区显示缓冲区 unsigned char code table18=unsigned char code table18= 0 x3F,0 x06,0 x5B,0 x4F,0 x66,0 x6D,0 x7D,0 x27,0 x7F,0 x6F,0 x0 x3F,0 x06,0 x5B,0 x4F,0 x66,0 x6D,0 x7D,0 x27,0 x7F,0 x6F,0 x77,0 x7C,0 x39,0 x5E,0 x79,
12、0 x71,0 x40,0 x00;77,0 x7C,0 x39,0 x5E,0 x79,0 x71,0 x40,0 x00; void void dl(unsigneddl(unsigned intint x) x) / /延时延时xmsxms unsigned unsigned intint t1,t2; t1,t2;for (t1=0;t1x;t1+)for (t1=0;t1x;t1+)for (t2=0;t2120;t2+) ;for (t2=0;t2120;t2+) ; void void display(voiddisplay(void) /) /显示函数显示函数 P2=table
13、dis_buf0; /P2=tabledis_buf0; /静态显示静态显示1 1P3=tabledis_buf1; /P3=tabledis_buf1; /静态显示静态显示2 2 void void main(voidmain(void) ) while(1)while(1) dis_buf0=1; dis_buf1=2;/dis_buf0=1; dis_buf1=2;/送显示数据送显示数据1212display();display(); /调显示函数调显示函数dl(500); dl(500); /延时延时500ms 500ms dis_buf0=16; dis_buf1=16;dis_bu
14、f0=16; dis_buf1=16; /显示显示-display();display(); dl(500);dl(500);dis_buf0=0 x0a; dis_buf1=0 x0b; /dis_buf0=0 x0a; dis_buf1=0 x0b; /显示显示ababdisplay();display(); dl(500);dl(500); 例例2 2:利用:利用8255PA8255PA、PBPB、PCPC口进行静态显口进行静态显示:轮流显示示:轮流显示“123”123”、“abcabc”PA7PC7PC0PC1PC2PC3PC4PC5PC0PC6PC1PC7PC2PC3PC4PC5PC
15、6PA0PA5PA1PA6PA2PA7PA3PA4PA5PA6PA0PA1PA2PA3PA4XTAL218XTAL119ALE30EA31PSEN29RST9P0.0/AD039P0.1/AD138P0.2/AD237P0.3/AD336P0.4/AD435P0.5/AD534P0.6/AD633P0.7/AD732P1.0/T21P1.1/T2EX2P1.23P1.34P1.45P1.56P1.67P1.78P3.0/RXD10P3.1/TXD11P3.2/INT012P3.3/INT113P3.4/T014P3.7/RD17P3.6/WR16P3.5/T115P2.7/A1528P2.0/
16、A821P2.1/A922P2.2/A1023P2.3/A1124P2.4/A1225P2.5/A1326P2.6/A1427U1AT89C52PROGRAM=.例2程序例2.hexD034D133D232D331D430D529D628D727RD5WR36A09A18RESET35CS6PA04PA13PA22PA31PA440PA539PA638PA737PB018PB119PB220PB321PB422PB523PB624PB725PC014PC115PC216PC317PC413PC512PC611PC710U58255AA02B018A13B117A24B216A35B315A46
17、B414A57B513A68B612A79B711CE19AB/BA1U274LS245A02B018A13B117A24B216A35B315A46B414A57B513A68B612A79B711CE19AB/BA1U374LS245A02B018A13B117A24B216A35B315A46B414A57B513A68B612A79B711CE19AB/BA1U474LS245 #include #include #include #include #define COM8255 XBYTE0 xbfff#define COM8255 XBYTE0 xbfff #define PA82
18、55 XBYTE0 xbcff#define PA8255 XBYTE0 xbcff #define PB8255 XBYTE0 xbdff#define PB8255 XBYTE0 xbdff #define PC8255 XBYTE0 xbeff#define PC8255 XBYTE0 xbeff unsigned char dis_buf3;unsigned char dis_buf3; / /显示缓冲区显示缓冲区 unsigned char code table18=unsigned char code table18= 0 x3F,0 x06,0 x5B,0 x4F,0 x66,0
19、 x6D,0 x7D,0 x27,0 x7F,0 x6F,0 x0 x3F,0 x06,0 x5B,0 x4F,0 x66,0 x6D,0 x7D,0 x27,0 x7F,0 x6F,0 x77,0 x7C,0 x39,0 x5E,0 x79,0 x71,0 x40,0 x00;77,0 x7C,0 x39,0 x5E,0 x79,0 x71,0 x40,0 x00; void void dl(unsigneddl(unsigned intint x) x) / /延时延时xmsxms unsigned unsigned intint t1,t2; t1,t2;for (t1=0;t1x;t1
20、+)for (t1=0;t1x;t1+)for (t2=0;t2120;t2+) ;for (t2=0;t2120;t2+) ; void void display(voiddisplay(void) ) PA8255=tabledis_buf0;PA8255=tabledis_buf0;PB8255=tabledis_buf1;PB8255=tabledis_buf1;PC8255=tabledis_buf2; PC8255=tabledis_buf2; void void main(voidmain(void) ) COM8255=0 x80;COM8255=0 x80;/8255/825
21、5初始化初始化while(1)while(1) dis_buf0=1; dis_buf0=1; dis_buf1=2; dis_buf1=2; dis_buf2=3; / dis_buf2=3; /显示显示123123 display(); display(); /调显示函数调显示函数 dl(500); /dl(500); /延时延时500ms 500ms dis_buf0=0 x0a; dis_buf0=0 x0a; dis_buf1=0 x0b; dis_buf1=0 x0b; dis_buf2=0 x0c; dis_buf2=0 x0c; / /显示显示abcabc display();
22、 display(); dl(500); dl(500); (5 5)LEDLED动态显示动态显示 动态显示即一位一位轮流点亮各位显示器,动态显示即一位一位轮流点亮各位显示器,采用动画模式。采用动画模式。理解:段口和位口的含义理解:段口和位口的含义 unsigned char dis_buf8 ;unsigned char dis_buf8 ; / /显示缓冲区显示缓冲区 unsigned char code table16=unsigned char code table16=0 x3F,0 x06,0 x5B,0 x4F,0 x66,0 x6D,0 x7D,0 x27,0 x7F,0 x6
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 键盘 显示 接口 技术 显示器 ppt 课件
限制150内