41564736.doc集 - 24 - 编者:喻其山
第 9 章 并行接口与串行接口
9.1 可编程并行接口芯片8255A面向I/O设备一侧的端口有几个?其中C口的
使用有哪些特点? 9.2 试分别说明可编程并行接口芯片8255A的方式控制字和置位/复位字的作用
及其格式中每位的含义是什么? 9.3 “由于8255A的端口C按位置位/复位控制字是对C口进行操作,所以可以
写到C口”,这句话对吗?为什么? 答:(1)、不对!
(2)、因为该控制字按规定只能写入控制口,而且D7=0。 9.4 如何对8255A进行初始化编程?
答:通过向8255A控制口设定方式选择控制字来进行初始化编程。方式选
择控制字的格式如下图所示: 1 D6 D5 D4 D3 D2 D1 D0 方式选择控制 PC3~PC0:1—输入,0—输出 字的标识位 端口B:1—输入,0—输出 A组方式选择 端口A B组方式选择:0—方式0,1—方式1 00—方式0 1—输入 01PC7~PC4:1—输入,0—输出 —方式1 0—输出 1x —方式2 9.4图:方式选择控制字的格式
9.5 可编程并行接口芯片8255A有哪几种工作方式?各自的特点何在? 9.6 在方式1下输入和输出时,其专用联络信号是如何定义的?
9.7 现有4种简单的外设:①一组8位开关;②一组8位LED指示灯;③一个
按钮开关;④一个蜂鸣片。要求:
(1)用8255A作为接口芯片,将这些外设构成一个简单的微机应用系统,画出接口连接图。
(2)编制3种驱动程序,每个程序必须包括至少有两种外设共同作用的操作(例如,根据8位开关“ON”和“OFF”的状态来决定8个LED指示灯“亮”和“灭”。又如,当按下按钮开关时,才使蜂鸣片发声等)。(方式0和方式1下,在按下按钮并释放后,再根据8位开关“ON”和“OFF”的状态来决定8个LED指示灯“亮”和“灭”。 使用查询方式。)
答:(1)、接口连接图如下:8255与CPU的连接省略。
41564736.doc集 - 25 - 编者:喻其山 +5V D7 D6 D5 D4 D3 D2 D1 D0 1K 1K 1K 1K 1K 1K 1K 1K PB7 PB6 PB5 PB4 PB3 PB2 PB1 PB0 PC0 KN 8255 PC4 PA7 PA6 PA5 PA4 PA3 PA2 PA1 PA0 5K 5K 5K 5K 5K 5K 5K 5K 5K K7 K6 K5 K4 K3 K2 K1 K0 图中,PB口经限流电阻接8位LED指示灯;PA口经上拉电阻接8位开关,PC4经上拉电阻接按钮开关(作为PA口工作于方式1输入的选通信号STBA),PC0接蜂鸣片。假设8255的端口地址为60H、61H、62H、63H,地址译码电路图中未画出。
(2)、8255初始化程序段如下:A口方式0输入,B口方式0输出,C
口低4位输出、高4位输入。
MOV AL, 10011000B ;8255方式控制字98H OUT 63H, AL ; 控制口 MOV AL, 0FFH ;关闭8位LED指示灯 OUT 61H, AL ;B口 OUT 62H, AL ;C口,禁鸣蜂鸣片
;驱动程序1如下:根据8位开关“ON”和“OFF”的状态来决定8个LED
指示灯“亮”和“灭”。 NEXT: IN AL, 60H ;输入A口的8位开关状态
OUT 61H, AL ;送B口8位LED指示灯显示 JMP NEXT ;死循环输入并显示
;驱动程序2如下:当按下按钮开关时,才使蜂鸣片发声。 VOICE: IN AL, 62H ;输入C口的按钮开关状态
TEST AL, 10H ;PC4=0? JNZ VOICE_OFF MOV AL, 00H
41564736.doc集 - 26 - 编者:喻其山
OUT CALL JMP
VOICE_OFF:
MOV OUT JMP
63H,AL DELAY2S VOICE AL, 01H 63H,AL VOICE
;置PC0=0,发声 ;延时2秒
;置PC0=1,关闭声音 ;死循环检测发声
;驱动程序3如下:A口工作于方式0下,在按下按钮并释放后,再根据
8位开关“ON”和“OFF”的状态来决定8个LED指示灯“亮”和“灭”。使用查询方式。
LED0_OFF: IN AL, 62H ;输入C口的按钮开关状态
TEST AL, 10H ;PC4=0? JNZ LED0_OFF ;没有按按钮,继续等待按下
LED0_ON: IN AL, 62H ;输入C口的按钮开关状态
TEST AL, 10H ;PC4=0? JZ LED0_ON ;仍然按下,继续等待释放 IN AL, 60H ;输入A口的8位开关状态 OUT 61H, AL ;送B口8位LED指示灯显示 JMP LED0_OFF ;死循环输入并显示 ;驱动程序4如下:8255初始化程序段:A口方式1输入,B口方式0
输出,C口低4位输出、高4位配合A口工作。
MOV AL, 10110000B ;8255方式控制字0B0H OUT 63H, AL ; 控制口 MOV AL, 0FFH ;关闭8位LED指示灯 OUT 61H, AL ;B口 OUT 62H, AL ;C口,禁鸣蜂鸣片
;A口工作于方式1下,在按下按钮并释放后,再根据8位开关“ON”和
“OFF”的状态来决定8个LED指示灯“亮”和“灭”。使用查询方式。 LED1_OFF: IN AL, 62H ;输入C口的状态
TEST AL, 20H ;PC5=0?(PC5为IBFA) JZ LED1_OFF ;没有按按钮,继续等待STBA IN AL, 60H ;IBFA=1,输入A口的8位开关状态 OUT 61H, AL ;送B口8位LED指示灯显示 JMP LED1_OFF ;死循环输入并显示 9.8 串行传送的特点是什么?
9.9 什么是串行传送的全双工和半双工? 9.10 调制解调器(MODEM)在通信中的作用?
9.11 什么是波特率?发送时钟和接收时钟与波特率有什么关系?
41564736.doc集 - 27 - 编者:喻其山
9.12 串行通信按信号格式分为哪两种?这两种格式有何不同? 9.13 串行接口的基本功能有哪些? 9.14 试简述8251A内部结构及工作过程。
9.15 试说明8251A的方式控制字、操作控制字和状态字各位的含义及它们之间
的关系。在对8251A进行初始化编程时,应按什么顺序向它的控制口写入控制字 9.16 某系统中使可编程串行接口芯片8251A工作在异步方式,7位数字,不带
校验,2位停止位,波特率因子为16,允许发送也允许接收,若已知其控制口地址为04A2H,试编写初始化程序。
答:程序段如下:方式字为11001010B=CAH,控制字为00010101B=15H INIT8251: MOV AL, 0CAH ;方式字
MOV DX, 04A2H OUT DX, AL ;控制口 MOV AL, 15H ;控制字 OUT DX, AL ;控制口 9.17 设8251A的控制口和状态口地址为04A2H,数据输入/输出口地址为04A0H
(输出端口未用),输入100个字符,并将字符放在buffer所指的内存缓冲区中。请写出这段的程序。
答:程序段如下:方式字为11001010B=CAH,控制字为00010101B=15H INIT8251: MOV AL, 0CAH ;方式字
MOV DX, 04A2H OUT DX, AL ;控制口 MOV AL, 15H ;控制字 OUT DX, AL ;控制口 MOV CX,100
LEA SI, buffer ;输入缓冲区
RECEV: MOV DX, 04A2H
IN AL, DX ;读取状态 TEST AL, 02H ;RxRDY=1? JZ RECEV TEST AL, 38H ;输入数据有三种错误之一吗? JNZ ERROR
MOV DX, 04A0H ;数据口 IN AL, DX ;输入数据
AND AL, 7FH ;7位数据,清除最高位 MOV [SI], AL INC SI
LOOP RECEV JMP STOP
41564736.doc集 - 28 - 编者:喻其山
ERROR: ?? STOP: ??
9.18 在图9-17两台微机串行通信例子中,在不改变硬件的情况下,通信双方的约定改为1位停止位、奇校验、波特率因子为16,其他参数不变,试编写出两机的初始化程序。
答:发送部分初始化程序段如下:
方式字为01011110B=5EH,控制字为00110111B=37H INIT8251A: MOV DX, 309H
MOV AL,0 ;先写三个00H OUT DX, AL ;控制口 OUT DX, AL OUT DX, AL MOV AL,40 ;40H,软件复位命令 OUT DX, AL ;控制口 MOV AL, 5EH ;方式字 OUT DX, AL MOV AL, 37H ;控制字 OUT DX, AL
接收部分初始化程序段如下:
方式字为01011110B=5EH,控制字为00110111B=14H INIT8251B: MOV DX, 309H
MOV AL,0 ;先写三个00H OUT DX, AL ;控制口 OUT DX, AL OUT DX, AL MOV AL,40 ;40H,软件复位命令 OUT DX, AL ;控制口 MOV AL, 5EH ;方式字 OUT DX, AL MOV AL, 14H ;控制字 OUT DX, AL
第 10 章 总线
10.1 什么是总线?微型计算机的总线由哪些部分组成?各部分的作用是什? 10.2 什么是总线标准?试简述总线标准4个特性的含义。
10.3 微机系统中总线的层次结构是怎样的?试说明微机系统中系统总线和局部
总线的概念.局部总线有什么特点?