欢迎来到三一办公! | 帮助中心 三一办公31ppt.com(应用文档模板下载平台)
三一办公
全部分类
  • 办公文档>
  • PPT模板>
  • 建筑/施工/环境>
  • 毕业设计>
  • 工程图纸>
  • 教育教学>
  • 素材源码>
  • 生活休闲>
  • 临时分类>
  • ImageVerifierCode 换一换
    首页 三一办公 > 资源分类 > PPT文档下载  

    第8章键盘显示接口技术显示器ppt课件.ppt

    • 资源ID:1429046       资源大小:479.50KB        全文页数:30页
    • 资源格式: PPT        下载积分:16金币
    快捷下载 游客一键下载
    会员登录下载
    三方登录下载: 微信开放平台登录 QQ登录  
    下载资源需要16金币
    邮箱/手机:
    温馨提示:
    用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)
    支付方式: 支付宝    微信支付   
    验证码:   换一换

    加入VIP免费专享
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    第8章键盘显示接口技术显示器ppt课件.ppt

    第八章:51系列单片机键盘/显示器接口技术,常用的显示设备: 发光二极管、八段LED显示器、点阵LED,液晶显示器(LCD)、屏幕显示器(CRT)等。8.1 LED显示器接口技术8.2 键盘接口技术8.3 点阵接口技术8.4 液晶显示器接口技术,8.1 51单片机显示器接口技术1、LED显示器结构与原理:,(1)结构:,(2)LED显示器的基本问题,a.七段码问题共阳极、共阴极七段码如显示“0”,共阴极七段码: dp g f e d c b a 0 0 1 1 1 1 1 1 3FH共阳极七段码: dp g f e d c b a 1 1 0 0 0 0 0 0 0C0H共阴极七段码表:unsigned char code daima16= 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;,b.驱动问题LED显示器的每一个段通常需要15mA电流。段驱动、位驱动;段口、位口,c.显示方式问题静态显示、动态显示d.译码方式问题硬件译码:采用专用译码器芯片实现,如CD4511、7447等芯片软件译码:采用软件查表的方法,如显示“3”: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 x7C,0 x39,0 x5E,0 x79,0 x71; unsigned char i,j; i=0 x03; / j=tablei; /查表,转换成7段码,(3) 显示函数的编写问题a.建立7段码表b.建立显示缓冲区 通常,显示缓冲区中存放要显示的内容,对应于每个显示器,显示缓冲区的数据由其他函数或主函数来修改。c.编制显示函数 显示函数只完成将显示缓冲区中的数据通过查表转换成7段码送显示器显示。d.显示函数的调用 在主函数或其他函数中调用显示函数。,例如:2位显示器显示函数的编写unsigned char dis_buf2;/显示缓冲区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 x7C,0 x39,0 x5E,0 x79,0 x71;void Disp(void) /2位数码管显示函数unsigned char i; i=dis_buf0; /取显示内容 P1=tablei; /7段码送显示器 i=dis_buf1; P3=tablei;,(4)LED显示器静态显示,1、一个8位端口控制1位LED显示器;2、不改变显示内容,显示器一直显示不变;3、硬件复杂,软件控制简单。,例1:利用P2、P3口进行静态显示:轮流显示“12”、“-”、“AB”,#include unsigned char dis_buf2; /显示缓冲区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 x77,0 x7C,0 x39,0 x5E,0 x79,0 x71,0 x40,0 x00;void dl(unsigned int x) /延时xmsunsigned int t1,t2;for (t1=0;t1x;t1+)for (t2=0;t2120;t2+) ;void display(void) /显示函数P2=tabledis_buf0; /静态显示1P3=tabledis_buf1; /静态显示2,void main(void)while(1)dis_buf0=1; dis_buf1=2;/送显示数据12display(); /调显示函数dl(500); /延时500ms dis_buf0=16; dis_buf1=16;/显示-display(); dl(500);dis_buf0=0 x0a; dis_buf1=0 x0b; /显示abdisplay(); dl(500);,例2:利用8255PA、PB、PC口进行静态显示:轮流显示“123”、“abc”,#include #include #define COM8255 XBYTE0 xbfff#define PA8255 XBYTE0 xbcff#define PB8255 XBYTE0 xbdff#define PC8255 XBYTE0 xbeffunsigned char dis_buf3; /显示缓冲区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 x77,0 x7C,0 x39,0 x5E,0 x79,0 x71,0 x40,0 x00;void dl(unsigned int x) /延时xmsunsigned int t1,t2;for (t1=0;t1x;t1+)for (t2=0;t2120;t2+) ;void display(void)PA8255=tabledis_buf0;PB8255=tabledis_buf1;PC8255=tabledis_buf2; ,void main(void)COM8255=0 x80;/8255初始化while(1) dis_buf0=1; dis_buf1=2; dis_buf2=3; /显示123 display(); /调显示函数 dl(500); /延时500ms dis_buf0=0 x0a; dis_buf1=0 x0b; dis_buf2=0 x0c; /显示abc display(); dl(500);,(5)LED动态显示,动态显示即一位一位轮流点亮各位显示器,采用动画模式。理解:段口和位口的含义,unsigned char dis_buf8 ; /显示缓冲区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 x7C,0 x39,0 x5E,0 x79,0 x71;void display(void)unsigned char i;unsigned char bitcode=0 xfe;/位码for(i=0;i8;i+)DUANKOU=tabledis_bufi; /送段码WEIKOU=bitcode; /位码dl_ms(); /延时1ms WEIKOU=0 xff; /关闭显示bitcode=_crol_(bitcode,1);/位码左循环移位,例3:利用P0、P3口进行动态显示:显示“123456”,#include #include unsigned char dis_buf6=0; /显示缓冲区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 x7C,0 x39,0 x5E,0 x79,0 x71;void dl_ms() /延时1msunsigned int j;for (j=0;j150;j+) ;,void display(void)unsigned char i;unsigned char bitcode=0 xfe;/位码for(i=0;i6;i+) P0=tabledis_bufi; /送段码 P3=bitcode; /位码 dl_ms(); /延时1ms P3=0 xff; /关闭显示 bitcode=_crol_(bitcode,1); /位码左循环移位,void main(void)dis_buf0=1; dis_buf1=2;dis_buf2=3; dis_buf3=4; dis_buf4=5; dis_buf5=6; while(1) display();,A15 A14 A13 A12 A11 A10 A9 A8 A7-A0 1 0 1 1 1 1 0 0 1 - 1 0 1 1 0 1 1 8255端口地址:BCFFHBFFFH,例4:利用8255A控制动态显示PA口为段口,PB口为位口74LS245、7407均为同向驱动器。,例4:利用8255进行动态显示:显示“12345678”,#include #include #include #define COM8255 XBYTE0 xbfff#define PA8255 XBYTE0 xbcff#define PB8255 XBYTE0 xbdff#define PC8255 XBYTE0 xbeffunsigned char dis_buf8=1,2,3,4,5,6,7,8; /显示缓冲区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 x7C,0 x39,0 x5E,0 x79,0 x71;void dl_ms() /延时1msunsigned int j;for (j=0;j150;j+) ;,void display(void)unsigned char i;unsigned char bitcode=0 xfe;/位码for(i=0;i8;i+)PA8255=tabledis_bufi; /送段码PC8255=bitcode;/位码dl_ms(); /延时1ms PC8255=0 xff; /关闭显示bitcode=_crol_(bitcode,1);/位码左循环移位 void main()COM8255=0 x80;/8255初始化while(1) display();,提高:显示程序的实际问题,前述显示程序是理想仿真下的情况。实际电路板中的显示程序如何呢?与仿真程序相比较,有何区别?,PA口为段口,PB口为位口74LS245、7407均为同向驱动器。8255端口地址:BCFFHBFFFH,void zhucx (unsigned char k) /模拟主程序执行时间 unsigned int i;for (i=0;ik;i+)dl_ms();void main()COM8255=0 x80;/8255初始化while(1) display();zhucx(1); /执行其他主程序 ,1、8255的A1A0接A9、A8,8255A的CS接A14,PA、PB口接8位LED显示器。编程使LED显示器每隔1秒轮流显示:- -GooD- -及-ABCDEF-.思路: 1、修改8255A的端口地址; 2、添加7段码:“-”、“o”; 3、修改主程序: 前一秒,显示缓冲区中送“-ABCDEF-” 的7段码序号, 后一秒,显示缓冲区中送“- -GooD- -”的7段码序号。 4、1秒延时可调用延时程序。,2、串行口控制的LED显示,

    注意事项

    本文(第8章键盘显示接口技术显示器ppt课件.ppt)为本站会员(小飞机)主动上传,三一办公仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知三一办公(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    备案号:宁ICP备20000045号-2

    经营许可证:宁B2-20210002

    宁公网安备 64010402000987号

    三一办公
    收起
    展开