《单片机入门(速成版).ppt》由会员分享,可在线阅读,更多相关《单片机入门(速成版).ppt(21页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、1.1 单片机的概念、特点、应用与开发流程 集成在一块芯片上的微型计算机系统,简称单片机。单片机内部集成了中央处理器、程序存储器、数据存储器、并行和串行输入/输出接口、定时器/计数器、中断控制系统等硬件资源,有自己的指令集。8031内核的硬件资源1个CPU;2个定时器;4个并行口;8位字长;16位宽度程序空间总线;16位宽度外部数据空间总线;32根口线;64K程序空间、64K外部数据空间;128字节RAM空间 128字节特殊功能寄存器空间1.2.2 MCS51的总体结构的总体结构 单片机内部集成了中央处理器(CPU)、程序存储器、数据存储器、并行输入输出口、定时器与计数器、中断系统和串行口等功
2、能部件,其内部结构框图如下。1.2.3 特殊功能寄存器SFR 在内部数据空间的固定地址,为不同的功能部件预留寄存器,规定其操作方法,合称特殊功能寄存器SFR(Special Function Registers)。SFR是用户程序与上述功能部件的接口。地址范围:80HFFH 用途:设置功能部件的初始状态和工作方式,查询其状态,启动和停止其运行。特点:1.地址固定、与不同部件对应、操作方式各异。2.复位值 复位后,SFR都有固定的初值(称为复位值),所有功能部件处在固定的工作状态(称为复位状态)。返回首页1.3 中央处理器 单片机的中央处理器(CPU),具有算术运算和逻辑运算能力。CPU主要由运
3、算部件和控制部件组成,还包括若干个SFR。累加器ACC(Accumulator)累加器可用来保存参加运算的数据以及运算的结果,也可用来存放地址。所有的输入输出操作都要用到累加器。1.3.2.1 复位电路 必须经过复位之后,单片机才能进入正常工作状态。复位之后,所有SFR取初始值,功能部件处于复位状态。在RST引脚上施加高电平使单片机复位。主电源正常时若RST引脚上出现24个晶振周期以上的高电平,则CPU将复位,直到该引脚变为低电平时开始运行程序。1.3.2.2 晶振与时钟产生电路 见P5图1-4,利用单片机XTAL1(19)、XTAL2(18)引脚连接工作时钟。外接晶振的频率决定了单片机的工作
4、节拍,其频率上限为12MHz。晶振频率的典型值为6Mhz、12Mhz和11.0592Mhz。机器周期6个时钟周期=12/f 一条指令的指令周期就是执行该指令所需的时间,不同指令的指令周期不同,可为14个机器周期。1.3.2.3 指令部件 指令部件包括程序计数器PC、指令寄存器、指令译码器和数据指针DPTR:程序计数器PC:16位(64KB程序空间)的存储器,总是保存将要执行的一条指令的地址,具有自动加1的功能。指令寄存器:存放当前正在执行的指令;指令译码器:分析指令的操作码,产生相应的控制信号;数据指针DPTR:16位(64KB外部数据空间)的存储器,用来保存寻址片外数据空间的地址。A、指令系
5、统与汇编 CPU可以执行多种操作,例如算术运算、逻辑运算、数据传送、控制转移、输入输出等等,这些操作用数字代码(称为机器码)来表示。单片机能执行的所有各种机器代码的总和,称为指令系统,是衡量单片机性能的重要指标。机器码格式 机器码的数据编码规则称为指令格式,或机器码格式。每条指令的第1个字节称为操作码,后面附加02个操作数。所以指令的字节数为1,2或3。详见P32的表15。操作码表示所要执行操作的性质,还隐含获得数据的方法,不同类型指令的操作码必不同;操作数指定操作对象的来源,以及运算结果的保存地址。指令系统综述 MCS51单片机共有111条指令:单字节指令49条,双字节指令49条,三字节指令
6、13条;单机器周期指令64条,双机器周期指令45条,只有乘法和除法指令是四个机器周期指令。汇编语言指令主要由操作码和操作数两部分组成:【标号】:操作码【目的操作数】【,源操作数】【;注释】操作码规定了本语句的功能,操作数提供辅助信息,注解部分可省略。B、程序可访问的空间 用户程序的操作对象可位于程序空间、片内RAM空间、SFR空间和片外RAM空间。程序可访问的空间(续1)1.程序空间:用户程序可将程序存储器空间任意单元的数值送到ACC,实现查表功能。2.片内RAM空间:单片机都有128字节的低端RAM(007F),按用法不同分为:工作寄存器区(001F)位寻址区(202F)普通RAM区(307
7、F)有的单片机还有高端RAM程序可访问的空间(续2)3.SFR空间:见P7,SFR的地址范围为80FF,地址能被8整除的SFR最常用,不同型号单片机SFR的数量不同所以功能差异很大,只能使用直接寻址方式寻址。4.片外RAM空间:利用片外的16位数据总线,可以在片外扩展64KB的RAM或输入输出端口,其地址范围为0000FFFFH。只有两条指令可访问该空间外部数据空间输入指令、外部数据空间输出指令。该扩展需要使用端口P0、端口P2、引脚/WR、引脚/RD和引脚ALE。外部数据空间的扩展是本课程的难点和重点。返回1.4 C、寻址方式1.立即寻址 提供操作数的大小,用符号“#”表示。例如:#3(#0
8、3h),#160(#0A0H)。MOV A,#8 2.直接寻址 提供操作数的地址,表示该操作数的位置,例如:3,03h,3FH,160(0A0H)。MOV 8,A 如果地址小于80H,实际访问片内低端RAM区;如果地址大于7FH,访问SFR区。3.寄存器寻址 以寄存器形式提供操作数,可为R0R7(统一记为“Rn”),这些寄存器位于片内地址001F范围的RAM空间(称为工作寄存器组),具体位置取决于程序状态字PSW中RS1、RS0两个数据位的值。寻址方式(2)间接寻址 寄存器寻址的例子:MOV R7,A 若PSW=0,则上述指令操作地址为7的存储单元;若PSW=24,则操作地址为1F的单元。4.
9、间接寻址 以R0或R1(统一记为“Ri”)内保存的内容作为操作数的地址,用“”表示。MOV A,R0 例如:若R0内容为二进制00110011,则上述语句将51号单元内保存的数值赋给累加器。寻址方式(3)5.变址寻址 以PC作为基地址,以A作为偏移地址,二者之和作为操作数地址,从程序空间取出一个字节,常用于查表。MOVC A,A+PC6.相对寻址 将“执行完本指令后的PC指针”与指令第二字节的数值相加,其结果作为新的PC指针。第二字节为补码形式。JC 98H;?7.位寻址 每次操作一个数据位,这些数据位位于片内RAM区的位寻址区(202F区域)、地址能被8整除的SFR中。例如 CLR 98H子程序返回(续2)子程序调用返回语句 格式:RET ;(SP)(PC158)SP-1SP ;(SP)(PC 70)SP-1SP 思考题:子程序调用语句与RET语句成对使用的妙处?答:正确退出子程序并找到出口继续执行!中断返回 4.中断返回 格式:RETI 这是每一个中断处理程序的最后一条语句。在“中断处理”部分详细介绍。1.5.1 MCS51的电源脚(P11)VCC(40):电源 VSS(20):电源地 MCS51使用5V直流电源。