单片机九十章部分答案.doc
- 文档编号:235146
- 上传时间:2022-10-07
- 格式:DOC
- 页数:5
- 大小:51.50KB
单片机九十章部分答案.doc
《单片机九十章部分答案.doc》由会员分享,可在线阅读,更多相关《单片机九十章部分答案.doc(5页珍藏版)》请在冰豆网上搜索。
第9章AT89C51单片机扩展I/O接口的设计
1.判断下列说法是否正确,为什么?
(1)由于81C55不具有地址锁存功能,因此在与AT89C51芯片的接口电路中必须加地址锁存器。
(2)在81C55芯片中,决定端口和RAM单元编址的信号是AD7~AD0和。
(3)82C55具有三态缓冲器,因此可以直接挂在系统的数据总线上。
(4)82C55的PB口可以设置成方式2。
答:
(1)错,81C55具有地址锁存功能。
(2)错,在81C55芯片中,引脚IO/M*、A2、A1、A0决定端口地址和RAM单元编址。
(3)错,82C55不具有三态缓冲器。
(4)错,82C55的PB口只可以设置成方式0和方式1。
4.常用的I/O端口编址有哪两种方式?
它们各有什么特点?
AT89C51单片机的I/O端口编址采用的是哪种方式?
答:
有两种。
(1)独立编址方式。
就是I/O地址空间和存储器地址空间分开编址。
其优点是,I/O地址空间和存储器地址空间相互独立,界限分明。
但是,却需要设置一套专门的读/写I/O的指令和控制信号。
(2)统一编址方式。
它是把I/O端口的寄存器与数据存储器单元同等对待,统一编址。
统一编址的优点是不需要专门的I/O指令,直接使用访问数据存储器的指令进行I/O操作,简单、方便且功能强大。
89C51单片机使用的是I/O和外部数据存储器RAM统一编址的方式。
5.82C55的“方式控制字”和“PC口按位置位/复位控制字”都可以写入82C55的同一控制寄存器,82C55是如何来区分这两个控制字的?
答:
82C55通过写入控制字寄存器的控制字最高位来判断,最高位为1时,为方式控制字;最高位为0时,为PC口按位置位/复位控制字。
6.编写程序,采用82C55的PC口按位置位/复位控制字,将PC7置“0”,PC4置“1”(已知82C55各端口的地址为7FFCH~7FFFH)。
答:
本题主要考察对82C55的PC口的操作。
其方式控制字的最高位为0时,低4位对PC口进行置位。
由题目可知方式控制寄存器的地址为7FFFH。
ORG 0100H
MAIN:
MOV DPTR,#7FFFH ;控制字寄存器地址7FFFH送DPTR
MOV A,#0EH ;将PC7置0
MOVX @DPTR,A
MOV A,#09H ;将PC4置1
MOVX @DPTR,A
END
7.由图9-6来说明82C55的PA口在方式1的应答联络输入方式下的工作过程。
答:
当外设输入一个数据并送到PA7~PA0上时,输入设备自动在选通输入线向82C55发送一个低电平选通信号,则把PA7~PA0上输入的数据存入PA口的输入数据缓冲/锁存器;然后使输入缓冲器输出线IBFA变成高电平,以通知输入设备,82C55的PA口已收到它送来的输入数据。
82C55检测到联络线由低电平变成了高电平、IBFA为1状态和中断允许触发器INTEA为1时,使输出线INTRA(PC3)变成高电平,向89C51发出中断请求。
INTEA的状态可由用户通过对PC4的置位/复位来控制。
89C51响应中断后,可以通过中断服务程序从PA口的输入数据缓冲/锁存器读取外设发来的输入数据。
当输入数据被CPU读走后,82C55撤销INTRA上的中断请求,并使IBFA变为低电平,以通知输入外设可以送下一个输入数据。
8.81C55的端口都有哪些?
哪些引脚决定端口的地址?
引脚TIMERIN和的作用是什么?
答:
81C55的端口有以下几种:
命令/状态寄存器、PA口、PB口、PC口、计数器的高8位寄存器与低8位寄存器以及RAM单元。
引脚IO/,A2、A1、A0决定端口地址。
TIMERIN是计数脉冲输入引脚,输入脉冲的上跳沿用于对81C55片内的14位计数器减1。
为计数器输出引脚。
当14位计数器减为0时,就在该引线上输出脉冲或方波,输出的信号波形与所选的计数器工作方式有关。
9.现有一片AT89C51单片机,扩展了一片82C55,若把82C55的PB口用作输入,PB口的每一位接一个开关,PA口用作输出,每一位接一个发光二极管,请画出电路原理图,并编写出PB口某一位开关接高电平时,PA口相应位发光二极管被点亮的程序。
答:
电路图可以参考图9-10,PA口每一位接二极管的正极,二极管的负极接地。
PB口每1位接一开关和上拉电阻,开关另一端直接接地。
这样只需要将读到的PB口的值送给PA口就可以满足题目要求了。
ORG 0100H
MIAN:
MOV A,#10000010B ;设置PA口方式0输出,PB口方式0输入
MOV DPTR,#0FF7FH ;控制口地址送DPTR
MOVX @DPTR,A ;送方式控制字
MOV DPTR,#0FF7DH ;PB口地址送DPTR
MOVX A,@DPTR ;读入开关信息
MOV DPTR,#0FF7CH ;PA口地址送DPTR
MOVX @DPTR,A ;PA口的内容送PB口点亮相应的二极管
END
10.假设81C55的TIMERIN引脚输入的频率为4MHz,问81C55的最大定时时间是多少?
答:
81C55计数器的初值范围是3FFFH~2H。
当频率为4MHz,初值为3FFFH时,最大定时时间为0.004096s。
11.假设81C55的TIMERIN引脚输入的脉冲频率为1MHz,请编写在81C55的引脚上输出周期为10ms的方波的程序(假设I/O口地址为7F00H~7F05H)。
答:
将1MHz的脉冲改变为10ms的方波,实际上就是分频。
分频前后频率之比为100∶1,这样只要将定时器初值设置为64H就可以了(假设I/O口地址为7F00H~7F05H)。
START:
MOV DPTR,#7F04H ;指针指向计数器低8位
MOV A,#64H ;送初值给A
MOVX @DPTR,A ;初值送给计数器低8位
INC DPTR ;指向计数器高8位
MOV A,#40H ;计数器方波输出
MOVX @DPTR,A
MOV DPTR,#7F00H ;指向命令/状态口
MOV A,#0C2H ;设定控制字
MOVX @DPTR,A ;启动计数器
END
第10章AT89C51单片机与输入外设和输出外设的接口设计
1.下列项说法正确。
A.HD7279是一个用于键盘和LED显示器的专用接口芯片
B.在单片机与微型打印机的接口中,打印机的BUSY信号可作为查询信号或中断请求信号使用
C.为给扫描法工作的8 ´ 8键盘提供接口电路,在接口电路中只需要提供两个输入口和一个输出口
D.LED显示器的字型码是固定不变的
答:
A.对;B.对;C.错;D.错。
2.为什么要消除按键的机械抖动?
软件消除按键机械抖动的原理是什么?
答:
在按键的闭合和断开过程中,由于开关的机械特性,导致了按键抖动的产生。
如果不消除按键的机械抖动,按键的状态读取将有可能出现错误。
消除按键抖动一般是采用软件或硬件去抖。
软件去抖的原理是,在第一次检测到有键按下时,该键所对应的行线为低电平,执行一端延时10ms的子程序后,确认该行线电平是否仍然为低电平,如果仍为低电平,则确认该行确实有键按下。
4.写出表10-1中仅显示小数点“.”的段码。
答:
80H(共阴极);7FH(共阳极)。
5.说明矩阵式键盘按键按下的识别原理。
答:
按键设置在行、列线交点上,行、列线分别连接到按键开关的两端。
行线通过上拉电阻接到+5V上,无按键按下时,行线处于高电平状态,而当有按键按下时,行线电平状态将由与此行线相连的列线的电平决定。
列线的电平如果为低,则行线电平为低;列线的电平如果为高,则行线的电平亦为高。
将行、列线信号配合起来并做适当的处理,才能确定闭合键的位置。
6.对于图10-10所示的键盘,采用线反转法原理编写出识别某一按键被按下并得到其键号的程序。
答:
先对P1口高4位送低电平,读取P1口低4位的值;再对P1口低4位送低电平,读取P1口高4位的值,将两次读到的值组合在一起就得到了按键的特征码,再根据特征码查找键值。
参考程序如下:
KEYIN:
MOV P1,#0FH ;反转读键
MOV A,P1
ANL A,#0FH
MOV B,A
MOV P1,#0F0H
MOV A,P1
ANL A,#0F0H
ORL A,B
CJNE A,#0FFH,KEYIN1
RET ;未按键
KEYIN1:
MOV B,A ;暂存特征码
MOV DPTR,#KEYCOD ;指向特征码表
MOV R3,#0FFH ;顺序码初始化
KEYIN2:
INC R3
MOV A,R3
MOVC A,@A+DPTR
CJNE A,B,KEYIN3
MOV A,R3 ;找到,取顺序码
RET
KEYIN3:
CJNE A,#0FFH,KEYIN2 ;未完,再查
RET ;已查完,未找到,以未按键处理
KEYCOD:
DB 0E7H,0EBH,0EDH,0EEH ;特征码表
DB 0D7H,0DBH,0DDH,0DEH
DB 0B7H,0BBH,0BDH,0BEH
DB 77H,7BH,7DH,7EH
9.简述TPmP-40A/16A微型打印机的Centronics接口的主要信号线及功能,与AT89C51单片机相连接时,如何连接几条控制线?
答:
DB0~DB7——数据线,单向传输,由单片机输入给打印机。
STB(STROBE)——数据选通信号。
在该信号的上升沿,数据线上的8位并行数据被打印机读入机内锁存。
BUSY——打印机忙状态信号。
当该信号有效(高电平)时,表示打印机正忙于处理数据。
此时,单片机不得使STB信号有效,向打印机送入新的数据。
ACK——打印机的应答信号。
低电平有效,表明打印机已取走数据线上的数据。
ERR——出错信号。
当送入打印机的命令格式出错时,打印机立即打印1行出错信息,提示出错。
在打印出错信息之前。
该信号线出现一个负脉冲,脉冲宽度为30ms。
用一条地址线来控制写选通信号STB和读取BUSY引脚状态。
10.如果把图10-25所示的打印机的BUSY线断开,然后与AT89C51单片机的线相接,请简述电路的工作原理并编写将以20H为起始地址的连续20个内存单元中的内容输出的打印程序。
答:
本程序采用外部中断来完成数据打印,先打印一个数据,当BUSY线从高电平变成低电平时,再打印下一个数据。
参考程序如下:
ORG 0000H
LJMP MAIN
ORG 0003H
LJMP IN
ORG 0030H
MAIN:
SETB EX0 ;允许外部中断
SETB IT0
SETB EA
MOV R0,#7FH ;控制口地址
MOV A,#81H ;控制字
MOVX @R0,A
MOV R1,#20H ;数据区首地址
MOV R2,#19 ;计数器
MOV A,@R1 ;打印内容
MOV R0,#7CH ;A口地址
MOVX @R0,A
MOV R0,#7FH
MOV A,#0EH
MOVX @R0,A ;PC7=0
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 单片机 九十 部分 答案