《单片机原理与应用》学习指南Word下载.docx
- 文档编号:7624950
- 上传时间:2023-05-08
- 格式:DOCX
- 页数:28
- 大小:51.21KB
《单片机原理与应用》学习指南Word下载.docx
《《单片机原理与应用》学习指南Word下载.docx》由会员分享,可在线阅读,更多相关《《单片机原理与应用》学习指南Word下载.docx(28页珍藏版)》请在冰点文库上搜索。
在未来很长时间内,8位单片机仍是单片机的主流机型。
从单片机发展的趋势来说,主要向着大容量高性能、小容量低价格、外围电路内装化方向发展。
字长是指计算机的运算器能同时处理的二进制数据的位数。
存储容量是指存储器能够存储信息的总字节数。
总线是信息传送的公共通道。
堆栈是在RAM区中,按照先进后出的原则设置的专用存储区域。
1.2数制与码制
我们最熟悉、使用最多的数制是十进制数,而计算机是用二进制数表示数据、地址或控制命令的。
十进制数是用0、1、2、3、4、5、6、7、8、9十个数字来表示的数。
采用“逢十进一”的计数规律。
二进制数是以2为基数的计数体制,它用0、1两个数码,采用“逢二进一”的计数规律。
八进制数是以8为基数的计数体制,它用0、1、2、3、4、5、6、7这八个数码表示,采用“逢八进一”的计数规律。
十六进制数是以16为基数的计数体制,它用0、1、2、3、4、5、6、7、8、9、A、B、C、D、E、F这16个数码表示,采用“逢16进一”的计数规律。
二进制、八进制或十六进制数转换成十进制数,只要将此数按权展开,按十进制数规律相加,结果就是要转换的十进制数。
将十进制数向其他进制数转换,采用“除进制取余”的方法,直到商为“0”。
然后,从余数的未位起顺次收集余数,即余数的未位是第一位,余数的首位是最后一位,即得转换后的数。
三位二进制数对应一位八进制数,四位二进制数对应一位十六进制数,所以,二、八、十六进制间的转换只要选对位数(三位或四位为一组),就能相互转换。
二进制加法的运算规则为:
0+0=0、0+1=1、1+1=0(有进位1)。
二进制数的加法与十进制加法相同,方法是:
数位对齐,按加法规则逐位相加。
二进制减法的运算规则为:
0-0=0、1-0=1、1-1=0、0-1=1(有借位)。
二进制减法与十进制减法相同,数位对齐,按减法规则逐位相减,不够减借位。
二进制乘法的运算规则为:
0×
0=0、0×
1=0、1×
0=0、1×
1=1。
此外,二进制乘法与十进制乘法相同。
二进制除法是乘法的逆运算,与十进制除法类似。
在计算机中,可以把符号位数值化,即正、负符号也用一位二进制数来表示,这就是“机器数”,通常符号位在该数的最高位,用“0”表示正,用“1”表示负。
在计算机中,小数点的位置固定不变的数称为定点数。
浮点数是指在数的表示中,小数点的位置是浮动的。
在符号位中用“0”表示正,用“1”表示负的二进制数称为原码。
反码是这样定义的:
正数,反码=原码;
负数,反码=原码的符号位不变,数值位按位取反,即数值位的1变0,0变1。
补码是这样定义的:
正数,补码=原码;
负数,补码=反码加1。
1.3常用单片机系列介绍
数据总线是CPU、存储器与I/O接口之间的数据传送的通道。
CPU对各功能部件的访问是按地址进行的,地址总线就是用来传送CPU发出的地址信息,以访问被选择的存储器单元或I/O接口,地址总线是单向三态的。
地址总线的位数决定了CPU访问存储单元的数量。
控制总线上传送的可以是CPU发出的控制信号,也可以是其他功能部件传送给CPU的控制信号,因而控制总线是双向的。
但对某一具体的控制信号,信号传送方向则是固定的。
机器语言是机器能直接识别的二进制指令代码编写的集合。
机器语言是由“0”和“1”代码构成的字符串做机器码。
汇编语言是在机器语言的基础上,用反映指令的特征和功能的助记符代替机器指令,编程人员容易记忆和使用,指令与机器码一一对应。
高级语言是为方便用户,应使编程语言更接近于实际问题,即不需全面了解机器,而是考虑要解决的问题,这就是面向问题的高级语言。
第二章单片机的基本结构
单片机的引脚及引脚功能
单片机的存储器结构
单片机的工作方式
单片机的引脚功能;
单片机的存储器结构。
2.1MCS-51单片机的性能及结构
MCS-51系列单片机无论是片内RAM容量、I/O口功能、系统扩展能力、指令系统、引脚等都基本相同。
但在制造技术上、在片内程序存储器的配置上、在功能上等可分为多种类型,这些分类可从单片机芯片型号上分辩出来。
单片机的中央处理器由运算器、控制器和控制逻辑组成,其中还包括中断系统与部分特殊功能寄存器。
单片机的片内有ROM和RAM两类存储器,它们有各自独立的存储地址空间,与一般微机的存储器配置方式不相同。
8051及8751片内均有4KB字节容量的程序存储器,地址0000H开始,用于存放程序和表格常数,8031片内无ROM,使用时要进行片外扩展。
8051/8031/8751片内数据存储器均为128B,地址为00H~7FH,用于存放运算的中间结果、数据暂存及数据缓冲等。
单片机有四个8位并行接口,即P0~P3,它们是双向端口,可用于输入也可用于输出,每个端口各有8条I/O口线。
这四个端口有四个锁存器,同RAM统一编址,因此,可以把I/O口当作一般特殊功能寄存器来寻址。
单片机为40引脚的集成芯片。
VCC(40脚)采用+5V电源,VSS(20脚)是电源地。
XTAL1(19脚)和XTAL2(18脚)为单片机的两个时钟引脚,时钟可以由内部方式和外部方式产生。
RST/VPD(9脚)复位信号。
ALE/
(30脚)地址锁存信号。
(29脚):
片外程序存储器读选通信号。
/VPP(31脚):
内部和外部程序存储器选择信号。
P0口(P0.0~P0.7,占39~32脚),为地址/数据复用线。
P1口(P1.0~P1.7,占1~8脚)。
P2口(P2.0~P2.7,占21~28脚)可作高8位地址线。
P3口(P3.0~P3.7,占10~17引脚),各引线具有第二功能。
2.2单片机的存储器结构
存储器是计算机的记忆部件,它用来存放CPU要执行的程序、要处理的数据和中间结果等。
8051单片机的存储器从物理上分四个存储空间:
片内程序存储器、片外程序存储器、片内数据存储器、片外数据存储器。
从用户的角度考虑,8051单片机的存储器又可分三个逻辑空间:
片内、片外统一遍址的64KB(0000H~FFFFH)程序存储器地址空间(使用16位地址线),256B的片内数据存储器地址空间(00H~FFH,其中80H~FFH内仅有二十几个字节单元供特殊功能寄存器专用),片外可扩展的64KB(0000H~FFFFH)数据存储器地址空间(使用16位地址线)。
这三个存储器空间地址是重叠的,8051的指令系统为区别这几个空间,有针对性地设置了这三个地址空间的数据传送指令:
CPU访问片内RAM用MOV指令,访问片内、片外程序存储器用MOVC指令,访问片外数据存储器用MOVX指令。
MCS-51系列单片机的程序存储器可寻址的地址空间为64KB,是以16位的程序计数器PC作地址指针。
程序存储器用于存放编好的系统程序和表格常数等,这些是不变信息,一般存放在只读存储器ROM中,只读存储器有ROM、PROM、EPROM、E2PROM等。
MCS-51系列单片机上电复位后,程序计数器指针PC为0000H,故CPU总是从0000H开始执行程序。
若用户编写的主程序或初始化程序不从此地址开始,则应在0000H单元内存放一条绝对跳转指令,将PC转向主程序或初始化程序的入口地址。
数据存储器一般采用随机存取存储器(RAM)。
这种存储器是在使用过程中利用程序随时可以写入信息,又可以随时读出信息的存储器。
一般情况下,我们用此存储器存储数据或运算的中间结果,所以也称之为数据存储器。
单片机的数据存储器常用于存放运算的中间结果、缓冲输入数据或暂存输出数据、存放标志位等,其数据存储器分为片内和片外两种,二者的地址空间是彼此独立的,访问片内数据存储器用MOV指令,地址空间为00H~FFH;
访问片外数据存储器用MOVX指令,地址空间为0000H~FFFFH。
片内RAM最大可寻址256个单元。
它们又分为两个部分,低128字节(00H~7FH),是真正的RAM区;
高128字节(80H~FFH)为特殊功能寄存器SFR区。
片内真正可作数据存储器用的只有128个RAM单元,即00H~7FH地址空间。
他们又可划分为三个区域:
工作寄存器区、位寻址区和数据缓冲区。
MCS-51单片机片内高128字节的RAM中,离散地分布着21个具有特殊功能的寄存器SFR,他们包括程序状态字寄存器、累加器、I/O口锁存器、定时/计数器,串口数据缓冲器、数据指针等。
访问特殊功能寄存器只允许使用直接寻址方式。
2.3AT89与P89C5系列单片机
AT89系列单片机与8051单片机兼容,其内部主要含有:
8051CPU、振荡电路、总线控制器件、定时/计数器、中断控制器、并行I/O口、串行I/O口、片内RAM、特殊功能寄存器等,其主要区别是AT89系列单片机内部含有Flash程序存储器。
AT89系列单片机分为低档型、标准型、高档型。
低档型主要以AT89C1051/2051为代表,并行I/O口线少;
标准型主要以AT89C51/52、AT89LV51/52为代表,与8051类同;
高档型主要以AT89C8252为代表,在标准型的基础上,增强了如监视定时器、系统编程、标准总线接口等功能。
P89C5系列单片机采用了高性能的静态80C51来设计,以先进的CMOS工艺制造并带有非易失性的Flash程序存储器,具有32条I/O口线,6输入4优先级的嵌套中断结构,1个串口(用于多机通信、I/O扩展或全双工串行UART),片内有振荡和时钟电路。
此外,由于器件采用静态设计,可提供很宽的操作频率范围(频率可将至0),实现两个由软件选择的节电模式:
空闲和掉电模式。
空闲模式冻结CPU,但RAM、定时器、串口和中断仍工作。
掉电模式保存RAM内容,但冻结振荡器,导致其它所有片内功能停止工作。
2.4单片机的工作方式
单片机与其它计算机的工作方式相同,即采用“存储程序”的方式,事先把程序加载到计算机的存储器中,CPU按程序中的指令一条一条地执行。
CPU执行指令的动作是在时钟控制下一拍一拍进行的。
在单片机中,最基本的时间单位是振荡周期,即振荡电路产生的脉冲周期。
振荡脉冲的周期也称为节拍,用P表示。
振荡周期的二倍宽为时钟周期,时钟周期也称为状态,用S表示,这样一个状态包含两个节拍,分别用P1、P2表示。
在MCS-51单片机中,一个机器周期是固定的,为6个时钟周期。
这样就有:
1个机器周期=6个时钟周期=12个振荡周期
指令周期是指执行一条指令所需要的时间。
不同的指令,所需要的执行时间是不同的。
MCS-51单片机的指令周期通常含有1~4个机器周期。
MCS-51系列单片机共有111条指令,全部指令按其长度可分为一字节、双字节和三字节指令。
执行这些指令所需要的机器周期是不同的,他包括以下几种情况:
单字节单机器周期、单字节双机器周期、双字节单机器周期和双字节双机器周期,三字节指令均为双机器周期,单字节乘除指令为四机器周期。
单片机的程序一般需要事先固化在片内或片外程序存储器中,单片机开机即可执行程序。
程序是由一条一条指令组成的,因此,执行程序的过程实际就是执行指令的过程。
单片机的工作方式主要指复位、程序执行、掉电保护、低功耗、EPROM编程和校验六种
复位是使CPU和系统中的部件处于一个确定的初始状态,并从这个状态开始工作。
此外,当程序运行错误或系统处于死锁状态时,复位也是重新启动单片机的方法。
单片机系统在运行中,如发生掉电故障,RAM中的信息就会丢失。
因此,单片机设置了掉电保护工作方式:
即先把有用的信息转存到内部随机存储器中,再由备用电源VPD维护供电。
本来CHMOS芯片的功耗已经很低,但出于系统特殊的需要,又给此类芯片设置了两种能更进一步降低功耗的工作方式:
待机方式和掉电方式。
这两种工作方式的实现,是靠电源控制寄存器来完成的。
第三章指令系统与汇编语言程序设计
单片机的寻址方式
单片机的指令系统
汇编语言设计
单片机的寻址方式;
单片机的指令系统及编程。
3.1指令系统概述
程序设计语言可分为机器语言、汇编语言和高级语言三种。
机器语言是由1和0两个二进制数码组成的,是唯一能直接在计算机上运行的语言。
用助记符来描述指令的语言称为汇编语言。
用汇编语言写出的程序称为汇编语言程序。
汇编语言程序必须翻译为二进制机器语言才能送给计算机执行,这个过程称为汇编。
高级语言则是一种不依赖于硬件,更接近人们思维习惯、易为人们理解、有很强描述和解题方法的程序设计语言。
它直观、易学、通用性强,便于移植到不同类型的机器上使用。
计算机不能直接执行高级语言,要通过编译或解释程序,将其翻译成为机器语言,才能被执行。
程序是完成某一任务的指令的集合。
程序中的指令是以机器码的形式存放在存储器中的。
在程序的执行过程中这些机器码将按次序被取出,然后被译码、执行。
3.2汇编语言程序实例
汇编就是将编辑好的汇编语言源程序翻译成机器语言程序。
汇编的方法有两种:
人工汇编和机器汇编。
人工汇编即查表,程序设计人员对照机器码表将指令翻译成机器码;
机器汇编是运行汇编程序,将指令翻译为机器码。
3.3寻址方式
MCS-51系列单片机的寻址方式主要有七种:
立即寻址、寄存器寻址、直接寻址、寄存器间接寻址、变址寻址、相对寻址和位寻址。
在立即寻址中,操作数的数值在指令中写出,一眼就可看出其数值的大小。
这种在指令中可以看出数值大小的操作数称为立即数,书写时前面要加“#”。
立即数有8位和16位两种。
在寄存器寻址中,操作数存放在寄存器中,指令中给出的是寄存器的名称。
在直接寻址中,操作数存放在存储器中,指令中给出的是操作数的存放地址。
指令执行过程中,地址值被送上地址总线,经译码后选通操作数所在的存储单元,这样就可对操作数进行操作。
在寄存器间接寻址中,操作数存放在存储器中,该存储单元的地址又存放在寄存器中,而指令中给出的是寄存器名称。
执行这类指令时,CPU将寄存器的值(即操作数的地址)送上地址总线译码,选通操作数所在的存储单元,再对操作数进行操作。
书写时,寄存器名称前要加“@”。
在变址寻址中,操作数存放在程序存储器中,操作数的地址是累加器A与数据指针DPTR或程序计数器PC的值的和。
3.4指令系统
MCS-51系列单片机指令系统丰富、完整,共有111条指令。
按照它们的操作性质可划分成数据传送、算术操作、逻辑操作、程序转移、位操作等五类。
如果按照字节数分类,则有49条单字节指令、46条双字节指令和16条三字节指令。
若按指令执行时间分类,则有64条单周期指令、45条双周期指令和2条四周期指令。
数据传送就是将数据从一个部件传送到另一个部件,它是单片机最基本、最主要、量最大的操作。
发送数据的部件称为源,接收数据的部件称为目的地。
以累加器为目的地的指令是将工作寄存器内容或存储单元内容或立即数送给累加器。
以Rn为目的地的指令是将累加器内容、存储单元内容或立即数送工作寄存器。
以直接地址为目的地的指令是把累加器、工作寄存器、存储单元或立即数送片内数据存储器单元中(用直接寻址表示)。
以间接地址为目的地的指令是把累加器、存储单元或立即数送片内数据存储器单元中(用间接寻址表示)。
以16位数据指针为目的地的指令是将一个16位的立即数送给数据指针DPTR。
累加器与片外数据存储器间的传送指令(输入/输出指令)
程序存储器操作指令(查表指令)
数据交换指令
堆栈操作指令
算术运算类指令
加法指令
减法指令
加1指令
减1指令
乘法指令
除法指令
十进制调整指令
逻辑运算类指令
与运算指令
或运算指令
异或运算指令
累加器操作指令
移位指令
控制转移类指令
无条件转移指令
条件转移指令
子程序调用和返回指令
空操作指令
位操作指令
可进行位操作的位及其表示方法
位传送指令
位修改指令
位逻辑运算指令
位条件转移指令
伪指令
3.5汇编语言程序设计
汇编语言源程序格式
数据处理程序
代码转换程序
数值运算程序
查表及散转程序
子程序及其调用
第四章中断系统与定时/计数器
单片机中断的概念
单片机的中断系统
单片机的定时/计数器及其应用
单片机的中断系统;
单片机的定时计数器。
4.1输入/输出控制方式
无条件传送方式是指计算机不考虑外围设备的状态,CPU可随时执行输入或输出指令,立即进行数据传送的一种方式。
程序查询传送方式是指CPU在与外围设备进行数据传送前,先对外围设备的状态进行查询,若确定外围设备已准备就绪,CPU执行输入输出指令,进行数据传送,否则,CPU继续进行查询,直到外围设备准备就绪为止。
中断传送方式是CPU接到外围设备的处理请求后,暂停执行原来的程序,转去执行对外设请求的处理,与外围设备进行数据交换,数据交换完后,返回到原来的程序继续执行。
直接存储器传送(DMA)方式是CPU出让总线控制权,系统利用硬件(DMA控制器)来控制总线,使外围设备与内存间通过总线建立直接通道,用于数据的交换。
当数据传送完成后,CPU再收回对总线的控制权。
4.2中断系统
中断是用以提高计算机工作效率的一种重要技术。
所谓中断是指CPU在正常执行程序的过程中,由于计算机内部或外部发生了另一事件(如定时时间到,超压报警等),请求CPU迅速去处理,CPU暂时停止当前程序的运行,而转去处理所发生的事件,待发生的事件处理完以后,CPU再返回到原来暂停的地方,继续执行原来程序,这样一个过程称为中断。
中断源是指向CPU发出中断请求的来源或引起中断的事件。
主要有以下几种:
外围设备,故障源,实时时钟电路,人为设置的中断源等。
单片机的中断系统主要有中断源、与中断有关的特殊功能寄存器、中断入口及中断查询逻辑电路等组成。
MCS-51系列单片机是一种多中断源的单片机。
以8051为例,共有5个中断源,其中2个是外部中断,即外部中断0和外部中断1,它们的中断请求信号分别由引脚
(P3.2)和
(P3.3)输入;
2个为内部定时器中断,由片内定时/计数器T0和T1计数溢出发出中断请求信号;
1个为片内串行口中断,串行口每接收或发送完一组串行数据就产生一个中断请求信号。
这些中断源的中断请求信号分别由特殊功能寄存器TCON和SCON的相关位锁存。
8051单片机的5个中断源分成2个优先级别,每一个中断请求源都可以编程设置为高优先级中断或低优先级中断,能实现两级中断嵌套。
中断控制是指提供给用户使用的中断控制手段,也就是用户可以通过设置4个与中断有关的特殊功能寄存器中的状态位,来使用MCS-51单片机的中断系统。
这4个特殊功能寄存器分别是:
定时器控制寄存器TCON;
串行口控制寄存器SCON;
中断允许控制寄存器IE;
中断优先级控制寄存器IP。
4.3中断处理过程
一个完整的中断处理过程,一般可分为三个阶段:
中断响应、中断处理和中断返回。
中断响应是对中断源提出的中断请求的接受。
中断处理又称中断服务,是指CPU从入口地址开始执行中断服务程序,直到执行完中断返回指令RETI为止的过程。
中断返回是指中断服务程序执行完成后,CPU返回到断点处,继续执行原来的程序。
CPU响应中断后,必须及时清除相应的中断请求标志,否则,就意味着该中断请求仍存在,在中断返回后,CPU将可能再次响应该中断,造成中断混乱。
中断响应时间的概念
4.4定时/计数器
单片机应用系统中,实现定时的方法一般有三种:
软件定时、硬件定时可编程定时/计数器。
MCS-51系列单片机的51子系列内部有2个16位的可编程定时/计数器,简称为定时器0(T0)和定时器1(T1)。
它们都具有定时功能和计数功能,可用于定时或延时控制、对外部事件的检测、计数等。
MCS-51单片机内部定时/计数器的实质是一个16位的可编程加法计数器。
所谓可编程是指定时/计数器的工作方式、定时时间、启动方式等均可编制程序加以控制,而加法计数器(又称加1计数器)是指每来一个计数脉冲,计数器就加1,直到计数器计满产生溢出。
当定时/计数器工作在计数器方式时,对来自输入引脚T0(P3.4)和T1(P3.5)的外部信号计数。
外部信号的有效形式为边沿触发信号(下降沿触发),每个机器周期CPU对外部计数脉冲进行采样。
若前一个机器周期采样为高电平,后一个机器周期采样为低电平,即为一个有效的计数脉冲,计数器加1。
由于识别一个计数信号需要2个机器周期,因此,计数器计数的最高频率为晶振频率的1/24。
定时/计数器工作在定时器方式时,是对单片机内部的机器周期脉冲进行计数。
每一个机器周期,计数器加1。
由于1个机器周期等于12个振荡周期,所以计数频率为晶振频率的1/12。
可以看出,定时时间不仅与计数器中设定的计数初值有关,还与系统的晶振频率有关。
TMOD寄存器用来设定定时/计数器的工作模式,低4位用于T0,高4位用于T1。
其地址为89H,不可位寻址,只能用字节操作指令进行设置。
控制寄存器TCON中的高4位用作定时/计数器的运行控制和溢出标志,低4位与外部中断有关。
MCS-51单片机的定时/计数器T0有模式0、模式1、模式2和模式3四种工作模式,定时/计数器T1有模式0、模式1和模式2三种工作模式,由模式寄存器TMOD中的M1、M0两个选择位设定。
4.5定时/计数器的应用
4.6外部中断源的扩展
MCS-51系列单片机只提供了两个外部中断源输入端
和
,在实际应用系统中,外部中断源往往比较多,常会出现单片机外部中断源不够用的情况,此时就必须对外部中断源进行扩展以满足需要。
用定时/计数器扩展外部中断源
用中断和查询结合的方法扩展外部中断源
第五章串行接口
串行接口的概念
单片机的串行接口的应用
串行通信及单片机的串行接口。
5.1串行通信概述
在实际工作中,计算机的CPU与外部设备之间、计算机与计算机之间常常需要交换信息(数据),所有这些信息交换均可称为数据通信。
基本的数据通信方式有两种,即并行通信和串行通信。
通常根据信息传送的距离决定采用哪种通信方式。
并行通信数据的各位同时进行传送(发送或接收)的通信方式。
其优点是数据传送速度快;
缺点是数据有多少位,就需
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 单片机原理与应用 单片机 原理 应用 学习指南