8单片机的功能扩展分析.ppt

  1. 1、本文档共44页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第8章 单片机的功能扩展 ;8.1 键盘输入及接口技术;二、非编码键盘的键输入程序应完成的基本任务: 1、监测有无键按下。键的闭合与否,反映在电压上就是呈现出高电平或低电平,所以通过电平的高低状态的检测,便可确认按键按下与否。 2、判断是哪个键按下。 3、完成按键处理任务。;键盘实际上是一组按键开关的集合,平时按键开关总是处于断开状态,当按下键时它才闭合。它的结构和产生的波形如图所示。;//上拉汇编示例程序 get_key: JB P1_0,no_key CALL Delay ;第一次检测到按键信息 JB P1_0,no_key ; 执行按键功能(第二次检测到按键信息) JB P1_0,no_key ; 等待按键抬起 SJMP $-1 ;跳转到上一行 no_key:;//上拉C51示例程序 if(P1_0==0) { //第一次检测到按键信息 Delay();//延时20ms左右,消除抖动 if(P1_0==0) { //第二次检测到按键信息 //执行按键功能 While(P1_0==0);//等待按键释放 } };四、单片机矩阵键盘接口和键功能的实现;先经输出口向所有列线输出低电平,然后再输入各行线状态;(2)去抖动;去抖动的方法;3)判断被按键的位置;;行线中有状态为低电平,则闭合键找到 但实际扫描继续进行,以发现可能出现的多键同时被按下;(4)键值计算;(5)等待键释放;2、键盘接口的控制方式;8.2 LED显示器接口技术;数码管的特点: ① 发光响应快,亮度强,高频特性好 ② 机械性能好,使用寿命长,可达105~106h,与COMS和 TTL电路兼容 ③ 工作电压低,驱动电流适中。每段工作电流为5~10mA, 一只数码管的7段LED全亮需要35~70mA。需要驱动电路。; 1、段码:提供给LED显示器的字形代码:;(1)LED静态显示方式 (2)LED动态显示方式;N位LED显示器;四位静态LED显示器电路;八位LED动态显示器电路;例1 静态LED举例;include reg51.h unsigned char code table[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f}; //定义共阴字形代码 void delay(void) { unsigned int j; for(j=0;j1000;j++); } main() { unsigned char i; for(i=0;i10;i++) { P1 = table[i]; //显示“0”~“9” delay(); //延时子程序 } };例2 动态扫描举例;unsigned char code table[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f}; unsigned char d1=1,d2=2,d3=3,d4=4; void display(void) { P2=0xf0; //关断位选信号 P1=table[d1]; //送显示数据 P2_0=1; //选中第一个数码管 delay(); //延时 P2=0xf0; //关断位选信号 P1=table[d2]; //送显示数据 P2_1=1; ; //选中第二个数码管 delay(); //延时 P2=0xf0; //关断位选信号 P1=table[d3]; //送显示数据 P2_2=1; //选中第三个数码管 delay(); //延时 P2=0xf0; //关断位选信号 P1=table[d4]; //送显示数据 P2_3=1; //选中第四个数码管 delay(); //延时 P1=0; //关段码 P2=0xf0; //关位码 };void delay(void) { unsigned int i; for(i=0;i2000;i++); } void main(void) { while(1) { display(); //其他工作 } } ;;作业;例7.1:在LED显示器上用静态方式实现12两位数字显示。;例7.2:在LED显示器上用动态扫描方式实现0123四位数字显示。;;8.2.2 LCD显示器;;;二、LCD的分类;三、1602应用举例;;//1602 液晶示范程序(关键函数) sbit rs=P2^2; //数据/命令选择管脚 sbit

文档评论(0)

tt435678 + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档