微机原理与接口技术习题集2
497. 编写8255A的A口和B口都工作在方程式1,采用中断方式输入数据的程序 【参考答案】 P83例77
设8255A的口地址为:40H~43H,C口的PC6 、PC 7为输入,因A口、B口工作在方式1,故工作方式控制字为:10111110B,其中D 0可为0或1,这里选为0。A口允许中断,PC4置1,控制字为09H。B口允许中断,PC2置“1”,控制字为05H。故初始化程序段如下: MOV AL, 10111110B ;写入工作方程式控制字 OUT 43H, AL MOV AL, 09H OUT 43H, AL ;PC4置“1”,A口允许中断 MOV AL, 05H OUT 43H, AL ;PC2置“1”,B口允许中断
498. 8255A的方式0的应用实例 【参考答案】P83例78
设8255A的A口和B口工作在方式0,A口为输入端口,接有4个开关;B口为输出端口,接有一个七段发光二极管,其硬件连接电路如图46所示。试编一程序要求七段发光二极管显示开关所拨通的数字。
管显示
本例中8255A的端口地址由两部分电路组成:由CPU地址线A15~A3通过74LS138译码器产生片选信号;CPU的地址线A2、A1分别组成4个端口地址,而CPU的A0与译码器输出端Y4通过逻辑组合,保证8255A的四个端口地址为偶地址,这样8位的8255A与16位的8086CPU可以通过数据总线D7~D0传送8位信息,具体端口地址分配为:A口地址为8020H,B口地址为8022H,C口地址为8024H,控制口地址为8026H。
从图可知,七段发光二极管为共阳极LED器件,要让a段亮点,要求从PB0段输出高电平“1”; 要让b段熄灭,要求从PB1段输出低电平“0”,其余各段依次类推。8255A的A口接有开关,4位开关的组合可为0~FH。为此,我们可将在LED上显示0~FH的各字符代码
列表见表2。
APORT BPORT CONTR DATA TAB1 DATA CODE ASSUME START:
ADDR1:
ADDR2:
CODE
ENDS SEGMENT
CS: CODE, DS:DATA MOV AX, DATA MOV DS, AX MOV AL, 90H MOV DX, CONTR OUT DX, AL MOV DX, APORT IN AL, DX AND AL, 0FH MOV BX, OFFSET TAB1 XLAT MOV DX, BPORT OUT DX, AL MOV CX, 0400H DEC CX JNZ ADDR2 JMP ADDR1 ENDS END START
EQU 8020H EQU 8022H EQU 8026H SEGMENT
DB 3FH, 06H, 5BH, 4FH.
;设定8255A工作方式
;取开关值
;屏蔽高4位 ;取代码表首址 ;找到字符代码 ;输出显示
;显示延时
499. 编写8255A用于LED显示器接口程序 【参考答案】P85 例79
8086CPU通过8255A同开关K与7段LED显示器的接口如图47所示。开关设置的二进制信息由8255A的B口输入,经程序转换为对应的七段LED的段选码(字形码)后,通过A口输出。由七段LED显示二进制状态值,试编写其控制程序。
设8255A得端口地址为: 端口A:0FFF8H 端口B:0FFFAH 端口C:0FFFCH 控制口:0FFFEH
为增加8255A的负载能力,所以A口经驱动器同七段LED显示器相连。由图47可见,8255A的地址线A1、A0分别同地址锁存器输出的A2、A1相连,故每个端口可有二个端口地址,如A口为0FFF8H和0FFF9H,可认为未参加译码的地址线A0为0的地址,所以通常使用0FFF8H地址。
假设B口用输入,则8255A工作方式控制字为82H。 程序如下: ORG 2000H ;从2000H开始存放数据 MOV AL, 82H ;只工作方式控制字 MOV DX,0FFFEH OUT DX, AL RDPOR
MOV DL, 0FAH ;读入B口信息
TB: IN AL, DX
;屏蔽AL高四位,B口读入的信息
AND AL, 0FH
只低四位有效
MOV BX,OFFFSET SSEGCODE ;地址指针BX指向段选码表首地址 XLAT ;[BX+AL]→AL
;段选码→A口,由七段LED显示
MOV DL, 0F8H
器显示
OUT DX, AL
;延时,使读入的信息保持显示一段
MOV AX, 56CH
时间
DELAY: DEC AX JNZ DELAY JMP RDPORTB ;进入新一轮的操作 HLT ORG 2500H ;从2500H开始为段选码表
如果要求LED显示器循环显示0-F十六个数字,每个数字显示10s,显示100遍。则控制程序为: ORG 2000H MOV AL,82H MOV DX,0FFFEH OUT DX,AL MOV BX,100 ;循环100次 DISFLOP: LEA DI,SSEGCODE ;指向段选码表 MOV CX,16 ;显示字符个数 LOP MOV AL,[DI] ;取显示字符送A口 MOV DL,0F8H OUT DX,AL INC DI ;修改显示指针 CALL DELAY10s ;延时10s字程序 LOOP LOP ;每遍循环16次 DEC BX ;修改大循环指针 JNZ DISFLOP HLT ORG 2500H SEEG
DB 0C0H,0F9H,0A4H,0B0H,99H,92H,82H,0F8H,80H,
CODE: DB 98H,88H,83H,DB 0C6H,0A1H,86H,8EH
500. 编写用8255A按位置位/复位控制字控制发光二级
管依次显示亮灭的程序
【参考答案】P87 例80 利用8244A端口C的8根I/O线接8只发光二级管的正
极(8个负极均接地),用按位置位/复位控制字编写使
这8只发光二级管依次亮、灭的程序。设8255A的端口
地址为480~483H。
本例要使用8255A的两个控制字:方式控制字和按位置
位/复位控制字。这两个控制字都写入到8255A的控制
字寄存器,由它的D7位为1或0来区分写入的控制字
是方式控制字还是按位置位/复位控制字。方式控制字只
写入一次,其后写入的都是按位置位/复位控制字。
首先用置位字01H点亮PC0所连接的发光二极管,然后将置位字01H改为复位字00H,熄灭该发光二极管。再将复位字00H改为置位字03H,点亮PC1所连接的发
图48程序流程图
光二极管,又将置位字03H改为复位字02H,熄灭该发光二极管。置位和复位自己就这样交替变化如下:
01H→00H→03H→02H→05H→04H→ →0FH→0EH→01H→
置位字和复位字周而复始地不断循环,即可使8只连接在PC端口的发光二极管依次亮灭。每一位的置位字改为复位字仅需将D0为由1变为0,这可用屏蔽D0为的逻辑与指令完成。把PCi的复位字改为PCi+1的置位字,要将D0位由0变为1,同时还要将D3~D13位加1,即要将D3~D0的4位加3,这可用加3的指令实现。这样不断地加3,其进位一定会使D7 也变为1,致使置位字变成方式字,为了避免出现此情况,所以加3后还要将置位字的D7位或高4位清零,即和0FH逻辑与,该程序的流程图如图48所示。程序如下: MOV DX,383H ;383H为控制字寄存器的端口地址 MOV AL,80H ;方式选择字 OUT DX,AL MOV AL,1 ;PC0的置位控制字 AGAIN: OUT DX,AL ;点亮一只发光的二极管 LOOP $ ;延时 LOOP $ AND AL,0FEH ;置位字改为复位字 OUT DX,AL ;熄灭点亮的发光二极管
;PCi→PCi+1,复位字改为下一位的置
ADD AL,3
位字
AND AL,0FH ;保持D7为0 PUSH AX MOV AH,11 ;检查按键有无输入 IVT 21H ;无,0送AL,有,-1送AL INC AL POP AX JNZ AGAIN
501. 编写8255A工作在方式0、方式1和方式2等不同形式的初始化程序 【参考答案】P88 例81
假设8255A端口A地址为0500H,是编写8255A工作在以下方式:
(1) 将A组和B组置成方式0,端口A和C作为输入端口,端口B作为输出端口; (2) 将A组置成方式2,B组置成方式1,端口B作为一个输出端口;
(3) 将A组置成方式1,且端口A作为输入端口,可PC6和PC7作为输出;B组置成
方式1,且端口B作为输入端口。
以下为8255A工作在上述三种情况下的方式控制字及程序。 1) 方式控制字为:10011001B即99H 程序为: …… 此处隐藏:3479字,全部文档内容请下载后查看。喜欢就下载吧 ……
相关推荐:
- [幼儿教育]【完整版】2019-2025年中国药物发现外
- [幼儿教育]2018-2019年初中信息技术广东初一竞赛
- [幼儿教育]最新外研版(一起)小学英语五年级上册《
- [幼儿教育]农业推广与创新管理专业 -中农大毕业论
- [幼儿教育]2017-2022年中国更年期用药行业市场深
- [幼儿教育]数学1.1.2第1课时棱柱、棱锥和棱台的结
- [幼儿教育]二年级群文阅读课例欣赏
- [幼儿教育]2010-2015年中国保险行业投资分析及深
- [幼儿教育]厄运打不垮的信念第一课时
- [幼儿教育]巧用文本,让表达在言语中绽放论文
- [幼儿教育]中学生百科知识竞赛题及答案
- [幼儿教育]八大菜系英文简介
- [幼儿教育]中国男装牛仔裤市场发展研究及投资前景
- [幼儿教育]远程数字视频监控系统在银行的应用
- [幼儿教育]光纤光缆制造工艺及设备
- [幼儿教育]国家安全法试题及答案
- [幼儿教育]2011高中提前招生及竞赛试题(物理卷1)
- [幼儿教育]宁夏第三产业房地产业、科学研究和技术
- [幼儿教育]中兴通讯 ME3000模块用户硬件设计手册_
- [幼儿教育]紫外线灯管的辐照强度问题
- 苏联东欧剧变的原因和历史教训浅析
- 人工智能导论实验报告(学生)
- 思科ITE章考试原题及答案
- 《学习雷锋好榜样》主题班会教案
- 加油站建设项目安全评价报告
- 剖析社保卡管理系统
- 2017-2018年影视剧新媒体版权运营行业
- 2017-2018学年四川省成都市高一上学期
- 2019最新高中数学 第三章 3.2.1 几类不
- 2011-2015年中国基酸市场调查及行业前
- 人教版新课标选修八Unit 1 课件Warming
- 郭溪燎原小学辅导学生记录表
- 教师资格证统考综合素质写作秘笈
- 国外校园绿色建筑研究方向与建设实践
- 15.1 动物运动的方式 课件(北师大版八
- 民用飞机空调系统
- 长安侠文化传统与唐诗的任侠主题
- 《中国近现代史纲要》名词解释
- 11金本《保险学概论》复习资料
- 民用建筑机电安装工程专业施工图图纸会




