单片机原理及应用- 习题及答案 庄俊华 【ch06】单片机的功能部件_第1页
单片机原理及应用- 习题及答案 庄俊华 【ch06】单片机的功能部件_第2页
单片机原理及应用- 习题及答案 庄俊华 【ch06】单片机的功能部件_第3页
单片机原理及应用- 习题及答案 庄俊华 【ch06】单片机的功能部件_第4页
单片机原理及应用- 习题及答案 庄俊华 【ch06】单片机的功能部件_第5页
已阅读5页,还剩5页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第6章单片机的功能部件

1.什么是中断?什么是中断源?

(1)中断是指CPU在正常执行序时,由于内外部时间或程序预先安排引起CPU暂时终止

执行现行程序,转而去执行中断服务子程序,执行完毕能自动返回到被中断的程序维续执行。

(2)中断源是能引起中断的外部设备或内部原因

2.什么是中断优先级?什么是中断嵌套?

中断响应的优先次序是中断优先级。当一个中断处理的过程中又响应了更高优先级的中

断是中断嵌套。处理中断优先级的原则是先高级中断,后低级中断。同级的按自然优先级排

序。

3.单片机引用中断技术后,有些什么优点?

中断系统是指为实现中断而设置的各种硬件与软件,包括中断控制逻辑及相应管理中断

的指令。中断系统具有下列功能。(1)能响应中断、处理中断与从中断返回。(2)能实

现优先权排队。(3)高级中断源能中断低级的中断处理。中断技术除了能解决快速CPU与

中、慢速外设速度不匹配的矛盾以提高主机的工作效率之外,在实现分时操作、实时处理、

故障处理、多机连接以及人机联系等方面均有广泛的应用。

4.简述中断处理流程。

(1)中断请求。当中断源需要CPU对它进行服务时,就会产生一个中断请求信号。对外

部中断源,这个信号加至CPU的中断请求输入引脚,形成对CPU的中断请求;对内部中断源,

则将CPU内部特定事件的发生或特定指令的执行作为对CPU的中断请求。

(2)中断响应。CPU接受中断请求就称为中断响应。当CPU执行到每条指令的最后一个

时钟周期时,就去检测是否有中断请求。如果有中断请求,对内部中断源,CPU会无条件响

应;对外部中断源,只有在满足响应条件时,CPU才会响应其中断请求。

(3)断点保护。当CPU响应某个中断时,就会转到相应中断源的服务程序上。为了使CPU

在完成中断服务后能返回原程序继续执行,需要将原程序被中断处的相关信息保存到堆栈

中。对8086(88)CPU,断点处的IP、CS和标志寄存器内容由硬件进行自动保护,其他信息

的保护则由中断服务程序来完成。

(4)中断源识别。在计算机系统中,往往有多个中断源,当有中断请求时,CPU就需要

确定具体的中断源,以便对其进行相应的服务。在8086(88)中断系统中,由中断源自身提

供其编码,供CPU进行识别。

(5)中断服务。一般地,每一个中断源都有其相应的服务程序,即中断程序。当CPU识

别中断源后,就会取得其中断程序的入口地址,并转入该中断程序,进行相应的中断服务。

中断服务是整个中断处理的核心。

(6)断点恢复。当CPU完成相应的中断服务后,利用中断服务程序,将原来在中断程序

中用软件保存的断点信息从堆栈弹出,恢复为中断前的内容。

(7)中断返回。在中断程序的最后,通过执行一条中断返回指令,将IP、CS及标志寄

存器的内容从堆栈中弹出,使CPU返回到中断前的程序,并从断点处继续执行。

5.MCS-5单片机允许有哪几个中断源?各中断源的中断程序入口地址分别是什么?

答:8051单片机一共有5个中断源。外部中断两个INTO和INT,当其为低电平时向CPU

提出中断请求,有两种触发方式:电平触发和边沿触发[2]。两个定时/计数器[3]T0和T1,当

计数满或定时时间到了可向CPU提出中断请求,由软件设置开启和关闭这两个中断。串行口

的发送/接收时数据完成后,(置位TI/RD,向CPU提出中断请求。各中断程序的入口地址

是:MCS-51系列单H机共有5个中断源及入口地址表:外部中断0定时计数器中断0外部中

断1定时计数器中断1串行口中断0003H000BH0013H001BH0023Ho

6.MCS-51单片机有几个优先级?如何设置优先级?

MCS-51系列单片机有5个中断源,分别是外部中断0、定时器0、外部中断1、定时器

1、串行口。它们的优先级别通过寄存器IP实现。

7.若采用INT1,下降沿触发,中断优先级为最高级,试写出相关程序。

以下是一个采用INT1中断,下降沿触发的程序,其中中断优先级设置为最高级:

、'C

#include<stdio.h>

#include<reg51.h>

//定义中断优先级

^defineINT1_PRIORITY0

voidINT1」SR()_interrupt(INTl-VECTOR)_using(0){

//在这里处理INTI中断

//...

)

voidmain(){

//设置INTI中断为下降沿触发方式

IT1=0;//INTI的类型控制位,设为0表示下降沿触发

EX1=1;//使能INT1中断

//设置中断优先级

IP-(IP&'0x02)|(INT1_PRIORITY«1);//中断优先级最高为0,次高为1

EA=1;//全局中断使能

while(1){

//主程序的其他操作

//...

}

)

注意,以上程序是用C语言写的,假设你的目标平台是基于805:单片机的。具体的硬

件连接和功能实现可能因平台而异,请根据实际情况进行调整和修改。

8.在晶振频率为12MHz,采用12分频方式,LED每隔1s闪烁4次,试写出

相关程序,使用中断技术,TO定时,在方式1下实现。

以下是一种在方式1下使用中断技术实现LED每隔1秒闪坏4次的程序示例:

'c

#include<reg51.h>

//定义晶振频率

^defineFREQ12000000UL

//定义分频系数

^defineDIV_FACTOR12

//定义计数器初值

^defineINIT_VALUE(65536-(FREQ/DIV_FACTOR/12))

//定义闪烁次数和闪烁间隔

^defineBLINK.TIMES4

^defineBLINK_INTERVAL1030//以亳秒为单位

//定义中断计数器

volatileunsignedintinterrupt_counter=0;

中断服务函数

voidtimerO_interrupt0interrupt1using1

(

THO=INIT.VALUE»8;//重新加载初值的高8位

TLO=INIT_VALUE&OxFF;//重新加载初值的低8位

interruptcounter++;//计数器递增

if(interrupt_counter==BLINK_TIMES*2){

interruptcounter=0;//复位计数器

//控制LED状态,每隔1秒闪烁4次

if(Pl&0x01){

Pl&=OxFE;//将Pl.0引脚置低

}else{

Pl|=0x01;//将Pl.0引脚置高

}

)

)

voidmain()

//初始化定时器0

TMOD=0x01;//设置定时器0为方式1

TH0=IN1T_VALUE»8;//设置初值的高8位

TL0=INIT_VALUE&OxFF;//设置初值的低8位

TRO=1;〃启动定时器0

ETO=1;//允许定时器。中断

EA=1;〃打开总中断开关

while(1){

//主循环中可以进行其他操作

)

)

请注意,以上代码是基于8051系列单片机的,使用的是C语言进行编程。程序中使用

了定时器0的方式1来产生中断,并通过中断计数器来控制LED的闪烁次数和闪烁间隔。具

体实现中涉及的端口和引脚可根据实际硬件进行修改。

9.使用中断的方法,设计1个秒脉冲发生器。

定时50ms;此时T0的初始俏X为,

(65536—X)X1X10"=50X10'

X=65536-50000=15536=3CB0H

TO的中断服务程序入口地址为OOOBH.

源程序:

ORG0000H

UMPMAIN

TO的中断服务程序:

ORGOOOBH

AJMP70H

ORG70H

MOVTl-O.lIOBOH,质赋初值

MOVTH0.»3CH

DJNZ50H.L,2,未到1s继续M环

MOV50H.i120

SETBPLOi发“秒”脉冲

NOP

CLRPLO

DJNZ51H.L2「未到1min维续循环

MOV51H.W;60

SETBPl.l।发“分”脉冲

NOP

CLRPl.1

L2»SETBTRO

RETI

MAIN,MOVTMOD,#01H,设定时器0为方式1

MOV50H.c20:定时1秒循环次数

MOV51H.#60,定时】分循环次数

MOVTH0.fi3cH•定时器。赋初值

MOVTL0.力OBOH

MOV】E•恭82H1PU开中断,T0开中断

SETBTRO1府动T0

HERE,SJMPHERE;循环等待定时到

10.MCS-51单片机内部有哪几个定时/计数器?

89c51内部有2个定时器/计数器,定时器0有4种工作方式,定时器1有3种工作方式。

11.单片机定时/计数器有哪两种功能?当其作为计数器使用时,对外部计数脉冲

有何要求?

定时时间和晶振频率和定时常数TH和TL有关。

外部计数脉冲的最高频率为晶振的"24。

12.TMOD的各位控制功能是什么?

略。

13.TCON的高4位控制功能是什么?

TCON(TimingController)是用于液晶显示器的一种芯片,它主要负责控制像素点的

刷新和显示时间序列。关于'高4位控制功能、这一术语,可能根据具体的背景和上下文有不

同的含义。但是--般来说,TCON芯片的高4位控制功能通常指的是其在控制显示器时所具

备的4个高位控制信号。

这些高位控制信号的功能可以根据具体的设计和需求而不同,常见的功能包括:

1.亮度调节:通过调节高4位控制信号,控制显示器的整体亮度,以达到合适的显示

效果。

2.对比度控制:高4位控制信号中的某几位可能用于控制显示器的对比度,以调整图

像的清晰度和色彩饱和度。

3.色温调节:通过高4位控制信号的不同组合,可以调节显示器的色温,使得显示的

图像具有合适的色彩效果。

4.背光控制:高4位控制信号有时也用于控制显示器背光灯的亮度和开关,以实现节

能和调节显示器整体亮度的目的。

需要注意的是,具体的高4位控制功能会因不同型号和设计而有所不同。因此,在使用

任何特定的TCON芯片时,请参考相关文档和规格说明,以了解具体的高4位控制功能及其

应用方式。

14.在晶振频率为12MHz时,采用12分频,要求在P1.0引脚输出周期为150us

的方波;P1.1引脚输出周期为1ms的方波,其占空比为1:2(高电平时间短,

低电平时间长),试用定时器的方式0、方式1编程。

周期为1ms的对男:方修鬟求定时时间为周期为2nM不对林占中比为h3

的方波要求定时时间为2Xl/4-0.5m»・定时II计数初值为,X-2w-O.5XlO,/l-45536

-500-65036=FEOCH.采用R2计数的不财体力波程序如F,

()RGOOOOH

IJMPMAIN

C)RG.OOOBH(Tot*

IJMP1NTT0

()RG0I00H।中・处HIV声

!NTT0tMOVTLO.IBOCH

MOVTHO.HOFEH

CPLPI.0

DfNZR2.T0,I

MOVR2.S4

SETBPl.lI■由2a不用»方版*电f

RET1

T0.I.cutP1.I।・由2■不**方我做电子

RET1

()RG0M0H

MAIN,MOVTMOn.HOlH.TogHiXl

MOVTHO.SOFEH

MOVTL0.90CH

M()VR2.H4

SETBETO

SETBTRO

SETBEA

SIMPt

15.在晶振频率为12MHz,采用12分频方式,要求定时1min,试编写将TO和T1

合用实现定时1min的程序。

以下是使用TO和T1合用实现定时1分钟的程序代码:

^include<8051.h>

voidmain(){

TMOD=0x05;//设置TO为模式1,T1为模式0

THO=OxOB;//设置TO计数初值

TLO=OxDC;//设置TO计数初值,定时1ms

TH1=0x3C;//设置口计数初值

TL1=OxBO;//设置口计数初值,定时Is

TRO=1;//启动TO

TRI=1;//启动T1

while(1){

while(TFO!=1){}//等待TO定时完成

TFO=0;//清除TO溢出标志

THO=OxOB;//重新加载TO计数初值

TLO=OxDC;//重新加载TO计数初值,定时1ms

while(TF1!=1){}//等待T1定时完成

TF1=0;//清除T1溢出标志

Till=0x3C;//重新加载T1计数初值

TL1=OxBO;//重新加载T1计数初值,定时1s

//在这里执行定时1分钟后要执行的操作

这段代码使用了8051单片机的T0和T1计时器来实现定时1分钟的功能。T0采用12

分频方式来进行计时,每个循环定时ImsoT1则在TO计时器循环10次后才溢出,实现1s

的定时。通过在主循环中不断检测T0和T1的溢出标志来实现定时1分钟的功能。

16.串行通信有什么特点?

它是在一根线上以数据位(bit)为单位与1/0设备或通信设备之间传送信息,在这根传

输线上既传输数据信息,又传输联络控制信息,数据都占据一个固定的时间长度通信双方要

约定相同的波特率才能实现通信,由于受波特率上限的约束,串行通信的速度是有限度的。串

行通信具有通信电路简单,成本低,适用于远距离通信。

17.异步通信与同步通信的主要区别是什么?

同步通信和异步通信的主要区别是前者有公共时钟,总线上的所有设备按统一的时序,

统一的传输冏期进行信息传输,通信双方按约定好的时序联络。后者没有公共时钟,没有固

定的传输周期,采用应答方式通信,具体的联络方式有不互锁、半互锁和全互锁三种。不互

锁方式通信双方没有相互制约关系:半互锁方式通信双方有简单的制约关系:全互锁方式通

信双方有完全的制约关系。其中全互锁通信可靠性最高。

18.何谓单工、半双工、全双工?

根据通信双方的分工和信号传输方向可将通信分为三种方式:单工、半双工与全双工在

计算机网络11]中主要采用双工方式,其中:局域网12]采用半双工方式,城域网3]和广域

网4采用全双年方式。

1.单工(Simplex)方式:通信双方设备中发送器与接收器分工明确,只能在由发送器向

接收器的单一固定方向上传送数据

采用单工通信的典型发送设备如早期计算机的读卡器,典型的接收设备如打印机。2.半

双工(HalfDuplex)方式:通信双方设备既是发送器,也是接收器,两台设备可以相互传送数

据,但某一时刻则只能向一个方向传送数据。例如,步话机是半双工设备,因为在一个时刻

只能有•方说话。

3全双工(FullDuplex)方式:通信双方设备既是发送器,也是接收器,两台设备可以

同时在两个方向上传送数据。

例如,电话是全双工设备,因为双方可同时说话。

19.MCS-51单片机的串行接口内部结构是怎样的?

MCS-51单片机的存储器组织采用哈佛结构,即分为相互独立的程序存储器和数据存储

器两大空间结构。程序存储器空间由内部ROM存储器和外部ROM存储器组成。数据存储器也

分为内部RAM存储器和外部RAM存储器。内部RAM存储器又可划分为工作寄存器区、位寻址

区和一般数据RAM区,MCS-51单片机的特殊功能寄存器也实现在内部RAM区。

20.串行通信主要由哪几个功能寄存器控制?

串行通信通常需要使用几个功能寄存器来进行控制。常见的功能寄存器包括:

1.数据寄存器(DataRegister):用于存储要发送或接收的数据。

2.状态寄存器(StatusRegister);用于记录通信状态信息,如传输完成标志、错误标志

等。

3.控制寄存器(ControlRegister):用于设置和控制通信参数,例如波特率、数据位数、

校验位等。

4.时钟寄存器(ClockRegister):用于存储通信时钟频率,以确保通信的数据传输速度。

这些功能寄存器在串行通信中起到了重要的作用,通过对这些寄存器的设置和读取,可

以实现数据的传输和控制。

21.MCS-51单片机串行接口有哪几种工作方式?对应的帧格式是怎样的?

答:有4种工作方式。

工作方式0为同步移位寄存器[2]方式该方式以8位数据为一帧,没有起始位和停止位,

先发送或接收最低位。

工作方式1为8位异步通信[3]方式适合于点对点的异步通信。这种方式规定发送或接

收一帧信息为10位,即1个起始位(0),8个数据位,1个停止位(1),先发送或接收最低位。

数据传输率[4]可以改变工作方式2和3为9位异步通信方式。每帧数据均为11位1位起

始位08位数据位(先低位)1位可程控的第9位数据和1位停止位。

22.MCS-51单片机串行接口在不同的工作方式下,如何确定波特率?

1.方式0的波特率

串行口工作在方式。时,波特率由振荡器的频率

fosc所确定:

fosc

波特率=勺升

2.方式2的波特率

串行口工作在方式2时,波特率由振荡器的频率

%6C和所确定:

ySMOD

波特率二一Xfosc

64

若则所选波特率为功./64;若

SMODH,则波特率为fosc/32。

3.方式1或3的波特率

串行口工作在方式1或

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论