第7章 外部并行扩展的C51编程 《单片机的C语言程序设计及应用》(电工版第4版)章节过关卷

2025-07-29
| 2份
| 10页
| 85人阅读
| 0人下载

内容正文:

《单片机的C语言程序设计及应用》(电工版第4版) 第7章 外部并行扩展的C51编程 章节过关卷 考试时间:90分钟 满分:100分 姓名 班级 学号 1、 单项选择题(本题共20小题,每题2分,共40分) 1.C51单片机扩展外部并行存储器时,通常用作地址/数据复用总线的端口是 ( ) A.P0 B.P1 C.P2 D.P3 2.在扩展外部RAM时,ALE信号的作用是 ( ) A.锁存低8位地址 B.锁存高8位地址 C.控制读写操作 D.片选信号 3.以下用于定义外部存储器的访问时序的寄存器是 ( ) A.TMOD B.SCON C.AUXR D.PCON 4.使用xdata关键字声明的变量存储在 ( ) A.片内RAM B.片外RAM C.程序存储器 D.寄存器组 5.扩展外部并行I/O口时,常用的地址锁存器芯片是 ( ) A.74HC573 B.74HC138 C.74HC04 D.74HC595 6.DAC0832数模转换芯片的位数是 ( ) A.8位 B.10位 C.12位 D.16位 7.访问外部ROM时,C51应使用的关键字是 ( ) A.Data B.xdata C.code D.pdata 8.以下用于区分访问的是外部RAM还是ROM的信号是 ( ) A.ALE B.PSEN C.EA D.RD 9.若需要扩展16KB外部RAM,至少需要的地址线的根数是 ( ) A.10 B.12 C.14 D.16 10.在C51中,pdata存储类型对应的地址范围是 ( ) A.0x00-0xFF B.0x0000-0xFFFF C.仅0x0000 D.由编译器决定 11.以下用于向外部RAM写入数据的指令是 ( ) A.MOVX @DPTR,A B.MOVC @A+DPTR,A C.MOV @R0,A D.MOVX A, @R1 12.外部并行扩展时,P2端口通常用于 ( ) A.数据总线 B.低8位地址 C.高8位地址 D.控制信号 13.若使用线选法扩展3个外设,至少需要的I/O口线的根数是 ( ) A.2 B.3 C.4 D.8 14.以下适合访问外部RAM的页内地址(0-255)的寻址方式是 ( ) A.MOVX A,@DPTR B.MOVX A, @R0 C.MOVC A, @A+DPTR D.MOV A, @R1 15.8255A的工作方式控制字中,若要使PA口输入,PB口输出,PC口高4位输入、低4位输出,则控制字应为( ) A.0x90 B.0x82 C.0x99 D.0x8B 16.扩展8255并行接口芯片时,决定其内部端口地址的是 ( ) A.A0和A1引脚 B.数据总线 C.片选信号 D.复位信号 17.在51单片机系统中,若8255A的A0、A1分别接P2.0、P2.1,CS接P2.7的反相输出,则PA口的地址可能是( ) A.0x7FFC B.0xFFFC C.0x0000 D.0x7FFF 18.若要让8255A工作在方式1(选通输入/输出模式),且PA口作为输入,PB口作为输出,则控制字应为( ) A.0xB0 B.0xA0 C.0xC8 D.0xD0 19.使用74HC138译码器扩展8个外设时,输入需要地址线的根数是 ( ) A.2 B.3 C.4 D.8 20.在C51中,访问外部I/O端口的速度通常比片内I/O ( ) A.更快 B.更慢 C.相同 D.取决于时钟频率 二、判断题(本题共10小题,每题2分,共20分) 1.C51单片机扩展外部并行存储器时,P0口既用作数据总线又用作低8位地址总线。() 2.ALE信号在外部存储器访问周期中用于锁存高8位地址。() 3.ADC0808是一款8位逐次逼近型模数转换芯片,可直接与51单片机并行接口。() 4.ADC0808的转换启动信号和输出允许信号必须由单片机同一引脚控制。() 5.74HC573芯片常用于外部地址锁存。() 6.在单缓冲方式下,向DAC0832写入数据后,需额外发送一个启动信号才能开始转换。() 7.8255A的工作方式控制字必须写入控制寄存器,且只能在上电初始化时设置一次。() 8.DAC0832的输出电压范围是0~5V。() 9.扩展外部I/O口时,必须使用MOV指令进行读写操作。() 10.外部RAM的地址范围由P2端口决定高8位。() 三、填空题(本题共4小题,每空2分,共10分) 1.在C51单片机中,使用__xdata关键字定义的变量存储在______存储器空间。 2.若外部扩展的RAM芯片有12根地址线,其最大存储容量为______KB。 3.使用MOVX A, @Ri指令访问外部存储器时,Ri寄存器提供的是______位地址,高8位地址由______寄存器决定。 4.若外部存储器采用6264芯片(8KB RAM),其地址范围是0x0000~0x1FFF,则P2.7~P2.5应接______(高/低)电平。 四、简答题。(本题共2小题,第1题4分、第2题5分,共9分) 1.简述C51单片机扩展外部并行RAM时,P0口和P2口的作用及地址锁存过程。 2.说明MOVX @DPTR, A和MOVX @Ri, A指令的区别及适用场景。 五、程序填空。按照题目要求,将正确的内容填入相应位置,使得程序完整(每空3分,共21分) 1.在某一单片机应用系统中,通过8255A 扩展了3个并行的I/O口,电路如图所示。编程将PA口输入的数据通过PB、PC输出。请填空。 #include<reg51.h> #include<absacc.h> #define PA XBYTE[0xfffc] #define PB XBYTE[0xfffd] #define PC XBYTE[0xfffe] #define PK XBYTE[0xffff] void main() { 【1】; while(1) { 【2】 ; 【3】;}} 2.电路如图所示,P1口接拨动开关作为输入值,将该值通过DACO832转换输出,由电压表测量DAC0832输出的电压值。请填空。 include<【1】> inelude<reg51.h> #define uchar unsigned char #define DAC0832 XBYTE[0x7fff] void main() { 【2】; 【3】 {【4】=P1;}} 原创精品资源学科网独家享有版权,侵权必究! 学科网(北京)股份有限公司 $$ 《单片机的C语言程序设计及应用》(电工版第4版) 第7章 外部并行扩展的C51编程 章节过关卷 考试时间:90分钟 满分:100分 姓名 班级 学号 1、 单项选择题(本题共20小题,每题2分,共40分) 1.C51单片机扩展外部并行存储器时,通常用作地址/数据复用总线的端口是 ( ) A.P0 B.P1 C.P2 D.P3 【答案】A 2.在扩展外部RAM时,ALE信号的作用是 ( ) A.锁存低8位地址 B.锁存高8位地址 C.控制读写操作 D.片选信号 【答案】A 3.以下用于定义外部存储器的访问时序的寄存器是 ( ) A.TMOD B.SCON C.AUXR D.PCON 【答案】C 4.使用xdata关键字声明的变量存储在 ( ) A.片内RAM B.片外RAM C.程序存储器 D.寄存器组 【答案】B 5.扩展外部并行I/O口时,常用的地址锁存器芯片是 ( ) A.74HC573 B.74HC138 C.74HC04 D.74HC595 【答案】A 6.DAC0832数模转换芯片的位数是 ( ) A.8位 B.10位 C.12位 D.16位 【答案】A 7.访问外部ROM时,C51应使用的关键字是 ( ) A.Data B.xdata C.code D.pdata 【答案】C 8.以下用于区分访问的是外部RAM还是ROM的信号是 ( ) A.ALE B.PSEN C.EA D.RD 【答案】B 9.若需要扩展16KB外部RAM,至少需要的地址线的根数是 ( ) A.10 B.12 C.14 D.16 【答案】C 10.在C51中,pdata存储类型对应的地址范围是 ( ) A.0x00-0xFF B.0x0000-0xFFFF C.仅0x0000 D.由编译器决定 【答案】A 11.以下用于向外部RAM写入数据的指令是 ( ) A.MOVX @DPTR,A B.MOVC @A+DPTR,A C.MOV @R0,A D.MOVX A, @R1 【答案】A 12.外部并行扩展时,P2端口通常用于 ( ) A.数据总线 B.低8位地址 C.高8位地址 D.控制信号 【答案】C 13.若使用线选法扩展3个外设,至少需要的I/O口线的根数是 ( ) A.2 B.3 C.4 D.8 【答案】B 14.以下适合访问外部RAM的页内地址(0-255)的寻址方式是 ( ) A.MOVX A,@DPTR B.MOVX A, @R0 C.MOVC A, @A+DPTR D.MOV A, @R1 【答案】B 15.8255A的工作方式控制字中,若要使PA口输入,PB口输出,PC口高4位输入、低4位输出,则控制字应为( ) A.0x90 B.0x82 C.0x99 D.0x8B 【答案】C 16.扩展8255并行接口芯片时,决定其内部端口地址的是 ( ) A.A0和A1引脚 B.数据总线 C.片选信号 D.复位信号 【答案】A 17.在51单片机系统中,若8255A的A0、A1分别接P2.0、P2.1,CS接P2.7的反相输出,则PA口的地址可能是( ) A.0x7FFC B.0xFFFC C.0x0000 D.0x7FFF 【答案】A 18.若要让8255A工作在方式1(选通输入/输出模式),且PA口作为输入,PB口作为输出,则控制字应为( ) A.0xB0 B.0xA0 C.0xC8 D.0xD0 【答案】A 19.使用74HC138译码器扩展8个外设时,输入需要地址线的根数是 ( ) A.2 B.3 C.4 D.8 【答案】B 20.在C51中,访问外部I/O端口的速度通常比片内I/O ( ) A.更快 B.更慢 C.相同 D.取决于时钟频率 【答案】B 二、判断题(本题共10小题,每题2分,共20分) 1.C51单片机扩展外部并行存储器时,P0口既用作数据总线又用作低8位地址总线。() 【答案】正确 2.ALE信号在外部存储器访问周期中用于锁存高8位地址。() 【答案】错误 3.ADC0808是一款8位逐次逼近型模数转换芯片,可直接与51单片机并行接口。() 【答案】正确 4.ADC0808的转换启动信号和输出允许信号必须由单片机同一引脚控制。() 【答案】错误 5.74HC573芯片常用于外部地址锁存。() 【答案】正确 6.在单缓冲方式下,向DAC0832写入数据后,需额外发送一个启动信号才能开始转换。() 【答案】错误 7.8255A的工作方式控制字必须写入控制寄存器,且只能在上电初始化时设置一次。() 【答案】错误 8.DAC0832的输出电压范围是0~5V。() 【答案】正确 9.扩展外部I/O口时,必须使用MOV指令进行读写操作。() 【答案】错误 10.外部RAM的地址范围由P2端口决定高8位。() 【答案】正确 三、填空题(本题共4小题,每空2分,共10分) 1.在C51单片机中,使用__xdata关键字定义的变量存储在______存储器空间。 【答案】外部RAM 2.若外部扩展的RAM芯片有12根地址线,其最大存储容量为______KB。 【答案】4 3.使用MOVX A, @Ri指令访问外部存储器时,Ri寄存器提供的是______位地址,高8位地址由______寄存器决定。 【答案】8、P2 4.若外部存储器采用6264芯片(8KB RAM),其地址范围是0x0000~0x1FFF,则P2.7~P2.5应接______(高/低)电平。 【答案】低 四、简答题。(本题共2小题,第1题4分、第2题5分,共9分) 1.简述C51单片机扩展外部并行RAM时,P0口和P2口的作用及地址锁存过程。 【答案】 P0口作为分时复用的地址/数据总线,先输出低8位地址(通过ALE信号锁存到74HC573等锁存器),再作为数据总线传输数据;P2口直接输出高8位地址,与锁存后的低8位地址共同构成16位地址线。锁存过程:ALE信号下降沿时,外部锁存器将P0口的低8位地址保存并保持稳定,供后续访问周期使用。 2.说明MOVX @DPTR, A和MOVX @Ri, A指令的区别及适用场景。 【答案】 MOVX @DPTR, A:通过16位DPTR寻址,可访问全部64KB外部RAM,适合随机地址访问。 MOVX @Ri, A:通过8位Ri(R0/R1)寻址,仅访问当前P2口确定的256字节页,适合高速局部操作。 场景:前者用于大范围数据存储,后者用于频繁操作外设寄存器 五、程序填空。按照题目要求,将正确的内容填入相应位置,使得程序完整(每空3分,共21分) 1.在某一单片机应用系统中,通过8255A 扩展了3个并行的I/O口,电路如图所示。编程将PA口输入的数据通过PB、PC输出。请填空。 #include<reg51.h> #include<absacc.h> #define PA XBYTE[0xfffc] #define PB XBYTE[0xfffd] #define PC XBYTE[0xfffe] #define PK XBYTE[0xffff] void main() { 【1】; while(1) { 【2】 ; 【3】;}} 【答案】 【1】PK=0x90 【2】PB=PA 【3】PC=PA 【解析】 【1】处需要初始化8255A的控制字。根据题目要求PA口作为输入,PB和PC口作为输出,工作在方式0,所以控制字应为10010000B(0x90)。 【2】和【3】处分别将PA口读取的数据输出到PB和PC口。 2.电路如图所示,P1口接拨动开关作为输入值,将该值通过DACO832转换输出,由电压表测量DAC0832输出的电压值。请填空。 include<【1】> inelude<reg51.h> #define uchar unsigned char #define DAC0832 XBYTE[0x7fff] void main() { 【2】; 【3】 {【4】=P1;}} 【答案】 【1】absacc.h 【2】P1=0xff 【3】while(1) 【4】DAC0832 【解析】 【1】#include<absacc.h>:因为使用了 XBYTE 宏来访问外部存储器(DAC0832),所以需要包含 absacc.h 头文件。 【2】P1=0xFF;:8051的P1口默认是准双向口,写入 0xFF 可以使其进入输入模式(高电平),以便正确读取拨动开关的状态。 【3】while(1):无限循环,持续读取P1口的值并输出到DAC0832。 【4】DAC0832=P1;:将P1口读取的8位数字量写入DAC0832,DAC0832会将其转换为模拟电压输出。 原创精品资源学科网独家享有版权,侵权必究! 学科网(北京)股份有限公司 $$

资源预览图

第7章 外部并行扩展的C51编程 《单片机的C语言程序设计及应用》(电工版第4版)章节过关卷
1
第7章 外部并行扩展的C51编程 《单片机的C语言程序设计及应用》(电工版第4版)章节过关卷
2
所属专辑
由于学科网是一个信息分享及获取的平台,不确保部分用户上传资料的 来源及知识产权归属。如您发现相关资料侵犯您的合法权益,请联系学科网,我们核实后将及时进行处理。