当前位置:文档之家› 单片机部分习题答案

单片机部分习题答案

单片机部分习题答案
单片机部分习题答案

第2章:2、CIP-51有哪些存储空间各个存储空间的功能及寻址范围是什么

有程序存储器、内部数据存储器、外部数据存储器、特殊功能寄存器和位寻址区五个独立的地址空间。

●程序存储器:存放程序和常数,容量为64KB,地址范围0000H-0FFFFH

●内部数据存储器:用于通用寄存器和存放数据的临时存储器,容量为256B,

地址范围00H-0FFH

●外部数据存储器:用于存放数据,容量为64KB(有4KB在芯片内部),地址

为0000-0FFFFH

●特殊功能寄存器(SFR):提供对片内资源和外设的访问和控制,以及与外设

的数据交换,C8051F020有122个,离散分布在地址80H-0FFH中。

●位地址空间:存放位变量,进行布尔运算,容量为256位,有内部RAM的

20H-2FH(16字节,128位)和部分SFR(字节地址可以被8整除的)组成,地址范围为00H-0FFH

3、CIP-51的内部RAM空间有多少字节它们在应用中有什么专门用途堆栈一般应设置在什么位置

●内部RAM有256字节

●低128B中的00H-1FH用于通用寄存器,20H-2FH既可以字节寻址也可以位

寻址,30H-7FH作一般存储器用;高128B因为与SFR地址重叠,故只能间接寻址,也作一般存储器用

●理论上堆栈可以设在内部数据存储器的任何位置,复位时堆栈指针SP为07H,

但为了避开通用寄存器和位地址空间,一般设在30H-0FFH。

5、读写内部RAM与外部RAM的数据时,使用的指令有什么区别读程序存储器的数据的指令又有什么不同

读写内部RAM用MOV指令;读写外部RAM用MOVX指令;读程序存储器用MOVC指令,写程序存储器用MOVX指令,但为与写外部RAM相区分,需要对相应SFR的相关位进行设置。

6、若(PSW)=0x10,则当前的R0~R7在内部RAM中有哪些单元

由(PSW)=0x10可知RS1RS0=10,故通用寄存器R0-R7在内部RAM的0x10-0x17单元。(PSW的格式P22)

第一次作业存在的问题:

第一题:5个存储空间,有的同学写的不全,漏SFR和位寻址区;有的同学对位寻址区的寻址范围写的不对,应为0x00-0xff而非0x20-0x2f。

第三题:内部RAM每一部分的专门作用,尤其低128B要再分类说明;片内XRAM

不算片内RAM;堆栈一般在0x30-0xff,而非0x30-0x7f。

第六题:部分同学不会做;要查询PSW的格式,RS1RS0的作用,P22表2-2 8、请叙述中断的响应过程。一个中断请求从提出到CPU响应最短要多长时间如果CPU响应中断的条件全部具备,响应中断最长的时间是多少在什么样的情况下会出现这个响应时间

C8051F的每个系统时钟周期对中断标志采样并对优先级译码,如果允许中断响应,则置位相应的优先级状态触发器,然后执行一条硬件长调用指令,控制转移到相应的入口,清相应中断请求标志(有些需要在中断服务程序中清除,如RI、TI),接着PC压栈(但不保护PSW),将中断服务程序的入口地址送给PC,完成中断响应。

最快需要5个系统时钟周期:1个中断检测周期,4个对ISR的调用周期(LCALL)。最慢发生在CPU正在执行RETI指令的时候,需要再执行一条指令才能进入中断服务程序,而最慢的指令是DIV需要8个系统时钟周期。因此,最慢需要18个系统时钟周期:1个中断检测周期,5个执行RETI的周期,8个执行DIV指令的周期,4个对ISR的调用周期(LCALL)。

9、C8051F020单片机的外部RAM有片内和片外之分,如何实现片外的RAM 复用与非复用方式的外部RAM是什么意思数据总线和地址总线是如何连接的

通过外部数据存储器接口EMIF实现片外数据存储器,用并行口P0-P3或P4-P7实现数据总线和地址总线,数据线和地址线可以复用也可以非复用,由EMIOCF 控制。

复用是指数据总线和地址总线的低8位共用一组端口信号线。非复用是指数据总线和地址总线的低8位各用单独的一组端口信号线。

若用低端端口实现,复用时用P2口提供地址高8位,P3口提供地址低8位和数据线;非复用时用P1口提供高8位地址线,P2口提供地址线低8位,P3口提供数据线。若用高端端口实现,非复用则用P5、P6提供地址高、低8位,P7做数据线,复用则用P6提供地址线高8位,P7提供地址低8位和数据线。

10.什么是优先权交叉开关译码器C8051F020单片机有多少数字I/O口C8051F 单片机的引脚与片内资源是如何对应的

C8051F单片机没有为定时器、串行口、A/D、D/A等提供单独的引脚信号线,而是用并行口P0-P3提供,C8051F单片机允许使用部分数字和模拟外设,没有用到的就不用分配引脚信号,因此内部提供了一个优先交叉开关译码电路,实现P0-P3和这些资源的可编程连接,这就是优先交叉开关译码器。

C8051F单片机有64位数字I/O端口。其中P0-P3可以按照优先交叉开关译码的方式为片内资源分配引脚,用端口I/O交叉开关寄存器XBR0-XBR2实现。11、假如一个单片机应用系统中要用到的资源位UART0、SMBus、SPI、和CP0

分配端引口(共9个引脚)。另外将外部存储器解耦配置为复用方式并使用低端口。同时还将、、配置为模拟输入,以便用ADC1测量加在这些引脚上的电压。试用Config软件进行优先权交叉开关译码器的配置,写出配置步骤,配置XBR0~XBR2等相关SFR的值。

(1)按UART0EN=1()、SMB0EN=1()、SPI0EN=1()、CP0E=1()、EMIFLE=1()设置XBR0、XBR1、XBR2得XBR0=0x87、XBR1=0x00、XBR2=0x02;

(2)存储器接口配置为复用方式并使用低端口,有PTRSEL=0()、EMD2=0();

(3)~配置为模拟输入方式有:P1MDIN=0xe3;

(4)设置XBARE=1使能交叉开关,则XBR2=0x42。UART0优先级最高,、分配给TX0、RX0;SPI优先权次之,~分配给SCK、MISO、MOSI、~分配给ALE、/RD、/WR、分配给NSS;下一个优先的是SMBUS,分配给SDA、~做模拟量输入,跳过,分配给SCL;再下面的优先权是CP0,分配给CP0;

(5)UART0的TX0()、ALE()、/RD()、/WR()的输出设置为推挽方式,P0MDOUT=0xe1;(6)P2、P3设置为推挽方式P2MDOUT=0xff、P3MDOUT=0xff;

(7)P1设置为漏极开路方式,并禁止3个模拟输入的输出驱动:P1MDOUT=0x00、P1=0xff。

13、8051F单片机进入空闲方式时,单片机的振荡器是否工作采用何种方法能使单片机退出空闲方式

工作。复位或中断。

14、C8051F020有几个复位源,分别是什么自己的项目中最常使用的是什么复位源

7个:上/电复位、外部/RST引脚复位、外部CNVSTR信号复位、软件命令复位、比较器0复位、时钟丢失检测器复位、WatchDog超时复位。

15、再简单的试验程序中,如果看门狗定时器复位不使用,该如何禁用

向WDTCN写入0xDE后,4个系统时钟周期内再写入0xAD。该过程不应被中断。C51代码:

EA=0; //禁止中断

WDTCN=0xDE; WDTCN=0xAD; EA=1; //允许中断

第三章:

1、片外RAM从1000H~10FFH单元有一数据块,用汇编语言编写程序将其传送到片外RAM的2500H单元开始的区域中。

org 0000h

mov dptr,#1000h

mov r2,#256(mov r2,#0

mov r3,#25h

mov r4,#00h

loop:movx a,@dptr

push dph

push dpl

mov dph,r3

mov dpl,r4

movx @dptr,A

pop dpl

pop dph

inc dptr

inc r4

djnz r2,loop

sjmp $

end

3、用汇编语言编写将累加器A的一位十六进制数(A的高4位为0)转换为ASC II

码的程序,转换结果仍存放在累加器A中,要求用查表和非查表两种方式实现。

ADD A,#30H

CJNE A,#3AH,CONT

CONT:JNC ADD7

JMP EXIT

ADD7:ADD A,#7

EXIT:SJMP $

END

4、用汇编语言编程实现函数,设x的值存放在片内RAM的35H单元,y的值

存放在片内RAM的36H单元。y

=x+1 ,x>10;0,5<=x<=10;-1,x<5

MOV A,35H ;取x

CJNE A,#11,NEXT1 ;与11比较,不等于11,转NEXT1

NEXT1:JNC NEXT2 ;大于等于11,转NEXT2

CJNE A,#5,NEXT3 ;小于11,再与5比较,不等于5转NEXT3

NEXT3:JNC NEXT4 ; 无借位(大于等于5),转NEXT4 MOV A,#-1 ;小于5

AJMP NEXT5

NEXT4:MOV A,#0 ;5到10之间AJMP NEXT5

NEXT2: ADD A,#1 ;大于10 NEXT5:MOV 36H,A

SJMP $

END

或(同学作业):

X EQU 35H

Y EQU 36H

ORG 0000H

AJMP START

ORG 0100H

START:MOV A,X

CLR C

SUBB A,#05H

JNC NEXT

MOV Y,#0FFH

AJMP DONE

NEXT:MOV A,X

CLR C

SUBB A,#0BH

JNC NEXT1

MOV Y,#00H

AJMP DONE

NEXT1:MOV A,X

INC A

MOV Y,A

DONE:SJMP DONE

END

6、用汇编语言编写程序,将

结果保存到片内RAM的

MOV R1,#30H

MOV R7,#8

MOV A,R0

NEXT: RLC A

JC 0NE

MOV @R1,#30H

JMP EXIT 或者

ONE: MOV @R1,#31H

EXIT: INC R1

DJNZ R7,NEXT

SJMP $

END

11、用汇编语言编程求两个无符号数据块中最大值的乘积。数据块的首地址分别为片内RAM的60H和70H,每个数据块的第一字节用来存放数据块的长度。结果存入片内

MOV R0,#60H

ACALL MAX

MOV B,A;第一个数据块最大值

MOV R0,#70H

ACALL MAX

MUL AB;两个数据块最大值相乘

MOV 5FH,B

MOV 5EH,A

SJMP $

MAX: MOV A,@R0;数据块长度

DEC A

MOV R7,A

INC R0

MOV A,@R0;第一个数据

LOOP: CLR C

MOV B,A

INC R0

MOV A,@R0

SUBB A,B;两个比较,也可以用CJNE实现

JNC NEXT

MOV A,B

SJMP NEXT1

NEXT: ADD A,B

NEXT1:DJNZ R7,LOOP (下一行)RET

第4章:

5.利用C8051F020单片机的T0计数,每计10个脉冲,取反一次,试用查询和中断两种方式编程。

确定工作方式,计算初值:选方式2计数方式,初值=256-10=246=0xf6;

查询方式程序:

sbit P1_0=P1^0;

void main(void)

{

//关看门狗

WDTCN=0xde;

WDTCN=0xad;

//配置交叉开关

XBR1=0x02;//允许T0外部输入

XBR2=0x40;//使能交叉开关

//初始化定时器0

TMOD=0x06;// 方式2计数

TL0=OxF6;

TH0=OxF6;

TR0=1;//启动T0

While(1)

{

While(!TF0);//等待计数溢出

TF0=0;

P1_0=!P1_0;

}

}

中断方式程序:sbit P1_0=P1^0; void main(void) {

//关看门狗

WDTCN=0xde;

IE|=0x82;//允许T0中断

While(1);//等待中断

}

void T0_ISR(void) interrupt 1 {

P1_0=!P1_0;

}

WDTCN=0xad; //配置交叉开关

XBR1=0x02;//允许T0外部输入 XBR2=0X40; //初始化定时器0

TMOD=0x06;// 方式2计数 TL0=OxF6; TH0=OxF6; TR0=1;//启动T0

8.在C8051F020单片机中,已知系统时钟频率为12MHz ,编写程序使和分别输出周期为2ms 和50μs 的方波。

解:和分别每1ms 和25μs 取反一次即可。选T0方式1定时25μs ,每溢出40

次取反一次。初值计算:由P157公式:

10212

N

osc T M T TC f -=-

?()

,选T0M=0

得: a=216-25=65511=0xffe7; 程序:

sbit P1_0=P1^0; sbit P1_1=P1^1; int count=40; void main(void) {

//关看门狗 WDTCN=0xde; WDTCN=0xad; //使能交叉开关 XBR2=0x40; //初始化定时器0

TMOD=0x01;// 方式1定时 TL0=0xe7; TH0=0xff ;

IE|=0x82;//允许T0中断 TR0=1;//启动T0

While(1);//等待中断

}

void T0_ISR(void) interrupt 1

{

TL0|=0xe7;

TH0=0xff;

P1_0=!P1_0;

Count--;

If(Count==0){ P1_1=!P1_1; Count=40;}

}

15.当C8051F020的串行口工作在方式2、3时,它的第9数据位可用作“奇偶校验位”进行传送,接收端用它来核对接收到的数据正确与否。试编写串行口方式2带奇偶校验的发送和接收程序。

解:发送程序:

void send(char ch)

{

ACC=ch;

TB80=P;

SBUF0=ch;

While (!TI0);

TI0=0;

}

接收程序:

char receive(void)

{

While (!RI0);

RI0=0;

ACC=SBUF0;

If (RB80==P) return ch;

}

16.设甲乙两机采用UART0方式1通信,波特率为4800,甲机发送0、1、2…、1FH,乙机接受并存放在内部RAM以20H为首地址的单元,试用查询和中断两种方式编写甲、乙两机的程序(系统时钟为12MHz)

设利用T1工作在定时方式2(自动重装初值)提供波特率,T1M=0(按振荡器

12分频)计数,SMOD0=0,T1初值计算如下:

X=256-波特率)

(???-32122)11(0M T SMOD SYSCLK =256-4800

32121012)10(6???-=250=FAH

#include <>

unsigned char xdata tbuf[]={0x0,0x1,…,0x1f}; void main(void) {

unsigned char i;

unsigned char xdata *p=tbuf;

XBR0=0x04; //配置交叉开关 XBR2=0x40;

P0MDOUT|=0x01;//TX0为推挽输出方式 TMOD=0x20; //初始化并启动T1

TH1=0xfa; TL1=0xfa; TR1=1;

SCON0=0x40; //UART0初始化

for(i=0;i<32;i++) { SBUF0=*p; //一字节送发送SBUF0 p++;

while(!TI0);

//等待发送完成

TI0=0;

} }

查询方式接收程序: #include <>

void main(void)

{

unsigned char i;

char data *p;

//发送数据块地址指针

XBR0=0x04; //配置交叉开关

XBR2=0x40;

P0MDOUT|=0x01;//TX0为推挽输出方式

TMOD=0x20; //初始化并启动T1

TH1=0xfa;

TL1=0xfa;

TR1=1;

SCON0=0x50; //UART0初始化,允许接收

p=0x20; //地址指针初始化

for(i=0;i<32;i++)

{

while(!RI0); //等待UART0接收一个字符

RI0=0;

*p=SBUF0; //放入接收缓冲区

p++;

}

}

……参考P195例

正弦波发生器程序:DAC0输出更新发生在写DAC0H时:

#include <>

#include<>

sfr16 DAC0=0xd2

void dac0_init(void);

void main(void)

{

uninsigned int i;

float x,y;

WDTCN=0xde;//关看门狗

WDTCN=0xad;

dac0_init();//DAC0初始化

while(1)

{

for(x=0;x<(2*;x+=

{

//12位DAC的数字容量为4K(0-0FFFH),y的值最大为4096

y=2048*(sin(x)+1);

DAC0=y;//设置待转换的值并启动DA转换

for(i=0;i<=200;i++);//延时可改变正弦波的周期

}

}

}

void dac0_int(void)

{

REF0CN=0x03;

DAC0CN|=0x08;

}

方波输出:定时器T3溢出时DAC更新。

#include<>

sfr16 TMR3RL=0x92;

srf16 DAC0=0xd2;

#define SYSCLK 2000000

void Timer3_Init(int counts);

void Timer3_ISR(void);

void DAC_Init(void);

void main(void)

{

unsigned int i;

WDTCN=0xde;//关看门狗

WDTCN=0xad;

Timer3_Init(SYSCLK/12/5);

DAC_Init();

EA=1;

while(1)

{

DAC0L=0xf0;//设置待转换的值0FF0H

DAC0H=0x0f;

for(i=0;i<100;i++);

DAC0L=0x0; //设置待转换的值0000H

DAC0H=0x0;

for(i=0;i<100;i++);

}

}

void DAC_init(void)

{

REF0CN=0x03;//内部偏压发生器和电压基准缓冲器工作DAC0CN|=0x88;//使能DAC0,T3溢出时更新

}

void Timer3_Init(int counts)

{

TMR3CN=0x00;//SYSCLK/12作为时基

TMR3RL=-counts;//重载值

TMR3=0xffff;//立即重载

EIE2|=0x01;//允许T3中断

TMR3CN=0x04;//启动T3

}

void Timer3_ISR(void)

{

TMR3CN&=~(0x80);//清TF3

}

实验2:查表实验

$INCLUDE

org 0000h

mov dptr,#table

mov a,#3

rl a

mov r1,a

movc a,@a+dptr

push dph

push dpl

mov dptr,#2000h

movx @dptr,a

pop dpl

pop dph

inc dptr

mov a,r1

movc a,@a+dptr

mov dptr,#2001h

movx @dptr,a

l1:sjmp l1

table: dw 8000h,8001h,8002h,8003h

end

或:MOV A,#3

CALL SEARCH

MOV DPTR,#2000H

MOV A,R2

MOVX @DPTR,A

MOV A,R3

INC DPTR

MOVX @DPTR,A

SJMP $

SEARCH:MOV DPTR,#table

RL A

MOV B,A Array MOVX A,@A+DPTR

MOV R2,A

MOV A,B

INC A

MOVX A,@A+DPTR

MOV R3,A

单片机课后习题答案部分筛选

第一章 2单片机具有哪些特点 (1)片内存储容量越来越大。 (2抗干扰性好,可靠性高。 (3)芯片引线齐全,容易扩展。 (4)运行速度高,控制功能强。 (5)单片机内部的数据信息保存时间很长,有的芯片可以达到100年以上。 第二章 6. 如何简捷地判断89C51正在工作? 答:用示波器观察8051的XTAL2端是否有脉冲信号输出(判断震荡电路工作是否正常?) ALE(地址锁存允许)(Address Latch Enable)输出是fosc的6分频用示波器观察ALE是否有脉冲输出(判断 8051芯片的好坏?) 观察PSEN(判断8051能够到EPROM 或ROM中读取指令码?) 因为/PSEN接外部EPROM(ROM)的/OE端子 OE=Output Enable(输出允许) 9. 读端口锁存器和“读引脚”有何不同?各使用哪种指令? 答:读锁存器(ANL P0,A)就是相当于从存储器中拿数据,而读引脚是从外部拿数据(如MOV A,P1 这条指令就是读引脚的,意思就是把端口p1输入数据送给A) 传送类MOV,判位转移JB、JNB、这些都属于读引脚,平时实验时经常用这些指令于外部通信,判断外部键盘等;字节交换XCH、XCHD算术及逻辑运算 ORL、CPL、ANL、ADD、ADDC、SUBB、INC、DEC控制转移CJNE、DJNZ都属于读锁存器。 13. 内部RAM低128字节单元划分为哪3个主要部分?各部分主要功能是什么? 答:片内RAM低128单元的划分及主要功能: (l)工作寄存器组(00H~lFH) 这是一个用寄存器直接寻址的区域,内部数据RAM区的0~31(00H~lFH),共32个单元。它是4个通用工作寄存器组,每个组包含8个8位寄存器,编号为R0~R7。 (2)位寻址区(20H~2FH) 从内部数据RAM区的32~47(20H~2FH)的16个字节单元,共包含128位,是可位寻 址的RAM区。这16个字节单元,既可进行字节寻址,又可实现位寻址。 (3)字节寻址区(30H~7FH) 从内部数据RAM区的48~127(30H~7FH),共80个字节单元,可以采用间接字节寻址 的方法访问。 15. 开机复位后,CPU使用的是哪组工作寄存器?它们的地址是什么?CPU如何确定和改变当前工作寄存器组?

单片机试卷及答案

一选择题 (n )1.MCS—51单片机是高档16位单片机。 (y )2.MCS—51的产品8051与8031的区别是:8031片内无ROM。 (n )3.单片机的CPU从功能上可分为运算器和存贮器。 (y )4.MCS-51的指令寄存器是一个8位寄存器,用于暂存待执行指令,等待译码。 (n )5.MCS—51的指令寄存器是对指令寄存器中的指令进行译码,将指令转变为执行此指令所需要的电信号。 (y )6.8051的累加器ACC是一个8位的寄存器,简称为A,用来存一个操作数或中间结果。 (y )7.8051的程序状态字寄存器PSW是一个8位的专用寄存器,用于存程序运行中的各种状态信息。 (n )8.MCS—51的程序存贮器用于存放运算中间结果。(y )9.MCS—51的数据存贮器在物理上和逻辑上都分为两个地址空间:一个是片内的256字节的RAM,另一个是片外最大可扩充64K字节的RAM。 (y )10.单片机的复位有上电自动复位和按钮手动复位两种,当单片机运行出错或进入死循环时,可按复位键重新启动。 (n )11.CPU的时钟周期为振荡器频率的倒数。 (n )12.单片机的一个机器周期是指完成某一个规定操作所需的时间,一般情况下,一个机器周期等于一个时钟周期组成。(y )13.单片机的指令周期是执行一条指令所需要的时间。一般由若干个机器周期组成。 (n )14.单片机系统扩展时使用的锁存器,是用于锁存高8位地址。 (n )15.MCS—51单片机上电复位后,片内数据存储器的内容均为00H。 (y )16.当8051单片机的晶振频率为12MHZ时,ALE地址锁存信号端的输出频率为2MHZ的方脉冲。 (y )17.8051单片机片内RAM从00H~1FH的32个单元,不仅可以作工作寄存器使用,而且可作为RAM来读写。 (n )18.MCS—51单片机的片内存贮器称为程序存贮器。(n )19.MCS—51单片机的数据存贮器是指外部存贮器。(y )20.MCS—51单片机的特殊功能寄存器集中布置在片内数据存贮器的一个区域中。 (y )21.微机控制系统的抗干扰问题是关系到微机应用成败的大问题. 二、单项选择题 1.MCS—51单片机的CPU主要的组成部分为a 。 A.运算器、控制器B.加法器、寄存器C.运算器、加法器D.运算器、译码器 2.单片机能直接运行的程序叫c 。 源程序B。汇编程序C。目标程序D。编译程序3.单片机中的程序计数器PC用来c 。 A.存放指令B.存放正在执行的指令地址C.存放下一条指令地址 D.存放上一条指令地址 4.单片机上电复位后,PC的内容和SP的内容为b 。A.0000H,00H B。0000H,07H C。0003H,07H D。0800H,08H 5.单片机8031的ALE引脚是b 。 输出高电平B。输出矩形脉冲,频率为fosc的1/6 C.输出低电平D。输出矩形脉冲,频率为fosc的1/2 6.单片机8031的引脚a 。 A.必须接地B。必须接+5V C。可悬空D。以上三种视需要而定7.访问外部存贮器或其它接口芯片时,作数据线和低8位地址线的是A 。 A.P0口B。P1口C。P2口D。P0口和P2口 8.PSW中的RS1和RS0用来a 。 选择工作寄存器区号B。指示复位C。选择定时器D。选择工作方式 9.上电复位后,PSW的值为d 。 A.1 B。07H C。FFH D。0 10.单片机上电复位后,堆栈区的最大允许范围是b 个单元。A.64 B。120 C。128 D。256 11.单片机上电复位后,堆栈区的最大允许范围是内部RAM的d 。 A.00H—FFH B。00H—07H C。07H—7FH D。08H—7FH 12.堆栈指针SP在内部RAM中的直接地址是c 。 A.00H B。07H C。81H D。FFH 的P0口,当使用外部存贮存器时它是一个d 。 A.传输高8位地址口A.传输低8位地址口 C.传输高8位数据口D.传输低8位地址/数据口 14.P0口作数据线和低8位地址线时b 。 A.应外接上拉电阻B.不能作I/O口C.能作I/O口D.应外接高电平 15.对于8031单片机,其内部RAM d 。 A.只能位寻址B.只能字节寻址C.既可位寻址又可字节寻址D.少部分只能位寻址 16.寻址方式就是c 的方式。 A.查找指令操作码B.查找指令C.查找指令操作数 D.查找指令操作码和操作数 17.8031 单片机若晶振频率为fosc=12MHz,则一个机器周期等于c μS。 A.1/12 B.1/2 C.1 D.2 18.MCS—51单片机的数据指针DPTR是一个16位的专用地址指针寄存器,主要用来b 。 A.存放指令B.存放16位地址,作间址寄存器使用C.存放

单片机课后答案

答:中断是指计算机在执行某一程序的过程中,由于计算机系统内、外的某种原因而必须终止原程序的执行,转去完成相应的处理程序,待处理结束之后再返回继续执行被终止原程序的过程。中断源指向 CPU 提出中断申请的设备,包括中断请求信号的产生及该信号怎样被CPU 有效地识别,要求中断请求信号产生一次,只能被CPU 接收处理一次,即不能一 次中断申请被CPU 多次响应。当 CPU 正在执行中断服务程序时,又有中断优先级更高的中断申请产生,CPU 就会暂停原来的中断处理程序而转去处理优先级更高的中断请求,处理完毕后再返回原低级中断服务程序,这一过程称为中断嵌套.中断优先级指在实际应用系统中往往有多个中断源,且中断申请是随机的,有时还可能会有多个中断源同时提出中断申请,但CPU 一次只能响应一个中断源发出的中断请求,CPU 响应哪个中断请求,就需要用软件或硬件安排一个优先顺序,即中断优先级排队。 6-2 MCS-51 单片机提供了几个中断源有几级中断优先级别各中断标志是如何产生的又如何清除这些中断标志各中断源所对应的中断矢量地址是多少 答:(1)MCS-51 单片机提供了5 个中断源: INT0 、INT1 、T0、T1、串行口。 (2)MCS-51 系列单片机有两个中断优先级,每一个中断请求源均可编程为高优先级中 断或低优先级中断,从而实现两级中断嵌套。 (3)外部中断可以设置边沿触发或者电平触发,靠软件置位。边沿触发进入中断程序后硬件自动清中断标志。电平触发需要软件清除中断标志位,还需在中断响应后把中断请求信号引脚从低电平强制改变为高电平。 (4)定时器T0、T1 计数溢出产生中断,进入中断程序后由硬件自动清除标志位TF0 或TF1。(5)串行口发送完成或者接收到数据就触发中断,由于是两个中断标志共享一个中断向量,所以需要在中断程序里由软件判断是发送中断还是接受中断,并且只能由软件清除中断标志位。使用软件清除中断标志位的方法是: CLR TI ;清TI 标志位 CLR RI ;清RI 标志位 (6)各中断源对应的中断矢量地址分别为: 中断源中断矢量 外部中断 0 0003H 定时器T0 中断000BH 外部中断1 0013H 定时器T1 中断001BH 串行口中断0023H 定时器中断T2(仅52 系列有) 002BH 6-3 外部中断源有电平触发和边沿触发两种触发方式,这两种触发方式所产生的中断过程有何不同怎样设定 答:采用中断电平触发方式时,中断请求标志IT0=0,CPU 在每个机器周期的S5P2 期间采样,一旦在( INT0 )引脚上检测到低电平,则有中断申请,使IE0 置位(置1),向CPU 申请中断。在电平触发方式中,在中断响应后中断标志位IE0 的清0 由硬件自动完成,但由于CPU 对( INT0 )引脚没有控制作用,使中断请求信号的低电平可能继续存在,在以后的机器周期采样时又会把已清0 的IE0 标志位重新置1,所以, 在中断响应后必须采用其它方法撤消该引脚上的低电平,来撤除外部中断请求信号,否则有可能再次中断造成出错。采用边沿触发方式时,IT0=1,CPU 在每个机器的S5P2 期间采样,当检测到前一周期为高电平,后一周期为低电平时,使标志IE0 置1,向CPU 申请中断,此标志位一直保持到CPU 响应中断后,才由硬件自动清除。在边沿触发方式中,为保证CPU 在两个机器周期内检测到由高到低的负跳变,高电平与低电平的持续时间不得少于一个机器周

单片机试题及答案

单片机原理与接口技术习题答案 习题与思考题1 1-1 微型计算机通常由哪些部分组成?各有哪些功能? 答:微型计算机通常由控制器、运算器、存储器、输入/输出接口电路、输入设备和输出设备组成。控制器的功能是负责从内部存储器中取出指令并对指令进行分析、判断、并根据指令发出控制信号,使计算机有条不紊的协调工作;运算器主要完成算数运算和逻辑运算;存储器用于存储程序和数据;输入/输出接口电路完成CPU与外设之间相连;输入和输出设备用于和计算机进行信息交流的输入和输出。 1-2 单片微型计算机与一般微型计算机相比较有哪些区别?有哪些特点? 答:与通用微型计算机相比,单片机的硬件上,具有严格分工的存储器ROM和RAM和I/O端口引脚具有复用功能;软件上,采用面向控制的指令系统和硬件功能具有广泛的通用性,以及品种规格的系列化。单片机还具备体积小、价格低、性能强大、速度快、用途广、灵活性强、可靠性高等特点。 1-3 简述计算机的工作过程。 答:计算机的工作是由微处理器以一定的时序来不断的取指令、指令译码和执行指令的过程。 1-4 单片机的几个重要指标的定义。 答:单片机的重要指标包括位数、存储器、I/O口、速度、工作电压、功耗和温度。 1-5 单片微型计算机主要应用在哪些方面? 答:单片机的主要应用领域有智能化产品、智能化仪表、智能化测控系统、智能化接口等方面。 1-6 为什么说单片微型计算机有较高的性能价格比和抗干扰能力? 答:因为单片微型计算机主要面向特定应用而设计,设计者在硬件和软件上都高效率地设计,量体裁衣、去除冗余,力争在同样的硅片面积上实现更高的性能,具备较高的性能、价格比;单片机嵌入式系统中的软件一般都固化在存储器芯片或单片机本身中,而不是存贮于磁盘等载体中,另外单片机体积小,可以放入屏蔽设备中,从而使其具有较高的抗干扰能力。 1-7 简述单片机嵌入式系统的定义和特点。 答:单片机嵌入式系统是嵌入到对象体系中的专用计算机系统;其特点是面向特定应用、与各个行业的具体应用相结合、硬件和软件高效率、软件固化在存储器芯片或单片机本身和不具备自举开发能力。 习题与思考题2 2-1 MCS-51单片机内部包含哪些主要功能部件?它们的作用是什么? 答:MCS-51单片机在一块芯片中集成了CPU、RAM、ROM、定时/计数器、多功能I/O口和中断控制等基本功能部件。 单片机的核心部分是CPU,CPU是单片机的大脑和心脏。 程序存储器用于存放编好的程序或表格常数。数据存储器用于存放中间运算结果、数据暂存和缓冲、标志位等。 定时/计数器实质上是加法计数器,当它对具有固定时间间隔的内部机器周期进行计数时,它是定时器;当它对外部事件进行计数时,它是计数器。 I/O接口的主要功能包括:缓冲与锁存数据、地址译码、信息格式转换、传递状态(外设状态)和发布命令等。 中断控制可以解决CPU与外设之间速度匹配的问题,使单片机可以及时处理系统中许多随机的参数和信息,同时,它也提高了其处理故障与应变能力的能力。 2-2 MCS-51单片机的核心器件是什么?它由哪些部分组成?各部分的主要功能是什么? 答:单片机的核心部分是CPU,可以说CPU是单片机的大脑和心脏。它由运算器、控制器和布尔(位)处理器组成。 运算器是用于对数据进行算术运算和逻辑操作的执行部件。

单片机课后习题答案

单片机课后习题答案 1.89C51单片机内包含哪些主要逻辑功能部件? 答:80C51系列单片机在片内集成了以下主要逻辑功能部件: (l)CPU(中央处理器):8位(2)片内RAM:128B(3)特殊功能寄存器:21个(4)程序存储器:4KB (5)并行I/O口:8位,4个(6)串行接口:全双工,1个(7)定时器/计数器:16位,2个(8)片内时钟电路:1个 2.89C51的EA端有何用途? 答:/EA端接高电平时,CPU只访问片内flash Rom并执行内部程序,存储器。/EA端接低电平时,CPU只访问外部ROM,并执行片外程序存储器中的指令。/EA端保持高电平时,CPU执行内部存储器中的指令。 3.89C51的存储器分哪几个空间?如何区别不同空间的寻址? 答:ROM(片内ROM和片外ROM统一编址)(使用MOVC)(数据传送指令)(16bits地址)(64KB)片外RAM(MOVX)(16bits地址)(64KB)片内RAM (MOV)(8bits地址)(256B) 4.简述89C51片内RAM的空间分配。 答:片内RAM有256B,低128B是真正的RAM区,高128B是SFR(特殊功能寄存器)区。 5.简述布尔处理存储器的空间分配,片内RAM中包含哪些可位寻址单元。 答:片内RAM区从00H~FFH(256B) 其中20H~2FH(字节地址)是位寻址区对应的位地址是00H~7FH 6. 如何简捷地判断89C51正在工作? 答:用示波器观察8051的XTAL2端是否有脉冲信号输出(判断震荡电路工作是否正常?)ALE(地址锁存允许)(Address Latch Enable)输出是fosc的6分频 用示波器观察ALE是否有脉冲输出(判断8051芯片的好坏?) 观察PSEN(判断8051能够到EPROM 或ROM中读取指令码?) 因为/PSEN接外部EPROM(ROM)的/OE端子OE=Output Enable(输出允许) 7. 89C51如何确定和改变当前工作寄存器组? 答:PSW(程序状态字)(Program Status Word)中的RS1和RS0 可以给出4中组合,用来从4组工作寄存器组中进行选择PSW属于SFR(Special Function Register)(特殊功能寄存器) 9.读端口锁存器和“读引脚”有何不同?各使用哪种指令? 答:读锁存器(ANLP0,A)就是相当于从存储器中拿数据,而读引脚是从外部拿数据(如MOV A,P1这条指令就是读引脚的,意思就是把端口p1输入数据送给A)传送类MOV,判位转移JB、JNB、这些都属于读引脚,平时实验时经常用这些指令于外部通信,判断外部键盘等;字节交换XCH、XCHD算术及逻辑运算 ORL、CPL、ANL、ADD、ADDC、SUBB、INC、DEC控制转移CJNE、DJNZ

单片机课后习题答案解析

一)填空题 1. 十进制数14对应的二进制数表示为(1110B),十六进制数表 示为(0EH)。十进制数-100的补码为(9CH),+100的补码为(64H)。 2. 在一个非零的无符号二进制整数的末尾加两个0后,形成一个新的无符号二进制整数,则新数是原数的(4)倍。 3. 8位无符号二进制数能表示的最大十进制数是(255)。带符号二进制数11001101转换成十进制数是(-51)。 4. 可以将各种不同类型数据转换为计算机能处理的形式并输送到计算机中去的设备统称为(输入设备)。 5. 已知字符D的ASCII码是十六进制数44,则字符T的ASCII码是十进制数(84)。 6. 若某存储器容量为640KB,则表示该存储器共有(655360)个存储单元。 7. 在计算机中,二进制数的单位从小到大依次为(位)、(字节)和(字),对应的英文名称分别是(bit)、(Byte)和(Word)。 8. 设二进制数A=10101101,B=01110110,则逻辑运算A∨B=(11111111),A ∧B=(00100100),A⊕B=(11011011)。 9. 机器数01101110的真值是(+110),机器数01011001的真值是(+89),机器数10011101的真值是(+157或-115),机器数10001101的真值是(+206或-50)。(二)单项选择题 1. 用8位二进制补码数所能表示的十进制数范围是(D) (A)-127 ~ +127 (B)-128 ~ +128 (C)-127 ~ +128 (D)-128 ~ +127 2. 下列等式中,正确的是(B) (A)1 KB = 1024×1024 B (B)1 MB = 1024×1024 B (C)1 KB = 1024 M B (D)1 MB = 1024 B 3. 程序与软件的区别是(C) (A)程序小而软件大(B)程序便宜而软件昂贵 (C)软件包括程序(D)程序包括软件 4. 存储器中,每个存储单元都被赋予惟一的编号,这个编号称为(A) (A)地址(B)字节(C)列号(D)容量 5. 8位二进制数所能表示的最大无符号数是(B) (A)255 (B)256 (C)128 (D)127 6. 下列4个无符号数中,最小的数是(B) (A)11011001(二进制)(B)37(八进制) (C)75(十进制)(D)24(十六进制) 7. 下列字符中,ASCII码最小的是(B) (A)a (B)A (C)x (D)X 8. 下列字符中,ASCII码最大的是(C) (A)a (B)A (C)x (D)X 9. 有一个数152,它与十六进制数6A相等,那么该数是(B) (A)二进制数(B)八进制数(C)十进制数(D)十六进制数 第2章80C51单片机的硬件结构 (一)填空题

单片机试题及答案1

一、填空题 已知x的补码数10110111B,x的真值是___201D。 进制转换:134D=__10000110B;=______86H。 32K存储容量对应的地址范围从0000H-7FFFH_。 CPU与内存或I/O接口相连的系统总线通常由_控制总线__、数据总线__、地址总线___等三种信号组成。MCS-51单片机上电复位时PC=_0000_H,SP=_07_H;工作寄存器缺省采用第___________组,这组寄存器的地址范围是从______H~_____H。 MCS-51单片机系列有__5__个中断源,可分为___2__个优先级。上电复位时外部中断0__中断源的优先级别最高。 MCS-51单片机内部RAM共分为______2__个功能区,其高端128个字节的地址空间称为特殊功能寄存器_区,其中仅有________个字节有实际意义。 8255可编程芯片通常作为_并行接口_______扩展之用;8253可编程芯片通常作为_定时器_______扩展之用。8155可编程芯片通常作为_并行接口计数器和存储器______扩展之用;8279可编程芯片通常作为_键盘/显示控制器________扩展之用。 MCS-51 的并行I/O口信息有____读引脚________和____读锁存_________两种读取方法,读一改一写操作是针对并行I/O口内的锁存器进行的。 74LS273通常用来作为简单______输出__________接口扩展;而74LS244则常用来作为简单________输入_______接口扩展。 不带输入数据锁存器的D/A转换器,CPU必须通过______锁存或寄存__器件与D/A转换器传送数据;无三态输出功能的A/D转换器,应当通过_____三态___器件与CPU传送数据。 若用并行口来扩展一个有36只按键的行列式键盘,最少需__12_根I/O线。 74LS138是具有3个输入的译码器芯片,其输出作为片选信号时,最多可以选中___八_块芯片。 MCS-51单片机访问外存储器时利用_____ALE_______信号锁存来自_____P0_____口的低八位地址信号。在MCS-51系统中,当晶振频率采用12MHz时,一个机器周期等于_1__微秒。 8051的T0作为计数器用时,其计数频率不能超过晶振频率的___二十四分之一__。 二、选择题 通常所说的主机是指( C )。 (A)硬件和软件(B)CPU和磁盘存储器 (C)CPU和主存(D)运算器和控制器

单片机原理与应用技术实验报告(实验项目:发光二极管闪烁)

***数学计算机科学系实验报告 专业:计算机科学与技术班级:实验课程:单片机原理与应用技术姓名:学号:实验室:硬件实验室 同组同学: 实验时间:2013年3月20日指导教师签字:成绩: 实验项目:发光二极管闪烁 一实验目的和要求 1.使用单片机的P1.5口做输出口,使该位发光二极管闪烁。 2.掌握单片机使用。 二实验环境 PC机一台,实验仪器一套 三实验步骤及实验记录 1.在pc机上,打开Keil C。 2.在Keil C中,新建一个工程文件,点击“Project->New Project…”菜单。 3.选择工程文件要存放的路径 ,输入工程文件名 LED, 最后单击保存。 4. 在弹出的对话框中选择 CPU 厂商及型号。 5.选择好 Atmel 公司的 89c51 后 , 单击确定。 6.在接着出现的对话框中选择“是”。 7.新建一个 C51 文件 , 点击file菜单下的NEW,或单击左上角的 New File快捷键。 8.保存新建的文件,单击SAVE。 9.在出现的对话框中输入保存文件名MAIN.C,再单击“保存”。 10.保存好后把此文件加入到工程中方法如下 : 用鼠标在 Source Group1 上单击右键 , 然后再单击 Add Files to Group ‘Source Group 1'。 11.选择要加入的文件 , 找到 MAIN.C 后 , 单击 Add, 然后单击Close。 12.在编辑框里输入代码如下: #include "reg51.h" //包含头文件 sbit led=P1^5; //表示用led等效于P1^5, P1^0就是指头文件里定义的P1寄存器的第5BIT #define uchar unsigned char #define uint unsigned int

单片机课后习题答案

1.1 计算机经过了哪些主要发展阶段? 解:单片机的发展大致经历了四个阶段: 第一阶段(1970—1974年),为4位单片机阶段; 第二阶段(1974—1978年),为低中档8位单片机阶段; 第三阶段(1978—1983年),为高档8位单片机阶段; 第四阶段(1983年至今),为8位单片机巩固发展阶段及16位单片机、32位单片机推出阶段。 1.2 写出下列机器数的真值: (1)01101110 (2)10001101 (3)01011001 (4)11001110 解:(1)01101110的真值=+110 (2)10001101的真值=+141或-115 (3)01011001的真值=+89 (4)11001110的真值=+206或-50 说明:机器数是指计算机中使用的二进制数,机器数的值称为真值。机器数可表示为无符号数也可表示为带符号数,其中计算机中的带符号数一般为补码形式。10001101若为无符号数。则其真值为+141;若为带符号数,由于最高位(符号位)为1.所以为负数(补码形式),则其真值为-115。 1.4 写出下列二进制数的原码、反码和补码(设字长为8位)。 (1)010111 (2)101011 (3)-101000 (4)-111111 解:(1) [x]原=00010111 [x]反= 00010111 [x]补= 00010111 (2)[x]原=00101011 [x]反= 00101011 [x]补= 00101011 (3)[x]原=10101000 [x]反= 11010111 [x]补= 11011000 (4)[x]原=10111111 [x]反= 11000000 [x]补=11000001 1.5 已知X=10110110,Y=11001111,求X 和Y 的逻辑与、逻辑或和逻辑异或。 解:10000110X Y ?= 11111111X Y += 01111001X Y ⊕= 1.6 已知X 和Y ,试计算下列各题的[]X Y +补和[]-X Y 补(设字长为8位)。 (1)X=1011 Y=0011 (2)X=1011 Y=0101 (3)X=1001 Y=-0100 (4)X=-1000 Y=0101 (5)X=-1100 Y=-0100 解:(1)X 补码=00001011 Y 补码=00000011 [X+Y]补=00001110 [X-Y]补=00001000 (2)X 补码=00001011 Y 补码=00000101 [X+Y]补=00010000 [X-Y]补=00000110 (3)X 补码=00001001 Y 补码=11111100 [X+Y]补=00010000 [X-Y]补=00000110

单片机课后习题-答案~

习题答案 习题0 1.单片机是把组成微型计算机的各功能部件即(微处理器(CPU))、(存储器(ROM 和RAM))、(总线)、(定时器/计数器)、(输入/输出接口(I/O口))及(中断系统)等部件集成在一块芯片上的微型计算机。 2.什么叫单片机?其主要特点有哪些? 将微处理器(CPU)、存储器(存放程序或数据的ROM和RAM)、总线、定时器/计数器、输入/输出接口(I/O口)、中断系统和其他多种功能器件集成在一块芯片上的微型计机,称为单片微型计算机,简称单片机。 单片机的特点:可靠性高、便于扩展、控制功能强、具有丰富的控制指令、低电压、低功耗、片内存储容量较小、集成度高、体积小、性价比高、应用广泛、易于产品化等。 3. 单片机有哪几个发展阶段? (1)第一阶段(1974—1976年):制造工艺落后,集成度低,而且采用了双片形式。典型的代表产品有Fairchild公司的F8系列。其特点是:片内只包括了8位CPU,64B的RAM 和两个并行口,需要外加一块3851芯片(内部具有1KB的ROM、定时器/计数器和两个并行口)才能组成一台完整的单片机。 (2)第二阶段(1977—1978年):在单片芯片内集成CPU、并行口、定时器/计数器、RAM和ROM等功能部件,但性能低,品种少,应用范围也不是很广。典型的产品有Intel 公司的MCS-48系列。其特点是,片内集成有8位的CPU,1KB或2KB的ROM,64B或128B的RAM,只有并行接口,无串行接口,有1个8位的定时器/计数器,中断源有2个。片外寻址范围为4KB,芯片引脚为40个。 (3)第三阶段(1979—1982年):8位单片机成熟的阶段。其存储容量和寻址范围增大,而且中断源、并行I/O口和定时器/计数器个数都有了不同程度的增加,并且集成有全双工串行通信接口。在指令系统方面增设了乘除法、位操作和比较指令。其特点是,片内包括了8位的CPU,4KB或8KB的ROM,128B或256B的RAM,具有串/并行接口,2个或3个16位的定时器/计数器,有5~7个中断源。片外寻址范围可达64KB,芯片引脚为40个。代表产品有Intel公司的MCS-51系列,Motorola公司的MC6805系列,TI公司的TMS7000系列,Zilog公司的Z8系列等。 (4)第四阶段(1983年至今):16位单片机和8位高性能单片机并行发展的时代。16位机的工艺先进,集成度高,内部功能强,运算速度快,而且允许用户采用面向工业控制的专用语言,其特点是,片内包括了16位的CPU,8KB的ROM,232B 的RAM,具有串/并行接口,4个16位的定时器/计数器,有8个中断源,具有看门狗(Watchdog),总线控制部件,增加了D/A和A/D转换电路,片外寻址范围可达64KB。代表产品有Intel公司的MCS-96系列,Motorola公司的MC68HC16系列,TI公司的TMS9900系列,NEC公司的783××系列和NS公司的HPC16040等。然而,由于16位单片机价格比较贵,销售量不大,大量应用领域需要的是高性能、大容量和多功能的新型8位单片机。 近年来出现的32位单片机,是单片机的顶级产品,具有较高的运算速度。代表产品有Motorola公司的M68300系列和Hitachi(日立)公司的SH系列、ARM等。 4.在实际应用中,如何选择单片机的类型? 选择原则:主要从指令结构、运行速度、程序存储方式和功能等几个方面选择单片机。 MCS-51为主流产品。 Motorola是世界上最大的单片机厂商。品种全、选择余地大、新产品多。其特点是噪声低,抗干扰能力强,比较适合于工控领域及恶劣的环境。 Microchip单片机是市场份额增长较快的单片机。它的主要产品是PIC系列8位单片机。其特点是运行速度快,低价位,适用于量大、档次低、价格敏感的产品。 美国德州仪器(TI)公司生产的MSP430系列单片机是一种特低功耗的Flash微控制器。主要用于三表及超低功耗场合。

单片机习题集及答案

1.在MCS-51中,有7种寻址方式,它们分别为立即数寻、寄存器寻址、直接寻址、寄存器间接寻址、相对寻址、变址寻址和位寻址。 2.汇编语言的指令格式为标号:操作码操作数注释。 3.数据传送类指令执行完毕,源操作数的内容不会(会/不会)丢失。 4.8051内部RAM从20H至2FH既可位寻址,又可间接寻址,位地址空间从00H到7FH。 5.MCS-51单片机指令系统中,指令长度有一字节、二字节和(三)字节,指令执行时间有一个机器周期、两个机器周期和四机器周期,乘法指令需四机器周期。6.MOV A,20H中,20H的寻址方式称之为_直接___;SETB 20H的寻址方式为位寻址。 7.关于堆栈类操作的两条指令分别是_PUSH(入栈)指令_ 、POP(出栈)指令;堆栈操作只能是寄存器间接寻址寻址。 8.访问8031片外数据存储器MOVX指令采用的是寄存器间接寻址寻址方式。访问片外序存储器MOVC指令采用的是变址寻址方式。 9.设(A)=55H,(R5)=AAH,则执行ANL A,R5指令后的结果是(A)= 00H,(R5)= AAH;则执行ORL A,R5指令后的结果是(A)= FFH ,(R5)= AAF;则执行XRL A,R5指令后的结果是(A)= FFH,(R5)= AAH 。 10.伪指令不产生(产生/不产生)可执行目标代码。汇编语言程序结束的指令为END。11.DA指令跟在ADD,ADDC指令的后面,用与二进制数与BCD码的调整。若 (A)=0AH ,执行DA A指令后,(A)= 15。 单项选择题 1.JMP跳转范围是:(D. -128~127B) 2.MCS—51系列单片机最长的一条指令需 B. 4个机器周期。 3.MOV A,@R0这条指令中@R0的寻址方式称为:(B. 寄存器间接寻址) 4.在CPU内部,反映程序运行状态或反映运算结果的特征寄存器是:B. PSW 5.下列指令中正确的是:B. JBC TF0,L1 6.下列指令中错误的是:A. SETB 50H.0 7.将累加器的值压入堆栈的正确指令是:B. PUSH A 8.下列那条减法指令是错误的:C. SUBBC 9. 指令CJNE A ,#00H ,LOOP 影响PSW的哪一位:C.CY 10. 在MUL AB指令中,若积超过255,则C. OV=1 11.在相对寻址方式中,寻址的结果体现在A.PC中 12.在相对寻址方式中,"相对"两字是指相对于 C.当前指令的末地址 13.在寄存器间接寻址方式中,指定寄存器中存放的是B.操作数地址 14.对程序存储器的读操作,只能使用D.MOVC指令 15.必须进行十进制调整的十进制运算C.只有加法 16.执行返回指令时,返回的断点是C.调用指令下一条指令的首地址 17.下列指令中与进位标志位CY 无关的指令有D.无条件转移指令 18.可以为访问程序存储器提供或构成地址的有D.PC、A、DPTR和SP 19.以下各项中不能用来对内部数据存储器进行访问的是A.数据指针DPTR 20.若原来工作寄存器0组为当前寄存器组,现要改1组为当前寄存器组,不能使用指令C.MOV PSW.3,C 21.不能为程序存储器提供和构成地址的有:D.PSW 22.MCS-51汇编语言指令格式中,唯一不可缺少的部分是:B.操作码 23.MCS—51的立即寻址方式中,立即数前面:D.应加前缀“#”号 24.下列完成8031单片机内部数据传送的指令是:D.MOV direct,direct (25).MCS—51的立即寻址的指令中,立即数就是:A.放在寄存器R0中的内容26.单片机中PUSH和POP指令常用来:C.保护现场,恢复现场 27.MCS—51寻址方式中,操作数Ri加前缀“@”号的寻址方式是:A.寄存器间接寻址 28.MCS—51寻址方式中,位寻址的寻址空间是: D.片内RAM的20H~2FH字节中的所有位和部分专用寄存器SFR的位 29.MCS—51寻址方式中,直接寻址的寻址空间是B.专用寄存器SFR 30.执行指令MOVX A,@DPTR时,WR、RD脚的电平为:C.WR高电平,RD低电平 31.主程序执行完ACALL后返回主程序后,堆栈指针SP的值:A.不变 32.单片机中使用MOVX A,@R1指令寻址数据存贮器1050H单元。B.不能 33.下列指令判断若P1口最低位为高电平就转LP,否则就执行下一句的是:D.JNZ P1.0,LP 34.指令JB OEOH,LP中的OEOH是指:D.一个单元的地址 35.下列指令中比较转移指令是指:B.CJNE Rn,#data,rel

单片机原理及应用课后习题参考答案1~6章(DOC)

《单片机原理及应用》习题答案 第一章计算机基础知识 1-1 微型计算机主要由哪几部分组成?各部分有何功能? 答:一台微型计算机由中央处理单元(CPU)、存储器、I/O接口及I/O设备等组成,相互之间通过三组总线(Bus):即地址总线AB、数据总线DB和控制总线CB来连接。 CPU由运算器和控制器组成,运算器能够完成各种算术运算和逻辑运算操作,控制器用于控制计算机进行各种操作。 存储器是计算机系统中的“记忆”装置,其功能是存放程序和数据。按其功能可分为RAM和ROM。 输入/输出(I/O)接口是CPU与外部设备进行信息交换的部件。 总线是将CPU、存储器和I/O接口等相对独立的功能部件连接起来,并传送信息的公共通道。 1-3 什么叫单片机?其主要由哪几部分组成? 答:单片机(Single Chip Microcomputer)是指把CPU、RAM、ROM、定时器/计数器以及I/O接口电路等主要部件集成在一块半导体芯片上的微型计算机。 1-4 在各种系列的单片机中,片内ROM的配置有几种形式?用户应根据什么原则来选用? 答:单片机片内ROM的配置状态可分四种: (1)片内掩膜(Mask)ROM型单片机(如8051),适合于定型大批量应用产品的生产; (2)片内EPROM型单片机(如8751),适合于研制产品样机; (3)片内无ROM型单片机(如8031),需外接EPROM,单片机扩展灵活,适用于研制新产品; (4)EEPROM(或Flash ROM)型单片机(如89C51),内部程序存储器电可擦除,使用更方便。 1-5 写出下列各数的另两种数制的表达形式(二、十、十六进制) 1-6 写出下列各数的BCD参与: 59:01011001,1996:0001100110010110,4859.2:0100100001011001.0010

单片机原理及应用习题答案

思考与练习题1 1.1单项选择题 (1)单片机又称为单片微计算机,最初的英文缩写是( D ) A.MCP B.CPU C.DPJ D.SCM (2)Intel公司的MCS-51系列单片机是( C )的单片机。 A.1位 B.4位 C.8位 D.16位 (3)单片机的特点里没有包括在内的是( C ) A.集成度高 B.功耗低 C.密封性强 D.性价比高 (4)单片机的发展趋势中没有包括的是( B ) A.高性能 B.高价格 C.低功耗 D.高性价比 (5)十进制数56的二进制数是( A ) A.00111000B B.01011100B C.11000111B D.01010000B (6)十六进制数93的二进制数是( A ) A.10010011B B.00100011B C.11000011B D.01110011B (7)二进制数11000011的十六进制数是( B ) A. B3H B.C3H C.D3H D.E3H (8)二进制数11001011的十进制无符号数是( B ) A. 213 B.203 C.223 D.233 (9)二进制数11001011的十进制有符号数是( B ) A. 73 B.-75 C.-93 D.75 (10)十进制数29的8421BCD压缩码是( A ) A.00101001B B.10101001B C.11100001B D.10011100B (11)十进制数-36在8位微机中的反码和补码是( D ) A.00100100B、11011100B B.00100100B、11011011B C.10100100B、11011011B D.11011011B、11011100B (12)十进制数+27在8位微机中的反码和补码分别是( C ) A.00011011B、11100100B B.11100100B、11100101B C.00011011B、00011011B D.00011011B、11100101B (13)字符9的ASCII码是( D ) A.0011001B B.0101001B C.1001001B D.0111001B (14)ASCII码1111111B的对应字符是( C ) A. SPACE B.P C.DEL D.{ (15)或逻辑的表达式是( B ) A.A?B=F B. A+B=F C. A⊕B=F D.(A?B)=F (16)异或逻辑的表达式是( C ) A.A?B=F B. A+B=F C. A⊕B=F D.(A?B)=F (17)二进制数10101010B与00000000B的“与”、“或”和“异或”结果是( B ) A.10101010B、10101010B、00000000B B.00000000B、10101010B、10101010B C.00000000B、10101010B、00000000B D.10101010B、00000000B、10101010B (18)二进制数11101110B与01110111B的“与”、“或”和“异或”结果是( D ) A.01100110B、10011001B、11111111B B.11111111B、10011001B、01100110B C.01100110B、01110111B、10011001B D.01100110B、11111111B、10011001B (19)下列集成门电路中具有与门功能的是( D ) A.74LS32 B.74LS06 C.74LS10 D.74LS08

单片机试题及答案

试题 1 一、填空题(25 分,每空 1 分) 1.AT89S51 单片机为8 位单片机 2.MCS-51 系列单片机的典型芯片分别为8031 、8051 、8751 。 3.AT89S51的异步通信口为全双工(单工/半双工/全双工) 4.AT89S51 有 2 级中断, 5 个中断源 5.AT89S51 内部数据存储器的地址范围是00H~7FH ,位地址空间的字节地址范围是20H~2FH ,对应的位地址范围是00H~7FH ,外部数据存储器的最大可扩展容量是64K 。 6.AT89S51 单片机指令系统的寻址方式有__寄存器寻址__、直接寻址_、寄存器间接寻址__、_立即寻址_、基址寄存器加变址寄存器寻址。 7.如果(A)=34H ,(R7)=0ABH ,执行XCH A, R7;结果(A)= 0ABH ,(R7)= 34H 。 8.82C55 可以扩展 3 个并行口,其中8 条口线具有位操作功能; 9.当单片机复位时PSW=00 H,这时当前的工作寄存器区是0 区,R4 所对应的存储单元地址为04 H。 10.若 A 中的内容为67H,那么,P 标志位为 1 。 11.74LS138是具有 3 个输入的译码器芯片,其输出作为片选信号时,最多可以选中8 片芯片。 二、判断以下指令的正误:(5 分) ) ;√)

(1)MOV 28H,@R4;(× )) ;√)

3) DEC DPTR ;×) (4)CLR R0 ;(× ) (5)MOV T0,#3CF0H;(× ) 三、简答题 1、如果(DPTR)=507BH ,(SP)=32H,(30H)=50H ,(31H)=5FH,(32H)=3CH,则执 行下列指令后: POP DPH; POP DPL; POP SP; 则: __3CH___;(DPL)= ___5FH___;(SP)= 50H (DPH)= _ 2、采用6MHz 的晶振,定时1ms,用定时器方式0 时的初值应为多少?(请给出计算过程)(6分) 解:∵采用6MHZ晶振∴机器周期为2us 13-X)×2×10- 13 -6 -3 (2 6=1×10-3 ∴X=7692(D)=1E0CH=1 1110 0000 1100 (B), 化成方式0 要求格式为1111 0000 1100 B, 即0F00CH 综上可 知:TLX=0CH, THX=0F0H 3.分析下列程序的功能( 5 分) PUSH ACC PUSH B POP ACC POP B 解: 该程序的功能是通过累加器ACC 与寄存器 B 数据交换。 五、简述MCS-51 系列单片机主从结构多机通信原理,设有一台主机

相关主题
文本预览
相关文档 最新文档