单片机习题1.docx
- 文档编号:30080635
- 上传时间:2023-08-04
- 格式:DOCX
- 页数:17
- 大小:105.71KB
单片机习题1.docx
《单片机习题1.docx》由会员分享,可在线阅读,更多相关《单片机习题1.docx(17页珍藏版)》请在冰豆网上搜索。
单片机习题1
一、填空题
1、单片机与普通微型计算机的不同之处在于其、存储器和三部分通过内部总线连在一起,集成于一块芯片上。
2、AT89S51单片机的机器周期等于个时钟周期,如果晶振频率采用12MHz,一个机器周期为.
3、内部RAM中,位地址为48H、98H的位,该位所在的字节地址分别为、。
4、内部RAM中,可作为工作寄存器的单元地址为到。
5、外部中断0的中断入口地址是,定时器0的中断入口地址为。
6、AT89S51单片机的微处理器是位,有2个位的定时器/计数器,4个位的可编程并行I/O口,个中断源。
7、AT89S51单片机的复位电路通常采用上电自动复位和两种方式,按钮复位有电平和两种方式。
8、外部中断的两种触发方式为方式和方式。
9、LED数码管有显示和显示两种方式.
10、AT89S51单片机芯片共有个引脚,AT89S51单片机为位单片机,具有个中断源,级中断优先权。
11、外部中断1的中断入口地址是,定时器1的中断入口地址为。
12、单片机AT89S51中的串行通信共有种方式,其中方式是用作同步移位寄存器来扩展I/O口的。
13、当系统处于正常工作状态且振荡稳定后,在RST引脚上加一个 电平并持 个机器周期,可将系统复位。
14、一个机器周期=个振荡周期。
15、若某8位D/A转换器的输出满刻度电压为+5V,则D/A转换器的分辨率。
16、若控制字TMOD设为10010100,则T1工作于方式1定时,其启动条件为TR1=1且INT1=1,T0工作于,其启动条件为 。
17、254=B=。
18、内部RAM中,可作为工作寄存器的单元地址为 到 。
19、数码管是8段共阴数码管,A的段码是、B的段码是。
20、P2口通常作为在单片机扩展外部设备时高8位地址总线使用,也可以作为通用的I/O口使用。
二、选择题
1、8051单片机中断源共有()个。
A、3个;B、5个;C、7个;D、9个
2、定时器T1中断服务程序的入口地址是()。
A、0003H;B、004BH;C、001BH;D、0023H
3、单片机复位时,程序计数器PC的值是多少?
()。
A、0000H;B、0030H;C、4000H;D、4100H
4、下面哪种设备是输出设备?
()。
A打印机;B、键盘;C、A/D转换器;D、扫描仪
5、下面哪个是串行口控制寄存器?
()。
A、SCON;B、PCON;C、TCON;D、TMOD
6、已知X为10001000B,则X的补码为()。
A、11110111;B、01110111;C、11111000;D、01111000
7、有一位共阳极LED数码管,要使它不显示,它的字段码为().
A、7DH;B、82H;C、FFH;D、00H
8、在定时器方式下,若fosc=12MHZ,方式1的最大定时间隔()。
A、8.192ms;B、16.384ms;C、65。
536ms;D、131.072ms
9、在PSW中,辅助进(借)位标志是()。
A、CY;B、AC;C、P;D、F0
10、单片机的P0、P1口作输入用途之前必须()。
A、在相应端口先置1B、在相应端口先置0C、外接高电平D、外接上拉电阻
11、AT89S51是以下哪个公司的产品?
() 。
A、INTEL B、AMD C、ATMEL D、PHILIPS
12、AT89S51单片机的()口的引脚,还具有外中断、串行通信等第二功能.
A、P0B、P1C、P2 D、P3
13、AT89S51单片机串行口接收数据的次序是下述的顺序()。
(1)接收完一帧数据后,硬件自动将SCON的R1置1
(2)用软件将RI清零
(3)接收到的数据由SBUF读出(4)置SCON的REN为1,外部数据由RXD输入
A.
(1)
(2)(3)(4)B.(4)
(1)
(2)(3)
C.(4)(3)
(1)
(2)D.(3)(4)
(1)
(2)
14、AT89S51单片机的()口的引脚,还具有外中断、串行通信等第二功能.
A.P0B.P1C。
P2 D。
P3
15、若AT89S51中断源都程为同级,当他们同时申请中断时CPU首先响应()。
A。
B。
C。
T1D。
T0
16、PC中存放的是()。
A。
下一条指令的地址B。
当前正在执行的指令
C.当前正在执行指令的地址D。
下一条要执行的指令
17、对于AT89S51单片机,其内部RAM20H—2FH单元()。
A.既可位寻址又可字节寻址B.只能字节寻址
C.既不能位寻址也不能字节寻址D.只能位寻址
18、单片机访问外部存储器时,()作为高8位地址线。
A.P0口B.P1口C.P2口D.P0口和P2口
19、AT89S51单片机定时器工作方式0是指的()工作方式。
A.8位 B.8位自动重装 C.13位 D.16
20、串行口每一次传送()字符。
A.1个B.1串C.1帧D.1波特
21、ADC0809芯片是m路模拟输入的n位A/D转换器,m、n是()。
A.8、8B.8、9C.8、16D.1、8
22、AT89S51单片机的VCC(40)引脚是()引脚。
A.主电源+5VB.接地C.备用电源D.访问片外存贮器
23、用AT89S51的定时器T0作定时方式,用模式1,则工作方式控制字为().
A.50HB.01HC.05HD.10H
24、AT89S51单片机的定时器T1用作计数方式时是()。
A.由内部时钟频率定时,一个时钟周期加1
B.由内部时钟频率定时,一个机器周期加1
C.由外部计数脉冲计数,下降沿加1
D.由外部计数脉冲计数,一个机器周期加1
25、AT89S51单片机的机器周期为2µs,则晶振频率为()MHz。
A.1B.2C.6D.12
26、单片机的P0、P1口作输入用途之前必须()。
A.在相应端口先置1B.在相应端口先置0C.外接高电平D.外接上拉电阻
三、简答题
1、AT89S51的串行通信的有几种工作模式,请对各工作模式作简单的叙述.
答:
串行通信共有4种工作模式,别是:
模式0:
同步移位寄存器;
模式1:
波特率可变的8位两机异步通信;
模式2:
波特率固定的9位可多机的异步通信;
模式3:
波特率可变的9位可多机的异步通信.
2、AT89S51外扩的程序存储器和数据存储器可以有相同的地址空间,但不会发生数据冲突,为什么?
答:
选通信号也就不一样,前者为PSEN,后者为WR与RD;AT89S51中访问程序存储器和数据存储器的指令不一样.
3、中断响应应满足哪些条件?
答:
(1)总中断允许开关接通,即IE寄存器中的中断总允许位EA=1。
(2)该中断源发出中断请求,即该中断源对应的中断请求标志为“1"。
(3)该中断源的中断允许位=1,即该中断被允许。
(4)无同级或更高级中断正在被服务。
4、简述堆栈概念及其存取原则。
答:
堆栈用于中断响应或子程序调用时的断点保护,以及用PUSH和POP指令对其进行操作,实现现场保护和恢复。
堆栈指针为8位,可指向内部RAM中的任何空间。
存取原则:
先进后出
5、中断服务子程序与普通子程序有何异同之处?
答:
相同点:
都是让CPU从主程序转去执行子程序,执行完毕又返回主程序.
不同点:
中断服务程序是随机的,而普通子程序是预先安排好的;中断服务子程序以RETI结束,而一般子程序以RET结束。
RETI除将断点弹回PC动作外,还要清除对应的中断优先标志位,以便新的中断请求能被响应。
6、写出AT89S51单片机P3口作第二功能时P3。
0到P3。
5引脚信号的名称和作用。
答:
P3口的第二功能:
选择第二输出功能时,该位的锁存器需要置1,使是与非门为开启状态。
当第二输出为1时,场效应管截止,P3引脚输出为1;当第二输出为0时,场效应管导通,P3引脚输出为0。
当选择第二输入功能时,该位的锁存器和第二输出功能端均应置1,保证场效应管截止,P3。
x引脚的信息由输入缓冲器BUF3的输出获得。
P3.0 RXD 串行数据输入
P3。
1 TXD 串行数据输出
P3.2 INT0# 外部中断0输入
P3.3 INT1# 外部中断1输入
P3.4 T0 定时器0外部计数输入
P3。
5 T1 定时器1外部计数输入
P3.6 WR# 外部数据存储器写通道输出
P3.7 RD# 外部数据存储器读通道输出
7、MCS-51单片机内部有几个定时/计数器?
它们由哪些寄存器组成?
答:
MCS-51单片机内部设有2个定时/计数器.他们由两个8位的特殊功能寄存器TCOM和TMOD,两个16位的特殊功能寄存器T0和T1构成.
8、LED的静态显示方式与动态显示方式有何区别?
答:
(1)静态显示方式:
当显示器显示某一字符的时候,发光二极管的位选始终被选中。
在这种方式里,每一个LED数码管显示器都需要一个8位的输出口进行控制。
但是单片机本身提供的I/O口却是有限的,实际使用中,通常通过扩展I/O口的形式解决输出口数量不足的问题。
静态显示主要的优点是显示稳定,在发光二极管导通电流一定的情况下显示器的亮度大,系统运行过程中,在需要更新显示内容时,CPU才去执行显示更新子程序,这样既节约了CPU的时间,又提高了CPU的工作效率。
其不足之处是占用硬件资源较多,每个LED数码管需要独占8条输出线.随着显示器位数的增加,需要的I/O口线也将增加.
(2)动态显示方式:
动态显示方式是指一位一位地轮流点亮每位显示器(称为扫描),即每个数码管的位选被轮流选中,多个数码管公用一组段选,段选数据仅对位选选中的数码管有效。
对于每一位显示器来说,每隔一段时间点亮一次。
显示器的亮度既与导通电流有关,也与点亮时间和间隔时间的比例有关。
通过调整电流和时间参数,可以既保证亮度,又保证显示。
若显示器的位数不大于8位,则显示器的公共端只需一个8位I/O口进行动态扫描(称为扫描口),控制每位显示器所显示的字形也需一个8位口(称为段码输出)。
所谓静态显示,就是每一个显示器都要占用单独的具有锁存功能的I/O接口用于笔划段字形代码。
这样单片机只要把要显示的字形代码发送到接口电路就可以了,直到要显示新的数据时,再发送新的字形码。
使用这种方法CPU的开销小,控制程序简单,但占用较多的硬件资源。
两者总的来说,静态显示稳定性会高很多,但成本高,动态扫描显示成本低一些,稳定性也要差一些,其中哪个更好更实用这就要看使用的场合来定了。
9、说明AT89S51单片机EA引脚接高电平和低电平的区别.
答:
当EA脚为高电平时,单片机读片内程序存储器(4K 字节Flash)中的内容,但在PC值超过0FFFH(即超出4K字节地址范围)时,将自动转向读外部程序存储器内的程序;当EA脚为低电平时,单片机只对外部程序存储器的地址为0000H~FFFFH中的内容进行读操作,单片机不理会片内的4K字节的Flash程序存储器.
10、简述单片机中断的概念,说明中断源请求被响应满足的条件。
答:
中断概念:
中断是指计算机在执行某一程序的过程中,由于计算机系统内、外的某种原因,而必须中止原来程序的执行,转去执行相应的处理程序,待处理结束之后,再回来继续执行被中止的原程序的过程。
一个中断源的中断请求被响应,必须满足以下必要条件:
(1)总中断允许开关接通,即IE寄存器中的中断总允许位EA=1。
(2)该中断源发出中断请求,即该中断源对应的中断请求标志为“1"。
(3)该中断源的中断允许位=1,即该中断被允许。
(4)无同级或更高级中断正在被服务。
四、计算题
1、已知一单片机系统的外接晶体振荡器的振荡频率为6MHz,请计算该单片机系统的拍节P、机器周期所对应的时间是多少?
(请给出计算过程)
解:
P=1/f=(1/6×
)s=0.167×
s=167ns
机器周期=12P=12×167ns=2.004μs
2、采用6MHz的晶振,定时5ms,用定时器方式1时的初值应为多少?
(请给出计算过程)
解:
机器周期=12/Fosc=12/(6x10^6Hz)=2μs
定时5ms的计数值=5000μs/2μs=2500d
约定T1工作方式1,是16位计数器,
初装值=2^16-2500d=65536d-2500d=63036d=F63Ch
TH1←F6H,TL1←3CH
3、指出以下程序段每一条指令执行后累加器A内的值,已知(R0)=30H,CY=0。
MOV A,#0AAH;(A)=AAH。
CPL A;(A)=55H。
RL A;(A)=AAH.
RLC A;(A)=54H。
CLR C;(A)=54H。
五、编程题
1、写出一延时1ms的程序段,设晶振频率为12MHZ.
答:
#include〈reg51。
h>
#defineuintunsignedint
voiddelay()
{
Uintx,y;
for(x=10;x>0;x——)
for(y=80;y>0;y—-);
}
2、编写设置定时器T0为方式1的初始化函数。
答:
定时器0方式1的初始化函数
TH0=(65536—N)/256;
TL0=(65536—N)%256;
延时5ms
机器周期T=12*(1/时钟频率)
12M:
5000μs
11.0592M:
约为4608μs
voidT0_T_1_init()
{
TMOD=0x01;//设置定时器0的工作方式
TH0=(65536-5000)/256;//高八位装入初值
TL0=(65536-5000)%256;//低八位装入初值
EA=1;//开总中断
ET0=1;//开定时器0中断
TR0=1;//启动定时0
}
voidT0_time()interrupt1
{
TH0=(65536-5000)/256;//重装高八位装入初值
TL0=(65536-5000)%256;//重装低八位装入初值
num++;
if(num==200)//num为uint型的
{
num=0;
}
}
3、编写外中断0为跳沿触发方式的中断初始化函数。
答:
SETBIT0=1
SETBEX0=1
SETBEA=1
4、AT89S51单片机的P1。
4~P1。
7接4个开关S0~S3,P1.0~P1.3接4个发光二极管LED0~LED3。
编写程序,将P1.4~P1。
7上的4个开关的状态按照从上到下的顺序反映在4个发光二极管上。
1个发光二极管的状态,对应一个开关的状态。
答:
例如P1.4引脚上开关S0的状态,由P1.0引脚上的LED0显示,P1.6引脚上开关S2的状态,由P1.2引脚上的LED2显示。
凡是开关闭合的引脚,对应的LED发光二极管点亮。
#include
voidmain()/*主函数*/
{
while
(1)
{
unsignedchartemp;/*定义临时变量temp*/
P1=0xff;/*P1口低4位置1,作为输入;高4位置1,发光二极管熄灭*/
temp=P1&0xf0;/*读P1口并屏蔽低4位,送临时变量temp*/
temp=temp>>4;/*temp的内容右移4位,P1口高4位状态移至低4位*/
P1=temp;/*临时变量值写入P1口输出*/
}
}
5、使用定时器作为延时,要求在P1.0和P1.1间的两灯按1s间隔互相闪烁,时钟工作频率为12MHz。
答:
#include〈reg51.h>
sbitP0_0=P0^0;
sbitP0_1=P0^1;
intt=0;
voidtime0()interrupt1using0
{
TH0=0x3C;
TL0=0xB0;
t++;
}
voidInit_t0(void)
{
TMOD=0x01;
TH0=0x3C;
TL0=0xB0;
EA=1;ET0=1;
TR0=1;
}
voidmain()
{
P0_0=1;
P0_1=0;
Init_t0();
while
(1)
{
if(t==20)
{
t=0;
P0_0=~P0_0;
P0_1=~P0_1;
}
}
}
6、AT89C51和8位数码管设计一个简单的时钟,数码管的段选信号接在P0端口,定时器
定时一次的时间为50ms,晶振的频率为12MHz。
(1)请将下图中单片机最小系统补充完整.
(2)计算定时器的初值.
(3)请将函数voiddisplay()、voidtimer0()interrupt1、voidint_init()补充完整.
答:
(1)如图所示
(2)定时器定时一次的时间为50ms(即50000μs),设定时器的计数初值位X
因为晶振的频率为12MHZ,所以定时时间为:
定时时间=(65536—X)×12/晶振频率
则50000=(65536—X)×12/12,得X=15536
转换成十六进制后为:
0x3cb0,其中0x3c装入TH0,0xb0装入TL0。
(3)
#include〈reg51。
h〉
Chari=100;/*给变量i赋初值*/
Voidmain()
{TMOD=0x01;/*设置定时器T0为方式1*/
TH0=0x3c;/*向TH0写入初值的高8位*/
TL0=0xb0;/*向TL0写入初值的低8位*/
P0=0x00;/*P0口8只LED点亮*/
EA=1;/*总中断允许*/
ET0=1;/*定时器T0中断允许*/
TR0=1;/*启动定时器T0*/
While
(1);/*无穷循环,等待定时中断*/
}
VoidT0_int(void)interrupt1
{TH0=0x3c;/*给T0装入16位初值,计个数后,T0溢出*/
TL0=0xb0;
i——;/*循环次数减1*/
if(i<=0)
{P1=~P1;/*P1口按位取反*/
i=100;/*重新设置循环次数*/
}
}
7、已知共阴极数码管字形码如下表所示。
画出电路图并编写程序实现数码管从0到F字形的循环显示。
答:
#include h〉 #defineuintunsignedint #defineucharunsignedchar ucharcodetab[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07, 0x7f,0x6f,0x77,0x7c,0x39,0x5e,0x79,0x71}; Voiddelay(uintZ) { UintX,Y; for(X=Z;X>0;X-—) for(Y=110;Y〉0;Y-—); } Uchari; Voidmain() { While (1) { for(i=0;i<16;i++) { P2=tab[i]; delay(1000); } } } 8、设系统的晶振频率为12MHz,使用定时器编写程序实现在P1。 0口上输出周期为10ms的方波,并写出计算过程。 答: 因为晶振的频率为12MHz,所以一个机器周期为1us. 要实现周期为10ms的方波,半个周期为5ms,则定时器计数5000次即可. 若使用定时器0,则TH0=(65536-5000)/256; TL0=(65536-5000)%256; 程序如下: #include sbitsignal=P1^0; voidmain(void) { TMOD=0x01; Signal=0; TH0=(65536 −5000) /256; TL0=(65536 −5000) %256; ET0=1; EA=1; TR0=1; while (1); } voidT0_int(void)interrupt1 { signal=! signal; TH0=(65536 −5000) /256; TL0=(65536 −5000) %256;}
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 单片机 习题