第06章 单片机串行通信系统 习题解答

第06章 单片机串行通信系统 习题解答
第06章 单片机串行通信系统 习题解答

第6章单片机串行通信系统习题解答

一、填空题

1.在串行通信中,把每秒中传送的二进制数的位数叫波特率。

2.当SCON中的M0M1=10时,表示串口工作于方式 2 ,波特率为 fosc/32或fosc/64 。3.SCON中的REN=1表示允许接收。

4.PCON 中的SMOD=1表示波特率翻倍。

5.SCON中的TI=1表示串行口发送中断请求。

6.MCS-51单片机串行通信时,先发送低位,后发送高位。

7.MCS-51单片机方式2串行通信时,一帧信息位数为 11 位。

8.设T1工作于定时方式2,作波特率发生器,时钟频率为11.0592MHz,SMOD=0,波特率为2.4K时,T1的初值为 FAH 。

9.MCS-51单片机串行通信时,通常用指令 MOV SBUF,A 启动串行发送。10.MCS-51单片机串行方式0通信时,数据从 P3.0 引脚发送/接收。

二、简答题

1.串行口设有几个控制寄存器?它们的作用是什么?

答:串行口设有2个控制寄存器,串行控制寄存器SCON和电源控制寄存器PCON。其中PCON 中只有PCON.7的SMOD与串行口的波特率有关。在SCON中各位的作用见下表:

2.MCS-51单片机串行口有几种工作方式?各自的特点是什么?

答:有4种工作方式。各自的特点为:

3.MCS-51单片机串行口各种工作方式的波特率如何设置,怎样计算定时器的初值? 答:串行口各种工作方式的波特率设置:

工作方式O :波特率固定不变,它与系统的振荡频率fosc 的大小有关,其值为fosc/12。 工作方式1和方式3:波特率是可变的,波特率=(2SMOD/32)×定时器T1的溢出率 工作方式2:波特率有两种固定值。

当SM0D=1时,波特率=(2SM0D/64)×fosc=fosc/32 当SM0D=0时,波特率=(2SM0D/64)×fosc=fosc/64 计算定时器的初值计算:

4.若fosc = 6MHz ,波特率为2400波特,设SMOD =1,则定时/计数器T1的计数初值为多少?并进行初始化编程。 答:根据公式 N=256-2

SMOD

×fosc /(2400×32×12)= 242.98≈243 =F3H

TXDA: MOV TMOD,#20H

;置T1定时器工作方式2

MOV TL1,#0F3H ;置T1计数初值. MOV TH1,#0F3H

MOV PCON,#80H ;置SMOD =1

B

f B f N OSC

SMOD OSC SMOD ??-

=???-=384225612322256

5.用8051串行口外接CD4094扩展8位并行输出口,驱动8个LED发光二极管。画出硬件电路图,编写程序,使LED发光二极管从左到右依次闪亮。

答:电路图如下

LED发光二极管从左到右循环点亮的C51参考程序:

#include //包含51单片机寄存器定义的头文件

#include //包含函数_nop_()定义的头文件

unsigned char code Tab[]={0x7f,0xbf,0xdf,0xef,0xf7,0xfb,0xfd,0xfe};//流水灯控制码,该数组被定义为全局变量

sbit P17=P1^7;

void delay(void)

{

unsigned char m,n;

for(m=0;m<200;m++)

for(n=0;n<250;n++)

;

}

/**************************************************************

函数功能:发送一个字节的数据

**************************************************************/

void Send(unsigned char dat)

{

P17=0; //P1.7引脚输出锁存信号,对cd4094锁存

nop_(); //延时一个机器周期

_nop_(); //延时一个机器周期,保证锁存完成

P17=1; //结束对cd4094的锁存

SBUF=dat; //将数据写入发送缓冲器,启动发送

while(TI==0) //若没有发送完毕,等待

;

TI=0; //发送完毕,TI被置“1”,需将其清0

}

/*******************************************

函数功能:主函数

******************************************/

void main(void)

{

unsigned char i;

SCON=0x00; //SCON=0000 0000B,使串行口工作于方式0

while(1)

{

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

{

Send(Tab[i]); //发送数据

delay(); //延时

}

}

}

三、Proteus仿真

1.在Proteus下,仿真实现6.6节内容。

答:全自动洗衣机串行方式时间显示Proteus仿真

为节省单片机并口资源,全自动洗衣机时间显示可用串口实现。一次洗衣时间一般不会超过99分钟,用2位LED数码管显示时间即可。电路如图6-9所示。

入并出的移位寄存器,功能是接收AT89C51单片机串行通信口输出的串行数据并转换成并行数据输出,从而驱动LED数码管显示。74LS164的1、2脚为数据输入端,接单片机串行口的RXD端(P3.0脚),74LS164的第8脚为时钟脉冲输入端(CLK),接单片机串行口的TXD端(P3.1脚),第9脚R为清零端,低电平清零,正常工作时接高电平。两只LED数码管采用共阴极静态显示方式。

下列程序实现串行两位LED数码管时间显示,显示范围为00—99分钟。使用串行口进行信息传送,程序编写相当简单,用户只需将需要显示的数据直接送串口发送缓冲器,等待串行中断即可。

汇编语言参考程序:

ORG 0000H ;在0000H单元存放转移指令

LJMP NAIN ;转移到主程序

ORG 000BH ;定时器T0的中断入口地址

LJMP INTERRUPT ;转移到中断子程序

ORG 0200H ;主程序从0200H开始

MAIN: MOV TMOD,#01H ;使用定时器T0,工作方式1

MOV TH0, #3CH ;置初T0值50ms

MOV TL0, #0B0HH

MOV R0,#0 ;用于存1秒的计数次数

SETB EA ;开中断总允许

SETB ET0 ;允许T0中断

SETB TR0 ;启动计时

LOOP: LCALL Display ;循环调用显示子程序

SJMP LOOP

TAB: DB 3FH,06H, 5BH, 4FH, 66H, 6DH, 7DH, 07H, 7FH, 6FH ;0~9的共阴极段码DISPLAY: ;显示子程序(显示分钟)

MOV DPTR, #TAB ;将表首地址赋给DPTR

MOV A, 30H ;将30H中存放的分计数赋给累加器A

MOV B, #0AH ;将10赋给累加器B

DIV AB ;分计数除以10得十位数放在A中,个位数放在B中MOVX A, @A+DPTR ;查表得十位数的`显示段码

MOV SBUF, A ;发送十位数

L1: JBC TI, L2 ;判是否发送完,未发完循环等待,若发完则转L2 SJMP L1

L2: MOV A, B ;将个位数赋给累加器A

MOVX A, @ A+DPTR ;查表得个`位数的显示段码

MOV SBUF, A ;发送个位数

L3: JBC TI, L4 ;判是否发送完,未发完循环等待,若发完则转L4 SJMP L3

L4: RET ;子程序返回

INTERRUPT: ;中断服务子程序

INC R0 ;每中断一次(50ms)加1

CJNE R0, #20, L5 ;判是否中断20次,若不是则转L5中断返回,若是则顺序执行CLR R0 ;到1秒钟,清R0

INC R1 ;秒计数加1

CJNE R1, #60, L5 ;判秒是否计满60次,若未满则转L5中断返回,若满则顺序执行CLR R1 ;如果秒计满60,将秒计数单元内容清0

INC 30H ;分钟计数单元30H内容加1

CJNE 30H, #99, L5 ;判分是否计满99次,若未满则转L5中断返回,若满则顺序执行CLR R1 ;如果分计满99,将秒计数单元内容清0

CLR 30H ;同时将分计数单元内容清0

L5: MOV TH0, #3CH ; 定时器重新赋初值

MOV TL0, #0B0HH

RETI ;中断返回

C语言参考程序:

#include // 包含51单片机寄存器定义的头文件

unsigned char Tab[ ]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f};

//数组Tab放0~9的共阴极字段码

unsigned char int_time; //设中断次数计数变量

unsigned char second; //秒计数变量

unsigned char minute; //分钟计数变量

void delay(void) //延时函数

{

unsigned char n,j; //设计数循环变量

for(j=0;j<200;j++); //通过循环延时

for(n=0;n<200;n++); //通过循环延时

}

void DisplayMinute(unsigned char m) //显示函数

{ unsigned char ge, si; //定义变量ge、si,用于存放个位、十位

si=Tab[m/10]; //计算出十位的值,查表转换成相应的段码送变量si SBUF=si; //发送显示十位

while(TI==0); //等待发送完毕

TI=0; //发送完后清中断标志

ge=Tab[m%10]; //计算出十位的值,查表转换成相应的段码送变量ge

SBUF=ge; //发送显示个位

while(TI==0); //等待发送完毕

TI=0; //发送完后清中断标志

delay(); //调延时函数,是数码管显示有一定的亮度

delay();

}

void main(void) //主函数

{

TMOD=0x01; //使用定时器T0,工作方式1

EA=1; //开中断总允许

ET0=1; //允许T0中断

TH0=(65536-46083)/256; //定时器高八位赋初值(50ms)

TL0=(65536-46083)%256; //定时器低八位赋初值

TR0=1; //启动计时

PCON=0x00; //置SMOD=0

SCON=0x00; //串行口工作在方式0

while(1) //无限循环体

{

DisplayMinute(minute); //调用分钟显示子程序

}

}

void interserve(void ) interrupt 1 //计数器T0中断函数

{

int_time++; //每中断一次(50ms)加1

if(int_time==20) // 50ms记20次为1秒(仿真时可将次数改小,减少等待时间)。 {

int_time=0; //中断计数变量清0

second++; //秒计数变量加1

}

if(second==60) //判是否到了60秒(仿真时可将次数改小,减少等待时间)。

{

second=0; //如果秒计满60,将秒计数变量清0

minute++; //分钟计数变量加1

}

if(minute==99) //判分钟是否等于99

{ minute=0; //如果分钟计满99,将分钟计数变量清0秒计数变量清0

second=0; //将秒计数变量清0

}

TH0=(65536-46083)/256; //定时器重新赋初值

TL0=(65536-46083)%256;

}

2.在Proteus下,仿真实现例6-2内容。

答:电路如图6-8所示,试编制程序输入K1~K8的状态信息,并存入内部RAM 40H。

图6-8 串行通讯方式0应用

4014 是一个并入串出转换芯片,Q8端为串行数据输出端,CLK为时钟脉冲输入端,P/S 为操作控制端,P/S=1:锁存并行输入数据,P/S=0:允许串行移位操作。

要完成题目的要求,应先将开关状态锁存,然后串行传送给单片机。

在Proteus下画出电路图。

汇编语言参考程序如下:

ORG 0000H ;上电后程序从00000H开始,在0000H单元存放转移指令LJMP KIN ;转移到主程序

ORG 0100H ;主程序从0100H开始

KIN: MOV SCON,#00H ;设定串行口为方式0

CLR ES ;禁止串行中断

SETB P1.0 ;锁存并行输入数据

CLR P1.0 ;允许串行移位操作

SETB REN ;允许并启动接收(TXD发送移位脉冲)

JNB RI,$ ;等待接收完毕

MOV 40H,SBUF ;存入K1~K8状态数据

SJMP $ ;循环等待

END ;汇编结束

C语言参考程序:

# include //包含特殊功能寄存器库

sbit P1_0=P1^0; //定义P1.0口,程序中用P1_0代替P1.0。void main() //主函数

{

unsigned char i; //定义变量i,将接收到的数据放到变量i中。P1_0=1; //锁存并行输入数据

P1_0=0; //允许串行移位操作

SCON=0x00; //设定串行口为方式0

while (!RI) {;} //等待接收完毕

RI=0; //清中断标志

i=SBUF; //存入K1~K8状态数据

……

}

单片机实用技术--第4章习题解答

1.MCS-51单片机有几个中断源?各中断标志是如何产生的?又是如何复位的?CPU 响应各中断时,其中断入口地址是多少? 答:(1)5个。 (2) IE0:外部中断0请求标志。IE0=1表明外部中断0向CPU 申请中断。 IE1:外部中断1请求标志。IE1=1表明外部中断1向CPU 申请中断。 TF0:定时器T0溢出标志。当定时器T0计满溢出时,由硬件使TF0置“1”,并且申请中断。 TF1:定时器T1溢出标志。当定时器T1计满溢出时,由硬件使TF1置“1”,并且申请中断。 TI :发送中断标志。RI :接收中断标志。 (3)外部中断0,外部中断1请求标志。又分为两种方式,当电平触发方式时由软件方法复位;为边沿触发方式时,由内部硬件自动复位。 定时器T0、定时器T1溢出标志。可由内部硬件自动复位。 TI,RI 标志由软件复位。 (4)外部中断有两个,分别是0INT 和1INT ,其入口地址分别是0003H 和0013H 。内部中断有3个,分别是T0,T1和串行口,它们的入口地址分别为:000BH ,001BH 和0023H 。 2.如何计算计数初值?如何编程送入计数初值? 答:设初值为X ,最大计数值为M 。初值X 与机器周期T 机及定时时间T 的关系为 (M ?X )T 机=T MOV TL0,#x1 H MOV TH0,#x2 H 3.外部中断源有电平触发和边沿触发两种触发方式,这两种触发方式所产生的中断过程有何不同?怎样设定? 答:IT1:外部中断触发方式选择位。当IT1=0,外部中断1为电平触发方式。在这种方式下,CPU 在每个机器周期的S5P2期间对1INT (P3.3)端子采样,若采到低电平,则认为有 中断申请,随即使IE1=1;若采到高电平,则认为无中断申请或中断申请已撤除,随即清除IE1标志。在电平触发方式中,CPU 响应中断后不能自动清除IE1标志,也不能由软件清除IE1标志,所以在中断返回前必须撤消1INT 端子上的低电平,否则CPU 将再次响应中 断,从而造成出错。 若IT1=1,外部中断1为边沿触发方式,CPU 在每个机器周期的S5P2期间对1INT (P3.3) 端子采样。若在连续两个机器周期采样到先高电平后低电平(即下跳沿),则认为有中断申请,随即使IE1=1;此标志一直保持到CPU 响应中断时,才由硬件自动清除。在边沿触发方式中,为保证CPU 在两个机器周期内检测到先高后低的负跳变,输入高低电平的持续时间最少要保持12个时钟周期。 IT0同上。 4.定时/计数器工作于定时和计数方式时有何异同点? 答:16位的定时器/计数器实质上是一个加1计数器,其控制电路受软件控制、切换。 定时器工作于定时前先装入初值,利用送数指令将初值装入TH0和TL0或TH1和TL1,当发出启动命令后,装初值寄存器开始计数,连续加1,每一个机器周期加1一次,定时是对内部的机器周期脉冲计数。 工作于计数方式时,是对外部的脉冲计数,两个机器周期计一个数。 5.定时/计数器的4种工作方式各有何特点? 答:方式0:16位寄存器(TH1和TL1)只用13位。其中TL1的高3位未用,其余位占整

单片机试卷及答案

一选择题 (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.存放

第5章习题解答

第5章思考题及习题5参考答案 一、填空 1.如果采用晶振的频率为3MHz,定时器/计数器T x(x=0,1)工作在方式0、1、2下,其方式0的最大定时时间为,方式1的最大定时时间为,方式2的最大定时时间为。 答:32.768ms,262.144ms,1024μs 2.定时器/计数器用作计数器模式时,外部输入的计数脉冲的最高频率为系统时钟频率的。 答:1/24 3.定时器/计数器用作定时器模式时,其计数脉冲由提供,定时时间与有关。 答:系统时钟信号12分频后,定时器初值 4.定时器/计数器T1测量某正单脉冲的宽度,采用方式可得到最大量程?若时钟频率为6MHz,求允许测量的最大脉冲宽度为。 答:方式1定时,131.072ms。 5. 定时器T2 有3种工作方式:、和,可通过对寄存器中的相关位进行软件设置来选择。 答:捕捉,重新装载(增计数或减计数),波特率发生器,T2CON 6. AT89S52单片机的晶振为6MHz,若利用定时器T1的方式1定时2ms,则(TH1)= ,(TL1)= 。 答:FCH,18H。 二、单选 1.定时器T0工作在方式3时,定时器T1有种工作方式。 A.1种 B.2种 C.3种D.4种 答:C 2. 定时器T0、T1工作于方式1时,其计数器为位。 A.8位 B.16位 C.14位 D.13位 答:B 3. 定时器T0、T1的GATE x=1时,其计数器是否计数的条件。

A. 仅取决于TR x状态 B. 仅取决于GATE位状态 C. 是由TR x和INT x两个条件来共同控制 D. 仅取决于INT x的状态 答:C 4. 定时器T2工作在自动重装载方式时,其计数器为位。 A.8位 B. 13位 C.14位 D. 16位 答:D 5. 要想测量INT0引脚上的正单脉冲的宽度,特殊功能寄存器TMOD的内容应为。 A.87H B. 09H C.80H D. 00H 答:B 三、判断对错 1.下列关于T0、T1的哪些说法是正确的。 A.特殊功能寄存器SCON,与定时器/计数器的控制无关。对 B.特殊功能寄存器TCON,与定时器/计数器的控制无关。错 C.特殊功能寄存器IE,与定时器/计数器的控制无关。错 D.特殊功能寄存器TMOD,与定时器/计数器的控制无关。错 2.定时器T0、T1对外部脉冲进行计数时,要求输入的计数脉冲的高电平或低电平的持 续时间不小于1个机器周期。特殊功能寄存器SCON与定时器/计数器的控制无关。错 3.定时器T0、T1对外部引脚上的脉冲进行计数时,要求输入的计数脉冲的高电平和低电平的持续时间均不小于2个机器周期。对 四、简答 1.定时器/计数器T1、T0的工作方式2有什么特点?适用于哪些应用场合? 答:方式2为初值自动装入的8位定时器/计数器,克服了在循环定时或循环计数应用时就存在用指令反复装入计数初值影响定时精度的问题。 2.TH x与TL x(x=0,1)是普通寄存器还是计数器?其内容可以随时用指令更改吗?更改后的新值是立即刷新还是等当前计数器计满后才能刷新? 答:THx与TLx(x = 0,1)是计数器,其内容可以随时用指令更改,但是更改后的新值要等当前计数器计满后才能刷新。 3.如果系统的晶振的频率为24MHz,定时器/计数器工作在方式0、1、2下,其最大定时时间各为多少? 答:晶振的频率为24MHz, 机器周期为0.5μs。

单片机习题答案(第四章)

第四章 程序设计主要分为哪几种各有什么特点 答: 1.机器语言程序设计.指令难记,程序可读性和移植性差,不易查错和修改. 2.汇编语言程序设计. 需用汇编程序编译成机器码后方可执行,可以直接访问和操作单片机中的寄存器及存储器单元,对数据的处理表述的非常具体. 3.高级语言程序设计. 编程效率高,可移植性强,通用性强,但必须经过编译 AT89C51常用的汇编语言伪指令有哪些它们的作用是什么 答:伪指令有: ORG、END、EQU、DATA、DW、DS、BIT等,作用略 汇编语言程序设计分哪几个步骤每个步骤的主要任务是什么 答:P60页略 设内部RAM中存有两个有符号数A和B,求A和B之差,若溢出,则将两数均清零;否则,两数保持不变。 程序如下: MOV R0,#A MOV A,@R0 MOV R0,#B SUBB A,@R0 JNB OV,OVER MOV @R0,#00H MOV R0,#A MOV @R0,#00H OVER: RET 已知片内30H单元中存有一个8位无符号数。编程将它们乘2,再存回原处。设乘完结果不超出一个字节。 程序如下: ORG 0000H MOV A,30H RL A MOV 30H,A RET 编写程序,把片外RAM从2000H开始连续存放的8个数据送到片内30H开始的单元中。 程序如下: ORG 0000H MOV R7,#08H MOV DPTR,#2000H MOV R0,#30H LOOP1: MOVX A,@DPTR MOV @R0,A INC DPTR INC R0

DJNZ R7,LOOP1 RET 已知片内30H,31H中存有一个16位的二进制数,高位在前,低位在后,请编程将它们乘2,再存回原处。设乘完结果不超出双字节。 程序如下: ORG 0000H MOV A,31H CLR CY RLC A MOV 31H,A MOV A,30H RLC A MOV 30H,A AJMP $ 若有两个无符号数X,Y分别存放在外部数据存储器50,51单元中,试编写一个程序,实现X*5+Y,结果高8位存入片内42单元,低8位存入片内43单元。 程序如下: ORG 0000H MOV DPTR,#0050H; X先乘2 MOVX A,@DPTR MOV 43H,A CLR CY RLC A MOV R0,A CLR A ADDC A,42H ; 高位存 RL A MOV 42H,A MOV A,R0 ;x再乘2 CLR CY RLC A MOV R0,A CLR A ADDC A,42H ;存高位 MOV 42H,A MOV A,R0 ;4x再加x CLR CY ADD A,43H MOV 43H,A

单片机试题及答案

单片机原理与接口技术习题答案 习题与思考题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是单片机的大脑和心脏。它由运算器、控制器和布尔(位)处理器组成。 运算器是用于对数据进行算术运算和逻辑操作的执行部件。

51单片机串口通信,232通信,485通信,程序

51单片机串口通信,232通信,485通信,程序代码1:232通信 #include #define uchar unsigned char #define uint unsigned int uchar flag,a,i; uchar code table[]="i get"; void init() { TMOD=0X20; TH1=0XFD; TH0=0XFD; TR1=1; REN=1; SM0=0; SM1=1; EA=1; ES=1; } void main() { init();

while(1) { if(flag==1) { ES=0; for(i=0;i<6;i++) { SBUF=table[i]; while(!TI); TI=0; } SBUF=a; while(!TI); TI=0; ES=1; flag=0; } } } void ser() interrupt 4 {

RI=0; a=SBUF; flag=1; } 代码2:485通信 #include #include"1602.h" #define uchar unsigned char #define uint unsigned int unsigned char flag,a,i; uchar code table[]="i get "; void init() { TMOD=0X20; TH1=0Xfd; TL1=0Xfd; TR1=1; REN=1; SM0=0; SM1=1; EA=1; ES=1;

} void main() { init_1602(); init(); while(1) { if(flag==1) { display(0,a); } } } void ser() interrupt 4 { RI=0; a=SBUF; flag=1; } Love is not a maybe thing. You know when you love someone.

单片机原理及接口技术课后习题答案 李朝青 第五章

单片机原理及接口技术课后习题答案李朝青 课后习题答案2009-11-22 15:13 阅读696 评论9 字号:大中小第五章 1、什么是中断和中断系统?其主要功能是什么? 答:当CPU正在处理某件事情的时候,外部发生的某一件事件请求CPU迅速去处理,于是,CPU暂时中止当前的工作,转去处理所发生的事件,中断服务处理完该事件以后,再回到原来被终止的地方,继续原来的工作。这种过程称为中断,实现这种功能的部件称为中断系统。功能: (1)使计算机具有实时处理能力,能对外界异步发生的事件作出及时的处理 (2)完全消除了CPU在查询方式中的等待现象,大大提高了CPU的工作效率 (3)实现实时控制 2、试编写一段对中断系统初始化的程序,使之允许INT0,INT1,TO,串行口中断,且使T0中断为高优先级中断。 解:MOV IE,#097H MOV IP,#02H 3、在单片机中,中断能实现哪些功能? 答:有三种功能:分时操作,实时处理,故障处理 4、89C51共有哪些中断源?对其中端请求如何进行控制? 答:(1)89C51有如下中断源 ①:外部中断0请求,低电平有效 ②:外部中断1请求,低电平有效 ③T0:定时器、计数器0溢出中断请求 ④T1:定时器、计数器1溢出中断请求 ⑤TX/RX:串行接口中断请求 (2)通过对特殊功能寄存器TCON、SCON、IE、IP的各位进行置位或复位等操作,可实现各种中断控制功能 5、什么是中断优先级?中断优先处理的原则是什么? 答:中断优先级是CPU相应中断的先后顺序。原则: (1)先响应优先级高的中断请求,再响应优先级低的 (2)如果一个中断请求已经被响应,同级的其它中断请求将被禁止

单片机第四章答案

第四章习题与思考答案 4-3 外设端口有哪两种编址方法?各有什么特点? 答:微型计算机对I/O端口进行编址的方式有两种:单独编址和统一编址。 1.外设端口单独编址 特点:(1)需要专用I/O指令,实现CPU和外设间数据传送。 (2)I/O端口地址的独立。 2.外设端口与存储器统一编址 特点:(1)无需专用I/O指令 (2)I/O端口地址是内存地址中的一部分。 4-4 I/O数据有哪四种传送方式?各有什么特点? CPU与外设之间的数据传送方式有无条件传输方式、查询方式、中断方式和DMA方式。 1.无条件传输方式 无条件传送又称为同步传送或直接传送方式。CPU在与外设进行数据交换时,外设随时处于准备好的状态,这样CPU不必查询外设的状态,也不必等待,而是直接进行数据的输入输出。 2.查询传输方式 查询传输方式也称为异步传输、条件传输方式。采用查询方式时,CPU每次与外设进行数据传输前,都要先读取状态端口的信息,查询外设是否准备就绪,只有在外设处于“就绪”状态时,才能向外设的数据端口发送数据或从其中读取数据,如果外设未就绪,就需要CPU原地循环等待外设完成准备工作,所以CPU的工作效率不高。 3.中断传输方式 在中断传输方式中,以外设为主动方,每次外设准备好就可以向CPU发出一次中断请求,使CPU暂停当前正在执行的程序,转去与外设进行一次数据传输工作,当完成了本次数据的输入或输出后,再回到原先被打断的地方继续执行原来的程序。中断方式可以大大提高CPU的效率和系统的实时性。 4.DMA方式 DMA方式即直接存储器存取方式,是一种在DMA控制器的控

制下实现的外设与存储器之间的直接数据传输方式。在整个DMA 传输过程中,是不需要CPU参与的,完全是通过硬件逻辑电路用固定的顺序发地址和读写信号来实现的,数据不需要经过CPU而是在外设和存储器之间高速传输。 4-5 8051内部的并行I/O口有哪些?各有什么功能? 1.P0口 P0口的第一功能是作为通用I/O口使用。 P0口的第二功能是作为地址(低8位地址)/数据总线的复用口。 2.P1口 P1口的第一功能是作为通用I/O口使用 3.P2口 P2口的第一功能是通用I/O口 P2口的第二功能是作为地址总线,输出高8位地址信号,与P0口输出的低8位地址组合,共同完成外部存储器单元16位地址信号的输出。 4.P3口 P3口的第一功能是通用I/O口,且各引脚有不同的第二功能。 4.8 中断处理的过程是怎样的? 所谓中断是指CPU在正常执行程序的过程中,由于某种随机发生的事件使它暂停当前正在执行的程序,转而去执行另外的一段程序(中断服务程序),在这段程序完成后自动返回被打断的程序处继续执行的过程。 CPU与外设之间一个完整的可屏蔽中断传输过程包括:中断请求、中断响应、中断处理和中断返回。 4.9 8051单片机有几个中断源?各自对应的中断标志是什么?对应的中断服务子程序入口地址是什么?IE寄存器的作用是什么? 8051单片机提供5个中断源,其中2个外部中断,2个定时器/计数器中断,1个串行口中断。 外部中断INT0/ INT1以各自引脚上输入低电平或负跳变信

单片机试题及答案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)运算器和控制器

第06章单片机串行通信系统习题解答

第6章单片机串行通信系统习题解答 一、填空题 1.在串行通信中,把每秒中传送的二进制数的位数叫波特率。 2.当SCON中的M0M1=10时,表示串口工作于方式 2 ,波特率为 fosc/32或fosc/64 。 3.SCON中的REN=1表示允许接收。 4.PCON 中的SMOD=1表示波特率翻倍。 5.SCON中的TI=1表示串行口发送中断请求。 6.MCS-51单片机串行通信时,先发送低位,后发送高位。 7.MCS-51单片机方式2串行通信时,一帧信息位数为 11 位。 8.设T1工作于定时方式2,作波特率发生器,时钟频率为,SMOD=0,波特率为时,T1的初值为 FAH 。 9.MCS-51单片机串行通信时,通常用指令 MOV SBUF,A 启动串行发送。 10.MCS-51单片机串行方式0通信时,数据从引脚发送/接收。 二、简答题 1.串行口设有几个控制寄存器它们的作用是什么 答:串行口设有2个控制寄存器,串行控制寄存器SCON和电源控制寄存器PCON。其中PCON中只有的SMOD与串行口的波特率有关。在SCON中各位的作用见下表: 2.MCS-51单片机串行口有几种工作方式各自的特点是什么 答:有4种工作方式。各自的特点为:

3.MCS-51单片机串行口各种工作方式的波特率如何设置,怎样计算定时器的初值 答:串行口各种工作方式的波特率设置: 工作方式O :波特率固定不变,它与系统的振荡频率fosc 的大小有关,其值为fosc/12。 工作方式1和方式3:波特率是可变的,波特率=(2SMOD/32)×定时器T1的溢出率 工作方式2:波特率有两种固定值。 当SM0D=1时,波特率=(2SM0D/64)×fosc=fosc/32 当SM0D=0时,波特率=(2SM0D/64)×fosc=fosc/64 计算定时器的初值计算: 4.若fosc = 6MHz ,波特率为2400波特,设SMOD =1,则定时/计数器T1的计数初值为多少并进行初始化编程。 答:根据公式 N=256-2SMOD ×fosc /(2400×32×12)= ≈243 =F3H TXDA: MOV TMOD,#20H ;置T1定时器工作方式2 MOV TL1,#0F3H ;置T1计数初值. MOV TH1,#0F3H B f B f N OSC SMOD OSC SMOD ??-=???-=384225612322256

李全利版单片机原理及接口技术课后答案(第五章)

章5 80C51的中断系统及定时/计数器 1.80C51有几个中断源?各中断标志是如何产生的?又是如何复位的?CPU响应各中断时,其中断入口地址是多少? 答:5个中断源,分别为外中断INT0和INT1、T0和T1溢出中断、串口中断。 电平方式触发的外中断标志与引脚信号一致;边沿方式触发的外中断响应中断后由硬件自动复位。 T0和T1,CPU响应中断时,由硬件自动复位。 RI和TI,由硬件置位。必须由软件复位。 另外,所有能产生中断的标志位均可由软件置位或复位。 各中断入口地址:INT0―0003H,T0—000BH,INT1—0013H,T1—001BH,RI和TI—0023H。 2.某系统有三个外部中断源1、2、3,当某一中断源变低电平时便要求CPU处理,它们的优先处理次序由高到低为3、2、1,处理程序的入口地址分别为2000H、2100H、2200H。试编写主程序及中断服务程序(转至相应的入口即可)。 答:将3个中断信号经电阻线或,接INT1。 ORG 0000H LJMP MAIN ORG 00013H LJMP ZDFZ ORG 0040H MAIN:SETB EA SETB EX1 SJMP $ 0RG 0200H ZDFZ:PUSH PSW PUSH ACC JB P1.0,DV0 JB P1.1,DV1 JB P1.2,DV2 INRET:POP ACC POP PSW RETI ORG 2000H DV0:------------ JMP INRET ORG 2100H

DV1:------------ JMP INRET ORG 2200H DV2:------------ JMP INRET 3.外部中断源有电平触发和边沿触发两种触发方式,这两种触发方式所产生的中断过程有何不同?怎样设定? 答: 当IT0=0时,INT0为电平触发方式。电平触发方式时,CPU在每个机器周期的S5P2采样INT0引脚电平,当采样到低电平时,置IE0=1向CPU请求中断;采样到高电平时,将IE0清0。在电平触发方式下,CPU响应中断时,不能自动清除IE0标志。 电平触发方式时,外部中断源的有效低电平必须保持到请求获得响应时为止,不然就会漏掉;在中断服务结束之前,中断源的有效的低电平必须撤除,否则中断返回之后将再次产生中断。该方式适合于外部中断输入为低电平,且在中断服务程序中能清除外部中断请求源的情况。 当IT0=1时,INT0为边沿触发方式。边沿触发方式时,CPU在每个机器周期的S5P2采样INT0引脚电平,如果在连续的两个机器周期检测到INT0引脚由高电平变为低电平,即第一个周期采样到INT0=1,第二个周期采样到INT0=0,则置IE0=1,产生中断请求。在边沿触发方式下,CPU响应中断时,能由硬件自动清除IE0标志。 边沿触发方式时,在相继两次采样中,先采样到外部中断输入为高电平,下一个周期采样到为低电平,则在IE0或IE1中将锁存一个逻辑1。若CPU暂时不能响应,中断申请标志也不会丢失,直到CPU响应此中断时才清0。另外,为了保证下降沿能够被可靠地采样到,INT0和INT1引脚上的负脉冲宽度至少要保持一个机器周期(若晶振频率为12MHz,为1微秒)。边沿触发方式适合于以负脉冲形式输入的外部中断请求。 4.定时/计数器工作于定时和计数方式时有何异同点? 答: 定时/计数器实质是加1计数器。 不同点:设置为定时器模式时,加1计数器是对内部机器周期计数(1个机器周期等于12个振荡周期,即计数频率为晶振频率的1/12)。计数值乘以机器周期就是定时时间。设置为计数器模式时,外部事件计数脉冲由T0或T1引脚输入到计数器。在每个机器周期的S5P2期间采样T0、T1引脚电平。当某周期采样到一高电平输入,而下一周期又采样到一低电平时,则计数器加1,更新的计数值在下一个机器周期的S3P1期间装入计数器。 相同点:它们的工作原理相同,它们都有4种工作方式,由TMOD中的M1M0设定,即 方式0:13位计数器; 方式1:16位计数器; 方式2:具有自动重装初值功能的8位计数器; 方式3:T0分为两个独立的8位计数器,T1停止工作。 5.定时/计数器的4种工作方式各有何特点?

51单片机实现的485通讯程序

51单片机实现的485通讯程序 #ifndef __485_C__ #define __485_C__ #include #include #define unsigned char uchar #define unsigned int uint /* 通信命令*/ #define __ACTIVE_ 0x01 // 主机询问从机是否存在 #define __GETDATA_ 0x02 // 主机发送读设备请求 #define __OK_ 0x03 // 从机应答 #define __STATUS_ 0x04 // 从机发送设备状态信息 #define __MAXSIZE 0x08 // 缓冲区长度 #define __ERRLEN 12 // 任何通信帧长度超过12则表示出错uchar dbuf[__MAXSIZE]; // 该缓冲区用于保存设备状态信息uchar dev; // 该字节用于保存本机设备号 sbit M_DE = P1^0; // 驱动器使能,1有效 sbit M_RE = P1^1; // 接收器使能,0有效

void get_status(); // 调用该函数获得设备状态信息,函数代码未给出 void send_data(uchar type, uchar len, uchar *buf); // 发送数据帧 bit recv_cmd(uchar *type); // 接收主机命令,主机请求仅包含命令信息 void send_byte(uchar da); // 该函数发送一帧数据中的一个字节,由send_data()函数调用void main() { uchar type; uchar len; /* 系统初始化*/ P1 = 0xff; // 读取本机设备号 dev = (P1>>2); TMOD = 0x20; // 定时器T1使用工作方式2 TH1 = 250; // 设置初值 TL1 = 250; TR1 = 1; // 开始计时 PCON = 0x80; // SMOD = 1 SCON = 0x50; // 工作方式1,波特率9600bps,允许接收 ES = 0; // 关闭串口中断 IT0 = 0; // 外部中断0使用电平触发模式 EX0 = 1; // 开启外部中断0

单片机(熊静琪)第五章部分习题答案

1.设采样离散控制系统如图所示,已知a=1,K=1,T=1S,输入单位阶跃信号,试分析系统的过渡过程。 解: 离散系统的传递函数 a=1; K=1 ;T=1; num=[K]; den=conv([1 0],[1 a]); [num2 den2]=c2dm(num,den,T); G0z=tf(num2,den2,T); Gz=feedback(G0z,1) 结果: Transfer function: 0.3679 z + 0.2642 ----------------- z^2 - z + 0.6321 Sampling time: 1 单位输入响应下的输出图像: num3=[0.3679 0.2642]; den3=[1 -1 0.6321]; dstep(num3,den3) axis([0 35 -0.1 1.5]) 结果: 由图像可知,在单位阶跃信号的作用下,调整时间ts约为12s,超调量为40%,峰值时间tp=3s,振荡次数N=1.5,衰减比为2:1,稳态误差ess=0. 2.设采样离散控制系统如图所示,已知a=1,K=1,T=1S,输入单位阶跃信号、单位速度、单位加速度时的稳态误差。 解: 离散系统的传递函数: a=1; K=1 ;T=1; num=[K]; den=conv([1 0],[1 a]); [num2 den2]=c2dm(num,den,T); G0z=tf(num2,den2,T);

Gz=feedback(G0z,1) 结果: Transfer function: 0.3679 z + 0.2642 ----------------- z^2 - z + 0.6321 Sampling time: 1 三种输入下的稳态误差: syms z GZ Kp Kv Ka ess1 ess2 ess3 Gz=factor((0.3679*z+0.2642)/(z^2-1.368*z+0.3679)); Kp=limit(Gz,z,1); ess1=1/(1+Kp) Kv=limit((z-1)*Gz,z,1); ess2=1/Kv Ka=limit((z-1)^2*Gz,z,1); ess3=1/Ka 结果: ess1 = -1/6320 ess2 = Inf ess3 = Inf 3.已知采样离散系统的方程如下,是判断系统的稳定性。 (1)D(Z)=Z^Z-Z+0.632 解: syms den p i n den=[1 -1 0.632]; p=roots(den) i=find(abs(p)>1); n=length(i); if n>0 disp('system is not stable') else disp('system is stable') end 结果: P = 0.5000 + 0.6181i 0.5000 - 0.6181i system is stable 4.设采样离散控制系统如图所示,已知a=1,试求T=1s是,T=0.5两种采样周期下,保证系

单片机课后习题

单片机考试复习资料 第一章、绪论 1、什么叫单片机其主要特点有哪些 答: 在一片集成电路芯片上集成微处理器、存储器、I/O接口电路,从而构成了单芯片微型计算机,即单片机。 单片机主要特点有:控制性能和可靠性高;体积小、价格低、易于产品化;具有良好的性能价格比。 2、单片机有哪些应用领域 答: 智能仪器仪表; 机电一体化产品; 实时工业控制; 分布系统的前端模块; 家用电器;

交通与航空航天。 3、仿真调试有哪两种形式硬件仿真的目的是什么?答: 软件模拟和硬件仿真。 仿真的目的就是可以进行调试、跟踪、监视。 4、简述单片机应用系统的开发过程。 答: 系统需求分析; 硬件方案设计; 软件编程; 仿真调试; 实际运行。

第二章、80c51的结构和原理 1、80c51单片机在功能上,程序存储器的配置上主要有哪些分类答: 功能上分为基本型和增强型; 工艺上分为HMOS工艺和CHMOS工艺; 在片内程序存储器的配置上有掩膜ROM、EPROM和Flash、无片内程序存储器形式。 2、80c51基本型的存储器地址空间如何划分各空间的地址范围和容量如何 答: 在物理上设计成程序存储器和数据存储器两个独立的空间; 片内程序存储器为4KB,地址范围是0000H-0FFFH,

片内数据存储器为128字节RAM,地址范围是00H-7FH, 3、80c51单片机晶振频率分别为12Mhz,时,机器周期分别为多少答: 晶振频率为f,一个时钟周期为1/f,机器周期为12*1/f。 1μs,μs。 4、80c51单片机复位后的状态如何常用的复位方法有哪些 答: 复位后,PC内容为0000H; P0口~P3口内容为FFH; SP内容为07H; SBUF内容不定; IP、IE和PCONww的有效位为0; 其余的特殊功能寄存器的状态均为00H。 复位方法一种是上电复位,另一种是上电与按键均有效的复位。

单片机习题集及答案

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

相关文档
最新文档