内容发布更新时间 : 2024/12/23 4:35:19星期一 下面是文章的全部内容请认真阅读。
接收过程:当检测到起始位的负跳变时,则开始接收。接收时,定时控制信号有2种。其中一种是位检测器采样脉冲,它的频率是RX时钟的16倍。也就是在1位数据期间,有16个采样脉冲,以波特率的16倍速率采样RXD引脚状态,当采样到RXD端从1到0的跳变时就启动检测器,接收的值是3次连续采样,取其中2次相同的值,以确认是否是真正的起始位的开始,这样能较好地消除干扰引起的影响,以保证可靠无误地开始接收数据。
12.使用AT89C51的串行口按工作方式1进行串行数据通信,假定波特率为2 400bit/s,以中断方式传送数据,请编写全双工通信程序。 答:请参考教材的P115-P117程序,并作适当改动。
13.某AT89C51单片机串行口,传送数据的帧格式由1个起始位(0)、7个数据位、1个偶校验和1个停止位(1)组成。当该串行口每分钟传送1 800个字符时,试计算出它的波特率。
答:串口每秒钟传送的字符为1800/60=30个字符/秒,所以波特率为30个字符/秒×10位1个字符=300b/s。 14.为什么AT89C51单片机串行口的方式0帧格式没有起始位(0)和停止位(1)? 答:串行口的方式0为同步移位寄存器输入/输出方式,常用于外接移位寄存器,以扩展并行I/O口,一般不用于两个89C51之间的串行通信。该方式以fosc/12的固定波特率从低位到高位发送或接收数据。
15.直接以TTL电平串行传输数据的方式有什么缺点? 答:优点是连线简单,缺点是抗干扰性能差,传输距离短。
第8章 AT89C51单片机扩展存储器的接口设计
1.单片机存储器的主要功能是存储 和 。 答:程序,数据。
2.假设外部数据存储器2000H单元的内容为80H,执行下列指令后累加器A中的内容为 。 MOV P2,#20H MOV R0,#00H MOVX A,@R0
16
答:80H。
3.在存储器扩展中,无论是线选法还是译码法最终都是为扩展芯片的片选端提供 控制信号。 答:片选。
4.起止范围为0000H~3FFFH的存储器的容量是 KB。 答:16KB
5.在AT89C51单片机中,PC和DPTR都用于提供地址,但PC是为访问 存储器提供地址,而DPTR是为访问 存储器提供地址。 答:程序,数据。
6.11条地址线可选 个存储单元,16KB存储单元需要 条地址线。
答:2KB,14。
7.4KB RAM存储器的首地址若为0000H,则末地址为 H。 答:0FFFH。
8.区分AT89C51单片机片外程序存储器和片外数据存储器的最可靠方法是 。
A.看其位于地址范围的低端还是高端 B.看其离AT89C51单片机芯片的远近 C.看其芯片的型号是ROM还是RAM
D.看其是与RD信号连接还是与PSEN信号连接 答:D。
9.试编写一个程序(如将05H和06H拼为56H),设原始数据放在片外数据区2001H单元和2002H单元中,按顺序拼装后的单字节数放入2002H。
答:本题主要考察对外部存储器的读、写操作的编程,只要正确使用MOVX指令就可以了。编程思路:首先读取2001H的值,保存在寄存器A中,将寄存器A的高4位和低4位互换,再屏蔽掉低4位然后将寄存器A的值保存到30H中,然后再读取2002H的值,保存在寄存器A中,屏蔽掉高4位,然后将寄存器A的值与30H进行“或运算”,将运算后的结果保存在2002H中。 ORG 0000H MAIN: MOV DPTR,#2001H ;设置数据指针的初值 MOVX A,@DPTR ;读取2001H的值 SWAP A ANL A,#0F0H ;屏蔽掉低4位 MOV 30H,A ;保存A INC DPTR ;指针指向下一个片外RAM单元 MOVX A,@DPTR ;读取2002H的值 ANL A,#0FH ;屏蔽掉高4位
17
ORL A,30H ;进行拼装 MOVX @DPTR,A ;保存到2002H片外RAM单元 END
10.编写程序,将外部数据存储器中的4000H~40FFH单元全部清“0”。
答:本题主要考察对外部数据块的写操作;编程时只要注意循环次数和MOVX指令的使用就可以了。 ORG 0000H MAIN: MOV A,#0 ;0给A MOV 0,#0FFH ;设置循环次数 MOV DPTR,#4000H ;设置数据指针的初值 LOOP: MOVX @DPTR,A ;当前单元清“0” INC DPTR ;指向下一个单元 DJNZ R0,LOOP ;是否结束 END
11.在AT89C51单片机系统中,外接程序存储器和数据存储器共16位地址线和8位数据线,为何不会发生冲突?
答:因为控制信号线的不同。 外扩的RAM芯片既能读出又能写入,所以通常都有读、写控制引脚,记为OE和WE,它们分别与89C51的RD和WR引脚相连。 外扩的EPROM在正常使用中只能读出,不能写入,故EPROM芯片没有写入控制引脚,只有读出引脚,记为OE,该引脚与89C51单片机的PSEN相连。
12.请写出图8-14中4片程序存储器27128各自所占的地址空间。
答:图中采用了译码法。4片地址分别为0000H~3FFFH、4000H~7FFFH、8000H~BFFFH、C000H~FFFFH。 13.现有AT89C51单片机、74LS373锁存器、1片2764 EPROM和两片6264 RAM,请用它们组成一个单片机应用系统,要求如下: (1)画出硬件电路连线图,并标注主要引脚;
(2)指出该应用系统程序存储器空间和数据存储器空间各自的地址范围。 答:略。
14.图8-22(a)所示为AT89C51单片机中存储器的地址空间分布图。题图8-22(b)为存储器的地址译码电路,为使地址译码电路按题图8-22(a)所示的要求进行正确寻址,要求画出:
(1)A组跨接端子的内部正确连线图。 (2)B组跨接端子的内部正确连线图。 答:
(1)A组跨接端子的内部正确连线图如下左图所示。 (2)B组跨接端子的内部正确连线图如下右图所示。
18
第9章 AT89C51单片机扩展I/O接口的设计
1.判断下列说法是否正确,为什么? (1)由于81C55不具有地址锁存功能,因此在与AT89C51芯片的接口电路中必须加地址锁存器。
(2)在81C55芯片中,决定端口和RAM单元编址的信号是AD7~AD0和WR。
(3)82C55具有三态缓冲器,因此可以直接挂在系统的数据总线上。 (4)82C55的PB口可以设置成方式2。 答:
(1)错,81C55具有地址锁存功能。
(2)错,在81C55芯片中,引脚IO/M*、A2、A1、A0决定端口地址和RAM单元编址。
(3)错,82C55不具有三态缓冲器。
(4)错,82C55的PB口只可以设置成方式0和方式1。
2.I/O接口和I/O端口有什么区别?I/O接口的功能是什么? 答: I/O端口简称I/O口,常指I/O接口电路中具有端口地址的寄存器或缓冲器。I/O接口是指单片机与外设间的I/O接口芯片。 I/O接口的功能:(1)实现和不同外设的速度匹配;(2)输出数据缓存;(3)输入数据三态缓冲。
3.I/O数据传送由哪几种传送方式?分别在哪些场合下使用? 答:(1)同步传送方式。同步传送又称无条件传送。当外设速度可与单片机速度相比拟时,常常采用这种方式。最典型的同步传送就是单片机和外部数据存储器之间的数据传送。
(2)查询传送方式。查询传送又称有条件传送,也称异步传送。单片机通过查询得知外设准备好后,再进行数据传送。异步传送的优点是通用性好,硬件连线和查询程序十分简单,但是效率不高。为了提高单片机的工作效率,通常采
19
用中断方式。
(3)中断传送方式。中断传送方式是利用AT89C51本身的中断功能和I/O接口的中断功能来实现I/O数据的传送。单片机只有在外设准备好后,发出数据传送请求,才中断主程序,进入与外设进行数据传送的中断服务程序,进行数据的传送。中断服务完成后又返回主程序继续执行。因此,采用中断方式可以大大提高单片机的工作效率。
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上时,输入设备自动在选通输入线
STBA向82C55发送一个低电平选通信号,则把PA7~PA0上输入的数据存入
PA口的输入数据缓冲/锁存器;然后使输入缓冲器输出线IBFA变成高电平,以通知输入设备,82C55的PA口已收到它送来的输入数据。82C55检测到联络线STBA由低电平变成了高电平、IBFA为1状态和中断允许触发器INTEA为1时,使输出线INTRA(PC3)变成高电平,向89C51发出中断请求。INTEA的状态可由用户通过对PC4的置位/复位来控制。89C51响应中断后,可以通过中断服务程序从PA口的输入数据缓冲/锁存器读取外设发来的输入数据。当输入数据被CPU读走后,82C55撤销INTRA上的中断请求,并使IBFA变
20