第八章AT系列單片机的接口扩展技术.pptVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
*;*;*;*;*;*;*;*;*;*;*;*;*;*;*;*;㈡8255A引脚说明 8255A共有40只引脚,采用双列直插式封装,各引脚功能如下: D7~D0:三态双向数据线,与单片机数据总线连接,用来传送数据信息。 :片选信号线,低电平有效,表示本芯片被选中 :读出信号线,控制8255A中数据的读出 :写入信号线,控制向8255A数据的写入。 PA7~PA0:A口输入/输出线。 PB7~PB0:B口输入/输出线。 PC7~PC0:C口输入/输出线。 A1、A0:地址线,用来选择8255A内部 的4个端口,如表8-1所示。 ;*;*;*;㈡C口置位/复位控制字 本控制字可使C口8位中的任意一位置位为“1”或复位清“0”。通过控制C口的各位状态,实现某些控制功能。其控制字格式如图8-5所示。;*;*;*;㈡方式1 方式1是一种选通输入/输出工作方式。A口和B口都可以独立地设置成这种工作方式。在方式1下,8255A的A口和B口通常用于传送和它们相连外设的I/O数据,C口作为A口和B口的握手联络线,图中标有I/O各位仍可用作基本输入/输出,不作联络线用。;*;8.1 I/O接口的扩展技术;㈢方式2 方式2是一种双向总线方式。只有A口才能设定为方式2。在方式2下,PA7~PA0为双向I/O总线。当作输入总线使用时,PA7~PA0受 和 控制,其工作过程和方式1输入时相同;当作输出总线使用时,PA7~PA0受 、 控制,其工作过程和方式1输出时相同。;*;*;8255A端口地址的确定 8255A的A、B、C及控制口的地址分别为:0000H、0001H、0002H、0003H。;8.1 I/O接口的扩展技术;*;*;*;*;*;*;*; JNB ACC.5, K5 JNB ACC.6, K6 JNB ACC.7, K7 SJMP START ;无键按下,返回 K0: AJMP KEY0 ;各功能键程序入口地址表 K1: AJMP KEY1 K2: AJMP KEY2 K3: AJMP KEY1 K4: AJMP KEY2 K5: AJMP KEY1 K6: AJMP KEY2 K7: AJMP KEY1 KEY0:… ;0号功能键处理程序 LJMP START ;0号键处理程序执行完返回 … KEY7:… ;7号功能键处理程序 LJMP START ;7号键处理程序执行完返回 ;*;*;*;*;*;*;C语言程序: #includereg51.h #includeintrins.h #includeabsacc.h #define uchar unsigned char #define uint unsigned int uchar code a[16]={0xc0H,0xf9H,0xa4H,0xb0H,0x99H,0x92H,0x82H,0xf8H,0x80H,0x90H,0x88H,0x83H,0xc6H,0xa1H,0x86H,0x8eH};//字型码表 void delay(uint i) //延时程序 { uint j; for(j=0;ji;j++); };uchar checkkey( ) //检测有没有键按下,无键按下返回0 {uchar i ; uchar j ; j=0x0f; P3=j; // 列输出全0 i=P3; //读行线状态 i=i0x0f; if (i==0x0f) return (0); //无键按下返回0 else return (0xff); } ;uchar keyscan( ) //键盘扫描程序,有键按下返回键码;无键按下返回0x0ff. { uchar scancode; uchar codevalue; uchar a; uchar m=0; uchar k; uchar i,j; if (checkkey()==0) return (0xff); else {delay(100); if (checkkey()==0) ret

文档评论(0)

1234554321 + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档