1、MCS51系列单片机期末复习题库单片机题集注意:本试卷后面有附录,提供8031和8155等芯片的各寄存器信息。注意查阅。一、判断题(2分1、8031的引脚应该接地。( 2、扩展外部数据存储器,必须用到控制信号( 3、系统复位后,SP的值为07H。( 4、若PSW(格式见附录为10H,工作寄存器R7对应的内部RAM单元为0FH( 5、一个机器周期为4个时钟周期。(6、单片机用MOVX指令访问I/O接口。( 7、T1为计数器时,计数脉冲来自单片机内部。( 8、8051在运行程序时,程序存储器只能读出,不能写入。 ( 9、扩展外部数据存储器要ALE信号。 ( 10、系统复位后,P3口输出00H。 (
2、 1、8031无片内程序存储器。(2、8031正常工作时,RESET引脚应保持低电平。( 3、系统复位后,SP的值为00H。(4、若PSW(格式见附录为08H,工作寄存器R7对应的内部RAM单元为0FH ( 5、CPU响应串行口中断请求后,中断请求自动撤消。( 6、8051扩展I/O接口时,将接口芯片当作外部数据存储器。( 7、TCON是一个8位特殊功能寄存器。 ( 8、对于外部中断请求1,CPU响应后,中断请求标识IE1自动撤消。( 9、8051串行口数据帧的起始位为低电平。( 10、扩展三总线要用到ALE脚。( 1、MOV C,20H是位操作指令。( 2、8051的串行口的工作方式0是同步
3、方式。( 3、单片机的引脚XTAL1、XTAL2用于产生时钟信号( 4、单片机用MOVX指令访问片外数据存储器。( 5、指令周期等于机器周期。( 6、单片机用MOVC指令访问程序存储器。( 7、T1为定时器时,计数脉冲来自单片机内部。( 8、定时器0和定时器1的溢出中断请求,CPU响应后,中断请求自动撤消。( 9、8051串行口数据帧的起始位为高电平。( 10、扩展三总线要用到地址锁存器。( 判断这条指令是否正确。(1 MOV C,#1 (2 DEC DPTR (3 MOV A,R2 (4 MOV 20H,#A5H (5 RR 20H (1 CLR CY (2 INC A000H (3 MOV
4、 A,R1 (4 MOV 20H,C (5 RR B (二、选择题(2分1、若A=FFH,则PSW的“奇/(/偶”标志P等于( 0 1 FFH 0和1都有可能2、单片机复位后,CPU使用的是第几组工作寄存器(第0 组第1组第2组第3组3、下面能访问程序存储器的是( MOVX A,DPTR MOVC A,A+PC MOV A,R0 MOVX DPTR, A4、定时器1为16位定时器,软启动;定时器0为8位自动重装初值计数器,软启动。TMOD 为( 00100001b 00100101b 00010110b 00100100b5、若晶振为12MHz,定时器1定时256us,其计数初值为( 6453
5、6 FF00H1000H F000H6、某单片机系统只允许外部中断0和定时器/计数器0中断,则IE(格式见附录为( 10001001b 00001001b 10000011b 10001010b7、不属于单片机中断响应过程的是( 断点压栈撤除中断标识中断服务中断入口地址送PC8、外部中断0的中断服务程序的入口地址是(001BH 0013H 000BH 0003H9、要使定时器/计数器0的中断优先级高于外部中断0,满足要求的IP(格式见附录是( 00000010b 00000001b 00001000b 00000010b10、外部中断0为电平触发,则TCON(格式见附录要满足( IE0=0 I
6、T0=1 IT0=0 IE0=111、双机异步串行通信,数据位为8位,则应使每台单片机的SCON(格式见附录( 01010000b 10110000b 01100000b 11110000b12、单片机串行口初始化后,其发送过程始于( 写SBUF 写SCON 读SBUF 读SCON13、8031中可作为波特率发生器的是( T0和T2 T0 T1 T214、已知8155的PA口地址为FDF9H,命令寄存器地址为( FDFBH FDFAH FDF8HFDFCH15、若要求选择8155的PA为基本输出口,PB为基本输入口,PC为输出口,禁止其定时/计数器工作。命令控制字为( 01100000b101
7、10000b 01001101b01000101b1、扩展8031时,其P0口用作( 地址线多功能口地址/数据复用线数据线2、单片机的内部资源不包含( 74LS373定时器/计数器串行口中断控制电路3、定时器1为8位自动重装初值定时器,软启动;定时器0为16位计数器,硬启动。TMOD 为( 00100001b 00101101b 00100101b 00100100b4、若晶振为12MHz,定时器0为16位计数器,计数值为500H,其计数初值为( 64536 FB00H1000H F000H5、若晶振为12MHz,定时器1定时100微秒, 可能的计数初值为( 206 100 156 506、某
8、单片机系统只允许外部中断1和定时器/计数器1中断,则IE(格式见附录为( 10001001b 00001001b 10001100b 10001010b7、不属于单片机中断响应过程的是( 断点压栈撤除中断标识中断服务中断入口地址送PC8、外部中断1的中断服务程序的入口地址是( 001BH 0013H 000BH 0003H9、要使定时器/计数器1的中断优先级高于外部中断1,满足要求的IP(格式见附录是( 00000100b 00000001b 00001000b 00000010b10、外部中断1为边沿触发,则TCON(格式见附录要满足(IE1=0 IT1=1 IT1=0 IE0=111、如果
9、(TCON=10b,则意味着 ( (TCON中相应位=0,则为电平触发,相应位=1,则为边沿触发。外部中断1为电平触发,外部中断0为电平触发。外部中断1为边沿触发,外部中断0为电平触发。外部中断1为电平触发,外部中断0为边沿触发。外部中断1为边沿触发,外部中断0为边沿触发。12、单片机串行口初始化后,其接收过程始于 ( TxD端确认收到低电平TxD确认收到高电平RxD端确认收到低电平RxD确认收到高电平13、双机异步串行通信,数据位为8位,则应使每台单片机的SCON等于( 01010000b 10110000b 01100000b 11110000b14、已知P0与8155的AD07相连,P2
10、.7与8155的/CE脚相连,P2.0与8155的IO/(/M脚相连,则命令寄存器地址为( 7FFAH 8FF8HH 7FF8H8FFAH15、若要求选择8155的PA为选通输入口,PB为基本输入口,禁止其定时/计数器工作。命令控制字为( 。01000100b10110000b 01100000b 01000101b1、扩展8031时,其P2口用作(地址线多功能口地址/数据复用线数据线2、单片机的内部资源不包含( 8155A 定时器/计数器串行口中断控制电路3、定时器1为16位计数器,硬启动;定时器0为8位自动重装初值定时器,软启动。TMOD 为( 00100001b 00100101b 11
11、010010b 00100100b4、若晶振为12MHz,定时器1为16位计数器,计数值为500H,其计数初值为( 64536 FB00H1000H F000H5、若晶振为12MHz,定时器0计数56, 计数初值为( 206 156 200 506、某单片机系统允许定时器/计数器中断,则IE为 ( 10001001b 00001001b 10000101b 10001010b7、属于单片机中断响应过程的是 ( 保护现场恢复现场中断服务中断入口地址送PC8、外部中断1的中断服务程序的入口地址是( 001BH 0013H 000BH 0003H9、串行口的中断服务程序的入口地址是 ( 001BH
12、0013H 0023H 0003H10、要使定时器1的中断优先级高于定时器0,满足要求的IP是 ( 00000100b 00001000b 00001010b 00000010b11、双机异步串行通信,数据位为8位,则应使每台单片机的SCON(格式见附录( 11110000b 10110000b 01100000b 01010000b12、单片机串行口初始化后,其发送过程始于( 读SCON 写SCON 读SBUF 写SBUF13、8031中可作为波特率发生器的是( T0和T2 T0 T1 T214、已知8155的PC口地址为FDF3H,命令寄存器地址为( FDF2H FDF0H FDF4HFD
13、F1H15、若要求选择8155的PA、PB都为选通输出口,允许中断,禁止其定时/计数器工作。命令控制字为( 01100000b01001101b01111011b 01000101b三、编程题1、将片外0031H与片外0030H相减,并将差送到片内30H单元。1、构思正确6分,其他4分。MOV DPTR,#0030HMOVX A,DPTRMOV R2,AINC DPTRMOVX A,DPTRCLR CSUBB A,R2MOV 30H,A2、编写程序段把片外2000H00FFH的内容清0。2、构思正确4分,每条指令1分。CLR AMOV R7,#00HMOV DPTR,#2000HLOOP: M
14、OV DPTR,AINC DPTRDJNZ R7,LOOP3、将片外2000H拆开,高4位放在2002H的低4位,低4位放在2001H的低4位。3、构思正确6分,其他4分。MOV DPTR,#2000HMOVX A,DPTRMOV B,AANL A,#0FHINC DPTRMOVX DPTR,AINC DPTRMOV A,BSWAP AANL A,#0FHMOVX DPTR,A4、将50H单元内的两位BCD码拆开,并转换成ASCII码,低位存入RAM的31H 单元,高位存入RAM的32H单元。1、编程将片内30H43H单元的20个数传送到片外RAM3000H开始的单元中。1、构思正确2分,每条
15、指令1分。MOV R7,#20MOV R0,#30HMOV DPTR,#3000HLOOP: MOV A,R0MOVX DPTR,AINC R0INC DPTRDJNZ R7,LOOP2、编写程序,把R7R6的内容减去常数2405H。2、构思正确3分,每条指令1分。CLR CMOV A,R6SUBB A,#05HMOV R6,AMOV A,R7SUBB A,#24HMOV R7,A3、编写程序段把片外2000H20FFH的内容置成00HFFH,即2000H的值为00H, 2001H的值为01H,20FFH的值为FFH。3、构思正确3分,每条指令1分。MOV R,#00HCLR AMOV DPT
16、R,#2000HLOOP: MOVX DPTR,AINC AINC DPTRDJNZ R7,LOOP1、编程片外RAM3000H3013H的20个数传送到片内30H43H单元中。1、构思正确2分,每条指令1分。MOV R7,#20MOV R0,#30HMOV DPTR,#3000HLOOP: MOVX A,DPTRMOV R0, AINC R0INC DPTRDJNZ R7,LOOP2、编写程序,把常数3022加到寄存器对R7R6的内容上(BCD码相加。2、构思正确2分,每条指令1分。MOV A,R6ADD A,#22HDA AMOV R6,AMOV A,R7ADDC A,#30HDA AMO
17、V R7,A3、编写程序段把片外2000H20FFH的256个字节内容加1,忽略进位。3、构思正确3分,每条指令1分。MOV R,#00HMOV DPTR,#2000HLOOP: MOVX A,DPTRINC AMOVX DPTR,AINC DPTRDJNZ R7,LOOP编写程序:将片内RAM的31H的与30H的内容相除(无符号数除法,并将商送入片内RAM的33H单元,余数送入片内RAM的32H单元,并指出除法指令影响PSW中的哪些标志将片外2001H的高4位和2000H的低4位合并,并送入2002H单元。(10分编写程序:将片外RAM1000H的内容乘以1001H的内容,结果写入31H(高
18、和30H(低编程:求片外RAM2000H单元开始的100个单字节无符号数中最大者,存在片外RAM3000H单元中。编写子程序将片外2000H和2001H单元的值按从小到大的次序排序编写完整程序,实现功能:两个两字节无符号数31H(高30H(低,33H(高32H(低相减,结果写入31H(高30H(低。编写子程序比较片外2000H和2001H单元的值,若相等则将Cy置位,否则将Cy清零。编写完整程序,实现功能:两个两字节无符号数31H(高30H(低和33H(高32H(低相加,结果写入31H(高-30H(低。四、综合题:(如图所示的中断电路可实现系统的故障显示。当系统的各部分正常工作时4个故障源的输
19、入均为低电平,显示灯全不亮。当有某个部分出现故障时,则相应的输入线由低电平变为高电平,相应的发光二极管点亮。(1编写中断服务程序INTR0:实现故障显示。(14分(2用伪指令说明如何安放主程序START和中断服务程序INTR0。(6分 (1基本正确得9分,其他5分INTR0: JB P1.0,LAMP2CLR P1.1LAMP2: JB P1.2,LAMP3CLR P1.3LAMP3: JB P1.4 LAMP4CLR P1.5LAMP4: JB P1.6,LENDCLR P1.7LEND: RETI(2基本正确4分,其他2分ORG 0000HLJMP STARTORG 0003HLJMP I
20、NTR0ORG XXXXHSTART: INTR0: 设有一片8051,扩展了一片8155。关于8155和单片机定时器、中断等的技术要求和相关答案如第二题3、4、5、6、9、10、14、15小题所示。(1试编写系统初始化程序段(包括于8155和单片机定时器、中断等的初试化。(2假设定时器0中断服务程序为T1R,外部中断1中断服务程序为INTR1, 主程序为START。如何在程序存储器中存放这些程序(利用伪指令(1 基本概念正确60%分,其他40%:定时器初试化6分,中断初试化4分, 8155初试化4分START: MOV TMOD,#2DHMOV TL1,#156MOV TH1,#156MOV
21、 TL0,#00HMOV TH0,#0FBHMOV IE,#8CHMOV IP,#08HSETB IT0MOV DPTR,#7FF8HMOV A,#4DHMOVX DPTR,A(2基本概念正确4分,表示正确2分。ORG 0000HLJMP STARTORG 0013HLJMP INTR1ORG 001BHLJMP T1RSTART: INTR1: T1R: 设有一单片机系统,扩展了程序存储器、数据存储器和一片8155。关于8155 和单片机定时器、定时器中断等的技术要求和相关答案如第二题3、4、5、6、9、10、14、15小题所示。(1试编写系统初始化程序段(包括于8155的初始化和单片机定时
22、器的初始化、定时器中断的初始化。(2假设定时器1中断服务程序为T1R,定时器1中断服务程序为T1R,主程序为START。如何在程序存储器中存放这些程序(利用伪指令(1 基本概念正确60%分,其他40%:定时器初试化6分,中断初试化4分, 8155初试化4分START: MOV TMOD,#0D2HMOV TL0,#100MOV TH0,#100MOV TL1,#00HMOV TH1,#0FBHMOV IE,#8AHMOV IP,#08HMOV DPTR,#0FDF0HMOV A,#7BHMOVX DPTR,A(2基本概念正确4分,表示正确2分。ORG 0000HLJMP STARTORG 00
23、0BHLJMP T0RORG 001BHLJMP T1RSTART: T0R: T1R: 电路如图:(1 8155的RAM的地址范围(3分(2 请设计8155命令控制字,未作要求的位全取0。(3分(3 在图上将8155的引脚AD0A D7、RD、WR、ALE、RESET与8051正确连接。(6分(4 编程序:读入开关状态,点亮PA口的灯。(8分 (10000H00FFH(200000001b(3略(4MOV DPTR,#7FF8HMOV A,#00000001BMOVX DPTR,AMOV DPTR,#7FFAHMOVX A,DPTRMOV DPTR,#7FF9HMOVX DPTR,A,设振荡
24、器频率 fosc=11.0592MHz,异步通信采用方式 1,波特率 9600。SMOD=0 时,定时器 1 以方式 2 产生波特率,则其初始值应为多少,要求列出计算公式。 设振荡器频率 fosc=11.0592MHz,异步串行通信采用方式 1,波特率 4800。 SMOD=0 时,定时器 1 以方式 2 产生波特率,请计算初值应为多少?要求列出计 算公式。 三、填空(1 或 2 分) 已知所有指令执行前,(PSW=11H,(A=50H,(R0=30H,(30H=FFH,依次执 行(1(2(3(4,请填写括号内的内容。(共 5 空,每空 2 分,共 10 分 (1 执行 ANL A, #77H
25、 后,(A=( (2 执行 ORL 30H, A 后,(30H=( (3 执行 INC R0 后,(R0=( ,(30H=( (4 执行 CLR A 后,PSW 的 P 标志=( 。 注:(A表示寄存器 A 中的值,(R0 表示寄存器 R0 中的值, (30H表示 RAM 的 30H 单元的值,其余类似。 已知 (PSW=10H , (A=83H , (R0=17H , (17H=FFH , (18H=FFH ,依次执行 (1(2(3(4,请填写括号内的内容。(共 10 空,每空 1 分,共 10 分 (1 执行 ANL A, #17H 后,(A=( ,(17H=( (2 执行 ORL 17H, A 后,(17H=( , (A=( ,(R7=( (3 执行 INC R0 后, (18H=( ,(17H= ( , PSW 的 CY 标志 =( (4 执行 CPL A 后,(A=( ,PSW 的 P 标志=( 。 注: (A表示寄存器 A 中的值, (R0表示寄存器 R0 中的值, (17H表示 RAM 的 17H 单元的值,其余类似。 所有指令执行前, R0 的值为 32H, A 的值为 48H, 片内 RAM 的 32H 单元的值为 80H, 40H 单元的值为 08H,依次执行(1(2(3(4,请在括号内填写各寄存器和 RAM 单元的值。 (共 5 空,每
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1