单片机原理及接口技术(C51编程).pptVIP

单片机原理及接口技术(C51编程).ppt

  1. 1、本文档共1168页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多

g.段关闭命令本命令是从HD7279A读出当前的键值。命令的第一字节为15H,表示单片机写到HD7279A的是读键命令,第二字节d7~d0为从HD7279A中读出的按键值,其范围为00H~3FH。当按键按下时,KEY引脚从高电平变为低电平,并保持到按键释放为止。在此期间,若HD7279A收到来自单片机的读键盘命令15H,则HD7279A向单片机发出当前的按键代码。应注意,HD7279A只能给出其中一个按下键的代码,不适合两个或两个以上键同时按下的场合。如确实需双键组合使用,可在单片机某位I/O引脚接一键,HD7279A所连键盘共同组成双键功能。④时序HD7279A用串行方式与单片机通信,串行数据从DATA引脚送入或输出,并与CLK端同步。当片选信号变为低电平后,DATA引脚上的数据在CLK脉冲上升沿作用下写入或读出HD7279A的数据缓冲器。(3)命令时序a.纯命令时序单片机发出8个CLK脉冲,向HD7279A发出8位命令,DATA引脚最后为高阻态,如图10-14所示。图10-14纯命令时序b.带数据命令时序单片机发出16个CLK脉冲,前8个向HD7279A发送8位命令;后8个向HD7279A传送8位显示数据,DATA引脚最后为高阻态,如图10-15。图10-15带数据命令时序c.读键盘命令时序单片机发出16个CLK脉冲,前8个向HD7279A发送8位命令;发送完之后DATA引脚为高阻态;后8个CLK由HD7279A向单片机返回8位按键值,DATA引脚为输出状态。最后一个CLK脉冲的下降沿将DATA引脚恢复为高阻态,如图10-16所示。图10-16读键盘命令时序保证正确时序是HD7279A正常工作的前提。当选定HD7279A的振荡元件RC和单片机的晶振之后,应调节延时时间,使时序中的T1~T8满足表10-9所示要求。由表中的数值可知HD7279A的速度,应仔细调整HD7279A的时序,使其运行时间接近最短。3.AT89S51单片机与HD7279A接口设计(1)硬件接口电路图10-17为AT89S51通过HD7279A控制8个LED数码管以及64键矩阵键盘的接口电路。晶振频率为12MHz。上电后,HD7279A大约经过15~18ms的时间才进入工作状态。单片机通过引脚的电平(已接至单片机P1.3脚,)来判断键盘矩阵中是否有按键按下。HD7279A采用动态循环扫描方式,如采用普通的LED数码管亮度不够,则可采用高亮度或超高亮度型号的LED数码管。图10-17所示的3、5、26引脚悬空。图10-17AT89S51单片机与HD7279A的接口电路(2)程序设计控制显示器显示及键盘的主要程序如下。#includereg51.h/*定义各种函数*/voidwrite7279(unsignedchar,unsignedchar);/*写7279*/unsignedcharread7279(unsignedchar); /*读7279*/voidsend_byte(unsignedchar);/*发送一个字节*/unsignedreceive_byte(void); /*接收一个字节*/voidlongdelay(void); /*长延时函数*/voidshortdelay(void);/*短延时函数*/voiddelay10ms(unsignedchar);/*延时unsignedchar个10ms函数*//*变量及IO口定义*/unsignedcharkey_number,i,j;unsignedinttmp;unsignedlongwait_cnter;sbitCS=P1^0; /*HD7279A的CS端连P1.0*/sbitCLK=P1^1; /*HD7279A的CLK端连P1.1*/sbitDATA=P1^2; /*HD7279A的DATA端连P1.2*/sbitKEY=P1^3; /*HD7279A的KEY端连P1.3*//*HD7279A命令定义*/#defineRESET0xa4; /*复位命令*/ #defineREADKEY0x15; /*读键盘数据命令*/ #defineDECODE00x80; /*方式0译码命令*/ #defineDECODE10xc8; /*方式1译码命令*/#defineUNDECODE0x90; /*不译码命令*/ #defineSEGON0xe0;

文档评论(0)

139****1983 + 关注
实名认证
文档贡献者

副教授、一级建造师持证人

一线教师。

领域认证该用户于2023年06月21日上传了副教授、一级建造师

1亿VIP精品文档

相关文档