第7章常用数字接口电路武汉理工大学课件.ppt

第7章常用数字接口电路武汉理工大学课件.ppt

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
综上所述,只要CPU通过段控制端口送出段代码,然后通过位控制端口送出位代码,指定的数码管便显示相应的数字。如果CPU顺序地输出段码和位码,依次让每个数码管显示数字,并不断地重复,当重复频率达到一定程度,利用人眼的视觉暂留特性,从数码管上便可见到相当稳定的数字显示。 程序设计时可以开辟一个BUFDATA缓冲区,依次存放要显示的数字。还需要建立一个显示代码表TABLE,依次存放0~F对应的七段显示代码。显示代码是和硬件连接有关的,在图11.18的接口电路中,数字0的显示代码为C0H,1的显示代码为F9H,…。 下面是一段将8位数码管依次显示一遍的子程序。 MOV DI, OFFSET BUFDATA;指向数字缓冲区 MOV CL, 0FEH ;指向最右边数码管 DISP: MOV AL, [DI] ;取出数字 MOV BX, OFFSET TABLE ;指向显示代码表 XLAT ;得到显示代码 MOV DX, SEGPORT ;SEGPORT为段控制端口 OUT DX, AL ;送出段码 MOV AL, CL ;取出位显示代码 MOV DX, BITPORT ;BITPORT为位控制端口 OUT DX, AL ;送出位码 CALL DELAY ;延时1ms,让数码管有充分的点亮时间 INC DI ;指向下一个数字 ROL CL,1 ;指向下一个数码管 CMP CL, 0FEH;是否指向最右边的数码管 JNZ DISP ;没有,显示下一个数字 RET ;8位数码管都显示一遍,返回 TABLE DB 0C0H,0F9H,0A4H,0B0H ;显示代码表 DB 99H,92H,82H,0F8H DB 80H,98H,88H,83H DB 0C6H,0A1H,86H,8EH BUFDATA DB 8 DUP(0) ;数字缓冲区 例:设8255A的端口地址为344H~347H。由16个按键组成4?4矩阵式键盘,编写程序读取按键(定义键值为0~F)将键值写入输出口,在数码管上显示,以观察输入的键位。 电路图如图所示。 6. 8255A与键盘/LED接口 8255A与键盘和LED连接电路 8255A PB0 PB1 PB2 PB3 PB4 PB5 PB6 PB7 PC7 PC6 PC5 PC4 PC3 PC2 PC1 PC0 LED3 LED2 LED1 LED0 +5V D0~D7 D0~D7 RD WR A0 A1 RST CS IOR IOW A0 A1 Reset Y1 程序流程如下: 开始 在CRT上显示提示信息 写8255A控制字80H 字型码送B口 延时且关指示灯 写8255A控制字88H 有键按下 行扫描键盘 列扫描键盘 延时消抖等待释放 S1~S4按下否 退 出 Y N N Y 流程图 相应程序如下: DATA SEGMENT disc DB 0BBH, 0A0H, 097H, 0B5H, 0ACH, 3DH DB 3FH, 0A1H, 0BFH, 0BDH, 0AFH, 3EH, 0B6H DB 1FH, 0FH ; 0~f 显示段码表 DISO DB ? Press any of the keys to quit !?. 24H ; 提示信息 DQQ DB 0 DATA Ends CODE SEGMENT MAIN PROC FAR ASSUME CS:CODE DS:DATA START: MOV AL, 3 ; 清屏幕 MOV AH, 0 INT 10H MOV AX, DATA ;显示提示信息 MOV DS, AX MOV AH, 2 ;光标定位 MOV BH, 0 MOV DX, 0614H INT 10H MOV DX,

文档评论(0)

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

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

1亿VIP精品文档

相关文档