单片机原理与接口技术第5章显示与按键.pptx

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
2.字段码 当LED显示器与单片机连接时,一般是将LED各发光二极管的引脚a、b、…g、dp顺序接到单片机的一个并行I/O口D0、D1、…D6、D7。当从这个I/O口输出某个特定的数据时,就能使LED显示器显示出某个字符; 静态显示方式 所谓静态显示,就是每一位显示器的字段控制线是独立的。当显示某一字符时,该数码管显示器的各字段线和字位线的电平不变,也就是各字段的亮灭状态不变。 静态显示方式下LED显示器的电路连接方法是:每位LED的字位控制线(即共阴极点或共阳极点)连在一起,接地或接+5V;其字段控制线(a~dp)分别接到一个8位I/O口。 静态显示方式编程简单,但占用I/O口线多,适合于显示器位数较少的场合。 ;动态显示方式 当LED显示器位数较多时,为了简化电路,降低成本,将所有位的字段线对应并联,由一个8位I/O口控制,而共阴极点或共阳极点另由相应的I/O口线控制。每一个时刻只选通其中一个LED,同时在段选口送出该位LED的字段码,并保持一段延时时间,然后选通下一位,直到所有位扫描完。这样用两个8位I/O口能控制8位LED显示器。;点阵LED显示接口 ;LCD显示器结构及工作原理 物质有固态、液态、气态三种型态。液体分子质心的排列虽然不具有任何规律性,但是如果这些分子是长形的(或扁形的),它们的分子指向就可能有规律性。于是可将液态又细分为许多型态。分子方向没有规律性的液体直接称为液体,而分子具有方向性的液体则称之为“液态晶体”,又简称“液晶”, 英文全称为Liquid Crystal Display;1602液晶显示器的外形及引脚如图所示。;5.3键盘及其接口 ;独立式键盘与51单片机的接口 独立式键盘与单片机的接口如图5-8所示,独立式键盘是直接用P1口线构成的单个按键电路,其特点是每个按键单独占用一根I/O接口线,每根I/O接口线上按键的工作状态不会影响其他I/O接口线的工作状态,按键识别(编程)简单;按键电路配置灵活,但占用较多I/O接口线,适合8键以下使用;矩阵式键盘结构 矩阵式键盘又叫行列式键盘,其结构如图5-9所示。图中有4根行线和4根列线,行线经限流电阻接+5V电源上。按键跨接在行线和列线上。4×4的行列结构可构成16个键的键盘,与独立式键盘相比,键数相同时其引出线数少,因此适用于键数较多的场合。 ;;电路设计 ;3.源程序设计 #include reg51.h //文件包含命令 #define uint unsigned int //定义无符号整型数据类型 #define uchar unsigned char //定义无符号字符型数据类型 ucharcode tab[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80, 0x90,0x88,0x83,0xc6,0xa1,0x86,0x8e}; //字段码数组 void delay(uint t) //延时函数定义 { int i,j; for(i=0;it;i++) for(j=0;j120;j++); } ; void main() { uchar m; //定义循环控制变量m while(1) { for(m=0;m8;m++) //循环8次,每次显示2个字符 { P0=tab[m]; P3=tab[15-m]; delay(1000); } } } ;任务5-2 动态显示方式应用 1.目的与要求 通过动态显示电路的设计与制作,掌握动态显示方式的特点,字段码与字位码的确定方法,单片机与多个数码管的连接方式以及控制程序的编写。 设计要求:利用单片机控制8个共阳极数码管,采用动态显示方式稳定地显示不同的字符1~8。显示效果为。 ;2.电路设计 ;3.流程图和源程序设计 ;源程序如下: #include reg51.h //文件包含命令 #include intrins.h #define uchar unsigned char //定义数据类型 #define uint unsigned int uchar code dis[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90}; void delayms(uint x) //定义延时函数 {uchar i; while(x--) for(i=0;i120;i++); } ;main() { ucha

文档评论(0)

132****9295 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档