单片机原理及应用简单复习.docx
《单片机原理及应用简单复习.docx》由会员分享,可在线阅读,更多相关《单片机原理及应用简单复习.docx(31页珍藏版)》请在冰豆网上搜索。
单片机原理及应用简单复习
单片机原理及应用简单复习
第1章单片机概述
1.单片机:
就是在一片半导体硅片上集成了中央处理单元(CPU)、存储器(RAM、ROM)、并行I/O口、定时器/计数器、中断系统、系统时钟电路及系统总线的微型计算机。
这样一块集成电路芯片具有一台微型计算机的属性,因而被称为单片机微型计算机,简称单片机。
2.单片机主要应用于测控领域。
又成单片机为嵌入式控制器或微控制器。
3.单片机按照其用途分类可分为通用型和专用型两大类。
通用型:
就是其内部可开发的资源可以全部提供给用户。
用户可根据实际需要,设计一个以通用单片机芯片为核心,再配以外围接口电路及其他外围设备,并编写相应的软件来满足各种不同需要的测控系统。
专用型:
是专门针对某些产品的特定用途而制作的单片机。
4.单片机的发展历史阶段:
第一个阶段(1974——1976)单片机初级阶段。
第二个阶段:
(1976——1978)低性能单片机阶段。
第三阶段:
(1978——1983)高性能单片机阶段。
5.单片机的特点:
体积小、价格低、应用方便、稳定可靠。
6.由单片机为核心的构成的应用系统具有以下优点:
功能齐全,应用可靠,抗干扰能力强;简单方便,易于普及;发展迅速,前景广阔;嵌入容易,用途广泛。
7.MCS-51系列单片机:
8031内部包括1个8位CPU、128BRAM,21个特殊功能寄存器(SFR),4个8位并行I/O口,1个全双工串行口,2个16位定时器/计数器,5个中断源,但片内无程序存储器,需外扩程序存储器芯片。
8051在8031的基础上,片内又集成了4KBROM作为程序存储器。
8751与8051相比,片内集成的4KB的EPROM取代了8051的4KBROM作为程序存储器。
第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的引脚功能:
40个引脚按其功能可分为以下三类:
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(EnableAddress/VoltagePulseofPrograming,31脚):
引脚的第一功能:
外部程序存储器访问允许控制端。
当引脚接高电平时,在PC值不超出0FFFH(即不超出片内4KBFlash存储器的地址范围)时,单片机读片内程序存储器(4KB)中的程序,但PC值超出0FFFH(即超出片内4KBFlash地址范围)时,将自动转向读取片外60KB(1000H-FFFFH)程序存储器空间中的程序。
当引脚接低电平时,只读取外部的程序存储器中的内容,读取的地址范围为0000H~FFFFH,片内的4KBFlash程序存储器不起作用。
VPP为引脚的第二功能,对片内Flash编程,接编程电压。
3)(ProgramStrobeENable,29脚)片外程序存储器读选通信号,低电平有效。
4.AT89S51的CPU
运算器:
主要用来对操作数进行算术、逻辑和位操作运算。
主要包括算术逻辑运算单元ALU、累加器A、程序状态字寄存器PSW、位处理器及两个暂存器。
1)算术逻辑运算单元ALU:
可对8位变量逻辑运算(与、或、异或、循环、求补和清零),还可算术运算(加、减、乘、除)
2)累加器A:
作用如下:
(1)ALU单元的输入数据源之一,又是ALU运算结果存放单元。
(2)数据传送大多都通过累加器A,相当于数据的中转站。
3)程序状态字寄存器PSW:
PSW(ProgramStatusWord)位于片内特殊功能寄存器区,字节地址为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存储器的结构,存储器空间可分为4类
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.数据存储器空间:
片内与片外两部分。
1)片内数据存储器:
片内数据存储器(RAM)共128个单元,字节地址为00H~7FH。
图为片内数据存储器的结构。
00H~1FH的32个单元是4组通用工作寄存器区,每区包含8B,为R7~R0。
可通过指令改变RS1、RS0两位来选择。
20H~2FH的16个单元的128位可位寻址,也可字节寻址。
30H~7FH的单元只能字节寻址,用作存数据以及作为堆栈区。
2)片外数据存储器:
当片内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.指令格式:
指令的表示方法。
指令通常由两部分组成:
操作码和操作数。
操作码——指令进行什么操作。
操作数——指令操作的对象。
2.7中寻址方式
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,该指令有三条MOVCA,@A+DPTRMOVCA,@A+PCJMPA,@A+DPTR
6 相对寻址方式:
目的地址=转移指令所在的地址+转移指令字节数+rel;LJMPrel
7 位寻址方式:
MOVC,bit其具体指令:
MOVC,40H
3.逻辑操作类指令:
1 累加器A清“0”指令:
CLRA
2 累加器A求反指令:
CPLA
3 左环移指令:
RLA
4 带进位左环移指令:
RLCA
5 右环移指令:
RRA
6 带进位右环移指令:
RRCA
7 累加器半字节交换指令:
SWAPA
第5章单片机中的中断系统
1.中断请求源。
AT89S51中断系统共有5个中断请求源:
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的中断请求标志位。