《单片机入门(速成版)资料》由会员分享,可在线阅读,更多相关《单片机入门(速成版)资料(21页珍藏版)》请在金锄头文库上搜索。
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),具有算术运算和
3、逻辑运算能力。 CPU主要由运算部件和控制部件组成,还包括若干个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外部数
5、据空间)的存储器,用来保存寻址片外数据空间的地址。,A、指令系统与汇编,CPU可以执行多种操作,例如算术运算、逻辑运算、数据传送、控制转移、输入输出等等,这些操作用数字代码(称为机器码)来表示。 单片机能执行的所有各种机器代码的总和,称为指令系统,是衡量单片机性能的重要指标。,机器码格式,机器码的数据编码规则称为指令格式,或机器码格式。 每条指令的第1个字节称为操作码,后面附加02个操作数。所以指令的字节数为1,2或3。详见P32的表15。 操作码表示所要执行操作的性质,还隐含获得数据的方法,不同类型指令的操作码必不同;操作数指定操作对象的来源,以及运算结果的保存地址。,指令系统综述,MCS5
6、1单片机共有111条指令:单字节指令49条,双字节指令49条,三字节指令13条;单机器周期指令64条,双机器周期指令45条,只有乘法和除法指令是四个机器周期指令。 汇编语言指令主要由操作码和操作数两部分组成: 【标号】:操作码【目的操作数】【 ,源操作数】【;注释】 操作码规定了本语句的功能,操作数提供辅助信息,注解部分可省略。,B、程序可访问的空间,用户程序的操作对象可位于程序空间、片内RAM空间、SFR空间和片外RAM空间。,程序可访问的空间(续1),1.程序空间:用户程序可将程序存储器空间任意单元的数值送到ACC,实现查表功能。 2.片内RAM空间: 单片机都有128字节的低端RAM(0
7、07F),按用法不同分为: 工作寄存器区(001F) 位寻址区(202F) 普通RAM区(307F) 有的单片机还有高端RAM,程序可访问的空间(续2),3.SFR空间:见P7,SFR的地址范围为80FF,地址能被8整除的SFR最常用,不同型号单片机SFR的数量不同所以功能差异很大,只能使用直接寻址方式寻址。 4.片外RAM空间: 利用片外的16位数据总线,可以在片外扩展64KB的RAM或输入输出端口,其地址范围为0000FFFFH。只有两条指令可访问该空间外部数据空间输入指令、外部数据空间输出指令。 该扩展需要使用端口P0、端口P2、引脚/WR、引脚/RD和引脚ALE。外部数据空间的扩展是本
8、课程的难点和重点。 返回1.4,C、寻址方式,1.立即寻址 提供操作数的大小,用符号“#”表示。例如:#3(#03h), #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)间接寻址
9、,寄存器寻址的例子: MOV R7, A 若PSW=0,则上述指令操作地址为7的存储单元;若PSW=24,则操作地址为1F的单元。 4.间接寻址 以R0或R1(统一记为“Ri” )内保存的内容作为操作数的地址,用“”表示。 MOV A,R0 例如:若R0内容为二进制00110011,则上述语句将51号单元内保存的数值赋给累加器。,寻址方式(3),5.变址寻址 以PC作为基地址,以A作为偏移地址,二者之和作为操作数地址,从程序空间取出一个字节,常用于查表。 MOVC A,A+PC 6.相对寻址 将“执行完本指令后的PC指针”与指令第二字节的数值相加,其结果作为新的PC指针。第二字节为补码形式。
10、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直流电源。,