习题

习题

7-1 结合第6章6.1节实例回答以下问题。

1)为什么在主程序初始化段采用“PO10:MOV P1,#7FH”语句?如不对P1接口初始化会产生什么后果?

2)在图7-1中触发器D端的高电平是怎么来的?即当CPU执行“MOV P1,#7FH”指令时,内部数据总线为什么能对触发器D端施加高电平?

7-2 现要求在P1接口循环输出00H、01H、…、FFH这256个数据,试编制程序。

7-3 从P1接口输入8位二进制数x,若x>50H,则在P2接口输出FFH,否则在P2接口输出00H,试编制程序。

7-4 如图7-67所示电路,要求编制程序实现如下功能:

1)若S1闭合,S2断开,则绿灯亮,红灯和黄灯灭。

2)若S1断开,S2闭合,则红灯亮,绿灯和黄灯灭。

3)若S1、S2都闭合或都断开,则黄灯壳,绿灯和红灯灭。

978-7-111-46831-8-Chapter07-183.jpg

图7-67 第4题电路图

7-5 设计电路,8255的A口用作输入,B口用作输出。当A口某一位输入为高电平时,B口相应的位输出低电平,试编写此程序。

7-6 设一输入设备通过8255与MCS-51系列单片机连接,在中断方式下输入数据,存于BUF为始址的内部RAM,当数据为00H时停止输入,试画出8255与8031的电路连接图,并编制程序。

7-7 请用中断法编出串行接口方式1下的发送程序。设单片机主频为6MHz,波特率为300bit/s,发送数据缓冲区在片外RAM,始址为TBOLCK,数据块长度为30个数据,采用偶校验,放在发送数据的第8位。

7-8 请用中断法编出串行接口方式1下的接收程序。设单片机主频为6MHz,波特率为600bit/s,接收数据缓冲区在片外RAM,始址为RBOLCK,接收数据块长度为30个数据,采用偶校验。

7-9 以P1接口作为输出口,控制4组LED灯(可发红、绿),模拟交通灯管理。假设一个十字路口为东西南北走向。初始状态0为东西红灯,南北红灯;然后转状态1南北绿灯通车,东西红灯;过一段时间转状态2,东西绿灯通车,南北红灯;最后循环至状态1。

在此基础上增加允许急救车优先通过的要求。有急救车到达时,两向交通信号为全红,以便让急救车通过。假定急救车通过路口时间为10s,急救车通过后,交通灯恢复中断前状态。以按键为中断申请,表示有急救车通过。试设计电路图、画出程序流程图,并编制程序。

7-10 编写程序,画出电路图,使用8255可编程并行接口芯片,来检测8位拨动开关的状态,并控制8位发光二极管。使得8位发光二极管的亮灭变化与8位拨动开关的状态相一致。实验中用8255PA口作输入,PB口做输出。

7-11 AT89S51单片机时钟频率11.0592MHz,选用定时器模式方式工作波特率发生器,波特率为2400波特,求初值。