单片机原理及应用复习.docx

上传人:b****2 文档编号:1134640 上传时间:2023-04-30 格式:DOCX 页数:21 大小:234.38KB
下载 相关 举报
单片机原理及应用复习.docx_第1页
第1页 / 共21页
单片机原理及应用复习.docx_第2页
第2页 / 共21页
单片机原理及应用复习.docx_第3页
第3页 / 共21页
单片机原理及应用复习.docx_第4页
第4页 / 共21页
单片机原理及应用复习.docx_第5页
第5页 / 共21页
单片机原理及应用复习.docx_第6页
第6页 / 共21页
单片机原理及应用复习.docx_第7页
第7页 / 共21页
单片机原理及应用复习.docx_第8页
第8页 / 共21页
单片机原理及应用复习.docx_第9页
第9页 / 共21页
单片机原理及应用复习.docx_第10页
第10页 / 共21页
单片机原理及应用复习.docx_第11页
第11页 / 共21页
单片机原理及应用复习.docx_第12页
第12页 / 共21页
单片机原理及应用复习.docx_第13页
第13页 / 共21页
单片机原理及应用复习.docx_第14页
第14页 / 共21页
单片机原理及应用复习.docx_第15页
第15页 / 共21页
单片机原理及应用复习.docx_第16页
第16页 / 共21页
单片机原理及应用复习.docx_第17页
第17页 / 共21页
单片机原理及应用复习.docx_第18页
第18页 / 共21页
单片机原理及应用复习.docx_第19页
第19页 / 共21页
单片机原理及应用复习.docx_第20页
第20页 / 共21页
亲,该文档总共21页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

单片机原理及应用复习.docx

《单片机原理及应用复习.docx》由会员分享,可在线阅读,更多相关《单片机原理及应用复习.docx(21页珍藏版)》请在冰点文库上搜索。

单片机原理及应用复习.docx

单片机原理及应用复习

单片机原理及应用简单复习

第1章单片机概述

1.单片机:

就是在一片半导体硅片上集成了中央处理单元(CPU)、存储器(RAM、ROM)、并行I/O口、定时器/计数器、中断系统、系统时钟电路及系统总线的微型计算机。

单片机的特点:

体积小、价格低、应用方便、稳定可靠。

2.由单片机为核心的构成的应用系统具有以下优点:

功能齐全,应用可靠,抗干扰能力强;简单方便,易于普及;发展迅速,前景广阔;嵌入容易,用途广泛。

第2章单片机的硬件结构

1.AT89S51单片机的硬件组成:

1)8位微处理器(CPU);

2)数据存储器(128BRAM);

3)程序存储器(4KBFlashROM);

4)4个8位可编程并行I/O口(P0口、P1口、P2口和P3口);

5)1个全双工的异步串行口;

6)2个可编程的16位定时器/计数器;

7)1个看门狗定时器;

8)中断系统具有5个中断源、5个中断向量;

9)特殊功能寄存器(SFR)26个;

10)低功耗模式有空闲模式和掉电模式,且具有掉电模式下的中断恢复模式;

11)3个程序加密锁定位。

2.AT89S51的引脚功能

1)电源及时钟引脚—VCC、VSS;XTAL1、XTAL2。

2)控制引脚—

、ALE/

/VPP、RST(RESET)

3)I/O口引脚——P0、P1、P2、P3,为4个8位I/O口

3.控制引脚

1)RST(RESET,9脚):

复位信号输入,在引脚加上持续时间大于2个机器周期的高电平,可使单片机复位。

正常工作,此脚电平应≤0.5V。

2)

/VPP:

引脚的第一功能:

外部程序存储器访问允许控制端。

引脚接高电平时,在PC值不超出0FFFH(即不超出片内4KBFlash存储器的地址范围)时,单片机读片内程序存储器(4KB)中的程序,但PC值超出0FFFH(即超出片内4KBFlash地址范围)时,将自动转向读取片外60KB(1000H-FFFFH)程序存储器空间中的程序。

引脚接低电平时,只读取外部的程序存储器中的内容,读取的地址范围为0000H~FFFFH,片内的4KBFlash程序存储器不起作用。

VPP为引脚的第二功能,对片内Flash编程,接编程电压。

3)

片外程序存储器读选通信号,低电平有效。

4.AT89S51的CPU

运算器:

主要用来对操作数进行算术、逻辑和位操作运算。

主要包括算术逻辑运算单元ALU、累加器A、程序状态字寄存器PSW、位处理器及两个暂存器。

1)算术逻辑运算单元ALU:

可对8位变量逻辑运算(与、或、异或、循环、求补和清零),还可算术运算(加、减、乘、除)

2)累加器A:

作用如下:

(1)ALU单元的输入数据源之一,又是ALU运算结果存放单元。

(2)数据传送大多都通过累加器A,相当于数据的中转站。

3)程序状态字寄存器PSW:

PSW位于片内特殊功能寄存器区,字节地址为D0H。

包含了程序运行状态的信息,其中4位保存当前指令执行后的状态,供程序查询和判断。

1 Cy(PSW.7)进位标志位:

可写为C。

在算术和逻辑运算时,若有进位/借位,Cy=1;否则,Cy=0。

在位处理器中,它是位累加器。

2 Ac(PSW.6)辅助进位标志位:

在BCD码运算时,用作十进位调整。

即当D3位向D4位产生进位或借位时,Ac=1;否则,Ac=0。

3 F0(PSW.5)用户设定标志位:

由用户使用的一个状态标志位,可用指令来使它置1或清0,控制程序的流向。

用户应充分利用。

4 RS1、RS0(PSW.4、PSW.3)4组工作寄存器区选择:

选择片内RAM区中的4组工作寄存器区中的某一组为当前工作寄存区。

5 OV(PSW.2)溢出标志位:

当执行算术指令时,用来指示运算结果是否产生溢出。

如果结果产生溢出,OV=1;否则,OV=0。

6 PSW.1位:

保留位

7 P(PSW.0)奇偶标志位:

指令执行完,累加器A中“1”的个数是奇数还是偶数。

控制器:

任务识别指令,并根据指令的性质控制单片机各功能部件,从而保证单片机各部分能自动协调地工作。

控制器包括:

程序计数器、指令寄存器、指令译码器、定时及控制逻辑电路等。

功能是控制指令的读入、译码和执行,从而对各功能部件进行定时和逻辑控制。

程序计数器PC:

是一个独立的16位计数器,不可访问。

单片机复位时,PC中内容为0000H,从程序存储器0000H单元取指令,开始执行程序。

PC工作过程是:

CPU读指令时,PC的内容作为所取指令的地址,程序存储器按此地址输出指令字节,同时PC自动加1。

5.AT89S51存储器的结构

1)程序存储器空间:

片内和片外两部分。

当片内4KBFlash存储器不够用时,可片外扩展,最多可扩展至64KB程序存储器。

2)数据存储器空间:

片内与片外两部分。

片内有128BRAM(52子系列为256B)。

片内RAM不够用时,在片外可扩展至64KBRAM。

3)特殊功能寄存器SFR(SpecialFunctionRegister)片内各功能部件的控制寄存器及状态寄存器。

SFR综合反映了整个单片机基本系统内部实际的工作状态及工作方式。

4)位地址空间:

共有211个可寻址位,构成了位地址空间。

它们位于内部RAM(共128位)和特殊功能寄存器区(共83位)中。

6.程序存储器:

程序存储器空间中

引脚接高电平时,CPU从片内0000H开始取指令,当PC值没有超出0FFFH时,只访问片内Flash存储器,当PC值超出0FFFH自动转向读片外程序存储器空间1000H~FFFFH内的程序。

接低电平时,只能执行片外程序存储器(0000H~FFFFH)中的程序。

不理会片内4KBFlash存储器。

程序存储器某些固定单元用于各中断源中断服务程序入口。

64KB程序存储器空间中有5个特殊单元分别对应于5个中断源的中断入口地址,见表。

通常这5个中断入口地址处都放一条跳转指令跳向对应的中断服务子程序,而不是直接存放中断服务子程序。

7.数据存储器空间:

片内数据存储器:

片内数据存储器(RAM)共128个单元,字节地址为00H~7FH。

图为片内数据存储器的结构。

00H~1FH的32个单元是4组通用工作寄存器区,每区包含8B,为R7~R0。

可通过指令改变RS1、RS0两位来选择。

20H~2FH的16个单元的128位可位寻址,也可字节寻址。

30H~7FH的单元只能字节寻址,用作存数据以及作为堆栈区。

1)片外数据存储器:

当片内128B的RAM不够用时,需外扩,最多可外扩64KB的RAM。

注意,片内RAM与片外RAM两个空间是相互独立的,片内RAM与片外RAM的低128B的地址是相同的,但由于使用的是不同的访问指令,所以不会发生冲突。

8.AT89S51的并行I/O端口:

4个双向的8位并行I/O端口,分别记为P0、P1、P2和P3,其中输出锁存器属于特殊功能寄存器。

端口的每一位均由输出锁存器、输出驱动器和输入缓冲器组成,4个端口按字节输入/输出外,也可位寻址。

1)P0口的特点:

P0口为双功能口——地址/数据复用口和通用I/O口。

2)单功能的I/O口,字节地址为90H,位地址为90H~97H。

3)P2口用作地址总线,P2口用作通用I/O口

4)P3口用作第二输入/输出功能,P3口用作第一功能——通用I/O口

9.机器周期、指令周期与指令时序

1)时钟周期:

时钟控制信号的基本时间单位。

若晶振频率为fosc,则时钟周期Tosc=1/fosc。

2)机器周期:

CPU完成一个基本操作所需时间为机器周期。

执行一条指令分为几个机器周期。

每个机器周期完成一个基本操作,如取指令、读或写数据等。

每12个时钟周期为1个机器周期。

1个机器周期包括12个时钟周期,分6个状态:

S1~S6。

每个状态又分两拍:

P1和P2。

3)指令周期:

执行一条指令所需的时间。

第3章单片机的指令系统

1.七种寻址方式

1 寄存器寻址方式:

MOVA,Rn;(Rn)→A,n=0~7

2 直接寻址方式:

MOVA,direct“direct”就是操作数的单元地址。

例如:

MOVA,40H;MOVdirect1,direct2(MOV42H,62H)

3 寄存器间接寻址方式:

MOVA,@Ri;i=0或1

4 立即数寻址方式:

MOVA,#40H

5 基址寄存器加变址寄存器间址寻址方式:

MOVCA,@A+DPTR,

6 该指令有三条MOVCA,@A+DPTRMOVCA,@A+PCJMPA,@A+DPTR

7 相对寻址方式:

目的地址=转移指令所在的地址+转移指令字节数+rel;LJMPrel

8 位寻址方式:

MOVC,bit其具体指令:

MOVC,40H

2.逻辑操作类指令:

1 累加器A清“0”指令:

CLRA

2 累加器A求反指令:

CPLA

3 左环移指令:

RLA

4 带进位左环移指令:

RLCA

5 右环移指令:

RRA

6 带进位右环移指令:

RRCA

7 累加器半字节交换指令:

SWAPA

第5章单片机中的中断系统

1.中断请求源

1 

外部中断请求0,中断请求信号由

引脚输入,中断请求标志位

2 

外部中断请求1,中断请求信号由

引脚输入,中断请求标志为

3 定时器/计数器T0计数溢出发出的中断请求,中断请求标志为TF0。

4 定时器/计数器T1计数溢出发出的中断请求,中断请求标志为TF1。

5 串行口中断请求,中断请求标志为发送中断TI或接收中断RI。

2.TCON寄存器:

定时器/计数器的控制寄存器,字节地址为88H,可位寻址。

特殊功能寄存器TCON的格式如图

(1)TF1—定时器/计数器T1的溢出中断请求标志位。

当T1计数产生溢出时,由硬件使TF1置“1”,向CPU申请中断。

CPU响应TF1中断时,TF1标志由硬件自动清“0”,TF1也可由软件清“0”。

(2)TF0—定时器/计数器T0的溢出中断请求标志位,功能与TF1类似。

(3)IE1—外部中断请求1的中断请求标志位。

(4)IE0—外部中断请求0中断请求标志位,功能与IE1类似。

(5)IT1—选择外部中断请求1为跳沿触发还是电平触发。

IT1=0,电平触发方式,引脚上低电平有效,并把IE1置“1”。

转向中断服务程序时,由硬件自动把IE1清“0”。

IT1=1,跳沿触发方式,加到引脚上的外部中断请求输入信号电平从高到低的负跳变有效,并把IE1置“1”。

转向中断服务程序时,由硬件自动把IE1清“0”。

(6)IT0—选择外部中断请求0为跳沿触发方式还是电平触发方式,其意义与IT1类似。

AT89S51复位后,TCON被清“0”,5个中断源的中断请求标志均为0。

3.中断允许寄存器IE:

是由中断允许寄存器IE控制的。

(1)EA—中断允许总开关控制位。

EA=0,所有的中断请求被屏蔽。

EA=1,所有的中断请求被开放。

(2)ES——串行口中断允许位。

ES=0,禁止串行口中断。

ES=1,允许串行口中断。

(3)ET1——定时器/计数器T1的溢出中断允许位。

ET1=0,禁止T1溢出中断。

ET1=1,允许T1溢出中断。

(4)EX1——外部中断1中断允许位。

EX1=0,禁止外部中断1中断。

EX1=1,允许外部中断1中断。

(5)ET0——定时器/计数器T0的溢出中断允许位。

ET0=0,禁止T0溢出中断。

ET0=1,允许T0溢出中断。

(6)EX0——外部中断0中断允许位。

EX0=0,禁止外部中断0中断。

EX0=1,允许外部中断0中断。

4.外部中断的响应时间:

外部中断的最短响应时间为3个机器周期。

其中中断请求标志位查询占1个机器周期,而这个机器周期恰好处于指令的最后一个机器周期。

在这个机器周期结束后,中断即被响应,CPU接着执行一条硬件子程序调用指令LCALL到相中断服务程序入口,需要2个机器周期。

外部中断响应的最长时间为8个机器周期。

5.假设允许外部中断0中断,设定为高级中断,采用跳沿触发方式,其他中断源为低级中断。

初始化程序如下:

SETBEA;EA位置1,总中断开关位开放

SETBEX0;EX0位置1,允许外部中断0产生中断

SETBPX0;PX0位置1,外部中断0为高优先级中断

SETBIT0;IT0位置1,外部中断0为跳沿触发方式

第6章定时器/计数器

1.TMOD用于选择定时器/计数器T0、T1的工作模式和工作方式

TCON用于控制T0、T1的启动和停止计数,同时包含了T0、T1的状态。

2.作方式控制寄存器TMOD

用于选择定时器/计数器的工作模式和工作方式,字节地址为89H,不能位寻址

8位分为两组,高4位控制T1,低4位控制T0。

3.TMOD各位的功能。

(1)GATE———门控位。

 0:

仅由运行控制位TRx(x = 0,1)来控制定时器/计数器运行。

 1:

用外中断引脚(或)上的电平与运行控制位TRx共同来控制定时器/计数器运行。

(2)M1、M0——工作方式选择位

M1、M0共有4种编码,对应于4种工作方式的选择

(3)C/

—计数器模式和定时器模式选择位

0:

为定时器工作模式,对单片机的晶体振荡器12分频后的脉冲进行计数。

1:

为计数器工作模式,计数器对外部输入引脚T0(P3.4)或T1(P3.5)的外部脉冲(负跳变)计数。

4.定时器/计数器的4种工作方式(看书:

P103)

 

64K程序存储器空间中有5个特殊单元分别对应于5个中断源的中断服务程序入口地址,见下表:

表5个中断源的中断入口地址

入口地址

中断源

0003H

外部中断0(

000BH

定时器0(T0)

0013H

外部中断1(

001BH

定时器1(T1)

0023H

串行口

1)如果采用的晶振频率为3MHZ,定时器/计数器工作在方式0,1,2下,其最大定时时间各为多少?

答:

因为机器周期:

所以定时器/计数器工作方式0下,其最大定时时间为

同样可以求得方式1下的最大定时时间为262.144ms;方式2下的最大定时时间为1024ms。

2)定时器/计数器用作定时器模式时,其计数脉冲由谁提供?

定时时间与哪些因素有关?

答:

定时/计数器作定时时,其计数脉冲由系统振荡器产生的内部时钟信号12分频后提供。

定时时间与时钟频率和定时初值有关。

3)定时器/计数器用作计数器模式时,对外界计数频率有何限制?

答:

由于确认1次负跳变要花2个机器周期,即24个振荡周期,因此外部输入的计数脉冲的最高频率为系统振荡器频率的1/24。

4)采用定时器/计数器T0对外部脉冲进行计数,每计数100个脉冲后,T0转为定时工作方式。

定时1ms后,又转为计数工作方式,如此循环不止。

假定AT89S51单片机的晶体振荡器为6MHz,请使用方式1实现,要求编写程序。

   答:

定时器/计数器T0在计数和定时工作完成后,均采用中断方式工作。

除了第一次计数工作方式设置在主程序完成外,后面的定时或计数工作方式分别在中断程序完成,用一标志位识别下一轮定时器/计数器T0的工作方式。

参考程序如下:

   ORG0000H

   LJMPMAIN

   ORG000BH

   LJMPIT0P

   MAIN:

MOVTMOD,#06H;定时器/计数器T0为计数方式2

   MOVTL0,#156;计数100个脉冲的初值赋值

   MOVTH0,#156

   SETBGATE;打开计数门

   SETBTR0;启动T0,开始计数

   SETBET0;允许T0中断

   SETBEA;CPU开中断

   CLRF0;设置下一轮为定时方式的标志位

   WAIT:

AJMPWAIT

   IT0P:

CLREA;CPU关中断

   JBF0,COUNT;F0=1,转计数方式设置

   MOVTMOD,#00H;定时器/计数器T0为定时方式0

   MOVTH0,#0FEH;定时1ms初值赋值

   MOVTL0,#0CH

   SETBEA

   RETI

 COUNT:

MOVTMOD,#06H

   MOVTL0,#156

   SETBEA

   RETI

注:

编程题记得看两个,1、流水灯设计

2、方波发生器

二、填空题(每空1分,共20分)

1、AT89S51有(111)条指令。

2、晶振的频率为6MHz时,一个机器周期为

(2)μS。

3、51单片机是把中央处理器,(数据存储器)、(程序存储器)、(中断系统)、(定时器/计数器)(串行口)以及I/O接口电路等主要计算机部件集成在一块集成电路芯片上的微型计算机。

4、单片机复位时P0的值为(0)。

5、当PSW.4=0,PSW.3=1时,当前工作寄存器Rn,工作在第

(1)区。

6、在R7初值为00H的情况下,DJNZR7,rel指令将循环执行(256)次。

7、欲使P1口的低4位输出0,高4位不变,应执行一条(ANLP1#0F0H)指令。

8、AT89S51系列单片机有(5)个中断源,可分为

(2)个优先级。

上电复位时(外部中断0)中断源的优先级别最高。

9、计算机三大总线分别为(地址总线)、(数据总线)和控制总线。

10、74LS138是具有3个输入的译码器芯片,用其输出作片选信号,最多可在(8)块芯片中选中其中任一块。

11、MCS-51指令系统中,ADD与ADDC指令的区别是(ADDC指令中Cy位参加运算)。

12、AT89S51单片机有

(2)个16位定时/计数器。

13、特殊功能寄存器中,单元地址(低位为0或8)的特殊功能寄存器,可以位寻址。

四、程序分析(共10分)

1.写出执行下列程序段后相关存储单元或寄存器的值。

(本题每空2分,共4分)

ORG0200H

MOVR1,#37H

MOVA,R1

MOV37H,#55H

CJNE@R1,#37H,DONE

MOVA,37H

SJMPEXIT

DONE:

MOV37H,#0AAH

EXIT:

SJMP$

执行完毕(A)=___37H____,(37H)=__0AAH_____。

2.已知:

(A)=73H,(R1)=30H,片内RAM(30H)=34H,片外RAM(30H)=A0H,

(C)=1。

请写出单片机执行下列指令后的结果。

以下语句不是程序段,互不相关。

(每空1分,共6分。

(a)CPLA;(A)=__6CH____

(b)MOVXA,@R1;(A)=__A0H____

(c)ADDCA,@R1;(A)=___0A8H___

(d)RLCA;(A)=___27H___

(e)XCHA,@R1;片内(30H)=_73H_____

(f)ORLA,#0FH;(A)=__7F__H__

2.下图是DAC0832的应用电路,DA转换时数字量FFH与00H分别对应于模拟量+5V与0V。

(1)将图中空缺的电路补充完整;

(2)编写程序,产生图中所示三角波,周期为1s,设有一个延时3.906ms的子程序DELAY可以直接调用。

(本题10分)

 

 

(2)ORG2000H

START:

MOVR0,#0FEH

MOVA,#00H

AKBup:

MOV@R0,A

INCA

LCALLDELAY

JNZA,AKBup

AKBdown:

DECA

MOV@R0,A

LCALLDELAY

JNZA,AKBdown

SJMPAKBup

卷二

一、填空(25分,每空1分)

1. PSW中的RS0、RS1=01B,此时R2的字节地址为(0AH)。

2.假定DPTR的内容1000H,A中的内容为40H,执行指令:

2000H:

MOVCA,@A+DPTR

后,送入A的是程序存储器(1040H)单元的内容。

3.假定A中的内容为79H,R5中的内容为78H,执行指令:

ADDA,R5

DAA

后,累加器A的内容为(57)H,CY的内容为

(1)。

4.当AT89S51单片机响应中断后,必须用软件清除的中断请求标志是(TI和RI)。

5.TMOD中的GATEx=1时,表示由两个信号TRx和(中断引脚上的电平)控制定时器的启停。

6.在AT89S51单片机的RESET端出现(大于2个机器周期)的高电平后,便可以可靠复位,复位后的PC中的内容为(0000)H。

7.当AT89S51单片机与慢速外设进行数据传输时,最佳的传输方式是(中断)。

8.DA转换器的两个最重要的技术指标为(分辨率)和(建立时间)。

9.在存储器扩展中,无论是线选法还是译码法,最终都是为扩展芯片的(   CE*   )端提供(片选)信号。

10.波特率定义为(串行口每秒发送的的位数)。

串行通信对波特率的基本要求是互相通信的甲乙双方必须具有(相同)的波特率。

11.若串行通信按方式1传送,每分钟传送3000个字符(8位/每字符),其波特率是(400bit/s)。

12.AT89S51片内(20H~2FH)地址范围内的数据存储器,既可以字节寻址又可以位寻址。

13.8KBRAM存储器的首地址若为1000H,则末地址为(2FFF)H。

15.已知8段共阴极LED显示器显示字符“H”的段码为76H,则8段共阳极LED显示器显示字符“H”的段码为(89H)。

16.当键盘的按键数目少于8个时,应采用(独立)式键盘。

当键盘的按键数目为64个时,应采用(矩阵)式键盘。

17.当BCD码拨盘的A端接地时,当BCD码拨盘拨到“6”时,此时拨盘的8、4、2、1接点的输出为(1、0、0、1)。

18.使用双缓冲方式的D/A转换器,可实现多路模拟信号的(同步)输出。

19.AT89S51单片机扩展并行I/O口时,对扩展的I/O口芯片的基本要求是:

输出应具有(锁存)功能;输入应具有(三态缓冲或锁存选通)功能;

四、简答题(共16分,每题4分)

1.采用12MHz的晶振,定时1ms,用定时器方式1时的16进制的初值应为多少?

(请给出计算过程)(4分)

(2^16-x)×10^-6=10^-3

X=65536-1000=64536

TH0=64536/256=FCH

TL0=64536%256=18H

2.用一条什么指令可以取代下列前4条指令?

(4分)

MOVDPTR,#1020H

PUSHDPH

PUSHDPL

RET

ORG1020H

W12:

…………

ORG2010H

W34:

…………

答:

AJMP2010H

3.位地址00H—7FH和片内字节地址00H—7FH编址相同,读写时会不会搞错?

为什么?

答:

位位地址00H—7FH和片内字节地址00H—7FH都是16进制数表示的

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 小学教育 > 语文

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2