《单片机授课》PPT课件.ppt

上传人:w****2 文档编号:6653388 上传时间:2020-03-01 格式:PPT 页数:62 大小:547.50KB
返回 下载 相关 举报
《单片机授课》PPT课件.ppt_第1页
第1页 / 共62页
《单片机授课》PPT课件.ppt_第2页
第2页 / 共62页
《单片机授课》PPT课件.ppt_第3页
第3页 / 共62页
点击查看更多>>
资源描述
第一章概论 一 什么是单片机 单片机的分类 二位单片机 四位单片机 八位单片机 十六位单片机 单片机的功能 实时控制系统的核心 硬件 软件 外设单片机是怎么工作的 复位 程序计数器 代码 译码器 控制指令 执行二进制数和电平的一一对应关系二 单片机开发系统 LY001单片机仿真开发系统介绍硬件简介 自主开发 单片机仿真开发系统 下位机实验箱 单片机开发系统 界面介绍功能介绍 1 编译1 写入程序2 程序调试3 在线仿真运行LY001单片机仿真开发系统的操作 第二章MCS 51系列单片机的结构 2 1MCS 51的结构和引脚2 28051单片机存储器结构及其用途2 3并行I O口2 4时钟电路2 5复位电路2 6思考题与习题 2 1 1引脚定义及功能 8051单片机芯片采用40引脚 双列直插封装 DIP 方式引脚和逻辑符号如图2 1 2所示 其中某些引脚具有双重功能简要说明如下 1 电源引脚 VCC 40脚 供电电源 5V VSS 20脚 接地线 2 时钟电路引脚 XTAL2 18脚 和XTAL1 19脚 利用内部时钟电路时 XTAL1与XTAL2之间接一晶体振荡器 XTAL1为内部放大电路输入端 XTAL2为输出端 采用外部时钟时 对于HMOS型单片机 XTAL1接地 XTAL2端接外部输入时钟脉冲 而对于CHMOS型单片机XTAL1为驱动端 XTAL2悬空 2 2存储器结构及用途 存储器分为程序存储器和数据存储器两大类 程序存储器 ROM 片内 EEPROM 片外数据存储器 随机存储器 RAM 片内 片外工作寄存器特殊功能寄存器 SFR 这两大类存储器在物理上是分开的 在逻辑地址空间上是重叠的 存储器地址空间示意图 地址 0000H02存储单元0001H一个字节的0005H内容 八位 每个单片机包括 8位CPU 片内程序存储器ROM EPROM 4KB 8KB 用以存放程序 原始数据和表格 8031片内无ROM 片内数据存储器RAM 128B 256B 用以存放可以读 写的数据 如中间结果以及欲显示的数据等 四个8位并行I O接口P0 P3每个口既可以用作输入 也可以用作输出 两个定时器 既可以设置为计数方式 用以对外部事件进行计数 也可以设置成定时方式 并可以根据计数或定时结果实现计算机控制 5个中断源 一个全双工UART 异步接收发送器 的串行I O口用于实现单片机间或与微机的通信 片内时钟振荡器 具有最高时钟频率为12MHZ 存储器结构及用途 程序存储器用于存放程序及表格数据 在8051 AT89C51 片内有4KB的ROM EPROM 且通过16位地址线可扩展64KB的EPROM 从前面所述 片内ROM和扩展ROM是统一编址的 当EA 1时 使用的是片内0000H 0FFFH和片外1000H FFFFH的存储器地址 当EA 0 则所有取指令操作均在外部程序存储器中进行 这时外部扩展的ROM可以从0000H开始编址 对8031单片机来说 由于片内无ROM 只能外部扩展程序存储器 并且从0000H开始编 P11地址空间 P12位地址 P14特殊寄存器 作业1 1 P0 P1 P2 P3四个均是 位的 口 填 串行 还是 并行 2 片内RAM可进行位寻址的空间位地址范围是 3 MCS 51的存储器空间配置从功能上可分为四种类型 内部数据存储器 外部程序存储器 4 MCS 51内部的SFR共有 个 5 存储器的地址范围是0000H 0FFFH 它的容量为 A 1KB B 2KB C 3KB D 4KB6 8051单片机内有 个16位的定时 计数器 每个定时 计数器都有 种工作方式 A 4 5 B 2 4 C 5 2 D 2 37 写出五个特殊寄存器的名称及其主要用途 单片机的程序 计算机的程序分为 文本文件和非文本文件 文本文件编译非文本文件在计算机中可运行的非文本文件又称软件编程 程序员编写文本文件 也称源程序 源程序 由一行一行的语句 指令 组成 语句行必须严格按规定 语法 编写 指令 伪指令 可执行指令 单片机的语句行 标号 操作码助记符 目的操作数 源操作数 源操作数 第3章MCS 51单片机指令系统 3 1指令格式和寻址方式3 2指令系统3 3思考题与习题 P26 3 1 1指令格式 8051汇编语言指令由操作码助记符字段和操作数字段两部分组成 指令格式如下 标号 操作码助记符 目的操作数 源操作数 源操作数 例如 MOVA 34H标号表示指令行所在位置 不能重复 操作码助记符是表示指令操作功能的英文缩写 每条指令均有操作码 例如 JB MOV SETB等 操作数数据 数据所在地址 数据存放的寄存器 源操作数 目标操作数之分 指令中的操作数可以是1个 2个或3个 有些指令可能没有操作数 操作数与操作数之间以 分隔 操作码与操作数之间以空格 为分隔 操作码与操作数都有对应的二进制代码 指令代码由若干字节组成 对于不同的指令 指令的字节数不同 8051指令系统中 有单字节 双字节或三字节指令 下面分别加以说明 单字节指令单字节指令中的8位二进制代码既包含操作码的信息 也包含操作数的信息 这种指令有两种情况 指令码中隐含着对某一寄存器的操作 例 INCDPTR由于操作的内容和唯一的对象DPTR寄存器 只用8位二进制代码表示 其机器码为A3H 由指令码中的rrr三位的不同编码指定某一个寄存器 例如 INCRO INCR7指令 INC的代码0001 最低三位rrr的不同组合编码用来表示R0 R7 共有49条单字节指令 双字节指令操作码立即数或地址用一个字节表示操作码 另一个字节表示操作数或操作数所在的地址 其指令格式为 共有45条 三字节指令操作码立即数或地址立即数或地址一个字节操作码 两个字节操作数 其格式如下 共有17条 3 1 2寻址方式 获得操作数地址的方式称为操作数地址的寻址方式 简称为寻址方式 8051有以下7种寻址方式 一 立即寻址指令的操作数为8位或16位数据称作立即数 这种寻址方式称立即寻址 例 MOVA 4AH 4AH送入AMOVDPTR 3A45H这两条指令表示由 后表示的立即数传到目的操作数中 P27七种寻址方式 二 直接寻址直接寻址时 指令中直接给出操作数的地址 这种寻址方式提供了访问内部数据存储器3种地址空间的方法 1 特殊功能寄存器地址空间 这是唯一可寻址特殊功能寄存器的寻址方式 2 内部RAM的128个字节单元地址空间 3 位置地址空间 例 MOVA 35H属于直接寻址 表示将内部RAM35H这个直接地址单元中内容传送到累加器中 即 表示为A 35H 这里用括号来表示35H内存单元的内容 MOVA P1 P1口 A 把SFR中P1口内容送A 直接寻址的地址占一字节 所以 一条直接寻址方式的指令至少占内存两个单元 三 寄存器寻址寄存器寻址时 指令中指出某一寄存器 其内容用作操作数 以这种寻址方式对所选的当前工作寄存器R0 R7进行数据操作 MOVR0 30H R0 30HMOVA R0 A R0 上述第一条指令执行的结果 将立即数30H送入R0 第二条指令执行的结果 将A中的内容变为30H 这条指令属于寄存器寻址 四 寄存器间接寻址寄存器间接寻址是把指令中寄存器的内容作为操作数的地址 把该地址对应单元的内容作为操作数 这种寻址方式用于访问内部RAM和外部RAM 8051规定R0和R1为间接寄存器 它可寻址内部RAM的低位地址的128B单元内容 对于栈操作指令PUSH和POP 则用堆栈指针SP进行寄存器间接寻址 此外 还可采用数据指针 DPTR 作为间接寻址寄存器 寻址外部数据的64KB空间 例 MOVR0 35HMOV35H 74HMOVA R0最后一条指令是寄存器间接寻址指令 上述指令的功能是将寄存器R0的内容35H作为地址 再将RAM中35H单元中的数据74H传送到A累加器中 五 变址寻址8051单片机采用数据指针DPTR或PC为基地址寄存器 以累加器A作为变址寄存器 把二者的内容相加形成操作数的地址 例如 DPTR 2000H A 16H 2016 34H 执行MOVCA A DPTR后 就是将地址为2016中内容34H传送到A累加器中 这种寻址方式适用读取程序存储器中的常数表 六 相对寻址相对寻址用于相对转移的指令中 相对寻址是以程度计数器PC的当前值为基地址 与指令中给定的相对偏移量rel相加 把所得之和作为程序的转移地址 即目的地址 指令中相对偏移量是一个8位带符号数 用补码表示 相对转移指令一般是2字节指令 所以目的地址 源地址 2 偏移量 PC 2 rel例如 指令在1000H地址中有一条指令1000H JC78H 若CY 1 则 目的地址 PC 1000 2 78 补 107AH 若CY 0 顺序执行PC 1000 2 1002H由于相对偏移量rel是一个8位带符号数 用补码形式表示 例 1000H JC82H 82H 7EH目的地址 1000H 2 7EH F84H从上述例子可见 程序转移范围在相对PC当前值的 127 128个字节单元之间 在实际应用中经常需要根据已知的源地址和目的地址计算偏移量rel rel 目的地址 源地址 2 补执行指令例如 1000H JCrel转移到F84H处问 rel rel F84H 1000H 2 补 7E 补 82H此外也有一些是三字节的相对转移指令 如 CJNE Adirect rel 即10执行完这条指令后 当前的PC值应该为本指令首字节所在单元的地址值加3 所以偏移量为rel 目的地址 源地址 3 七 位寻址P298051单片机中可以作为位寻址的区域有二个 一个是在内部RAM的20H 2FH的16个单元 每单元8位共计128位 另一个是字节地址能被8整除的特殊功能寄存器 所谓位寻址就是对位地址空间的每个位进行位传送 位状态控制 位逻辑运算等 例如 MOVC 08H C 08H 其功能是 把内部RAM的21H中的D0位 位地址为08H 的内容传送到CY中 3 2指令系统P29 指令系统指一台计算机所能执行的全部指令的集合 MCS 51单片机单片机的指令系统功能较强 其汇编语言指令有42种操作码助记符 各种操作码助记符与各种寻址方式组合得到111种指令 其中单字节49条 双字节指令45条和17条3字节指令 若按指令执行时间分类 有64条单周期指令 45条双周期指令和2条4周期指令 MCS 51指令系统可分为五大类 数据传送指令 28条 算术运算指令 24条 逻辑 运算指令 25条 控制转移指令 22条 位操作指令 12条 共111条 寻址空间及符号注释 表3 2 1寻址空间 符号注释Rn n 0 7 指当前工作寄存器组的工作寄存器R0 R7 Ri i 0 1 为寄存器间址符 以寄存器R0或R1作间接寻址 DPTR 以数据指针DPTR的内容 16位 为地址的间接寻址 用于对外部RAM64K地址空间寻址 data 8位立即数 后表示的是立即数 而不是地址 data16 16位立即数 direct 8位片内RAM单元 包括SFR 的直接地址 addr11 11位目的地址 用于ACALL和AJMP指令中 目的地址必须在与下条指令地址位于同 2KB区的程序存储器地址空间 addr16 16位目的地址 用于LCALL和LJMP指令中 可使程序在64KB程序存储器地址空间的任何单元 rel 补码形式的8位地址偏移量 以下条指令第一字节地址为基值 地址偏移量在 128 127范围内 bit 位操作 表示光对该位中的内容取反然后再参与运算 但不改变该位中的内容 为取反符 bit 是位地址 作业2 1 任何程序总是由三种基本结构组成 顺序 分支和 2 MCS 51指令系统主要有哪几种寻址方式 试举例说明 3 请说明下面符号地址代表的意义 Rel addr11 addr16 direct data 3 2 2数据传送指令 8051为用户提供了极其丰富的数据传送指令 功能很强这类指令是把源操作数中的数据传送到目的操作数中去 而源操作数中的内容不改变 在应用程序中 传送指令占据很大的比例 1 对内部RAM和SFR的一般数据传送指令P302 堆栈操作指令P333 字节交换指令P344 累加器 与外部 传送指令P355 累加器A与程序存储器的传送指令 查表指令 P36 表3 3 2内部RAM和SFR的数据传送指令 3 2 3算术运算指令P37 所谓算术运算指令包括加减乘除 基本四则运算 一般在双操作数加 带进位加和带借位减的操作里 累加器A的内容为第一操作数 并将操作后的中间结果存放在A中 第二操作数 可以是立即数 工作寄存器内容 寄存器Ri间接寻址字节或直接寻址字节 指令的执行结果将使程序状态字PSW中的进位CY 半进位AC和溢出位OV置位或恢复 只有加1和减1指令不影响这些标志 乘除指令不影响AC标志位 PSW中的奇偶性标志P总是表示累加器A的奇偶性 1 加法指令P38 2 带借位减法指令P39 3 乘法指令P40 4 除法指令P40 5 加1指令P40 6 减1指令P41 7 十进制调整指令P41 十进制调整指令举例P42 例 如果 A 65H 表示十进制数65的压缩BCD码 R2 78H 表示十进制数78的压缩BCD码ADDA R2DAA指令执行情况如下 A 01100101 R2 01111000 11011101 01100110 加6调整 自动完成101000011结果 A 43H CY 1相当于十进制143 此类指令影响标志位 1 加法指令P382 带借位减法指令P393 乘法指令P404 除法指令P405 加1指令P406 减1指令P417 十进制调整指令P41 作业3 1 MOVDPTR data16的作用是用来设定 2 MCS 51的指令按其功能可分为五大类 逻辑运算类指令 位操作指令 控制转移指令 3 MOVXA R0指令中 源操作数采用 寻址方式 4 A7H和5BH两个立即数相加后 和为 CY 是 A 1CH 0 B C1H 0 C 02H 1 D C1H 1 5 8031单片机中 将累加器A中的数送入外RAM的40H单元 可执行的指令 A MOVR1 40H B MOVR1 40HMOVX R1 AMOVXR1 A C MOVX40H A D MOVR1 40HMOVX R1 A6 已知累加器A的数值为98H 它与0FAH相加 相加后会影响标志位CY AC和OV位 各个位的值是 A 0 0 0 B 1 0 1 C 1 1 1 D 1 1 07 已知 R0 20H 20H 10H P0 30H R2 20H 执行如下程序段后 40H MOV R0 11HMOVA R2ADDA 20HMOVPSW 80HSUBBA P0MOV40H A 3 2 4逻辑运算指令 逻辑运算指令包括逻辑与 或 异或 清除 求反 移位等操作 这类指令的操作数都是8位 共25条逻辑操作指令 1 累加器清0 取反 移位和半字交换指令P422 逻辑与指令P43 按位 有0即为0 3 逻辑或指令P44 按位 有1即为1 4 逻辑 异或 指令P45 按位 相同为0 读 修改 写指令 1 累加器清0 取反 移位和半字交换指令 2 逻辑与指令 3 逻辑或指令 4 逻辑 异或 指令 3 2 6 位操作指令P55 MSC 51单片机具有丰富的位操作指令 可以完成以位变量为对象的传递 运算 控制 转移等操作 在位操作中以位累加器 借用进位标志CY 为中心展开 位操作指令的操作对象是内部RAM的位寻址区 即字节地址为20H 2FH单元中连续的128位 位地址为00H 7FH 以及SFR中可以进行位寻址的各位 见表2 4 表2 5 位操作指令见表3 26 表3 2 26位操作指令 作业4 1 CJNE rel属于五大类指令中的 类指令 其操作码助记符含义是 2 若 A 86H PSW 80H 则执行RRCA指令后 A A C3H B B3H C 0DH D 56H3 已知 R0 20H 20H 36H 21H 17H 36H 34H 执行过程如下 MOVA R0MOVR0 AMOVA R0ADDA 21HORLA 21HRLAMOVR2 A则执行结束 R0 R2 4 执行下面一段程序 MOVSP 60HPUSHAMOVA 10HPUSHBMOVB 01HPOPAPOPBA B的内容是 A B 3 2 5控制转移指令 单片机在执行指令的过程中 有时因为操作的需要 程序不能按顺序逐条执行指令 而是根据条件 标志 需要改变程序运行方向 即将程序跳转到某个指定的地址再顺序执行下去 某些指令具有修改程序计数器PC的功能 因此PC的内容是将执行的下一条指令的地址 8051单片机有丰富的转移类指令 17条 包括无条件转移指令 条件转移指令 调用指令及返回指令条 1 无条件转移指令 无条件转移指令 当程序执行到无条件转移指令时 移到指令所提供的地址处执行 这类指令回有以下4条 P46 例3 24 根据累加器A中命令键键值 设计命令键操作程序入口跳转表 CLRCRLCAMOVDPTR JPTABJMP A DPTRJPTAB AJMPCCS0AJMPCCS1AJMPCCS2 CCS0 CCS1 CCS2 当 A 00H 转移到CCS0 当 A 01H时散转到CCS1 A 02H时散转到CCS2 由于AJMP是双字节指令 散转前A中键值应先乘2 2 条件转移指令P49 比较转移指令P51 4 循环转移P52 5 调用子程序指令P52 53 6 子程序返回指令P54 空操作NOP000000001指令 作业5 1 判断下列各题 正确的打 错误的打 1 MOV20H R1 2 ADDCA 2030H 3 CLRA 4 MOVX40H 30H 5 ORG3000H 6 MOVC A PC A 7 MOVXA 2000H 8 DJNZ data rel 9 INC R5 10 DECDPTR 11 MOVR1 R2 12 SWAPR1 13 SETB2000H 14 JZA LOOP 15 DAR2 例3 25 二数相加若和不等于零则和取反 若和为零则将20单元清零 ADDA R0JNZNEQMOV20H ANEQ CPLA例3 27 判 00H 位 若 00H 1 则 A 1 A 若 00H 1 则 A A 编制一个程序 sEX JNB00H NEQCPLASJMPsENDNEQ INCAsEND RET 例3 28 编写一程序完成计算 I并将结果送入 20H 中 DEL1 MOVR2 09H 置循环次数MOVA 00H 置初值MOVR1 00HLOOP INCR1ADDA R1 两数相加DJNZR2 LOOP 次数没完成转移RET
展开阅读全文
相关资源
相关搜索

当前位置:首页 > 图纸专区 > 课件教案


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!