单片机程序分析报告题练习B2
- 格式:doc
- 大小:27.09 KB
- 文档页数:8
一、填空题(1分*24):1、将CPU、随机存储器、只读存储器、中断系统、定时器/计数器以及I/O接口电路等微型计算机的主要部件集成在一块芯片上,使其具有计算机的基本功能,就叫做单片微型计算机,简称单片机。
2、RST、ALE、EA引脚名字、功能、信号方向、电平分别为:RST:复位、输入、高电平;ALE:地址锁存、输出、正脉冲;、EA:程序存储器选择、输入、高选择片外程序存储器低选择片内程序存储器。
3、某MCS-51单片机系统的晶振频率是11.0592MHz,则该单片机系统的机器周期是:1.0851µs。
4、MCS-51单片机的4个8位并行I/O口作为通用I/O口时,称之为准双向口,其含义为:在进行输入之前,必须先输出全1。
5、定时器/计时器1(T1)中断和串行中断的中断入口地址分别为0x001b和0x0023;用C51编程对应的中断号为3和4 。
6、MCS-51单片机的串行口有4中工作方式,其特点分别为:方式0:8位同步、扩展移位寄存器(扩展端口)方式、每个机器周期传输一位;方式1:每帧10位、异步串行通信方式;波特率由T1确定;方式2:每帧11位、异步串行通信方式;波特率为fosc/64或fosc/32;方式3:每帧11位、异步串行通信方式;波特率由T1确定;7、SPI是一种串行外围设备接口总线,其主要特点是双向、同步,4线(时钟、数据输入、数据输出、片选),一主多从等。
8、对于7段(通常记为a、b、c、d、e、f、g、dp,a对应送入数据的最低位,dp对应送入数据的最高位、为小数点)共阴数码管,显示数字“5”的代码为0x6d,如果也显示小数点,即显示“5.”,则对应的代码为0xed。
9、6264是一静态随机存储器芯片,其容量是8kb。
10、ADC0809是一A/D转换芯片,其主要特点是8位,8通道,输出锁存,中速等;DAC0832是一D/A转换芯片,以单缓冲方式工作时,与单片机的接口信号主要是数据线P00---P07,写控制信号WR,某一个高8位地址线如P27。
单片机练习题第二章答案单片机练习题第二章答案单片机是一种非常重要的电子器件,广泛应用于各个领域。
为了更好地掌握单片机的知识和技能,我们需要进行一些练习题的训练。
本文将为大家提供单片机练习题第二章的答案,希望能对大家的学习有所帮助。
第一题:请编写一段代码,实现将一个8位二进制数的高4位和低4位交换的功能。
答案:以下是实现该功能的代码:```c#include <reg52.h>void main(){unsigned char num = 0b11001100; // 待交换的二进制数unsigned char high = 0; // 高4位unsigned char low = 0; // 低4位high = (num & 0xF0) >> 4; // 取出高4位low = (num & 0x0F) << 4; // 取出低4位num = high | low; // 交换高低4位while (1){// 循环执行其他操作}}```第二题:请编写一段代码,实现将一个8位二进制数的第2位和第6位取反的功能。
答案:以下是实现该功能的代码:```c#include <reg52.h>void main(){unsigned char num = 0b11001100; // 待取反的二进制数num ^= (1 << 2); // 第2位取反num ^= (1 << 6); // 第6位取反while (1){// 循环执行其他操作}}```第三题:请编写一段代码,实现将一个8位二进制数的第3位和第7位置1的功能。
答案:以下是实现该功能的代码:```c#include <reg52.h>void main(){unsigned char num = 0b11001100; // 待操作的二进制数num |= (1 << 3); // 第3位置1num |= (1 << 7); // 第7位置1while (1){// 循环执行其他操作}}```通过以上三个练习题的答案,我们可以看到单片机的位操作非常灵活,可以实现各种功能。
1.程序如下:MOV SP,#13HMOV 33H,#7FHMOV 44H,#0ABHPUSH 33HPUSH 44HPOP 33HPOP 44H程序执行后,(33H)=0ABh ,(44H)=7Fh2.下列各条指令其源操作数的寻址方式是什么?各条指令单独执行后,A中的结果是什么?设(60H)=35H,(A)=19H,(R0)=30H,(30H)=0FH。
(1)MOV A,#48H ;寻址方式:(A)= 48H(2)ADD A,60H ;寻址方式:(A)= 4DH(3)ANL A,@R0 ;寻址方式:(A)= 10H3.阅读下列程序段,写出每条指令执行后的结果,并说明此程序段完成什么功能?MOV R1,#30H ;(R1)=30HMOV A,#64H ;(A)= 64HADD A,#47H ;(A)=ABH ,(CY)= 0 ,(AC)= 0DA A ;(A)=31H ,(CY)=1 ,(AC)=MOV @R1,A ;(R1)= 30H ,(30H)= 31H此程序段完成的功能4.设(A)=38H,R0=28H,(28H)=18H,执行下列程序后,(A)=0ORL A,#27HANL A,28HXCHD A,@R0CPL A5.设(A)=38H,(20H)=49H,PSW=00H,(B)=02H,填写以下中间结果。
SETB CADDC A, 20H (A)= 82H (CY)= 0 (AC)= 1RLC A (A)=04H (CY)=1 (P)= 1MUL AB (A)=08H (B)=00H (OV)=06.已知(R0)=20H, (20H ) =10H, (P0) =30H, (R2) =20H, 执行如下程序段后( 40H ) =15H MOV @R0 , #11H (20H)=11HMOV A , R2 A=20HADD A , 20H A=40HMOV PSW , #80HSUBB A , P0 A=10HXRL A , #45H A=15HMOV 40H , A (40H)=15H7. 已知( R0 )=20H, (20H )=36H, (21H) =17H, (36H) =34H, 执行过程如下:MOV A , @R0 A=36HMOV R0 , A R0=36HMOV A , @R0 A=34HADD A , 21H A=4BHORL A , #21H A=21HRL A A=42HMOV R2 , A R2=42HRET则执行结束(R0)=36H (R2)= 42H8.设在31H单元存有#23H,执行下面程序:MOV A, 31H A=23HANL A, #0FH A=03HMOV 41H, A (41H)=03HMOV A, 31H A=23HANL A, #0F0H A=20HSWAP A A=02HMOV 42H, A (42H)=02H则(41H)= 03H (42H)= 02H9.(R0)=4BH,(A)=84H,片内RAM(4BH)=7FH,(40)=20HMOV A,@R0 A=7FHMOV @R0,40H (4BH)=20HMOV 40H,A (40H)=7FH;MOV R0,#35H R0=35H问执行程序后,R0=35H A= 7FH 4BH= 20H 40H= 7FH10.若PSW=00, 执行下列程序后,PSW的CY,AC,OV,P各位状态如何? MOV A,#0FBH A=FBHMOV PSW,#10HADD A,#7FH A=7AH CY=1; AC=1;OV=1; P=1;MOVA,20HA=O1HINCAA=02HMOVDPTR,#2000HDPRT=2000HMOVCA,@A+DPTRA=5BHCPLAA=A3HMOV 30H,A (30H) =A3HSJMP $END执行程序后,(30H)= A3H12.分析程序段:CLRC清零cy指令MOVA,#91H给A立即数SUBBA,61H;A寄存器与地址(61h)的值相减ADDA,61H;A寄存器与地址(61h)的值相加DAA;BDC码调整指令MOV62H,A把累加器A的值送给地址寄存器62h(1)程序执行何种操作?对91H做BDC码调整;(2)若已知初值:(60H)=24H,(61H)=72H,则运行后,(62H)= 91H 。
习题二答案1. 单片机机应用系统软、硬件开发工具有哪些?答:单片机机应用系统软、硬件开发工具包括在线仿真器、编程器、仿真插头等部件,软件包括汇编和调试程序等。
2. 单片机仿真器的作用是什么答:仿真器通过串行口与PC机相连,用户可以利用仿真软件在PC机上编辑、修改源程序,然后通过汇编软件生成目标代码,传送给仿真器,由仿真器通过仿真插头传送到用户系统,之后就可以进行调试了。
通常单片机仿真软件都集成有调试功能,能够设置/清除断点、单步运行、连续运行、启动/停止控制、查看系统资源(如程序存储器、数据存储器、各种寄存器、I/O端口等)的状态等。
调试用户系统时,必须把仿真插头插入用户系统的单片机插座上。
现在有不少单片机具有JTAG接口,可以不再使用仿真插座,直接对单片机在线进行系统仿真调试。
3. 解释ISP和IAP的含义,具有ISP和IAP功能的单片机有什么好处?答:在系统编程(In-System Programming,简称ISP)和在应用编程(In-Application Programming,简称IAP)。
ISP是指用户通过PC机的软件,把已编译好的用户代码通过串行口直接写入用户系统的单片机,不管单片机片内的存储器是空白的还是被编程过,都可以用ISP方式擦除或再编程,不需要从电路板上取下器件。
IAP指MCU可以在系统中获取新代码并对自己重新编程,即可用程序来改变程序。
IAP的实现相对要复杂一些,在实现IAP 功能时,单片机内部一定要有两块存储区,一块被称为BOOT区,另外一块被称为存储区。
单片机上电运行在BOOT区,如果外部改写程序的条件满足,则对存储区的程序进行改写操作。
如果外部改写程序的条件不满足,程序指针跳到存储区,开始执行放在存储区的程序,这样便实现了IAP功能。
4. 在Proteus ISIS环境中使用AT89C52设计八个发光二极管两个一组点亮流动的电路,并编写C51程序,然后在μVision3环境下编译调试。
2008广东工业大学考试试卷( B )课程名称:单片机原理与接口技术试卷满分100分考试时间: 2008 年1 月16 日 (第20周星期三)一、填空。
(每空1分,共30分)1.MCS-51采用指令系统,最短指令机器码为字节,最长指令机器码为字节,因此其指令在PC“走飞”时,存在被拆分的风险,即把指令的当作执行。
2.通用CPU核心部件为单元,其作用是承担算术运算和。
3.当存储器芯片处于读状态时,片选信号CS必须处于状态,控制信号OE 必须处于状态。
4.MCS-51 MCU字长为位,含义是 (数据总线、地址总线、控制总线)宽度为位,最大寻址能力为 KB。
5.MCS-51 MCU含有个位定时/计数器,其中定时/计数器具有16位自动重装初值功能。
6.MCS-51 MCU外中断编程为和触发方式。
7.PCA中断入口地址为;其中的每一模块均可以工作在软件定时方式、、、四种方式。
8.对89C51RX兼容芯片ERAM读操作时,RD (有效、无效),此时P0口作为(I/O引脚、数据/地址总线AD7~AD0)。
9.当不使用外部ROM时,MCS-51芯片EA引脚 (接地、接VCC、悬空)。
10.在以MCS-51为核心的控制系统中,最好选择 (P0、P1~P3)I/O引脚构成4*4矩阵键盘,这样可省去上拉电阻和。
11.MCS-51复位后,SP寄存器为。
12.串行口方式不能作为串行通信口,而方式的波特率固定,仅与晶振频率有关。
二、指出下列指令中指定操作的寻址方式(每空1分,共15分)1. MOV R1, #16 ;目的操作数寻址方式为: ; 源操作数寻址方式为:2. MOV A, 4FH ;目的操作数寻址方式为: ; 源操作数寻址方式为:3. MOV B, @R0 ;目的操作数寻址方式为: ; 源操作数寻址方式为:4. MOV 20H.3, C ;目的操作数寻址方式为: ; 源操作数寻址方式为:5. DEC P1 ;操作数P1寻址方式为:6. MOVX A, @DPTR ;源操作数寻址方式为:;操作对象为7. MOVC A, @A+DPTR ;源操作数寻址方式为:;操作对象为8. JB P1.0, NEXT ;操作数NEXT寻址方式为: ;操作对象为(P1.0引脚、P1.0锁存器位)。
程序分析题(含答案)1.设(A)=38H, (20H)=49H, PSW=00H, (B)=02H,填写以下结果。
SETB CADDC A, 20HRLC A(A)= ______;(CY)= ______;(P)= ______;MUL AB (B)= ______;2.阅读程序并回答下列问题:X DA TA 50HY DA TA 51HORG 00HJMP STARTORG 100HSTART: MOV SP,#60HMOV X,#10MOV Y,#10LCALL SUBSUB: NOPINC XDEC YMOV A,YJZ SUBRETLCALL SUBSUBRET: NOPRET计算X和Y的值是多少?(X)=;(Y)=;3.执行下列程序后,R2,R3的内容是什么?请在要求注释的地方给程序加上注释MOV R3,#45HMOV DPTR,#TABL ;注释:MOV A,R3ANL A,#0FH ;注释:MOVC A,@A+DPTR ;注释:MOV R2,AMOV A,R3ANL A,#0F0HSWAP AMOVC A,@A+DPTRMOV R3,A………………………..TABL:DB 0C0H,0F9H,0A4H,0B0H,99H,92H,82H,0F8H,80H,98H(R2)=;(R3)=;4.51单片机振荡频率为12MHz,阅读程序后说明ORG 0000HLJMP MAINORG 001BHLJMP INTT1ORG 0040HINTT1:MOV TH1, #3CHMOV TL1, #0B0HDJNZ R7, L2MOV R7, #20CPL P1.2L2:RETIORG 0100HMOV SP, #5FHMOV R7, #20MOV TMOD, ①MOV TH1, #3CHMOV TL1, #0B0HSETB EASETB ②SETB TR1SJMP $1) 根据程序内容填空:①;②;2) 定时器T1的定时时间是多少?3) 寄存器R7在程序中的作用是什么?4) 该程序完成什么功能?5.执行下面一段程序;填写运行结果MOV SP, #60HMOV A, #10HMOV B, #01HPUSH APUSH BPOP APOP BA , B的内容是:(A)=(B)= ;6.设自变量为X,存放在ARE单元,应变量Y存放在BUF单元。
复习题纲复习题纲一、一、 填空题;填空题;1、微型计算机与外部设备之间的信息传送方式通常可以分为 同步传输、同步传输、 异步传输、异步传输、中断传输中断传输 、DMA 传输传输 等四种方式。
等四种方式。
2、MCS-5单片机有五个中断源,分别是:INTO 非 、定时器T0、INT1非 、 定时器T1 和 串行口中断串行口中断 。
3、 MCS-5单片机五个中断源的入口地址分别是:0003h 、 000bh 、0013h 、001bh 和0023h 。
4、按数据传送方向,串行通信可分为:半双工、全双工 和 单工单工 。
4、单片机中使用的串行通信都是:全双工串行5、虽然MCS-51串行口的发送和接收缓冲寄存器都名为SBUF ,但发送和接收可通过指令MOV SBUF,A 、MOV A , SBUF 来区别(以累加器为例)。
6、P3.0第二功能线为串行端口的第二功能线为串行端口的 接收RXD 端;P3.1的第二功能线为串行端口的发送TXD 端。
端。
7、8051串行端口的RXD 是第是第 P3.0引脚;串行端口的TXD 是第是第 P3.1引脚。
引脚。
8、在MCS-5单片机扩展系统中,高8位地址由P2 端口提供,低8位地址由位地址由 P0端口提供。
端口提供。
9、8155片内具有256 字节的静态RAM ,2个 8位的并行I/O 端口和1个 6 位的并行I/O 端口,1个 14位的减法计数器/定时器,以及定时器,以及 1 个地址锁存器。
个地址锁存器。
10、P0端口既可以传递端口既可以传递 输入/输出数据输出数据 又可以传递外部存储器低8位地址位地址 ,是分时复用的。
,是分时复用的。
10.单片机复位后,程序的入口地址是0000b 11、子程序必须使用RET 返回指令返回主程序,而中断服务程序必须使用 RETI 指令返回主程序。
指令返回主程序。
12、访问接口采用MOVX 指令,而且在命令中只能使用间接寻址 传送数据。
第三章89C51指令系统第十章系统实用程序一、填空题:1、CPU在取指令时,采用寄存器进行寻址;CPU在访问64KB的片外数据存储器时,一般采用寄存器进行寻址。
(PC,DPTR)2、当需要从51单片机程序存储器取数据时,采用的指令操作码应为。
(MOVC)3、假定(A)=68,(R5)=79 ,执行下列指令后,累加器A内容为。
(47H)ADD A,R5DA A4、若A中数据为63H,那么PSW的最低位(奇偶位P)为。
(用“1”或“0”表示)(0)5、访问89C51片外数据存储器采用的是寻址方式。
89C5片外可直接寻址的程序存储空间最大可达KB,可直接寻址的数据存储空间最大可达KB。
(寄存器间接寻址,64,64)6、20根地址线的寻址范围可达。
(1MB)7、指令AJMP的调用范围是,指令LJMP的调用范围是。
(2KB,64KB)二、简答题:1、访问内部RAM单元可以采用哪些寻址方式?访问外部RAM单元可以采用哪些寻址方式?访问特殊功能寄存器(SFR)可以采用哪些寻址方式?答:对特殊功能寄存器只能采用直接寻址方式;对单片机内部RAM的高128个字节(80H~FFH),只能采用寄存器间接寻址;对外部扩展的数据存储器只能用MOVX指令访问,即寄存器间接寻址方式;而内部RAM的低128个字节(00H~7FH)既能用直接寻址方式,也能用寄存器间接寻址方式。
2、访问外部数据存储器和程序存储器可以用哪些指令来实现?举例说明。
答:访问外部数据存储器可以用以下指令实现:MOVX A,@Ri ;((Ri))→A,寄存器Ri指向的片外RAM地址中的内容送到累加器A中MOVX @Ri,A ;A→((Ri)),累加器中内容送到寄存器Ri指向的片外RAM地址中MOVX A,@DPTR ;((DPTR))→A,数据指针指向的片外RAM地址中的内容送到累加器A中MOVX @DPTR,A;A→((DPTR)),累加器中内容送到数据指针指向的片外RAM地址中访问程序存储器可以用以下指令实现:MOVC A,@A+DPTR ;((A+DPTR))→A,表格地址单元中的内容送到累加器A中MOVC A,@A+PC;PC+1→PC,((A+PC))→A,表格地址单元中的内容送到累加器A 3、试用下列3种寻址方式编程,将立即数0FH送入内部RAM的30H单元中。
程序分析及编程1.设(A)=04H,(CY)=1, 写出下列各条指令的结果。
RL A; (A)= 08HRR A; (A)= 02HRLC A; (A)= 09HRRC A; (A)= 82H2设(A)=7AH,(R0)=30H,(30H)=A5H,(CY)=1, 写出下列各条指令的结果。
MOV A ,R0 (A)=30H (R0)=30HXCH A, R0 (A)=30H (R0)=30HXCHD A,@R0 (A)=A5H (R0)=30H (30H)=30HADD A,#30H (A)=D5H (CY)=1ADDC A,30H (A)=06H (CY)=1SUBB A,#30H (A)=D5H (CY)=14.已知程序执行前有A=02H,SP=52H,(51H)=FFH,(52H)=FFH。
下述程序执行后:请问:A=(),SP=(),(51H)=(),(52H)=(),PC=()。
POP DPHPOP DPLMOV DPTR,#4000HRL AMOV B,AMOVC A,@A+DPTRPUSH AMOV A,BINC AMOVC A,@A+DPTRPUSH ARETORG4000HDB10H,80H,30H,50H,30H,50H答:(A)=50H , (SP)=50H , (51H)=30H , (52H)=50H , (PC)=5030H5.假定A=83H,(R0)=17H,(17H)=34H,执行以下指令后,A的内容为()。
:ANL A,#17HORL17H,AXRL A,@R0CPL A答:0CBH6.如果DPTR=507BH,SP=32H,(30H)=50H,(31H)=5FH,(32H)=3CH,则执行下列指令后则:DPH=(),DPL=(),SP=():POP DPHPOP DPLPOP SP答:DPH=3CH , DPL=5FH , SP=4FH7.假定,SP=60H,A=30H,B=70H,执行下列指令后,SP的内容为(),61H单元的内容为(),62H单元的内容为()。
单⽚机程序分析试题与答案六、设计题1.某单⽚机控制系统有8个发光⼆极管。
试画出89C51与外设的连接图并编程使它们由右向左轮流点亮。
答:图(5分) 构思(3分)MOV A,#80H (1分)UP:MOV P1,A (1分)RR A (2分)SJMP UP (1分)2.某控制系统有2个开关K1和K2,1个数码管,当K1按下时数码管加1,K2按下时数码管减1。
试画出8051与外设的连接图并编程实现上述要求。
答:图(5分) 构思(3分)程序(4分)ORG 0000HLJMP MAINORG 0003HLJMP AINT0ORG 0013HLJMP BINT1MAIN: MOV IE,#83HSETB IT0SETB IT1MOV R0,#00HMOV DPTR,#TABUP: MOV A,R0MOVC A,@A+DPTRMOV P1,ASJMP UPAINT0: INC R0CJNE R0,#10,AINT01MOV R0,#0AINT01: RETIBINT1: DEC R0CJNE R0,#0FFH,BINT11MOV R0,#9BINT11: RETI1.已知在累加器A中存放⼀个BCD数(0~9),请编程实现⼀个查平⽅表的⼦程序。
1.SQR:1NC AMOVC A,@A+PCRETTAB:DB 0,1,4,9,16DB 25,36,49,64,812.请使⽤位操作指令实现下列逻辑操作:BIT=(10H∨P1.0)∧(11H∨C Y)2.ORL C,11HMOV 12H,CMOV C,P1.0ORL C,/10HANL C,12HMOV BIT,CRET3.已知变量X存于V AR单元,函数值Y存于FUNC单元,按下式编程求Y值。
Y=10 01xxx> -=3. MOV A,V ARCJNE A,#0,COMPSJMP RES ;x=0,Y=0COMP:JNC POSI ;x>0,Y=1MOV A,#0FFH ;x<0,Y=-1SJMP RESPOSI:MOV A,#01HRES:MOV FUNC,ARET4.已知在R2中存放⼀个压缩的BCD码,请将它拆成⼆个BCD字节,结果存于SUM开始的单元中(低位在前)。
程序分析及编程1.设 (A)=04H,(CY)=1, 写出下列各条指令的结果。
RL A;(A)= 08HRR A; (A)= 02HRLC A; (A)= 09HRRC A; (A)= 82H2设(A)=7AH,(R0)=30H,(30H)= A5H,(CY)=1,写出下列各条指令的结果。
MOV A ,R0 (A)=30H (R0)=30HXCH A, R0 (A)=30H (R0)=30HXCHD A,@R0 (A)=A5H (R0)=30H (30H)=30HADD A,#30H (A)=D5H (CY)=1ADDC A,30H (A)=06H (CY)=1SUBB A,#30H(A)=D5H(CY)=14.已知程序执行前有A=02H,SP=52H,(51H)=FFH,(52H)=FFH。
下述程序执行后:请问:A=(),SP=(),(51H)=(),(52H)=(),PC=()。
POP DPHPOP DPLMOV DPTR,#4000HRL AMOV B,AMOVC A,@A+DPTRPUSH AMOV A,BINC AMOVC A,@A+DPTRPUSH ARETORG 4000HDB10H,80H,30H,50H,30H,50H答:( A)=50H ,(SP)=50H ,(51H)=30H ,(52H)=50H ,(PC)=5030H5.假定 A=83H,(R0)=17H,( 17H) =34H,执行以下指令后, A 的内容为()。
:ANL A,#17HORL 17H,AXRL A,@R0CPL A 答: 0CBH6.如果DPTR=507BH,SP=32H,( 30H) =50H,(31H) =5FH,( 32H)=3CH,则执行下列指令后则: DPH=(),DPL=(),SP=():POP DPHPOP DPLPOP SP答:DPH=3CH , DPL=5FH , SP=4FH7. 假定, SP=60H,A=30H,B=70H,执行下列指令后,SP的内容为(),61H单元的内容为(),62H单元的内容为()。
哈工大 07 年 春 季学期单片机原理试题 B 卷一、选择题(30分,每题1分)1 开机复位后,CPU 使用的是第一组工作寄存器,地址范围是( D )。
A 、00H-10HB 、00H-07HC 、10H-1FHD 、08H-0FH 2 访问片外数据存储器的寻址方式是( C )A 、立即寻址B 、寄存器寻址C 、寄存器间接寻址D 、直接 寻址 3 堆栈数据的进出原则是( B )A 、先进先出B 、先进后出C 、后进后出D 、进入不出 4 定时器/计数器工作于方式1时,其计数器为几位?( B )A 、8位B 、16位C 、14位D 、13位 5 控制串行接口工作方式的寄存器是( C )A 、TCONB 、PCONC 、SCOND 、TMOD 6 已知:R0=28H (28H )=46MOV A ,#32HMOV A ,45HMOV A ,@R0 执行结果A 的内容为(A )A 、46HB 、28HC 、45HD 、32H 7 要设计一个32键的行列式键盘,至少需要占用( A )根引脚线。
A 、12根B 、32根C 、18根D 、无法确定 8 关于定时器,若振荡频率为12MHz ,在方式0下最大定时时间为( A )。
A 、8.192msB 、 65.536msC 、 0.256msD 、16.384ms 9 对于INTEL 8031来说,EA 脚总是( A )A 、接地B 、接电源C 、悬空D 、不用10 在单片机中,通常将一些中间计算结果放在( A )中A、累加器B、控制器C、程序存储器D、数据存储器11 程序计数器PC用来( C )A、存放指令B、存放正在执行的指令地址C、存放下一条的指令地址D、存放上一条的指令地址12 指令和程序是以( C )形式存放在程序存储器中A、源程序B、汇编程序C、二进制编码D、BCD码13 单片机应用程序一般存放在( B )中A、RAMB、ROMC、寄存器D、CPU14 单片机上电后或复位后,工作寄存器R0是在( A )A、0区00H单元B、0区01H单元C、0区09H单元D、SFR15 进位标志CY在( C )中A、累加器B、算逻运算部件ALUC、程序状态字寄存器PSWD、DPTR16 单片机8051的XTAL1和XTAL2引脚是( D )引脚A、外接定时器B、外接串行口C、外接中断D、外接晶振17 8031复位后,PC与SP的值为( B )A、0000H,00HB、0000H,07HC、0003H,07H寄存器D、0800H,00H18 P0、P1口作输入用途之前必须( A )A、相应端口先置1B、相应端口先置0C、外接高电平D、外接上拉电阻19 一个EPROM的地址有A0----A11引脚,它的容量为( B )A、2KBB、4KBC、11KBD、12KB20 8031单片机中既可位寻址又可字节寻址的单元是( A )A、20HB、30HC、00HD、70H21 执行指令MOVX A,﹫DPTR时,WR.RD脚的电平为( A )(读外部RAM、IO)A、WR高电平,RD低电平B、W R低电平,RD高电平C、WR高电平,RD高电平D、WR低电平,RD低电平22 INTEL 8031的PO口,当使用外部存储器时它是一个( D )A、传输高8位地址口B、传输低8位地址口C、传输低8位数据□D、传输低8位地址/数据总线口23 LJMP跳转空间最大可达到( D )A、2KBB、256B C 、128B D、64KB24 设累加器A的内容为0 C 9 H,寄存器R2的内容为54H,C Y=1,执行指令S U B B A,R2 后结果为( A )A、(A)=74HB、(R2)=74H C 、(A)=75H D、(R2)=75H25 设(A)=0 C 3 H,(R0)=0 A A H,执行指令A N L A,R0后,结果( A )A、(A)=82HB、(A)=6CH C 、(R0)=82 D、(R0)=6CH26 8051的程序计数器P C为16位计数器,其寻址范围是( D )A、8KB、16 K C 、32 K D、64 K27 提高单片机的晶振频率,则机器周期( C )A、不变B、变长 C 、变短 D、不定28 8051单片机中,唯一一个用户可使用的16位寄存器是( B )A、P S WB、D P T R C 、A C C D、P C29 执行如下三条指令后,30H单元的内容是( C )M O V R 1,#30HM O V 40H,#0 E HM O V @R 1,40HA、40HB、30H C 、0 E H D、F F H30 有如下程序段:M O V R 0,#30HS E T B CC L R AA D D C A,#0 0HM O V @R 0,A执行结果是( B )A、(30H)=00HB、(30H)=01H C 、(00H)=00H D、(00H)=01H二、判断题(10分,每题1分)1 当EA脚接高电平时,对ROM的读操作只访问片外程序存储器。
试题B答案、填空题(共20分,每空1分)1、PSW是程序状态字寄存器。
2、MCS-51最多可以有£个并行输入输出口,最少也可以有1个并行口,即P±_。
P3常需复用作串行通信、外部中断、外部计数脉冲和读写控制信号。
3、MCS-51复位后,PC= 00 H若希望从片内存储器开始执行,EA脚应接高电平, PC值超过0FFF H时,MCS-51会自动转向片外存储器继续取指令执行,利用ALE 信号锁存来自P0 口的低8位地址信号。
4、增强型51单片机有6—个中断源,可分为4_个中断优先级。
上电复位时外部中断0中断源的最高。
5、指令LCALL37B0H首地址在2000H 所完成的操作是2003H入栈,37B0送入PG6、8051的定时器/计数器方式2是8位自动重装载方式,经常用作串行口的波特率发生器。
7、RS232C是串行通信总线标准。
、简答题(共25分)1 •下面是P0口的内部结构图,试分析P0作为输入时的工作原理(4分)P0作为输入口时,与P1 口类似,也必须先执行写端口指令,如:SETB P0.X 或MOV P0,#0FFH各P0 口锁存器置“ T,端输出低电平,使V2管截止(这时V1、V2均截止,P0.X引脚悬空),否则P0.X引脚也有可能被钳位在低电平状态。
在读引脚信号作用下,输入信息经P0.X引脚一读引脚三态门电路到内部总线。
2. 一条指令包含哪两个部分?各部分的作用是什么?(4分)指令包含操作码和操作数两个部分,操作码用来表示执行什么样的操作,操作数用以指出参加操作的数据或数据的存储地址。
3•系统复位后SP初值为07H,在堆栈操作前,为什么还要重新将SP属值为30H~7FH.(5 分)系统复位后,PSW的b4、b3位为00,即选择了工作寄存器区中的0区作为当前工作寄存器区,SP寄存器的初值为07H,当有数据进入堆栈时,将从08H单元开始存放,这一般是不允许的,因为08H〜1FH属于工作寄存器区,不宜占用;20H〜2FH是位地址区,也需要部分或全部保留。
1.程序如下:MOV SP,#13HMOV 33H,#7FHMOV 44H,#0ABHPUSH 33HPUSH 44HPOP 33HPOP 44H程序执行后,(33H)=0ABh ,(44H)=7Fh2.下列各条指令其源操作数的寻址方式是什么?各条指令单独执行后,A中的结果是什么?设(60H)=35H,(A)=19H,(R0)=30H,(30H)=0FH。
(1)MOV A,#48H ;寻址方式:(A)= 48H(2)ADD A,60H ;寻址方式:(A)= 4DH(3)ANL A,@R0 ;寻址方式:(A)= 10H3.阅读下列程序段,写出每条指令执行后的结果,并说明此程序段完成什么功能?MOV R1,#30H ;(R1)=30HMOV A,#64H ;(A)= 64HADD A,#47H ;(A)=ABH ,(CY)= 0 ,(AC)= 0DA A ;(A)=31H ,(CY)=1 ,(AC)=MOV @R1,A ;(R1)= 30H ,(30H)= 31H此程序段完成的功能4.设(A)=38H,R0=28H,(28H)=18H,执行下列程序后,(A)=0ORL A,#27HANL A,28HXCHD A,@R0CPL A5.设(A)=38H,(20H)=49H,PSW=00H,(B)=02H,填写以下中间结果。
SETB CADDC A, 20H (A)= 82H (CY)= 0 (AC)= 1RLC A (A)=04H (CY)=1 (P)= 1MUL AB (A)=08H (B)=00H (OV)=06.已知(R0)=20H, (20H ) =10H, (P0) =30H, (R2) =20H, 执行如下程序段后( 40H ) =15H MOV @R0 , #11H (20H)=11HMOV A , R2 A=20HADD A , 20H A=40HMOV PSW , #80HSUBB A , P0 A=10HXRL A , #45H A=15HMOV 40H , A (40H)=15H7. 已知 ( R0 )=20H, (20H )=36H, (21H) =17H, (36H) =34H, 执行过程如下:MOV A , @R0 A=36HMOV R0 , A R0=36HMOV A , @R0 A=34HADD A , 21H A=4BHORL A , #21H A=21HRL A A=42HMOV R2 , A R2=42HRET则执行结束(R0)=36H (R2)= 42H8.设在31H单元存有#23H,执行下面程序:MOV A, 31H A=23HANL A, #0FH A=03HMOV 41H, A (41H)=03HMOV A, 31H A=23HANL A, #0F0H A=20HSWAP A A=02HMOV 42H, A (42H)=02H则(41H)= 03H (42H)= 02H9.(R0)=4BH,(A)=84H,片内RAM(4BH)=7FH,(40)=20HMOV A,@R0 A=7FHMOV @R0,40H (4BH)=20HMOV 40H,A (40H)=7FH;MOV R0,#35H R0=35H问执行程序后,R0=35H A= 7FH 4BH= 20H 40H= 7FH10.若PSW=00, 执行下列程序后,PSW的CY,AC,OV,P各位状态如何? MOV A,#0FBH A=FBHMOV PSW,#10HADD A,#7FH A=7AH CY=1; AC=1;OV=1; P=1;MOVA,20H A=O1HINCA A=02HMOVDPTR,#2000H DPRT=2000HMOVCA,@A+DPTR A=5BHCPLAA=A3HMOV 30H,A (30H) =A3HSJMP $END执行程序后,(30H)= A3H12.分析程序段:CLRC清零cy指令MOVA,#91H给A立即数SUBBA,61H;A寄存器与地址(61h)的值相减ADDA,61H;A寄存器与地址(61h)的值相加DAA;BDC码调整指令MOV62H,A把累加器A的值送给地址寄存器62h(1)程序执行何种操作?对91H做BDC码调整;(2)若已知初值:(60H)=24H,(61H)=72H,则运行后,(62H)= 91H 。
1.程序如下:MOV SP,#13HMOV 33H,#7FHMOV 44H,#0ABHPUSH 33HPUSH 44HPOP 33HPOP 44H程序执行后,(33H)=0ABh ,(44H)=7Fh2.下列各条指令其源操作数的寻址方式是什么?各条指令单独执行后,A中的结果是什么?设(60H)=35H,(A)=19H,(R0)=30H,(30H)=0FH。
(1)MOV A,#48H ;寻址方式:(A)= 48H(2)ADD A,60H ;寻址方式:(A)= 4DH(3)ANL A,@R0 ;寻址方式:(A)= 10H3.阅读下列程序段,写出每条指令执行后的结果,并说明此程序段完成什么功能?MOV R1,#30H ;(R1)=30HMOV A,#64H ;(A)= 64HADD A,#47H ;(A)=ABH ,(CY)= 0 ,(AC)= 0DA A ;(A)=31H ,(CY)=1 ,(AC)=MOV @R1,A ;(R1)= 30H ,(30H)= 31H此程序段完成的功能4.设(A)=38H,R0=28H,(28H)=18H,执行下列程序后,(A)=0ORL A,#27HANL A,28HXCHD A,@R0CPL A5.设(A)=38H,(20H)=49H,PSW=00H,(B)=02H,填写以下中间结果。
SETB CADDC A, 20H (A)= 82H (CY)= 0 (AC)= 1RLC A (A)=04H (CY)=1 (P)= 1MUL AB (A)=08H (B)=00H (OV)=06.已知(R0)=20H, (20H ) =10H, (P0) =30H, (R2) =20H, 执行如下程序段后( 40H ) =15H MOV @R0 , #11H (20H)=11HMOV A , R2 A=20HADD A , 20H A=40HMOV PSW , #80HSUBB A , P0 A=10HXRL A , #45H A=15HMOV 40H , A (40H)=15H7. 已知( R0 )=20H, (20H )=36H, (21H) =17H, (36H) =34H, 执行过程如下:MOV A , @R0 A=36HMOV R0 , A R0=36HMOV A , @R0 A=34HADD A , 21H A=4BHORL A , #21H A=21HRL A A=42HMOV R2 , A R2=42HRET则执行结束(R0)=36H (R2)= 42H8.设在31H单元存有#23H,执行下面程序:MOV A, 31H A=23HANL A, #0FH A=03HMOV 41H, A (41H)=03HMOV A, 31H A=23HANL A, #0F0H A=20HSW AP A A=02HMOV 42H, A (42H)=02H则(41H)= 03H (42H)= 02H9.(R0)=4BH,(A)=84H,片内RAM(4BH)=7FH,(40)=20HMOV A,@R0 A=7FHMOV @R0,40H (4BH)=20HMOV 40H,A (40H)=7FH;MOV R0,#35H R0=35H问执行程序后,R0=35H A= 7FH 4BH= 20H 40H= 7FH10.若PSW=00, 执行下列程序后,PSW的CY,AC,OV,P各位状态如何? MOV A,#0FBH A=FBHMOV PSW,#10HADD A,#7FH A=7AH CY=1; AC=1;OV=1; P=1;MOVA,20HA=O1HINCAA=02HMOVDPTR,#2000HDPRT=2000HMOVCA,@A+DPTRA=5BHCPLAA=A3HMOV 30H,A (30H) =A3HSJMP $END执行程序后,(30H)= A3H12.分析程序段:CLRC清零cy指令MOVA,#91H给A立即数SUBBA,61H;A寄存器与地址(61h)的值相减ADDA,61H;A寄存器与地址(61h)的值相加DAA;BDC码调整指令MOV62H,A把累加器A的值送给地址寄存器62h(1)程序执行何种操作?对91H做BDC码调整;(2)若已知初值:(60H)=24H,(61H)=72H,则运行后,(62H)= 91H 。
13.设(R0)=7EH,DPTR=10FEH,片内RAM7EH和7FH两单元的内容分别是FFH和38H,请写出下列程序段的每条指令的执行结果。
INC@R0(7E)=00HINCR0R0=7FHINC@R0(7FH)=39HINCDPTRDPTR=10FFHINCDPTRDPTR=1100HINCDPTRDPTR=1101H14.设R0=20H,R1=25H,(20H)=80H,(21H)=90H,(22H)=A0H,(25H)=A0H,(26H)=6 FH,(27H)=76H,下列程序执行程序后,结果如何?CLR C C=0;MOV R2,#3 R2=3;LOOP: MOV A,@R0 A=80H A=90HADDC A,@R1 A=20HMOV @R0,A (20H)=20H;(21H)=00H; (22H)=16HINC R0 R0=21H;INC R1 R1=26HDJNZ R2,LOOPJNC NEXT1MOV @R0,#01H (23H)=01HSJMP $NEXT: DEC R0SJMP $(20H)=20H 、(21H)= 00H 、(22H)=16H 、(23H)= 01H 、CY=1A=16H 、R0=23H 、R1=27H 。
15.MOV DPTR,#2000H (DPTR)= 2000HMOV A,#80H (A)= 80HMOVX @DPTR,A (2000H)= 80HINC DPTR (DPTR)= 2001MOV A,#90H (A)= 90HMOVX @DPTR,A (2001H)= 90HMOV DPTR,#2000H (DPTR)= 2000HMOVX A,@DPTR (A)= 80HMOV B,A (B)=80HINC DPTR (DPTR)= 2001HMOVX A,@DPTR (A)= 90H16.若(10H)=0FFH,(11H)=00H,(12H)=0FFH,(13H)=00H,写出每一步指令运行结果MOV A,10H (A)= FFH ,ANL A,#01H (A)= 01H ,MOV A,11H (A)= 00H ,ORL A,#01H (A)= 01H ,MOV A,12H (A)= FFH ,XRL A,#01H (A)= FEH ,MOV A,13H (A)= 00H ,XRL A,#0AA (A)= AAH ,(10H)= FFH , (11H)= 00H , (12H)= FFH , (13H)= 00H17. 阅读程序并回答下列问题:X DATA 50HY DATA 51HORG 00HJMP STARTORG 100HSTART: MOV SP,#60HMOV X,#10 (50H)=10MOV Y,#10 (51H)=10LCALL SUBSUB: NOPINC X (50H)=11 X+10=20DEC Y (51H)=9 Y=0;MOV A,Y A=9JZ SUBRETLCALL SUBSUBRET: NOPRET计算X和Y的值是多少?(X)=20 ;(Y)=0 ;18. 设自变量为X,存放在ARE单元,应变量Y存放在BUF单元。
给程序标注注释,说明该段子程序的功能并写出该程序的函数关系式。
(7分)START:MOV DPTR,#AREMOVX A,@DPTRJZ SULJB ACC.7,NEG ;注释:如果A的值大于128跳转NEGMOV A,#02HSUL:MOV DPTR,#BUFMOVX @DPTR,A ;注释:把A的值传送给BUF地址中RETNEG:MOV A,#0FEHSJMP SUL如果X=0,Y=0;如果X<128,Y=02h;如果X>128,Y=FEH;19. 执行下列程序段后,(P1)=_9AH__。
MOV P1,#5DHCPL P1.1CPL P1.2CLR P1.6SETB P1.720. 执行下列程序段后,(A)=___8BH____,(C Y)=__0_。
MOV A,#C5HRL A21. 下列程序段执行后,(R0)=___7EH____,(7EH)=__41H__,(7FH)=___01H____。
MOV R0,#7EH R0=7EHMOV 7EH,#0FFH (7EH)=FFHMOV 7FH,#40H (7EH)=40H1NC @R0 (7EH)=41H1NC R0 R0=7FH;1NC @R0 (7FH)=1;22. 已知(SP)=60H,子程序SUBTRN的首地址为0345H,现执行位于0123H的ACALLSUBTRN双字节指令后,(PC)=___,(61H)=_______,(62H)= ____。
23. 阅读下列程序,说明其功能。
MOV R0,#dataMOV A,@R0RL AMOV R1,ARL ARL AADD A,R1MOV @R0,ARET24. 程序填空1)数据块传送,将RAM从30H开始的连续32个单元的内容传递给片内RAM从60H开始的连续32个单元。
ORG 1000HMOV R7,_____MOV R0, #30HMOV R1,#60HLOOP:MOV A,@R0MOV _____,AINC R0INC R1DJNZ R7, _____SJMP $END2)RAM中40H单元内存有一个十六进制数,把这个数转换为BCD码的十进制数,BCD 码的十位和个位放在累加器A中,百位放在R2中。
ORG 2200HMOV A,_____MOV B,#64HDIV ABMOV R2,AMOV A,_____XCH A,BDIV ABSWAP _____ORL A,BSJMP $END3)编程序将片内40H-46H单元内容的高4位清零,保持低4位不变。
ORG 1000HMOV R7,#07HMOV R0,_____LOOP:MOV A,@R0ANL A,_____MOV @R0,AINC R0DJNZ R7,LOOPSJMP $END25. 程序如下2506H M5: MOV SP,#58H;2509HMOV 10H,#0FH;250CH MOV 11H,#0BH;250FH ACALL XHD;2511H MOV 20H,11H2514H M5A: SJMP M5AXHD: PUSH 10HPUSH 11HPOP 10HPOP 11HRET问:(1)执行POP 10H后堆栈内容?(2)执行M5A: SJMP M5A后,( SP )=?( 20H )=?26. 解读下列程序,然后填写有关寄存器内容(1)MOV R1,#48HMOV 48H,#51HCJNE @R1,#51H,00HJNC NEXT1MOV A,#0FFHSJMP NEXT2NEXT: MOV A,#0AAHNEXT2: SJMP NEXT2累加器A=( )(2) MOV A,#0FBHMOV PSW,#10HADD A,#7FH若PSW=00,当执行完上述程序段后,将PSW各位状态填入下表:PSW27.改正下列指令MOV @R3,AMOV DPTR,AINC @R3 IDEC DPTRADDC #30H,A28. 设内部RAM(30H)=5AH,(5AH)=40H,(40H)=00H,端口P1=7FH,问执行下列指令后,各有关存储单元(即R0,R1,A,B,P1,30H,40H及5AH单元)的内容如何?(8分)MOV R0,#30HMOV A,@R0MOV R1,AMOV B,R1MOV @R1,P1MOV A,P1MOV 40H,#20HMOV 30H,40H。