- 1、本文档共30页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
课件:CH并行IO口.ppt
* * * §4 MCS-51并行I/O口的扩展 1. 借用外部RAM地址扩展I/O端口 外部RAM与外设共用同一存储空间,地址不能重复。芯片、设备较少时,常用线选法。 e.g. 外接打印机(见P265图7-26),占用外部RAM的部分地址。 说明:本4-16译码器输出为高有效(一般为低有效); /ACK=1 打印机忙 利用写外部RAM指令时/WR为低,则/RD为高这一特性产生选通(写打印机)信号(非常规方法,不提倡使用); 选中外部RAM(地址:00H~?H)与选中打印机(重叠地址:F0H~?H),互锁(不能同时选中); 查询打印机是否完成打印检测/ACK引脚(接P1.0), 读8031引脚P1.0前要先对端口寄存器写“1”。 打印程序见书P266,注意R0、R1和R2的作用。注意语句: ORL P1,#01H 和 JB Acc.0, LOOP的作用(若接P1.1脚呢)。 2.采用8255A扩展I/O端口 电路见P266图7-27。 工作原理:/CS为8255A的片选信号,低有效。这里接地址线A7选中8255A, 基本地址是:0~03H,只要D7=0则选中8255A; A口工作于选通模式,产生的选通信号不符合打印机要求,采用软件在PC0口产生负脉冲选通信号。 8255A与8031之间以中断方式传送数据,注意电平匹配。 3.采用8155扩展I/O端口 见P268~269,图7-28。图中8155片内RAM地址为08H~FFH(A7~A3中只要有一个为1时,或门输出为0,选中RAM;若全为0,则输出为1,选中I/O寄存器或端口),0~7H被端口地址占用。 注意:8155的口地址和RAM地址由/CE及IO//M决定。 程序中8155命令字#01含义为A口出,其它口为入,计数器不工作。 参考:线选法寻址方式P2.7与IO//M相连。 §5 MCS-51对LED/键盘的接口 1.LED 数码管 结构:共阴,共阳,见P271图7-29。 掌握:管脚定义,限流电阻计算,字符译码(共阴译码与共阳译码的字型码不同,取反),见P271表7-5,字型较全。 静态显示: 优点:字稳定,亮度高(同时都亮),CPU工作效率高, 缺点:但硬件开销大,电路复杂。 动态显示: 优点:电路简单,体积小,成本低, 缺点:亮度较暗(某一时刻只有一个数码管点亮)。注意段、位的区别。需要扫描方式工作,编程较复杂。 解决暗的方法: 增加电流,减少数码管数目,采用高亮度数码管。 2.51对LED的接口 e.g. 动态显示,P272图7-30,采用8155扩展I/O口,6位动态显示,PB口段码输出,PC口位码输出。 本例采用共阳数码管,位接高电平(PC口相应位为低)、段(LED)接低电平时亮。 说明:位必须要有驱动器(最大电流时为八段LED同时亮,8155端口无法直接驱动,一般用三极管或功率门电路如75452或74LS07等驱动;段电流较小,可用74LS06(反相器)或74LS07(缓冲驱动器)等TTL电路驱动。本例可改为74LS07或HC245(无反相)。 段要接限流电阻。一般LED工作电流5mA左右,电阻可取300~560Ω。 动态显示要安排显示缓冲区,本例为70H~75H,共6位。 内容:06 13 05 09 09 01, 显示:1995. 6 查表法字形显示译码,共阳译码表,有21种字型,见表7-5。 程序阅读: 8155方式控制字06H:C口出,B口出,A口入; 8155命令口基本地址:8000H;PB口:8002H;PC口:8003H; R0:显示缓冲区地址指针,首址70H; (R0):待显示字形代码(字形码地址偏移量),送PB口; R3:显示数码管位地址,同时只能有一位数码管点亮,送PC口。每位数码点亮1ms。 DISPLY1: MOV R0, #70H; MOV R3, ; MOV A, R3 LD0:MOV DPTR, #8003H; 显示位码送PC口 MOVX @DPTR, A; PC0为低,LED0选中显示。以下语句为用查表法查出欲显示字符字形码后,送PB口显示。 注意:偏移量的修正值=13(0DH)(距字形码表头地址差值); JNB ACC.5, LD1; LED5是否已显示(=0)?是:结束返回。 RL A;→…………)
文档评论(0)