您好,欢迎访问三七文档
当前位置:首页 > 行业资料 > 其它行业文档 > 51系列单片机经典课件
单片机原理及应用第1章概述学习要点①通过本章的学习,应该建立关于单片机系统的概念,了解单片机与一般微机的区别。②要求掌握MCS系统单片机的结构特点,熟悉单片机的应用领域及开发工具。1.1单片机发展概况•主要分为以下3个阶段:•第1阶段(1974~1978年)为初级单片••第2阶段(1978~1983年)为高性能单片•第3阶段(1983年以后)为8位单片机巩固、1.2单片机硬、软件系统及种类–1.2.1单片机的硬件系统–1.2.2单片机的软件系统–1.2.3单片机的种类1.3单片机应用领域与开发工具•1.3.1应用领域–1.单片机在智能仪器仪表中的应用–2.单片机在工业测控中的应用–3.单片机在计算机网络与通信设备中的应用–4.单片机在日常生活及家电中的应用1.3单片机应用领域与开发工具•1.3.2开发工具单片机开发系统一般应具备以下4方面的基本功能:–系统硬件电路的诊断与检查。–用户程序的输入修改。–程序的运行调试。–程序的固化。第2章单片机的结构原理•本章要点①了解MCS-51单片机的常用术语、内部结构。②熟悉运算器和控制器中的累加器、程序状态字寄存器、程序计数器、堆栈指针和指针的特点及应用。③熟悉MCS-51单片机存储器的特点、CPU的时序和引脚功能、输入/输出接口结构特点。④掌握工作寄存器R0~R7的分组情况、所占内存空间、位地址空间、程序存储器和数据存储器的结构特点。⑤掌握“漏极开路、准双向、读-改写”的准确含义及编程时应采取的措施。2.1常用术语及内部结构•2.1.1常用术语•本节重点讲解46个单片机常用术语2.1常用术语及内部结构•2.1.2内部结构2.2CPU及存储器单片机最核心的部分是CPU,可以说CPU是单片机的大脑和心脏。CPU的功能是产生控制信号,把数据从存储器或输入接口传送到CPU或反向传送,还可对输入数据进行算术、逻辑运算以及位操作处理,故CPU内包含了运算器、控制器以及布尔处理器。存储器主要包括程序存储器和数据存储器2.2CPU及存储器•2.2.1运算器1.累加器2.算术逻辑部件3.程序状态寄存器2.2CPU及存储器•2.2.2控制器1.程序计数器2.堆栈指针3.指令译码器4.数据指针DPTR2.2CPU及存储器•2.2.3程序存储器•(8031和8032除外)而言,有4个物理上相互独立的存储器空间。2.2CPU及存储器•2.2.4数据存储器•数据存储器用于存放运算的中间结果、数据暂存以及数据缓冲等。它由读写存储器RAM组成,片内为256B,片外最大可扩展为64KB。2.3引脚功能及CPU的时序•2.3.1引脚功能1.电源引脚VCC和VSS2.时钟电路引脚XTAL1和XTAL23.控制信号引脚ALE、PSEN、EA和RST4.输入/输出接口引脚P0、P1、P2和P32.3引脚功能及CPU的时序•2.3.2振荡电路和时钟电路•单片机的振荡电路和时钟电路一起构成了单片机的时钟方式.8051单片机有一个高增益反相放大器,反相放大器输入端为XTAL1,输出端为XTAL2,在XTAL1和XTAL2之间跨接石英晶体及两个微调电容就构成了振荡器,如左图所示,C1和C2MHz。如果需要,单片机也可以使用外部振荡信号,如右图所示。2.3引脚功能及CPU的时序•2.3.3CPU的时序•1.震荡周期•2.时钟周期•3.机器周期•4.指令周期2.4输入、输出接口•2.4.1P0口•P0口的内部结构如下。它由一个锁存器、两个三态输入缓冲器以及控制电路和驱动电路组成。2.4输入、输出接口•2.4.2P1口•P1口的位内部结构如图下.P1口是一个准双向口,作通用I/O口使用,其内部有上拉电阻与电源相连,故不必再外接上拉电阻。当作输入时,必须先向对应的锁存器写“1”,使FET截止。2.4输入、输出接口•2.4.2P1口•P1口的位内部结构如图下.P1口是一个准双向口,作通用I/O口使用,其内部有上拉电阻与电源相连,故不必再外接上拉电阻。当作输入时,必须先向对应的锁存器写“1”,使FET截止。2.4输入、输出接口•2.4.3P2口•P2口的每一位内部结构如下。P2口也是一个准双向口,其位结构与P0口类似,当系统中有片外存储器时,P2口用于输出高8位地址。2.4输入、输出接口•2.4.4P3口•可以作通用I/O口使用,又具有第二功能。第3章单片机的指令系统与程序设计•本章要点①通过本章的学习,应该了解MCS-51单片机的指令格式、寻址方式、指令类型以及汇编语言程序设计中的顺序结构程序、分支程序、循环结构和子程序的设计方法。②要求掌握指令的基本形态、单字节/双字节/三字节指令的格式,掌握7种寻址方式,熟悉111条指令的用途。③掌握MCS-51汇编语言编程的基本方法,熟悉一些常用的程序段,能正确的应用MCS-51指令系统进行编程。3.1指令系统MCS-51单片机的指令系统按功能可划分为5类:–数据传送类指令28条。–算术运算类指令24条。–逻辑运算类指令25条。–位操作类指令17条。–控制转移类指令17条。3.1指令系统MCS-51单片机汇编语言指令由操作码助记符和操作数两部分组成。指令格式如下:[标号]:操作码[目的操作数],[源操作数];注释【例1】2000:MOVA,#00H;累加器清0【例2】RETI;机器代码为32H【例3】MOVA,#0FFH;机器代码为74FFH3.1.1指令格式3.1指令系统助记符语言一般由操作码和操作数两部分组成,操作码规定了指令的操作功能,操作数代表了指令的操作对象。例如:“SUBBA,#2BH”表示把一个数2BH与累加器A的内容相减(带借位位),其结果存放在累加器A中。3.1.2助记符语言3.1指令系统1.寻址方式中常用符号注释(共14种)2.寻址方式(1)立即寻址(2)直接寻址(3)寄存器寻址(4)寄存器间接寻址(5)变址寻址(6)相对寻址(7)位寻址3.1.3寻址方式及常用符号注释3.1指令系统数据传送类指令是指令系统中最基本、使用最多的一类指令,主要用于数据的传送、保存以及交换等场合。1.以累加器A为目的操作数的指令(4条)2.以寄存器Rn为操作数的指令(3条)3.以直接地址为目的操作数的指令(5条)4.以间接地址为目的操作数的指令(3条)5.查表指令(2条)6.累加器A与片外RAM传送指令(4条)7.堆栈操作类指令(2条)8.交换指令(4条)9.16位数据传送类指令(1条)3.1.4数据传送指令功能及应用举例3.1指令系统算术运算指令主要完成加、减、乘、除四则运算,以及加1、减1、BCD码的运算和调整等。1.加法指令(4条)2.带进位加法指令(4条)3.带借位减法指令(4条)4.乘法指令(1条)5.除法指令(1条)6.加1指令(5条)7.减1指令(4条)8.十进制调整指令(1条)3.1.5算术运算指令功能及应用举例3.1指令系统逻辑运算类指令共有25条,有与、或、异或、求反、左右移位、清0等逻辑运算。对应的寻址方式有直接、寄存器和寄存器间接寻址,该类指令的执行一般不影响PSW。1.循环移位指令(4条)2.累加器半字节交换指令(1条)3.求反指令(1条)4.清0指令(1条)5.逻辑与指令(6条)6.逻辑或指令(6条)7.逻辑异或指令(6条)3.1.6逻辑运算指令的功能及应用举例3.1指令系统控制转移类指令用于控制程序的走向,共有以下几类:1.无条件转移指令(4条)2.条件转移指令(8条)3.调用子程序及返回指令(4条)4.空操作指令(1条)3.1.7控制转移类指令的功能及应用举例3.1指令系统位操作类指令共有17条,均以位为操作对象,分别完成位传送、位状态控制、位逻辑运算、位条件转移等功能。1.位数据传送指令(2条)2.位状态控制指令(6条)3.位逻辑运算指令(4条)4.位条件转移指令(5条)3.1.8位操作类指令的功能及应用举例3.1指令系统MCS-51单片机具有极丰富的数据传送指令(28条),能够实现多种数据的传送。本实验的目的是着重练习这些指令的使用和编程方法。(1)片内RAM(低128B)的数据传送(2)外部RAM的数据传送(3)片内特殊功能寄存器(SFR)的数据传送(4)从程序寄存器中取数据(5)不同传送空间之间的数据传送上机实验1:数据传送指令的使用及编码方法3.1指令系统MCS-51单片机具有较强的加、减、乘、除4种基本数学运算功能,这些运算均是直接对8位无符号二进制数而言,利用溢出标志,还可以把加、减法运算用于有符号数的运算;利用十进制调整指令,又可使运算直接用十进制数(BCD码)来进行。本实验的目的是着重练习各种数学运算指令的使用及编程方法。(1)加法指令(2)减法指令(3)乘法指令上机实验2:算术运算指令的使用及编码方法3.1指令系统MCS-51单片机具有对字节操作进行的基本逻辑运算功能。本实验的目的是着重练习按字节寻址的逻辑运算指令(25条)的使用及编程方法。【实验原理】可分成单字节寻址和双字节寻址逻辑运算。(1)单字节寻址(2)双字节寻址上机实验3:逻辑运算指令的使用及编程方法3.1指令系统MCS-51单片机具有对位操作进行的基本逻辑运算功能。本实验的目的是着重练习按位寻址的逻辑运算指令(17条)的使用及编程方法。【实验原理】MCS-51单片机有独立的按位操作的位处理器(又称为布尔处理器),使CPU能执行按位操作。它将原PSW中的进位标志CY作为布尔处理器的位累加器使用。上机实验4:位操作指令的使用及编程方法3.1指令系统本实验的目的是着重练习控制转移指令的使用及编程方法。【实验原理】控制转移指令大体分为3类:第一类为无条件转移指令。无论什么情况,只要碰到该指令,都要转移到由指令提供的地址去执行。第二类为条件转移指令。根据给出的条件进行测试。若条件满足,则程序转向指定的地址去执行;若条件不满足,则继续按顺序执行下一条指令。第三类是中断。当中断发生时会改变程序的执行顺序,使程序转去执行中断服务子程序。在子程序结束后又返回到原程序去继续执行。上机实验5:控制转移指令的使用及编程方法3.2汇编语言程序设计举例•本节主要介绍MCS-51单片机的汇编语言与一些常用的汇编语言程序设计方法,最后列举一些具有代表性的汇编语言程序实例。3.2汇编语言程序设计举例•3.2.1汇编语言程序的格式1.伪指令(8种)–设置起始地址:ORGnn–定义字节DB:〈标号:〉DB〈项或项表〉–定义字节DW:〈标号:〉DW〈项或项表〉–预留存储区DS:〈标号:〉DS〈项或项表〉–为标号赋值EQU:〈标号:〉EQU数或汇编符号–数据地址赋值DATA:〈标号:〉DATA数或表达式–位地址符号BIT:符号名BIT位地址–源程序结束END:〈标号:〉END〈表达式〉3.2汇编语言程序设计举例•3.2.1汇编语言程序的格式2.汇编语言的格式汇编语言源程序是由汇编语句(指令语句)构成的。汇编语句由4个部分构成,每一部分称为一个字段,汇编程序能够识别它们。其语句格式如下:•[标号:][操作码][操作数];[注释]每个字段之间要用分隔符分离,而每个字段内部不能使用分隔符。可以作为分隔符的符号有空格、冒号、逗号、分号等。3.2汇编语言程序设计举例•3.2.2汇编语言程序设计——步骤用汇编语言编写一个程序的过程大致可分为3步:①确定计算方法,定出运算步骤和顺序,把运算过程画成框图。②确定数据,包括工作单元的数量、分配存放单元。③按所使用计算机的指令系统,把确定的运算顺序(框图)写成汇编语言程序。3.2汇编语言程序设计举例•3.2.2汇编语言程序设计方法——方法用汇编语言编写一个程序的方法有下面4种:①顺序结构程序。②分支结构程序③循环结构程序。④子程序设计3.2汇编语言程序设计举例•3.2.2汇编语言程序设计方法——顺序结构顺序结构程序是一种最简单、最基本的程序,按照程序编写的顺序依次执行。编写这类程序主要应注意正确地选择指令,提高程序的执行效率。【例1】双字节二进制数求补。程序清单如下:BINPL:MOVA,R2CPLAADDA,#01HMOVR2,A;低位字节补码送R2MOVA,R3CPLAADDC
本文标题:51系列单片机经典课件
链接地址:https://www.777doc.com/doc-3232745 .html