《单片机原理与应用技术》(高惠芳版)习题参考答案:
第二章(p38)
习题
第(1)题:
MCS-51单片机芯片包含哪些主要功能部件?
8051单片机是个完整的单片微型计算机。芯片内部包括下列主要功能部件:
1)8位CPU;
2)4KB的片内程序存储器ROM。可
寻址64KB程序存储器和64KB外部数
据存储器;
3)128B内部RAM;
4)21个SFR;
5)4个8位并行I/O口(共32位I/O
线);
6)一个全双工的异步串行口;
7)两个16位定时器/计数器;
8)5个中断源,两个中断优先级;
9)内部时钟发生器。
第(4)题:MCS-51单片机的四个I/O口在使用上各有什么功能和特点?
1)P0口:8位双向三态端口,外接上拉电阻时可作为通用I/O口线,也可在总线外扩时用作数据总线及低8位地址总线。
2)P1口:8位准双向I/O端口,作为通用I/O口。
3)P2口:8位准双向I/O端口,可作为通用I/O口,也可在总线外扩时用作高8位地址总线。
3)P3口:8位准双向I/O端口,可作为通用I/O口,除此之外,每个端口还有第二功能,比如有的端口用作串行通信口,有的端口用作外部中断信号输入口,有的端口用作计数脉冲输入引脚,有的端口用作读/写控制线。实际应用中常使用P3口的第二功能。
第(5)题:MCS-51单片机的存储器分那几个空间?作用是啥?
8051存储器包括程序存储器和数据存储器,从逻辑结构上看,可以分为三个不同的空间:
1)64KB片内片外统一编址的程序存储器地址空间,地址范围:0000H~FFFFH,对于8051单片机,其中地址0000H~0FFFH范围为4KB的片内ROM地址空间,1000H ~ FFFFH为片外ROM地址空间;
2)256B的内部数据存储器地址空间,地址范围为00H~FFH,对于8051单片机,内部RAM分为两部分,其中地址范围00H ~ 7FH (共128B单元)为内部静态RAM的地址空间,80H~FFH为特殊功能寄存器的地址空间,21个特殊功能寄存器离散地分布在这个区域;对于8052系列单片机还有地址范围为80H~FFH的高128B的静态RAM。3)64KB的外部数据存储器地址空间:地址范围为0000H~FFFFH,包括扩展I/O端口地址空间。
第(6)题:RAM内包含哪些可位寻址单元?片内RAM中,20H~2FH是位寻址区,共16个单元,每个单元的每一位都有地址,位地址范围是00H~7FH,共128位可寻址位。
第(7)题:堆栈?SP的作用?为何要对SP重新赋值?
1)堆栈是一种数据结构,是只允许数据在其一端进出的一段存储空间;为程序调用和中断操作而设立,用作现场保护和断点保护。
2)堆栈指针SP用来存放堆栈的栈顶地址。3)复位后,SP的初值为07H,由于片内RAM 的07H单元的后继区域分别为工作寄存器区和位寻址区,通常这两个区域在程序中有其它重要用途,所以用户在设计程序时,一般都将堆栈设在内部RAM的30H~7FH地址空间的高端区域,而不设在工作寄存器区和位寻址区。
第(10)题:振荡周期、时钟周期、机器周期、指令周期?
1)振荡周期是指为单片机提供脉冲信号的振荡源的周期,是单片机最基本的时间单位。通常由外接晶振与内部电路来提供振荡
脉冲信号,其频率记为OSC f ,此频率的倒数即是振荡周期。
2) 振荡脉冲经过二分频后就是单片机的时钟信号,时钟信号的周期称为时钟周期,又定义为状态,用S 表示。时钟周期是振荡周期的二倍。
3)机器周期是指令执行过程中完成某一个基本操作所需的时间。一个机器周期等于12
个振荡周期。即
OSC M f
T 12
。 4)指令周期是指执行一条指令所需要的时间,根据指令不同,可包含1、2、4个机器周期。
第(13)题:开机复位后,单片机使用的是哪组工作寄存器?其地址是啥?如何改变当前工作寄存器组? 开机复位后,单片机使用的是第0组工作寄存器。它们的地址范围是00H ~07H 。对PSW 寄存器的RS0、RS1两位的置位或复位即可改变单片机当前使用的工作寄存器组。
第三章 (p66)
2、MCS-51单片机有哪几种寻址方式?各有什么特点?寻址范围是什么? MCS-51单片机有7种寻址方式。
(1)立即寻址。操作数直接在指令中给出,它可以是二进制、十进制、十六进制数,也可以是带单引号的字符,通常把这种操作数称为立即数,它的寻址范围就是指令本身所在的程序存储单元。
(2)直接寻址。在指令中直接给出存放操作数的内存单元的地址。寻址范围为:内部RAM 低128字节单元,特殊功能寄存器。 (3)寄存器寻址。指令中给出的是操作数所在的寄存器。寻址范围为:4组工作寄存器(R0 ~ R7),部分特殊功能寄存器,如A 、B 、DPTR 。
(4)寄存器间接寻址。存放操作数的内存单元的地址放在寄存器中,指令只给出寄存器(包括Ri 和DPTR ),寄存器名称前加“@”前缀标志。寻址范围:地址范围从00 ~
FFH 的全部内部RAM 单元,包括堆栈区,但不包括特殊功能寄存器,以及地址范围从0000 ~ FFFFH 的全部片外RAM 。
(5)变址寻址。将基址寄存器与变址寄存器的内容相加,结果作为操作数的地址。变址寻址主要用于查表操作。寻址范围:64KB 的程序存储空间。
(6)相对寻址。指令中给出的操作数是程序相对转移的偏移量。偏移量是一个带符号的单字节数,范围为-128 ~ +127。
(7)位寻址。操作数是位地址。寻址范围:内部RAM 位寻址区共128位(位地址:00 ~ 7FH ),11个特殊功能寄存器中的可寻址位(对于8051,有83位)。
3、对片内RAM 可以用哪几种寻址方式? 对片外RAM 可以用哪几种寻址方式? 对片内RAM 的工作寄存器区(00 ~ 1FH )可以用直接寻址、寄存器寻址和寄存器间接寻址;位寻址区(20 ~ 2FH )可以用直接寻址、寄存器间接寻址和位寻址;用户RAM 区(30 ~ 7FH )可以用直接寻址、寄存器间接寻址;内部RAM 的高128B (80 ~ FFH )只能用寄存器间接寻址;内部RAM 的特殊功能寄存器区(80 ~ FFH )用直接寻址。 对于片外RAM ,可以通过寄存器Ri 进行256B 的分页间接寻址或通过DPTR 进行64KB 范围的寄存器间接寻址。
4、对片外RAM 单元的寻址中,用Ri 间接寻址与用DPTR 间接寻址有啥区别/ 对片外RAM 单元寻址时,可用Ri 进行分页间接寻址,亦即只能在当前页面内间接寻址,页面大小为256个字节,页面地址由特殊功能寄存器P2决定;也可用DPTR 进行间接寻址,寻址范围为64K 字节,即256个页面内的任一单元均可寻址。
5、指出下列指令操作数的寻址方式? ①立即寻址MOV A,#00H ②直接寻址MOV A,50H
③寄存器间接寻址MOV A,@R0
④寄存器寻址MOV A,R5
⑤变址寻址MOV A,@A+DPTR ⑥相对寻址SJMP 70H
⑦直接寻址或寄存器寻址CLR A
11、①ANL A,#0FCH累加器A的低2位清零,其余位不变;
②ORL A,#0C0H累加器A的高2位置1,其余位不变;
③XRL A,#0F0H累加器A的高4位取反,其余位不变;
④XRL A,#55H累加器A的第0、2、4、6位取反,其余位不变;
12、已知A=78,R1=78H,B=04H,CY=1,片内RAM78H=0DDH,80H=6CH,试分别写下列指令执行后单元的结果和相应标志位的值。
①(A)=55H,CY=1,ADD A,@R1
②(A)=0,CY=0,SUBB A,#77H
③(B)=01H,(A)=0E0H,CY=0MUL AB
④(A)=1EH,(B)=0,CY=0,DIV AB
⑤(78H)=58H,CY=1,ANL 78H,#78H
⑥(A)=7FH,CY=1,ORL A,#0FH
⑦(80H)=14H,CY=1,XRL 80H,A
13、写出下列指令的执行成果。
MOV A,#7FH
CPL A
RR A
SWAP A
(A)= 4 或4H 或04H
18、编程:在外部数据存储器首地址为TABLE的数据表中存有10B的数据,编程将每个字节的最高位置1,并返回原来的单元
ORG 0000H
LJMP MAIN
ORG 0100H
MAIN: MOV DPTR, #TABLE
MOV R0, #10
LOOP: MOVX A, @DPTR
ORL A, #80H 或SETB ACC.7
MOVX @DPTR, A
INC DPTR
DJNZ R0, LOOP
SJMP $
END
第四章(p95)
第(2)题编程:设内部RAM 5AH单元中有一个变量X,轻编写计算下属函数式的程序,结果存入5BH单元。Y=X2+8
X2-1
41
ORG 0000H
LJMP START
ORG 0100H
START: CLR C
MOV A, 5AH
SUBB A, #10
JC LOWER10
CLR C
MOV A, 5AH
CJNE A, #15, IFL15
BE1015: MOV A, 5AH
MOV B, A
MUL AB
ADD A, #8
AJMP SA VE
IFL15: JNC LARGE15
SJMP BE1015
LOWER10: MOV A, 5AH
MOV B, A
MUL AB
DEC A
AJMP SA VE
LARGE15: MOV A, #41
SA VE: MOV 5BH, A
SJMP $
END
第(10)题编程在以2000H为首地址的存储区中,存放着20个用ASCII吗表示的0-9的数。试编程将他们转化为BCD吗,并以压所BCD吗的形式存放在3009H单元中。
ORG 0000H
LJMP START
ORG 0100H
START: MOV DPTR, #2000H
MOV R2, #10
MOV R0, #00H
MOV P2, #30H
LOOP: MOVX A, @DPTR
SUBB A, #30H
MOV R3, A
INC DPTR
MOVX A, @DPTR
SUBB A, #30H
SWAP A
ADD A, R3
MOVX @R0, A
INC DPTR
INC R0
DJNZ R2, LOOP
SJMP $
END
第6章(p195)
第(1)题
参考答案:
①什么是中断?单片机正常工作时,按用户程序逐条执行指令,如果系统中出现某些急需处理的事件,CPU暂时终止当前的程序,转而去执行服务程序,以对发生的更紧迫的事件进行处理,待服务程序结束后,CPU自动返回原来的程序继续执行,这个过程就称为中断。
②有几个中断源?MCS-51单片机有5个中断源:外部中断0、定时/计数器T0的溢出中断、外部中断1、定时/计数器T1的溢出中断、串行口收发中断,对应的中断请求标志为IE0、TF0、IE1、TF1、TI/RI。
③如何提出中断?中断源产生中断信号后,中断系统把相应的中断标志置位,在中断允许的前提下,由中断标志触发中断请求。
④单片机如何进行中断响应?中断响应过程:第一步,对于外部中断,需要由CPU 采样外部中断请求信号,若采样到后,把相就的中断请求标志置位;第二步,查询各个中断标志位;第三步,进行中断响应,由硬件自动生成一条长调用指令“LCALL #addr16”进行断点保护后转向中断服务程序。
第(2)题MCS51的中断源中,哪些中断请求信号在中断响应是可自动清除?那些不能?不能的如何处理?
参考答案:
在中断响应时,可以自动清除的中断请求信号有:①定时/计数器的溢出标志TF0/TF1;
②脉冲方式的外部中断请求IE0/IE1;
在中断响应时,不能自动清除的中断请求信号有:①电平方式的外部中断请求,处理方法:中断响应后通过软硬件结合的方法把输入端的低电平强制改成高电平,再软件清IE0/IE1。②串行中断,处理方法:中断响应后,在中断服务程序中查询RI/TI,以确定是接收中断还是发送中断,查询以后由指令(即软件方法)对RI/TI清零。
第(3)题8051中断优先级有几级?在形成中断嵌套时各级有何规定?
参考答案:
8051单片机的中断优先级有高低两个优先级。
在形成中断嵌套时,低优先级中断请求不能打断高优先级的中断服务。高优先级中断请求可以打断低优先级的中断服务,从而实现中断嵌套。如果一个中断请求已被响应,则同级的中断请求将被禁止,即同级中断不能嵌套。如果同级的多个中断请求同时出现,则由单片机内部硬件查询,按自然响应顺序确定响应哪个中断请求。各个中断源自然响应的先后顺序为:外部中断0,定时/计数器T0,外部中断1,定时/计数器T1中断,串行口中断。
第(4)题MCS51响应中断后,各中断入口地址是啥?
参考答案:
外部中断0入口地址:0003H
定时/计数器T0中断入口地址:000BH
外部中断1入口地址:0013H
定时/计数器T1中断入口地址:001BH
串行口中断入口地址:0023H
第(7)题定时计数器的四中工作方式各自的技术范围?如果要计10个单位不同方式的初值是啥?
参考答案:
定时/计数器四种工作方式各自的计数范围为:方式0 213
方式1 216
方式2、3 28
如果要计10个单位,计数器的初值为:
方式0:X=213-10=8182=1FF6H
THx=FFH
TLx=16H
(x为0或1,对应T0或T1,下同)
方式1:X=216-10=65526=FFF6H
THx=FFH
TLx=F6H
方式2:X=28-10=246=F6H
THx=F6H
TLx=F6H
方式3:X=28-10=246=F6H
只对T0有效
TH0=F6H
TL0=F6H
第(9)题已知振荡频率12MHZ,用定时计数器T0,实现从P2.0产生周期为100ms 的方波,用汇编和C语言编程
参考答案1:
用中断方式实现
//从P2.0引脚输出周期为100ms的方波
//由定时器T0产生50ms的定时
//T0工作于方式1可以实现50ms的定时//X=65536-50/0.001=15536=3CB0H
#include
sbit p2_0 = P2^0;
void main(void)
{
TMOD=0X01;
EA=1;
ET0=1;
TH0=(65536-50000)/256;
//TH0=0x3C;
TL0=(65536-50000)%256;
//TL0=0xB0;
TR0=1;
while(1);
}
void timer0(void) interrupt 1 using 1
{
TH0=(65536-50000)/256;
//TH0=0x3C;
TL0=(65536-50000)%256;
//TL0=0xB0;
p2_0=!p2_0;
}
参考答案2:
不用中断方式,用查询方式实现
//从P2.0引脚输出周期为100ms的方波//由定时器T0产生50ms的定时
//T0工作于方式1可以实现50ms的定时//X=65536-50/0.001=15536=3CB0H
#include
sbit p2_0 = P2^0;
void main(void)
{
TMOD=0X01;
TH0=(65536-50000)/256;
//TH0=0x3C;
TL0=(65536-50000)%256;
//TL0=0xB0;
TR0=1;
while(1)
{
TH0=(65536-50000)/256;
TL0=(65536-50000)%256;
while(!TF0);
p2_0=!p2_0;
}
}
参考答案3:
;中断方式
ORG 0000H
LJMP MAIN
ORG 000BH
AJMP SER_T0
ORG 0100H
MAIN: MOV TMOD,#01H
MOV TH0,#3CH
MOV TL0,#0B0H
SETB EA
SETB ET0
SETB TR0
SJMP $
SER_T0: MOV TH0,#3CH
MOV TL0,#0B0H
CPL P2.0
RETI
END
参考答案4:
;查询方式
ORG 0000H
LJMP MAIN
ORG 0100H
MAIN: MOV TMOD,#01H
MOV TH0,#3CH
MOV TL0,#0B0H
SETB TR0
LOOP: JBC TF0, NEXT
SJMP LOOP
NEXT: MOV TH0,#3CH
MOV TL0,#0B0H
CPL P2.0
SJMP LOOP
END
第(13)题编程利用单片机内部定时计数器T1产生定时时钟,由P1口输出信号控制8个LED指示灯,试编程使8个指示灯依次轮流点亮,每个指示灯点亮时间100ms。参考答案(1)
//C语言程序
//P1口接8只LED,编写程序轮流点亮各个LED////
#include
//定义流水灯的花样
unsigned char code design[8]={0xfe,0xfd,0xfb,0xf7,0xef,0xdf,0xb f,0x7f};
unsigned char i=0,j=0;
void init_timer1(void);
void main(void)
{
init_timer1();
while(1);
}
void init_timer1(void)
{
TMOD = 0x10;
TH1 = (65536-50000)/256;
TL1 = (65536-50000)%256;
ET1 = 1;
EA = 1;
TR1 = 1;
P1 = design[0];
}
/*晶振为12MHz
void serv_t1(void) interrupt 3 using 1
{
TH1 = (65536-50000)/256;
TL1 = (65536-50000)%256;
i++;
if(i==2)
{
i=0;
j=(j+1)%8;
P1=design[j];
}
}
//*/
//*晶振为6MHz
void serv_t1(void) interrupt 3 using 1
{
TH1 = (65536-50000)/256;
TL1 = (65536-50000)%256;
j=(j+1)%8;
P1=design[j];
}
//*/
参考答案(2)
//P1口接8只LED,编写程序轮流点亮各个LED////
#include
#include
unsigned char i=0,a=0xfe;
void init_timer1(void);
void main(void)
{
init_timer1();
while(1);
}
void init_timer1(void)
{
TMOD = 0x10;
TH1 = (65536-50000)/256;
TL1 = (65536-50000)%256;
ET1 = 1;
EA = 1;
TR1 = 1;
}
/*晶振为12MHz
void serv_t1(void) interrupt 3 using 1
{
TH1 = (65536-50000)/256;
TL1 = (65536-50000)%256;
i++;
if(i==2)
{
i=0;
a=_crol_(a,1);
P1=a;
}
}
//*/ //*晶振为6MHz
void serv_t1(void) interrupt 3 using 1
{
TH1 = (65536-50000)/256;
TL1 = (65536-50000)%256;
a=_crol_(a,1);
P1=a;
}
//*/
参考答案(3)
//P1口接8只LED,编写程序轮流点亮各个LED,查询方式////
#include
#include
unsigned char i=0,temp=0xfe;
void main(void)
{
TMOD = 0x10;
P1 = 0xfe;
TH1 = (65536-50000)/256;
TL1 = (65536-50000)%256;
TR1 = 1;
while(1)
{
while(!TF1);
P1=_crol_(temp,1);
TF1=0;
}
}
参考答案(4)
;汇编语言程序
;晶振频率为6MHZ
ORG 0000H
AJMP MAIN
ORG 001BH
AJMP SERV_T1
ORG 0100H
MAIN: MOV SP,#60H
CLR A
MOV R7,#0
MOV TMOD,#10H
MOV TH1,#3CH
MOV TL1,#0B0H
SETB ET1
SETB EA
SETB TR1
MOV DPTR,#TABLE
MOVC A,@A+DPTR
MOV P1,A
SJMP $
TABLE: DB
0FEH,0FDH,0FBH,0F7H,0EFH,0DFH,0BFH, 7FH
ORG 0200H
SERV_T1:
MOV TH1,#3CH
MOV TL1,#0B0H
INC R7
CJNE R7,#8,OUTPUT
MOV R7,#0
OUTPUT:
MOV A,R7
MOVC A,@A+DPTR
MOV P1,A
RETI
END
参考答案(5)
;晶振频率为6MHZ
ORG 0000H
AJMP MAIN
ORG 001BH
AJMP SERV_T1
ORG 0100H
MAIN: MOV SP,#60H
MOV TMOD,#10H
MOV TH1,#3CH
MOV TL1,#0B0H
SETB ET1
SETB EA
SETB TR1
MOV A,#0FEH
MOV P1,A
SJMP $
ORG 0200H
SERV_T1:
MOV TH1,#3CH
MOV TL1,#0B0H
RL A
MOV P1,A
RETI
END
第16题MCS51串口有几种工作放是,特点是啥?
参考答案:
MCS-51单片机的串行口是全双工串口,有4种工作方式:
(1)工作方式0:通常串行口外接同步移位寄存器,用于扩展I/O端口。波特
率固定为12
OSC
f。
(2)工作方式1:串行口作为波特率可变的10位异步收发器,8位数据加起
始位和停止位。
(3)工作方式2、3:串行口是11位的异步收发器,9位数据加起始位和停止
位。方式2的波特率固定为32
OSC
f
或64
OSC
f,方式3的波特率可变。
第19题编程用汇编语言和C编程实现一个双击通信系统,将甲基的片内RAM中30H-3FH的数据块,传送到乙机片外RAM 中0030H-003FH,话电路图。
一、C语言编程:
甲机程序:
//晶振11.0592MHz,波特率为1200bps
//甲机发送片内RAM中30H-3FH的数据块#include
#define ADDRA 0x30
unsigned char num = 0;
unsigned char data *p;
void main(void)
{
SCON = 0x40;
TMOD = 0x20;
PCON = 0x00;
TL1 = 0xe8;
TH1 = 0xe8;
TR1 = 1;
EA = 1;
ES = 1;
p = ADDRA;
SBUF = *p;
while(1);
}
void Serv_serial_A(void) interrupt 4 using 1 {
TI = 0;
if(num == 0x10) ES = 0;
else
{
num++;
p++;
SBUF = *p;
}
}
乙机程序:
//晶振11.0592MHz,波特率为1200bps
//乙机接收数据放于片外RAM的0030H-003FH
#include
#define ADDRB 0x0030
unsigned char num = 0;
unsigned char xdata *p;
void main(void)
{
SCON = 0x50;
TMOD = 0x20;
PCON = 0x00;
TL1 = 0xe8;
TH1 = 0xe8;
TR1 = 1;
EA = 1;
ES = 1;
p = ADDRB;
while(1);
}
void Serv_serial_B(void) interrupt 4 using 1 {
RI = 0;
if(num == 0x10) ES = 0;
else
{
num++;
p++;
*p = SBUF;
}
}
二、汇编语言程序
甲机程序:
ORG 0000H
LJMP MAINA
ORG 0023H
AJMP SERV_SA
ORG 0100H
MAINA: MOV SP,#60H
MOV SCON, #40H
MOV TMOD, #20H
MOV PCON, #00H
MOV TH1, #0E8H
MOV TL1, #0E8H
SETB TR1
SETB EA
SETB ES
MOV R0,#0FH
MOV R1,#30H
MOV A,@R1
MOV SBUF, A
SJMP $
SERV_SA:CLR TI
DJNZ R0, LOOPA
CLR ES
SJMP ENDA LOOPA: INC R1
MOV A,@R1
MOV SBUF, A ENDA: RETI
END
乙机程序:
ORG 0000H
LJMP MAINB
ORG 0023H
AJMP SERV_B
ORG 0100H MAINB: MOV SP,#60H
MOV SCON, #50H
MOV TMOD, #20H
MOV PCON, #00H
MOV TH1, #0E8H
MOV TL1, #0E8H
SETB TR1
SETB EA
SETB ES
MOV R0,#10H
MOV DPTR,#0030H
SJMP $
SERV_B: C LR RI
DJNZ R0, LOOPB
CLR ES
SJMP ENDB LOOPB: MOV A,SBUF
MOVX @DPTR,A
INC DPTR ENDB: RETI
END
第八章
1、键盘抖动原因?消除方法?
通常的按键所用开关为机械弹性开关,当机械触点断开、闭合时,由于机械触点的弹性作用,开关在闭合时不会马上稳定地接通,在断开时也不会一下子断开。因而在闭合及断开的瞬间均伴随有一连串的抖动,为了不产生这种现象而作的措施就是按键消抖。
按键抖动分前沿抖动和后沿抖动。抖动时间的长短由按键的机械特性决定,一般为5ms~10ms。键抖动会引起一次按键被误读多次。为确保CPU对键的一次闭合仅作一次处理,必须去除键抖动。在键闭合稳定时读取键的状态,并且必须判别到键释放稳定后再作处理。
按键的消抖,可用硬件或软件两种方法。
硬件消抖:
在键数较少时可用RS触发器构成的双稳态电路实现硬件消抖。
软件消抖:常用
如果按键较多,常用软件方法去抖,即检测到按键闭合后执行一个延时程序,大约5ms~10ms的延时,让前沿抖动消失后再一次检测键的状态,如果仍保持闭合状态电平,则确认为真正有键按下。当检测到按键释放后,也要给5ms~10ms的延时,待后沿抖动消失后才能转入该键的处理程序。
3、设计AD转换电路并用数码管显示。
(1)电路:
(2)程序:
#include
//定义显示数组d[4]以及一个变量n用于动态显示
unsigned char d[4],n;
//定义显示用的查找表
unsigned char code table[11]={0x3f,6,0x5b,0x4f,
0x66,0x6d,0x7d,7,0x7f,0x6f,0};
unsigned char code digit[4]={0xf7,0xf6,0xf5,0xf4};
//定义TLC549转换接口
sbit tlc549_data=P1^5;
sbit tlc549_cs=P1^4;
sbit tlc549_clk=P1^3;
//定义可位寻址的变量adc用于存放ad转换值,
//以及一个bit变量用于移位,它指示了ad 的最最低一位
unsigned char bdata adc;
sbit adclow=adc^0;
//ad转换函数
unsigned char adconvert()
{ unsigned char i;
tlc549_cs=1;
tlc549_cs=0;
tlc549_clk=0;
for(i=0;i<8;i++)
{ tlc549_clk=1;
adclow=tlc549_data;
tlc549_clk=0;
if(i<7) adc=adc<<1;
}
tlc549_clk=0;
tlc549_cs=1;
return(adc);
}
/******将ad转换BCD码值显示出来**********/
vtobcd(unsigned int hexs)
{
d[0]=hexs/1000;
hexs=hexs % 1000;
d[1]=hexs/100;
hexs=hexs % 100;
d[2]=hexs/10;
hexs=hexs % 10;
d[3]=hexs;
}
/*******延时函数***********/
void delay(unsigned char dy)
{
while(--dy);
}
/*****定时器初始化函数********/
void Init_Timer (void)
{
TMOD=0X21;
TR0=1;
ET0=1;
EA=1;
}
/**********定时器0中断服务函数*****************/
void timer0() interrupt 1 using 1
{
TH0=(65536-1000)/256;
TL0=(65536-1000)%256;
n=n++;
if(n>3) n=0;
P0=0;
P2=digit[n];
P0=table[d[n]];
}
/******主函数main*************/
//效果就是显示测量的电压值;
//电压值用mv为单位,范围0--5000mv //由于测量值的范围为0--255,所以中间要乘一个系数19.6
/*****************************/
void main()
{
unsigned char ad,j;
Init_Timer();
//变量初始化
n=0;
while(1)
{
ad=adconvert(); //ad转换
vtobcd(ad*19.6); //将ad转换BCD码
for(j=0;j<200;j++) delay(250);
}
}
单片机原理及应用技术苏家建 课后习题参考答案 第三章MCS-51指令系统 3-1 MCS-51指令系统有哪几种寻址方式?按功能分类有哪几种指令? 3-2 设A=0FH,R0=30H,片内RAM的(30H)=0AH, (31H)=0BH, (32H)=0CH,下列程序段运行后的结果? MOV A,@R0 ;A=0AH MOV @R0,32H ;(30H)=0CH MOV 32H,A ;(32H)=0AH MOV R0,#31H ;R0=31H MOV A,@R0;A=(31H)=0BH 3-3 (1)R0的内容传送到R1 MOV A,R0 MOV R1,A (2)内部RAM 20H单元的内容传送到A MOV A,20H (3)外部RAM 30H单元的内容传送到R0 MOV R1,#30H MOVX A,@R1 MOV R0,A (4) 外部RAM 30H单元的内容传送到内部RAM 20H单元 MOV R1,#30H MOVX A,@R1 MOV 20H,A (5) 外部RAM 1000H单元的内容传送到内部RAM 20H单元 MOV DPTR,#1000H MOVX A,@DPTR MOV 20H,A (6)程序存储器ROM 2000H单元的内容传送到R1 MOV DPTR,#2000H CLR A MOVC A,@A+DPTR MOV R1,A (7) RAM 2000H单元的内容传送到内部RAM 20H单元 MOV DPTR,#2000H MOVX A,@DPTR MOV 20H,A (8) RAM 2000H单元的内容传送到外部RAM 30H单元 MOV DPTR,#2000H MOVX A,@DPTR MOV R0,#30H MOVX @R0,A (9) RAM 2000H单元的内容传送到外部RAM 1000H单元
单片机原理及接口技术于2018年4月15日城建学院(仅供参考,不保证全部正 1 确) 2 一、选择题 3 1、8051单片机的( D )口的引脚,还具有外中断、串行通信等第二功能。 4 A.P0 B.P1 C.P2 D.P3 5 2、单片机应用程序一般存放在( B )。 6 A.RAM B.ROM C.寄存 7 器 D.CPU 8 3、下列指令中不影响标志位CY的指令有(D)。 9 A.ADD A, 10 20H B.CLR C C.RRC A D.INC A 11 (加1指令) 12 4、CPU主要的组成部分为(A)。 13 A.运算器、控制器 B.加法器、寄存器 C.运算器、寄存 14 器 D.运算器、指令译码器 15 5、8051复位后,PC与SP的值为(B)。 16 A.0000H,00H B.0000H,07H C.0003H,07H D.0800H,00H 17 6、当需要从MCS-51单片机程序存储器取数据时,采用的指令为(B)。 18 A.MOV A, @R1 B. MOVC A, @A + DPTR C.MOVX 19 A, @ R0 D.MOVX A, @ DPTR 20 7、8051单片机中既可位寻址又可字节寻址的单元是(A)。 21 A.20H B.30H C.00H D.70H 22 23 8、下列哪条指令是正确的(D)。 24 A.PUSH R2 B.ADD R0,A C.MOVX A @DPTR D.MOV @R0,A 25
9、MCS-51单片机复位操作的主要功能是把PC初始化为( C )。 26 A.0100H B.2080H C.0000H D.8000H 27 10、寻址空间为程序存储器所用的指令是( A )。 28 A. MOVX B.MOV C.MOVC D.ADDC 29 11、执行中断返回指令,从堆栈弹出地址送给(C)。 30 A. A B. CY C. PC D. DPTR 31 12、存储器的地址范围是0000H~0FFFH,它的容量为(D)。 32 A.1KB B.2KB C.3KB D.4KB 33 13、MOVX A , @R0指令中,源操作数采用( D)寻址方式,指令作用在()区间。 34 A.寄存器,外部数据存储器 B.直接,程序存储器 35 C.寄存器间接,内部数据存储器 D.寄存器间接,外部数据存储器 36 14、A7H和5BH两个立即数相加后,和为(C),(CY)是()。 37 A.1CH,0 B.C1H,0 C.02H,1 D.C1H,1 38 15、若(A)=86H,(PSW)=80H,则执行RRC A指令后( A)。 39 A.C3H B.B3H C.0DH D.56H 40 16、如果(P0)=65H ,则当下列指令执行后(P0)=( C )。 41 CPL P0.2 第二位取反 42 SETB C CY置1 43 MOV P0.4 ,C 第四位等于1 44 A.61H B.75H C. 71H D. 17H 45 17、( D )指令是MCS-51指令系统中执行时间最长且长达4 us的。 46 A.比较转移 B.循环转移 C.增减量 D.乘除法 47
苏州经贸职业技术学院 2009-2010学年第二学期 《单片机原理及应用》期终试卷(A) 班级:姓名:学号:成绩: 一﹑填空题(将正确答案填在题干的空白处。1分×35=35分) 1、十进制数-47用8位二进制补码表示为:11010001B。 2、89C51含4KB Flash ROM,128B的RAM,在物理上有4个独立的存储器 空间。 3、若8031单片机的晶振频率fosc=12MHz,则振荡周期为1/12us ,状态周期为1/6us ,机器周期为1us ,执行MUL AB指令需要时间为4us 。 4、假定A=85H,R0=20H,(20H)=0AFH。执行指令:ADD A,@R0后,累加器 A的内容34H ,CY的内容1 ,AC的内容1 ,OV的内容1 。 5、假定DPTR的内容为8100H,累加器A的内容为40H,执行下列指令: MOVC A,@A+DPTR 后,送入A的是程序存储器8140H 单元的内容。 6、PSW中RS1 RS0=10H时,R2的地址为12H 。 7、ROM在物理上分为片内ROM 和片外ROM ,在逻辑上两者统一编址。 8、MCS-51单片机当EA=1时,首先使用的是片内程序存储器,存储容量超过4KB时开始使用外部程序存储器;EA=0时,则仅仅使用片外程序存储器。 9、MCS—51单片机访问片外存储器时,利用ALE 信号锁存来自P0 口的低8位地址信号。 10、欲使P1口的高4位输出1,而低4位不变,应执行一条ORL P1,#0F0H指令。 11、12根地址线可选4KB个存储单元,32KB存储单元需要15 根地址线。 12、设80C51 fosc=12MHz,定时器工作在方式0,则最大定时时间为8192μs。 13、异步串行数据通讯有单工、半双工和全双工共三种传送方式。 14、51单片机的中断系统最多可以有 2 个嵌套。 15、8031单片机指令MOV是访问内RAM ,最大范围为256B ,MOVX是访问外RAM ,最大范围为64KB,MOVC是访问ROM ,最大范围为64KB 。 二、单项选择(1分×15=15分) 1、MCS-51上电复位后,SP的内容是(B) (A)00H (B)07H (C)60H (D)70H 2、80C51是(C)
一、选择题 1.8051有四个工作寄存器区,由PSW状态字中的RS1和RS0两位的状态来决定,单片机复位后,若执行SETB RS0 指令,此时只能使用区的工作寄存器。 A.Ⅰ区 B.Ⅱ区 C.Ⅲ区 D.Ⅳ区 答案:2.B 2、读片外部数据存储器时,不起作用的信号是。 A./RD B. /WE C./PSEN D.ALE 答案: 4.C 3.已知:MOV A,#28H MOV R0,#20H MOV @R0,A ANL A, #0FH ORL A, #80H XRL A, @R0 执行结果A的内容为 A. A0H B.28H C.08H D.88H 答案:6.A 4.在进行BCD码运算时,紧跟加法运算指令后面的指令必须是指令。 A.ADD B.DA A C.ADDC D.由实际程序确定 答案:7.B 9、关于定时器,若振荡频率为12 MHz,在方式1下最大定时时间为 A.8.192ms B. 65.536 ms C. 0.256ms D.16.384ms 答案:9.B 11、开机复位后,CPU使用的是第0组工作寄存器,地址范围是。 A.00H-10H B.08H-0FH C.10H-1FH D.00H-07H 答案:11.D 13、在进行BCD码运算时,紧跟加法运算指令后面的指令必须是指令。 A.ADD B.DA A C.ADDC D.由实际程序确定 答案:3.B 14、进位标志CY在中。
A.累加器 B.算逻运算部件ALU C.程序状态字寄存器PSW D.DPTR 答案:14.C 15、MCS-51单片机有七种寻址方式,MOVX A,@A+DPTR 属于寻址。 A.间接B.变址C.相对D.直接 答案: 5.B 16、有如下程序段: MOV 31H ,#24H ; MOV A ,31H ; SWAP A ; ANL A ,#0F0H ; 执行结果是 A.(A)=24H B.(A)=42H C .(A)=40H D.(A)=00H 答案:16.C 19、8位LED 显示器采用动态显示方式时(不加锁存器),至少需要提供的I/O 线总数是:() A. 16 B. 20 C.18 D. 6 答案:19.A 20、堆栈数据的进出原则是 A.先进先出 B.进入不出 C.后进后出 D.先进后出 答案:20.D 21、要MCS-51系统中,若晶振频率屡6MHz,一个机器周期等于( ) μs A 、1.5 B 、3 C 、1 D 、2 答案:21、D, 22、单片机复位后,累加器A、PC、PSW的内容为() A、A = FFH PC = 00H PSW = FFH B、A = 00H PC = 0000H PSW = 00H C、A = 07H PC = 0000H PSW = FFH D、A = 00H PC = 00H PSW = 00H 答案:22、B, 23、8031有四个工作寄存器区,由PSW状态字中的RS1、RS0两位的状态来决定,单片机复位后,若执行SETB RS1 指令,此时只能使用()区的工作寄存器。 A、0区 B、1区 C、2区 D、3区 答案:23、C, 25、在进行BCD码运算时,紧跟加法运算指令后面的指令必须是()指令。 A、ADD B、DA A C、ADDC D、由实际程序确定 答案:25、B, 26、假定A=38H,(R0)=17H,(17H)=34H,执行以下指令:
《单片机原理与应用技术》教学大纲 一、课程名称 单片机原理与应用技术 二、先修课程 电子技术类基础课程和微机应用类基础课程 三、课程性质与任务 课程性质: 本课程是高职高专电子类相关专业的的一门专业课程。本大纲可作为(高中后大专、对口单招、五年制高职)层次学生的教学参考。 课程的任务: 它以MCS-51单片机为例,详细介绍片内结构、工作原理、接口技术和单片机在各领域中的应用。为学生进一步学习微机在智能仪表、工业控制领域中的应用技术奠定必要的基础。 四、课程教学目标 1、知识目标 (1)熟练掌握单片机内部硬件结构、工作原理及指令系统,掌握程序的设计基本方法,能够较熟练地设计常用的汇编语言源程序; (2)掌握单片机的接口技术,熟悉常用的外围接口芯片及典型电路。 (3)熟悉设计、调试单片机的应用系统的一般方法,具有初步的软、硬件设计能力。 (4)能够熟练地掌握一种单片机开发系统的使用方法。 2、能力目标 初步具备应用单片机进行设备技术改造、产品开发的能力。 五、教学内容 第一章微机基础知识 (一)教学目的 熟悉微处理器、微型机和单片机的概念及组成。掌握计算中常用数制及数制间的转换,了解BCD码和ASCII码。熟悉数据在计算机中的表示方法。 (二)教学重点与难点 重点:
计算中常用数制及数制间的转换。 难点: 微处理器、微型机和单片机的概念及组成,微机的工作过程 (三)教学内容 1、微处理器、微机和单片机的概念; 2、微机的工作过程。 (四)本章小结 1、数制有二进制、十进制、十六进制等。 2、计算机系统中常包含有地址总线、数据总线、控制总线 3、微处理器是由运算器、控制器两部组成 4、单片机是由输入、输出、接口电路、时钟电路、存储器、运算器、控 制器几部分组成 (五)思考题 1、试用计算机汇编语言指令完成12*34+56÷7-8的计算步骤? 第二章 MCS-51单片机的结构和原理 (一)教学目的 熟悉MCS- 51单片机内部结构、引脚功能以及单片机执行指令的时序;掌握单片机存储器结构和输入/输出端口结构特点。掌握堆栈的使用。 (二)教学重点与难点 重点: 1、8051的存储器配置及特点; 2、21个特殊功能寄存器(SFR)的功能; 3、堆栈的概念; 4、复位电路。 难点: 1、MCS- 51单片机内部结构; 2、CPU时序。 (三)教学内容
单片机概述 单片机是微单片微型计算机的简称,微型计算机的一种。 它把中央处理器(CPU),随机存储器(RAM),只读存储器(ROM),定时器\计数器以及I\O 接口,串并通信等接口电路的功能集成与一块电路芯片的微型计算机。 字长:在计算机中有一组二进制编码表示一个信息,这组编码称为计算机的字,组成字的位数称为“字长”,字长标志着精度,MCS-51是8位的微型计算机。 89c51 是8位(字长)单片机(51系列为8位) 单片机硬件系统仍然依照体系结构:包括CPU(进行运算、控制)、RAM(数据存储器)、ROM(程序存储器)、输入设备和输出设备、内部总线等。 由于一块尺寸有限的电路芯片实现多种功能,所以制作上要求单片机的高性能,结构简单,工作可靠稳定。 单片机软件系统包括监控程序,中断、控制、初始化等用户程序。 一般编程语言有汇编语言和C语言,都是通过编译以后得到机器语言(二进制代码)。 1.1单片机的半导体工艺 一种是HMOS工艺,高密度短沟道MOS工艺具有高速度、高密度的特点; 另一种是CHMOS工艺,互补金属氧化物的HMOS工艺,它兼有HMOS工艺的特点还具有CMOS的低功耗的特点。例如:8181的功耗是630mW,80C51的功耗只有110mW左右。1.2开发步5骤: 1.设计单片机系统的电路 2.利用软件开发工具(如:Keil c51)编辑程序,通过编译得到.hex的机器语言。 3.利用单片机仿真系统(例如:Protus)对单片机最小系统以及设计的外围电路,进行模拟的硬软件联合调试。 4.借助单片机开发工具软件(如:STC_ISP下载软件)读写设备将仿真中调试好的.hex程序拷到单片机的程序存储器里面。 5.根据设计实物搭建单片机系统。 2.1MCS-51单片机的组成:(有两个定时器) CPU(进行运算、控制)、RAM(数据存储器)、ROM(程序存储器)、I/O口(串口、并口)、内部总线和中断系统等。 工作过程框图如下:
《单片机原理及应用》试题库 一、填空题 1、MCS-51有个中断源,有个中断优先级,优先级由软 件填写特殊功能寄存器 加以选择。 2、MOV PSW,#10H是将MCS-51的工作寄存器置为 第 区。 3、用串口扩并口时,串行接口工作方式应选为方式 。 4、PC复位后为 。 5、PSW中RS1RS0=10时,R2的地址为 。 6、MCS-51中,T0中断服务程序入口地址为 。 7、80C51中断有 个优先级。 8、80C51中断嵌套最多 级。 9、MCS-51单片机访问片外存贮器时,利用 信号锁存来 自 口的低8位地址信号。 10、12根地址线可选 个存储单元,32KB存储单元需 要 根地址线。 11、三态缓冲寄存器输出端的“三态”是指 态、 态 和 态。 12、74LS138是具有3个输入的译码器芯片,其输出作为片选信号时,最多可以选中 块芯片。 13、A/D转换器的作用是将 量转为 量, D/A转换器的作用是将 量转为 量。 14、单片机系统复位后,PSW=00H,因此片内RAM寄存区的当前寄存器是第 组,8个寄存器的地址为 ~ 。 15、假定SP=60H,ACC=30H,B=70H,执行下列指令: PUSH ACC PUSH B 后,SP的内容为 ,61H单元的内容为 ,62H单元的内容为 。 16、假定SP=62H,(61H)=30H,(62H)=70H,执行下列指令: POP DPH POP DPL 后,DPTR的内容为 ,SP的内容为 。 17、单片机的数据通信方式有二种,即 方式和 方式,其中 方式传输距离较远,成本较低。 18、异步串行通信有 、 和 共三种传送
(完整word版)单片机原理及应用期末考试试卷及答案 编辑整理: 尊敬的读者朋友们: 这里是精品文档编辑中心,本文档内容是由我和我的同事精心编辑整理后发布的,发布之前我们对文中内容进行仔细校对,但是难免会有疏漏的地方,但是任然希望((完整word版)单片机原理及应用期末考试试卷及答案)的内容能够给您的工作和学习带来便利。同时也真诚的希望收到您的建议和反馈,这将是我们进步的源泉,前进的动力。 本文可编辑可修改,如果觉得对您有帮助请收藏以便随时查阅,最后祝您生活愉快业绩进步,以下为(完整word版)单片机原理及应用期末考试试卷及答案的全部内容。
单片机原理及应用期末考试试卷 班级:_______________学号:_______________姓名:_______________得分:_______________(卷面共有100题,总分100分,各大题标有题量和总分,每小题标号后有小分) 一、单项选择题(33小题,共33分) [1分](1)要MCS—51系统中,若晶振频率屡8MHz,一个机器周期等于( A )μs A 1。5 B 3 C 1 D 0.5 [1分](2)MCS—51的时钟最高频率是 ( A )。 A 12MHz B 6 MHz C 8 MHz D 10 MHz [1分](3)下列不是单片机总线是( D ) A 地址总线 B 控制总线 C 数据总线 D 输出总线 [1分](4)十进制29的二进制表示为原码( C ) A 11100010 B 10101111 C 00011101 D 00001111 [1分](5)电子计算机技术在半个世纪中虽有很大进步,但至今其运行仍遵循着一位科学家提出的基本原理。这位科学家是:( D ) (A)牛顿(B)爱国斯坦(C)爱迪生(D)冯·诺伊曼 [1分](6)在CPU中,控制器的功能是:( C ) (A)进行逻辑运算(B)进行算术运算 (C)分析指令并发出相应的控制信号(D)只控制CPU的工作 [1分](7)下列数据中有可能是八进制数的是:( A) (A)764 (B)238 (C)396 (D)789 [1分](8)MCS—51的时钟最高频率是 (D ) A、6MHz B、8MHz C、10MHz D、12MHz [1分](9)-49D的二进制补码为.( B) A、 11101111 B、11101101 C、0001000 D、11101100 [1分](10)要用传送指令访问MCS—51片外RAM,它的指令操作码助记符应是( B) A、 MOV B、 MOVX C、 MOVC D、以上都行 [1分](11)若某存储芯片地址线为12根,那么它的存储容量为(C ) A、1KB B、2KB C、 4KB D、 8KB [1分](12)PSW=18H时,则当前工作寄存器是(D ) A、 0组成 B、 1组成 C、2组成 D、3组成 [1分](13)所谓CPU是指( B) A、运算器与存储器 B、运算器与控制器 C、输入输出设备 D、控制器与存储器 [1分](14)PSW=18H时,则当前工作寄存器是(D ) (A)0组(B)1组(C)2组(D)3组 [1分](15)P1口的每一位能驱动( B ) (A)2个TTL低电平负载有(B)4个TTL低电平负载 (C)8个TTL低电平负载有(D)10个TTL低电平负载 [1分](16)二进制数110010010对应的十六进制数可表示为( A) A、192H B、C90H C、1A2H D、CA0H [1分](17)一3的补码是( D ) A、10000011 B、11111100 C、11111110 D、11111101 [1分](18)对于8031来说,脚总是( A ) A、接地 B、接电源 C、悬空 D、不用 [1分](19)进位标志CY在( C)中 A、累加器 B、算逻运算部件ALU C、程序状态字寄存器PSW D、DPOR
第一章 1.给出下列有符号数的原码、反码和补码(假设计算机字长为8位)。 +45 -89 -6 +112 答:【+45】原=00101101,【+45】反=00101101,【+45】补=00101101 【-89】原=11011001,【-89】反=10100110,【-89】补=10100111 【-6】原=10000110,【-6】反=11111001,【-6】补=11111010 【+112】原=01110000,【+45】反=01110000,【+45】补=01110000 2. 指明下列字符在计算机内部的表示形式。 AsENdfJFmdsv120 答:41H 73H 45H 4EH 64H 66H 4AH 46H 6DH 64H 73H 76H 31H 32H 30H 3. 什么是单片机? 答:单片机是把微型计算机中的微处理器、存储器、I/O接口、定时器/计数器、串行接口、中断系统等电路集成到一个集成电路芯片上形成的微型计算机。因而被称为单片微型计算机,简称为单片机。 4. 单片机的主要特点是什么? 答:主要特点如下: 1) 在存储器结构上,单片机的存储器采用哈佛(Harvard)结构 2) 在芯片引脚上,大部分采用分时复用技术 3) 在内部资源访问上,采用特殊功能寄存器(SFR)的形式 4) 在指令系统上,采用面向控制的指令系统 5) 内部一般都集成一个全双工的串行接口 6) 单片机有很强的外部扩展能力 5. 指明单片机的主要应用领域。 答:单机应用:1) 工业自动化控制;2) 智能仪器仪表;3) 计算机外部设备和智能接口;4) 家用电器多机应用:功能弥散系统、并行多机处理系统和局部网络系统。 第二章 1. MCS-51单片机由哪几个部分组成? 答:MCS-51单片机主要由以下部分组成的:时钟电路、中央处理器(CPU)、存储器系统(RAM和ROM)、定时/计数器、并行接口、串行接口、中断系统及一些特殊功能寄存器(SFR)。 2. MCS-51的标志寄存器有多少位,各位的含义是什么?
单片机原理及应用期末考试试题 一、填空题(每空1分,共20分) 1.相对寻址是以PC的当前值为基准,加上指令中给出的相对偏移量形成目标地址的方式。 2.AT89S51单片机的1个机器周期含有12 个晶振周期或 6 状态周期。 3.AT89S51单片机进行扩展时,用P0 口作为地址/数据总线,用P2口作为地址总线高8位。 4.假定累加器A的容30H,执行指令:1000H:MOVC A,A+PC后,把程序存储器1031H单元的容送累加器A中 5.指令格式是由操作码和操作数部分组成。 6. AT89S51单片机的串行口控制寄存器中有2个中断标志位,它们是TI和RI 7.在进行BCD码加法运算时,紧跟ADD 或 ADDC 指令后的指令必须是DA A 指令 8. JNC rel指令执行时,当CY位为0时程序发生跳转。 9.单片机位寻址区的单元地址是从20H单元到2FH单元,若某位地址是10H,它所在单元 的地址应该是22H 。 10.外部中断0的中断入口地址为0003H,定时/记数器T1的中断入口地址为001BH。 11.串行口工作方式2为9位异步通信,若SMOD=0,f OSC = 6 MH Z,则其相应波特率为6×106/64 b/s 12.堆栈应遵循先进后出规律,堆栈指针的符号为SP 二、单项选择题(每小题1分,共20分) 1.AT89S51单片机的( d )口的引脚,还具有外中断、串行通信等第二功能。 a)P0 b)P1 c)P2 d)P3 2.单片机应用程序一般存放在(b) a)RAM b)ROM c)寄存器 d)CPU 3.已知某数的BCD码为00010 则其表示的十进制数值为(b) a) 7542H b) 7542 c) 75.42H d) 75.42
第1章思考题及习题1参考答案 一、填空 1. 除了单片机这一名称之外,单片机还可称为或。答:微控 制器,嵌入式控制器. 2.单片机与普通微型计算机的不同之处在于其将、、和 三部分,通过内部连接在一起,集成于一块芯片上。答:CPU、存储器、I/O口、总线 3. AT89S52单片机工作频率上限为 MHz。答:33 MHz。 4. 专用单片机已使系统结构最简化、软硬件资源利用最优化,从而大大降低 和提高。答:成本,可靠性。 二、单选 1. 单片机内部数据之所以用二进制形式表示,主要是 A.为了编程方便B.受器件的物理性能限制 C.为了通用性D.为了提高运算速度答:B 2. 在家用电器中使用单片机应属于微计算机的。 A.辅助设计应用B.测量、控制应用
C.数值计算应用D.数据处理应用 答: B 3. 下面的哪一项应用,不属于单片机的应用范围。 A.工业控制 B.家用电器的控制 C.数据库管理 D.汽车电子设备 答:C 三、判断对错 1. STC系列单片机是8051内核的单片机。对 2. AT89S52与AT89S51相比,片内多出了4KB的Flash程序存储器、128B的RAM、 1个中断源、1个定时器(且具有捕捉功能)。对 3. 单片机是一种CPU。错 4. AT89S52单片机是微处理器。错 5. AT89C52片内的Flash程序存储器可在线写入,而AT89S52则不能。错 6. 为AT89C51单片机设计的应用系统板,可将芯片AT89C51直接用芯片AT89S51替换。对 7. 为AT89S51单片机设计的应用系统板,可将芯片AT89S51直接用芯片AT89S52替换。对
1:单片机8031的XTAL1和XTAL2引脚是()引脚。 1.外接定时器 2.外接串行口 3.外接中断 4.外接晶振 2:LU表示()。 1.累加器 2.程序状态字寄存器 3.计数器 4.算术逻辑部件 3:单片机上电复位后,PC的内容和SP的内容为()。 1.0000H,00H 2.0000H,07H 3.0003H,07H 4.0800H,08H 4:8031单片机的定时器T1用作定时方式时是()。 1.由内部时钟频率定时,一个时钟周期加1 2.由内部时钟频率定时,一个机器周期加1 3.由外部时钟频率定时,一个时钟周期加1 4.由外部时钟频率定时,一个机器周期加1 5:INTEL8031的P0口,当使用外部存贮存器时它是一个()。 1.传输高8位地址口 2.传输低8位地址口 3.传输高8位数据口 4.传输低8位地址/数据口 6:当需要从MCS-51单片机程序存储器取数据时,采用的指令为() 1.MOV A, @R1 2.MOVC A, @A + DPTR 3.MOVX A, @ R0 4.MOVX A, @ DPTR 7:若PSW的RS1/RS0=10则单片机工作寄存器工作在()。 1.0区 2.1区
3.2区 4.3区 8:假定设置堆栈指针SP的值为37H,在进行子程序调用时把断点地址进栈保护后,SP的值为()。 1.6H 2.37H 3.38H 4.39H 9:单片机上电复位后,堆栈区的最大允许范围是个单元。 1.64 2.120 3.128 4.256 10:在MCS-51指令中,下列指令中()是无条件转移指令。 1.LCALL addr16 2.DJNZ direct,rel 3.SJMP rel 4.ACALL addr11 11:INTEL 8031的P0口,当使用外部存贮存器时它是一个()。 1.传输高8位地址口 2.传输低8位地址口 3.传输高8位数据口 4.传输低8位地址/数据口 12:单片机中的程序计数器PC用来()。 1.存放指令 2.存放正在执行的指令地址 3.存放下一条指令地址 4.存放上一条指令地址 13:8051单片机中,输入/输出引脚中用于专门的第二功能的引脚是()。 1.P0 2.P1 3.P2 4.P3
单片机原理及应用期末考试试题汇总
单片机原理及应用期末考试试题汇总 1、单片机是将微处理器、一定容量的 RAM 和ROM 以及 器等电路集成在一块芯片上而构成的微型计算机 2、 单片机89C51片内集成了 有 5 个中断 源。 3、 两位十六进制数最多可以表示 4、 89C51是以下哪个公司的产 品? 4 KB 的 FLASH RO ,共 256 个存储单元。 C ) A 、INTEL B 、AMD C 、ATMEL D 、PHILIPS 8、当CPU 访问片外的存储器时,其低八位地址由 P0 口提供,高八位 地址由 P2 口提供,8位数据由 P0 口提供。 9、在I/O 口中, P0 口在接LED 时,必须提供上拉电 阻, P3 口具有第二功能。 10、是非题:MCS-51系列单片机直接读端口和读端口锁存器的结果永远是相同 的。F 11、 是非题:是读端口还是读锁存器是用指令来区别的。 T 12、 是非题:在89C51的片内RAM 区中,位地址和部分字节地址是冲突的。 F 13、 是非题:中断的矢量地址位于 RAM 区中。F 14、 M CS-51系列单片机是属于( B )体系结构。 A 、冯诺依曼 B 、普林斯顿 C 、哈佛 D 、图 灵 15、 89C51具有 64 KB 的字节寻址能力。 16、 是非题:在89C51中,当CPU 访问片内、夕卜ROM 区时用MOV 指令,访问片 外RAM 区时用MOV 指令,访问片内 RAM 区时用MOV 旨令。T I/O 口、定时 5、在89C51中,只有当EA 引脚接 Flash ROM 。 高 电平时,CPU 才访问片内的 6、是非题:当89C51的EA 引脚接低电平时, 内是否有程序存储器。T CPL 只能访问片外ROM 而不管片 7、是非题:当89C51的EA 引脚接高电平时, CPU 只能访问片内的4KB 空间。F
思考与练习题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分,共20分) 1.相对寻址是以PC 的当前值为基准,加上指令中给出的相对偏移量形成目标地址的方式。 2.AT89S51单片机的1个机器周期含有12 个晶振周期或 6 状态周期。 3.AT89S51单片机进行扩展时,用P0 口作为地址/数据总线,用P2 口作为地址总线高8位。 4.假定累加器A的内容30H,执行指令:1000H:MOVC A,@A+PC后,把 程序存储器1031H单元的内容送累加器A中5.指令格式是由操作码和操作数部分 组成。 6.AT89S51单片机的串行口控制寄存器中有2 个中断标志位,它们是TI和RI 7.在进行BCD码加法运算时,紧跟ADD 或 ADDC 指令后的指令必须是DA A 指令 8.JNC rel指令执行时,当CY位为0时程序发生跳转。 9.单片机位寻址区的单元地址是从20H单元到 2FH单元,若某位地址是10H,它所在单元 的地址应该是22H 。 10.外部中断0的中断入口地址为0003H ,定时/记数器T1的中断入口地址为 001BH。 11.串行口工作方式2为9位异步通信,若SMOD=0,f OSC = 6 MH Z,则其相应波特 率为6×106/64 b/s
12.堆栈应遵循先进后出规律,堆栈指针的符号为SP 二、单项选择题(每小题1分,共20分) 1.AT89S51单片机的( d )口的引脚,还具有外中断、串行通信等第二功能。 a)P0 b)P1 c) P2 d)P3 2.单片机应用程序一般存放在(b) a)RAM b)ROM c)寄存器 d)CPU 3.已知某数的BCD码为0111010101000010 则 其表示的十进制数值为(b) a) 7542H b) 7542 c) 75.42H d) 75.42 4.下列指令中不影响标志位CY的指令有(d)。 a)ADD A,20H b)CLR c)RRC A d)INC A 5.CPU主要的组成部部分为(a) a)运算器、控制器b)加法器、寄存器 c)运算器、寄存器d)运算器、指令译 码器 6.AT89S51 的CPU是(c)位的单片机 a)16 b) 4 c)8 d)准16 7.AT89S51复位后,PC与SP的值为(b) a )0000H,00H b)0000H, 07H c) 0003H,07H d)0800H,00H 8.当需要从AT89S51单片机程序存储器取数据时,采用的指令为(b)。
广西工学院 2002 — 2003 学年第 2 学期课程考核试题考核课程单片机原理及应用考核班级自动化00级 学生数 145 印数 150 考核方式闭卷考核时间 120 分钟 一.填空题(每空1分,共20分) 1、单片机与普通计算机的不同之处在于其将CPU 微处理器、存储 器和I/O口三部分集成于一块芯片上。 2、使用双缓冲方式的D/A转换器,可实现多路模拟信号的同时输出。习题11.4 3、通过堆栈操作实现子程序调用,首先就要把PC的内容入栈,以进行断点保 护。调用返回时,再进行出栈保护,把保护的断点送回到PC。习题2.17 4、在基址加变址寻址方式中,以累加器A作变址寄存器, 以DPTR或PC 作基址寄存器。3.3 5、假定累加器A中的内容为40H,执行指令 1000H:MOVC A,@A+PC 后,把程序存储器1041H单元的内容送入累加器A中。 6、在寄存器间接寻址方式中,其“间接”体现在指令中寄存器的内容不是操作 数,而是操作数的地址。3.10 7、假定A=83H,(R0)=17H,(17H)=0B5H,执行以下指令: ANL A,#17H ORL 17H,A XRL A,@R0 CPL A 后,A的内容为4BH 。 解析: ANL A,#17H ;A中83H与17H相与,(A)=03H ORL 17H,A ;(17H)中0B5H与(A)中03H相或,(17H)=B7H XRL A,@R0 A ;(A)中03H与(17H)中B7H异或,(A)=B4H
CPL A ;对A取反, A=4BH 8、已知程序执行前有A=01H,SP=42H,(41H)=FFH,(42H)=FFH。下述程序执行后: POP DPH POP DPL MOV DPTR,#3000H RL A MOV B,A MOVC A,@A+DPTR PUSH A MOV A,B INC A MOVC A,@A+DPTR PUSH A RET ORG 3000H DB 10H,80H,30H,80H,50H,80H 请问:A= 80H,SP= ,(41H)= ,(42H)= 。 9、在存储器扩展中,无论是线选法还是译码法,最终都是为了扩展芯片的片选端提供信号。 10、在MCS-51中,PC和DPTR都用于提供地址,但PC是为了访问程序存 储器提供地址,而DPTR是为访问数据存储器提供地址。 11、16KB RAM存储器的首地址若为3000H,则末地址为 H。 解析:1000H=0001 0000 0000 0000B=2^12=4K,16K就是4000H,即:0100 0000 0000 0000B=2^14 所以末地址为:7000H-1=6FFFH
*****数学计算机科学系实验报告 专业:计算机科学与技术班级:实验课程:单片机原理与应用技术 姓名:学号:实验室:硬件实验室 同组同学: 实验时间:2013年3月20日指导教师签字:成绩: 实验项目:定时器 一实验目的和要求 定时器0实现1s定时,流水灯显示上的数据每秒加1。 二实验环境 PC机一台,实验仪器一套 三实验步骤及实验记录 1.在pc机上,打开Keil C。 2.在Keil C中,新建一个工程文件,点击“Project->New Project…”菜单。 3.选择工程文件要存放的路径 ,输入工程文件名 M, 最后单击保存。 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 LE1=P2^0; //位选573锁存器使能 sbit LE2=P2^1; //段选573锁存器使能 #define uchar unsigned char #define uint unsigned int
一、选择题 1.单片机复位后,SP PC I/O口的内容为 A.SP = 60H PC = 00H P0 = P1 = P2 = P3 = FFH B.SP = 00H PC = 0000H P0 = P1 = P2 = P3 = 00H C.SP = 07H PC = 0000H P0 = P1 = P2 = P3 = FFH D.SP = 00H PC = 00H P0 = P1 = P2 = P3 = 00H 答案: 2.8051有四个工作寄存器区,由PSW状态字中的RS1和RS0两位的状态来决定,单片机复位后,若执行SETB RS0 指令,此时只能使用区的工作寄存器。 A.Ⅰ区 B.Ⅱ区 C.Ⅲ区 D.Ⅳ区 3、ATMEL的89C51驱动能力最强的并行端口为。 A.P0 B.P1 C.P2 D.P3 4.读片外部数据存储器时,不起作用的信号是。 A./RD B. /WE C./PSEN D.ALE 5.利用KEIL软件进行仿真调试时,在执行调用指令时,调试可跟踪到子程序内部并逐条执行子程序内部的各条指令。 A.暂停B.调试C.单步 D.连续运行 6.已知:MOV A,#28H MOV R0,#20H MOV @R0,A ANL A, #0FH ORL A, #80H XRL A, @R0 执行结果A的内容为 A. A0H B.28H C.08H D.88H 7.在进行BCD码运算时,紧跟加法运算指令后面的指令必须是指令。 A.ADD B.DA A C.ADDC D.由实际程序确定 8.在MCS-51中,需要外加电路实现中断撤除的是: A.定时中断 B.脉冲方式的外部中断 C.外部串行中断 D.电平方式的外部中断 9.关于定时器,若振荡频率为12 MHz,在方式1下最大定时时间为