单片微机原理及应用备课提纲课件_第1页
单片微机原理及应用备课提纲课件_第2页
单片微机原理及应用备课提纲课件_第3页
单片微机原理及应用备课提纲课件_第4页
单片微机原理及应用备课提纲课件_第5页
已阅读5页,还剩73页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、第一章 微型计算机的基本概念第一节 概述一、微机 微(型)机的意义: 价低、体小、功能强,且不断提高 渗透各行各业,药中甘草. 超大 计算机 微 可组成超大 单片机 集成化微机 微(型)机的用途: 工 控: 实时控制 (1)专用机的用途 检 测: 仪器仪表 产 品: 嵌入式 家电 玩具 管 理 (2)通用机的用途 CAD 通 讯 1 微(型)机的组成 图1-1 五大件 I设备、0设备 又称外设(含外存) 运算器、控制器 构成CPU(微处理器) (算盘) (人) 存贮器 存原始数据(程序、表格、常数) (纸、笔) 中间结果 最后结果 控制器除输出控制命令外,还接受I、0设备的 状态信息2 三大块

2、 外设 CPU 内存 后二者构成主机 接口处含必要的接口电路 另外还有总线 CPU内部 单总线 CPU对外 三总线 是挂,不是接死 缓冲 分时复用 系统 CPU+ROM、RAM+接口电路+外设+电源 +软件 前五项为硬件 外设 如键盘、数显、CRT、行打等 单板机 前四项 装在一块板上 单片机 前三项 主机(裸机)3微(型)机的软件 指令 计算机按指(定的命)令进行各种操作 每条指令对应一种特定的操作,如传送、 加法、加1等 指令群预存于ROM 计算机自动顺序执行,除非转移、转子、 中断(特殊的转子) 程序 完成一种任务的指令的集合 软件即各种程序(图1-9) 只对计算机有用,否则一堆废料!

3、指令系统 计算机设计与生产者使该计算机具有的 指令的集合微(型)机的机型。4二、单片机 单片机的发展历史 19711976 萌芽阶段 4位机 家电、计算器、高级玩具 19761980 初级8位机 MCS-48系列 一般工控、智能 化仪器仪表 19801983 高级8位机 MCS-51系列 可用作智能终端、 多机通信 1983今 16位机 MCS-96系列 有A/D转换,通信 能力 提高,高速 控制 单片机的特点 轻小省廉 电源容量小 RAM、ROM容量小 但易扩展 可靠性高,抗干扰好 按工控环境设计 集成于片内 满足工控 转移、位处理、I/O口逻辑操作功能强 5单片机的应用电脑型产品 家电、玩

4、具、游戏机、声象设备 办公设备、电子秤、收银机、厨房设备仪器仪表 可测量、可处理(运算、误差修正、 线性化、零漂处理)、可监控 实现数字化、 智能化。 机电一体化 数控机械、缝纫机械、医疗设备、 汽车计算机外设 打印机、绘图仪、智能终端一般工控 温控、液面控制、电镀生产线、多机应用 加工中心机床、要求高的数据采测系 统,分层控制、 6三. 计算机中的数与码制 二进制 物理状态明确: 1 开通 0 关断; 硬件成本比十进制 字长 8位机 8位二进制数,也有16 32 64 4 1 位的 字节 一般8位二进制数 各位符号 D7 D6 D5 D4 D3 D2 D1 D0左高右低 70,不是81!25

5、6种变化(0255,256个数)到256溢出,又成071、十进制数 D 日常生活用2、二进制数 B 计算机用 1K=1024!(数大用它计数方便)3、八进制数 Q 三位二进制数 较少用4、十六进制数 H 四位二进制数 用得多,8位二进制数 分成前后二个十六进制数5、BCD码 二-十进制数 二进制编码的十进制数 8、4、2、1 例:4978.149 (0100 1001 0111 1000.0001 0100 1001)BCD6、ASCII码 美国标准信息交换码(见附录A) 以7位二进制数构成,D7用作奇偶校. 串行传送 7位二进制数可表示128个字符 09 用3039H表示 加帽30H(48)

6、 AF 用41H46H表示 加帽37H(55) (AZ) (41H5AH)8带符号的数 D7符号位,=0为正数, =1为负数; D6D0为数字位。1、原码 例4、32、1272、反码 正数 反码=原码 例+4、+32、+127 负数 D6D0按位取反 例-4、-32、-1273、补码 正数 补码=原码 例+4、+32、+127 负数 D6D0按位取反加1 例-4、-32、-127 取反是以全1(255)为准,要加1(成256)为补 +4 -4 +32 -32 +127 -127原码 00000100 10000100 00100000 10100000 01111111 11111111反码

7、00000100 11111011 00100000 11011111 01111111 10000000补码 00000100 11111100 00100000 11100000 01111111 10000001 反码是过渡,补码可使加法成减法,计算机只做加法和逻 辑处理9例 64-10=64+(-10) 01000000 +) 11110110 00110110 64补+-10补=64+118=182=54补 加数、被加数、结果都用补码又例 34-68=34+(-68) 00100010 +) 10111100 11011110 34补+-68补=34+60=94=-34补 (减法)

8、(加法) 钟表 10点拨到 3点 可退7,可进5 7+5=12,补的关系10第二节 微处理器 图1-14 运算器 1、ALU 2、A 3、F C、AC、OV、P、Z 4、BCD调整 5、TR 控制器 1、IR 2、ID 3、定时电路 控制电路 工作寄存器组 提高计算机速度,简化指令的机器码 程序计数器 指针 三种功能 数据总线,地址总线,控制总线 内部总线 另内部控制线11工作过程举例 P.24 8+4+5=? 粗讲指令、程序书写格式 工作过程:取指 访问内存 (PC)为地址,经AB,在ROM中选中 某单元 PC+1 读回指令 经DB,到CPU, 经IR、ID、定时和 控制电路发各控制信号 执

9、行(或再取下一字节双字节指令) 重复取指执行存贮单元内容:“百读不变” “一写就变(ROM 不可写、RAM 可写)前客让后客” 12 第三节 存贮器 体积 意义 计算机性能 的关键 速度 价格 指标: 存贮容量,读写周期、可靠性、耗电与集成度、价格 分类: 图1-15 并行(位数)、串行 内存分RAM和ROM两种 RAM 随机可读写,存数据(I、O、中间、结果),失电丢失 双极型 快、少 MOS型 静态 图1-17 集成度价格功耗不如动态,勿需刷新 动态 图1-19 2mS刷新一次,过去用得少,现发展快 ROM 只读,存程序、常数、表格, 失电不丢失 掩摸ROM 价低、大批量、用于产品 RRO

10、M 用户编程,一次性,熔丝式 EPROM 当前用得多,可擦(紫外线),可反复写(不在线)擦 EEPROM 电可擦,可编程,大有前途13结构 存贮体 外围电路 AR、AD、I/0电路 图1-16堆栈 RAM的一个区域 堆 先进后出、后进先出, 硬币盒 栈 放断点地址(先低后高)、现场信息 压入指令PUSH 、弹出指令POP 图1-25 (保存现场) (恢复现场) 保存断点在执行调子指令时由硬件实现 入栈 恢复断点在执行返主指令时由硬件实现 出栈 SP 堆栈指针、专用寄存器 专指栈顶 其值程序初先设定(定栈底该单元空) 以后随进、出栈自动浮降(指栈顶该单元满) 14第四节 I/O接口电路 一. 概

11、述 计算机系统必有I/O设备 外存也可看作外设,要与CPU交换信息.15 外设与计算机间要传递数据、状态、控制信息, 速度悬殊, 快速如磁盘, 250000位/秒; 慢速每字符为秒级. 传递要媒介, 如中间人, 二手牵, 这就是I/O接口电路. CPU只认接口电路, 可设多个端口, 数据端口8 位; 状态和控制端口有时只1位, 可合用. 功能 数据: 缓冲锁存、信息转换、电平转换. 地址: 译码选中. 控制: 状态信息 中断申请 控制信息16二、CPU与外设间数据传送方式 (一)无条件传送(同步方式) 外设总准备好 外部参数变化慢(一段时间内不变) (二)条件传送(异步方式) 查询传送方式 不

12、一定准备好(或空) 条件 异步 要查询外设 CPU等,反复查询,到条件满足,才I或O。 图1-31 CPU受牵制,不能作它用。 不断问,象“老和尚念经”. (三)中断传送方式 CPU先发启动外设工作命令,即可做自己工作。 外设准备好或空,请求中断,中断原程序,转中断 服务程序(I、O),服务好,返原程序,仍做原 工作,直待下 次请求中断, CPU与外设(或多个外设)可同时工作。 CPU做更需CPU做的事 “急症病人” 胡荣华除与一名手下棋,再加很多“一般棋手”。17(四) 直接数据通道传送(DMA) CPU靠边,交出总线例:某外设以100字节/s传送,如送100字节 查询: 用1s 中断:中断

13、服务程序每执行一次100s, 100100s=10毫秒 1/100! DMA: 不需保护现场、断点 不需恢复现场、断点18三、中断 用途:分时操作 CPU、外设同时工作 几个外设同时工作 实时处理 监控现场参数、装置 在任意时刻发中断请求,CPU及时处理 故障处理 如电源中断(通过中断程序, CPU自行紧急处理大电容、备用电 源)等。19中断源:引起中断的原因、能发中断请求的装置。 I/O设备(含外存) 外部实时时钟 故障 硬件软件构成 工控的条件、检测电路 程序 断点优先权:排队 多个中断源同时请求时,谁优先 权高,响应谁,依次响应 嵌套 高优先权中断,中断低优先权中断响应过程:开中(包括接

14、口电路) 是否响应? (优先权) 如响应,要现指令执行完20 大致的过程如右 (可稍有出入) 注意顺序、自动完成的功能(例如开中、关中)有的需撤消中断请求信号 防止多次响应 保存断点(自动)转相应中断服务程序入口地址 (有时多次转)中 关中断 保存现场服 开中(如可嵌套)务 子 程 真正中断服务程序序 关中(如可嵌套) 恢复现场 开中(如不嵌套) 恢复断点 继续原程序21第二章 MCS-51系列单片机的硬件结构第一节 MCS-51总况 产品简单介绍 P45 表2-3 一、MCS-51性能 P39 二、结构框图 图2-1 三、引脚说明 图2-2、表2-1第二节 微处理器 一、运算器 算逻单元 除

15、一般算逻操作外,可:、(在B配合下),交换, 比较判跳,有强的位操作功能。 (A) (A)+#data (A) (A) #data A INC A ADD A, #data ANL A, #data RLA CLRA PSW 图2-3 C、AC、FO、RSI、RSO、OV、P算逻单元 除一般算逻操作外,可:、(在B配合下),交换,22 二、控制器 三、振荡器和CPU时序 1、振荡器 图2-4 2、时序 图2-5 PC指下一指令的地址 读单字节单周期指令 INC A 读双字节单周期指令 ADD A,#data23 第三节 存贮器 单片机必含 RAM、ROM: 用途、容量 表2-3: 8031 8

16、051 8751 一、ROM 1. 编址与访问 寻址范围: 64K 0000HFFFFH 扩展裕量大 编址: 先片内、再片外,片内、片外连续,不重叠 EA: (高) (低)(只片外) 调试程序: 可重叠! 2. 七个特殊单元 表2-4 放跳转指令 24 二、RAM 1、编址与访问 51 007FH RAM, 80FFH SFR 52 00FFH RAM, 80FFH SFR 访问见表2-5 片外 可64K单元,用DPTR数据指计寄存器 可访问0000H FFFFH 可256单元,R间址 都用MOVX指令 访问ROM用MOVC指令,访问片内RAM用 MOV指令, 地址均可重复252、片内RAM

17、有三个区 图2-8 工作寄存器组区 0 0007H 1 080FH 2 1017H 3 181FH 位寻址区 202FH 数据缓冲区 栈区设置 原始SP指向07H,可改设,一般2FH或更大3、 SFR 表2-7 不包括PC 51 18个(内3个双字节) 12个可位寻址 表2-7 52 21个(内5个双字节) direct 指令27条 且可位寻址 访问未定义字节无意义! 位寻址用途 例 SETB D3 R区改用1组26 第四节 定时器/计数器 用途:最重要接口 定时器:定时检测、采样或控制(例步进电机) 计数器:计数、延时 一、定/计0、1的结构 图2-9 16位加1计数器 高8位 低8位 TH

18、0 TL0 对TCY(机器周期脉冲)计数 TH1 TL1 定时值、计数值由初值设定决定 1、TMOD P52 高半字节定/计1,低半字节定/计0 门控端 定/计选择 方式选择M1、M0 其决定见表2-827 2、TCON P.53 高半字节TR0、TR1,TF0、TF1 低半字节 外部中断用 起动 TR0、TR1 由软件置1或清零 溢出 TF0、TF1 置1,中断请求 响应后清零二、定/计0、1的工作方式 方式0 图2-10 M1、M0为00 13位定/计(TL1高3位未用) C/T=0 定时器 对内部时钟Tcy计数 可213s C/T=1 计数器 对外部脉冲(T1引脚)计数 可213次 计数

19、值=213初值 定时值=(213初值) Tcy 溢出后要重置初值 TR启停与门控方式(可测 INT1、INT0上正脉冲宽度) 采样计数脉冲的时序决定对计数脉冲的要求(频率、宽度)28 方式1 M1、M0为01 16位定/计 216s或216 次 计数值=216 初值 定时值=(216 初值)Tcy 溢出后要重置初值 其它情况可参照方式0推知 例2-2 定初值 TMOD编程 初始化程序 方式2 图2-11 M1、M0为10 8位定/计 28s或28 次 溢出后能自动重置初值 方式3 图2-12 M1、M0为11 仅定/计0可 此时定/计1作串行口的波特率发生器 定/计0为二个8位定/计 用TR0

20、、TF0、TL0 借用TR1,TF1,THO非门控三、定/计2 自学29 第五节 并行I/O口 4个准双向口,可并行I、并行O、位I、位O。 P1口: 通用I/O口 图2-15 一位 输出锁存 输入缓冲 驱动 输出(写) 如 MOV P1,#data 51无I/O指令 经锁存器 输入(读) 如 MOV A,P1 先输出1,“准”! 由引脚 复位后为1,可I 修改(端口操作) 可与、或、异或、+1等(P.60) “读 修改 写” 锁存器 在CPU 锁存器 负载能力 约4个(实3个)LSTTL 不须上拉电阻 52子系列 P1.0作T2,P1.1作T2EX.30 P2口: 高8位地址总线 通用I/O

21、口 图2-16 内部控制信号选择其功用 访片外ROM 右 (锁 )不变 不能再作它用 通用I/O口 左 似P1口 未用作地址线的位 (I、O、修改、负载能力) P3口: 通用I/O口 第二功能(表2-1) 图2-17 通用I/O口 第二功能输出端=1! 余同P1口 第二功能 (锁 )必=1! 输入由缓冲器3 P0口: 地址/数据 分时复用总线 通用I/O口 图2-18 (地/数总线) 访片外存贮器 控制信号=1 3、4不同时出1 T2、T1不同时通 T2通为1,T1通为031 (通用I/O口) 无片外存贮器 控制信号=0 同P1口 如输入 T1、T2都不通 引脚悬浮 如0C、0D 如输出 T2

22、 不通 OD 都要上拉电阻 负载能力 8个LSTTL 串行口 单工、半双工、全双工 并行通信 快 硬件多,线多; 如线长, 干扰、压降、费用均上升 (图2-19) 串行通信 慢 硬件少,线少; 适于通信 (图2-19) 双机 多机 异步通信 图2-20 8位数据1帧 9位数据1帧 第9位多作数据/地址辩别 起始位0 停止位1 空闲位1 同步通信 图2-21 同步帧 快 位宽(每位时间) 波特率(每秒位数)32SCON SM2 多机通信用 SM0、SM1 决定工作方式 表2-11 (为1) REN 起动接收 由软件置1或清零 起动发送 例:MOV SBUF,A TB8 发送的最高位(第8位)数据

23、 方式1 不用 RB8 接收的最高位(第8位)数据 方式1 放停止位 TI 发送全一帧信息置位,申请中断或接受查询 RI 接收全一帧信息置位,申请中断或接受查询 由程序清零33工作方式: 方式0 多用 扩展并行I/O口 fOSC/12 方式1 双机通信 8位 可变(定/计1溢出) 方式2 多机通信 9位 fOSC /64或fOSC /32 方式3 多机通信 9位 可变(定/计1溢出) 波特率 方式0 fOSC /12 方式2 SMOD=0 fOSC /64 SMOD=1 fOSC /32 方式1 2SMOD 定/计1溢出速率 1/32 方式3 2SMOD 定/计1溢出速率1/32 SMOD 电

24、源控制寄存器的最高位 方式0 图2-22 放第四章讲34第七节 中断系统 图2-28一、中断源 二种讲法(1)申请者 (2)申请种类(机器角度) 稍有不同!二 中断屏蔽寄存器IE P.71上半页 1允中 0屏蔽 EA总 其它诸中断三、中断优先级寄存器IP P.71下半页 先分高低级(图2-28) 同级的查询顺序定高低 另,TCON低半字节 IT1、IT0=0电平触发 1跳变触发 IE1、IE0 下降沿置1, 中断响应后清零四、中断响应 过程 入口地址 中断矢量 RETI返回,不用RET五、中断请求的撤除 图2-29 多用一D触发器 在中断服务程序用与、或指令使P1.0有一负脉冲 ,Q为高。35

25、 第八节 特殊工作方式 1、复位 复位电路 图2-30 复位后状态 表2-12 PC 0000H , PSW 工作寄存器0组 栈区 08H起 ,各并行I/O口 可I IP 都低优先级,IE都禁中 定/计 初值为0 ,SBUF 不定 其它常用寄存器 一般都00H 2、节电 新工艺芯片 掉电 等待 自学36第三章 MCS-51系列单片机的指令系统和汇编语言程序示例第一节 汇编语言与指令系统 重述 机器语言、汇编语言、高级语言 汇编语言程序设计的重要性:小系统, 工具放不下, 单片 机!程序效率高, 占用时间 、空间少 , 小系统和实时. 学微机 : 软件、硬件结合, 深入融汇贯通. 指令系统:11

26、1条指令 五大类 简明整齐 指令短 单字节49 双字节46 三字节16 指令周期短 适于工控! 位操作强 指令汇总表 例见表3-1 助记符 寻址 便于手译 长度 时间 操作码 操作数 操作功能 机器码 字节数 Tcy37第二节 寻址方式 寻址方式 特征 访问 寻址范围 用途 例1、立即寻址 前缀# MOV A,#30H (A) #30H2、寄存器寻址 Ri R 48单元 存取操作数 MOV A,R2 (A ) (R2) ADD A,R2 MOV R3,A3、寄存器间址 前缀 RAM 28=256单元 存取操作数 MOV A,R1 Rj (51 只128单元) (A) (R1)4、直接寻址 ad

27、dr ROM 64K、2K 给出跳转或调子地址 direct RAM007FH 128 各类指令表 SFR 21(51) 存取操作数 自己找 26(52) 位操作指令 直接寻址位 221 (位) 5、基寄+变寄间址 ROM 64K MOVC指令 MOVC A,A+DPTR PC或DPTR A MOVC指令 (查表) MOV A,A+PC6、相对寻址 偏移量rel ROM 255 程序浮动 CJNE A,#FFH,rel (补码) (PC -128 +127)38第三节 数据传送类指令一、指令表表3-1 7个小类 29条 用得多,占75% 以A为一方 6条三对互逆, 含其它特征的未列入, 寻址片

28、 内RAM(含SFR), i 0-7, j 0-1(只R0、R1), direct 128+21+26;唯一可寻址SFR, nn地直接寻址地址 不以A为一方 direct类!5条,二对半, 第5条机器码nn地源 nn地目的勿颠倒 立即数置数 置数类 nn立即数 第5条 唯一16位传送指令nn高nn低 (#data16位)39 访问片外RAM MOVX指令,寻址片外RAM 前2条R间址,寻址28单元 后2条 DPTR间址,寻址64K单元 (基址)+(变址R) MOVC指令,访问ROM,查表 基址R:PC或DPTR,寻址64K单元 变址R:A, 变址28单元 交换 51指令系统特色(多、快、灵活)

29、 3条 整字节交换 2条 半字节交换 操作数都未丢失(冲走) 进栈出栈 堆栈操作类,压入、弹出指令 只与direct有关 128+21+26条, 丰富40二、例 1、R寻址指令 P.82 一条实为8条,或32条, 确切R地址与RS1、RS0值有关 2、I/O指令 P.83 如direct为80H、90H、A0H、B0H, MOV A,direct 为I指令, MOV direct, A 为O指令, 不以A为一方的也可作I、O指令 3、机器码 接上例 MOV R5,A 为FDH 4、算字节数 算Tcy数 再接上例 MOV A,R1较 MOV A,50H 孰优? 设(R1)=50H (50H)=F

30、FH 得(A)=FFH (A) (RI) 机器码 E7H 1字节 机器码E5H、50H 2字节 1Tcy 1Tcy 但左先要有 MOV RI,#50H 即添机器码A9H 50H二字节1Tcy! direct是MCS-51 指令系统特色41 5、MOVX指令 P.85例 又:扩展I/O口的I/O指令 6、双direct指令 接上例 MOV direct,direct指令好,直捷 7、MOVC指令 P.85末 注意(PC)的值 严格说:(PC)为下一字节的地址, 不是当前地址 8、交换指令 P.86三例 9、堆栈操作指令 P.87 PUSH 先调栈计,自动上浮(+1),后压 栈顶总满 POP 先弹

31、,后调栈计,自动下降(-1) 但栈底空42第四节 算术操作类指令一、指令表 表3-2 5个小类 24条 快(一般1Tcy, INC DPTR 2Tcy, 4Tcy) 加法 共8条, 不带C,4条;带C,4条 不带C 适用于单字节或多字节的最低字节、带C 适 用于多字节的高字节相加 影响C、AC 、 OV 减法 4条,总带C; 影响C 、AC、 OV 加1 5条 第4条可“读修改写”端口 减1 4条 第4条可“读修改写”端口,无DEC DPTR 其它算术操作 3条 DA只用于BCB码加法, 不能用于 BCD码减法 影响C MUL、DIV A与B配合,中间无“,” AB积存B、A,C清零,OV:积

32、 255置位, 255 复位 A/B,商在A,余在B, C清零,OV: (B)=0置位, 0复位43二、例 1、有符号数指令 注意OV P.89、P.90 四例(OV=1) 上次课先布置予习,本次课细讲结论 2、加法指令 标志位 P.89例 3、减法指令 标志位 P.90例 4、DA指令 P.92例 5、标志位 P.93与表3-344第五节 逻辑操作类指令一、指令表 表3-4,4个小类(含A操作), 24条,不含位逻 辑操作,其中3条三字节,2Tcy,余均1 Tcy 与指令 6条,第4、6条送回direct:可“读修改写”端口 以(A)或nn修改R、RAM、direct、A内容, 用0清零、用

33、1不变 或指令 6条,第4、6条送回direct:可“读修改写”端口 以(A)或nn修改R、RAM、direct、A内容, 用0不变、用1置1 异或指令 6条,第4、6条送回direct:可“读修改写”端口 以(A)或nn修改R、RAM、direct、A内容, 用0不变,用1取反 A操作 也6条,A清零、A取反 另4条移位, 循环左移一位,小、大循环,图3-1,2 循环右移一位,小、大循环,图3-1 , 245 二、例 1、与指令 P.94二例 2、或指令 P.95二例 3、异或指令 P.96二例 4、A 操作指令 P.97二例第六节 程序转移类指令 一、指令表 表3-7 3个小类 16条 均

34、2 Tcy 另加NOP 1条 1Tcy 不含位条件转移指令46无条件转移 4条 长转移 64K地址内(216) 73 ( 必转) 相对长转移 64K地址内(216) 02 nn高 nn低 绝对转移 2K地址内(211) 偶1 nn地(低8位) (表3-5) 相对短转移 一页地址内(28) 80 nn相对 要能手译偏移量rel条件转移 8条 (A)=0? 2条; 都相对 比较 4条; ,转;后前,C置1; =,不转 短转移 后前,C清零; (R)=0? 2条 一 条 顶二条:DEC Ri (或Direct) (direct)=0? 灵活 JNZ rel调子与返回 4条 长调子 64K地址内(21

35、6) 绝对调子 2K地址内(211) 奇1 nn地(低8位)(表3-6) RET RETI 恢复断点前,清IP而开中空操作NOP 延时程序等有用 00H47二、例 1、绝对转移指令 可寻址2K(8页) 11位中高3位决定页 数, 但高5位变化有32种地址 P.98例 PC当前值决定的2K! 本例特殊,跨到下一2K范围 长转移指令 可寻址64K,但多用一字节 不多用 2、相对短转移指令 rel 多用符号地址 机器汇编自动代真 人工汇编 基本功,勿算错 P.99 末例 STMP $ 80 FE48 3、相对长转移指令 p.100例 多分支 散转指令 前5位后11位指明 分别转1900H、 1B00

36、H、1C00H、1D00H 4、比较指令 减1不为零转 P.101例 又例 再例 5、绝对调子指令 P.102 对照AJMP指令, 但注意操作 P.104 例 又例49第七节 位操作类指令 一、指令表 表3-8 3个小类 17条 丰富,专门子集,适用于逻辑控制 位传送 2条 C和 bit互换 nn位 直接寻址位 四种表示方式(P.105) 位逻辑操作 10条 C 3条 清零、置1、取反 bit 3条 清零、置1、取反 C/bit、C/bit 2条 C/bit、C/bit 2条 位条件转移 5条 C=1 相对转移 2条 C1 相对转移 2条 bit=1 相对转移 2条 bit1 相对转移 2条

37、bit = 1 相对转移且清零 1条50二、例 1、位传送指令 p.105例 2、位逻辑操作指令 p.106例 又例 3、位条件转移指令 p.107例 又例51第八节 汇编语言源程序的格式和伪指令 格式:(地址单元)(机器码) 标号:操作码 操作数;注释 注意拉齐、空格、标点(如 :、,、;) 有的最前面冠以句号 操作数可有0个、1个、2个(多数)、3个,有时是表达式。 伪指令:注释性,计算机不执行 ORG 定义起始地址 END 结束指令, 有时后随初址 DB 定义字节 DW 定义字 DS 定义字节数 bit 定义位,规定特定位以标号 EQU 字节(标号)赋值 例:P.109 P.110 52

38、第九节 算逻处理程序 常用、常见程序段 逐渐会编程,提高 技巧 不是最优程序,但是可行程序,可: 钻研(要求稍变)、 思考,精益求精,试编,手译机器码 先看,看几遍,由粗看,再细看,抓头绪,摘记、归纳, 到看懂,到会编 会编、会看、都是基本功。 例3-1 图3-4 例3-2 图3-5 编程前,往往先编程序框图, 要求(粗) 具体(细) 指令与程序考虑初始化(先考虑资源分配:R、内存单元、定/计等) 设定地址指针、计数器、R或定/计置初值 本例注意: C先置0、rel为F9H53 例3-3 自已举一反三看懂 例3-4 假定和小,不溢出 注意ACALL指令的机器码,(A)的变化 例3-5 高字节最

39、低位移入低字节最高位 符号位不变,故可适用于处理带符号数 例3-6 注意:最低字节处理要取反+1,其它字节单取反 最低字节用ADD指令、其它字节用ADDC指令的用意 例3-7 排序 上课自学、当堂答疑 注意 rel=0B 、07、02,F0=D5 例3-8 自学,添机器码 完善: 设数串有L个数 每输入两数间有时间间隔 或输入一数时要查询某标志位 问: START一定地址值很小,否则MOV A,P1 前先MOV P1,#FFH 为什么?54 例3-9 排队 看懂程序(参考表3-9)可相互讨论 补流程框图 添机器码 例3-10 两双字节无符号数相乘 高字节低字节 被乘数 R7 R6 乘数 R5

40、R4 对照表3-10,分成4段,部分积逐段提前一字节 (似小学乘法竖式) 注意: 如何计及可能有的进位。5556例3-14 查表法 籍DPTR查表 籍PC查表 参数传递 TAB不必紧接 TAB必需紧接巧妙 且因有RET, 三种(P.120)自学 故要INC A 子程序首句前要标号,末句为RET 查表法也可用于例3-12,但TAB要接长 DB 41 DB 42 57第十一节散转程序自学要求彻底理解 例3-15 两种方法: AJMP、LJMP 在p.100例基础上 例3-16 注意PUSH与RET指令用法!第十二节延时程序 软件延时,不添硬件,变化灵活,但占用CPU, 多用,多为子程序 例3-17

41、1ms延时执行程序的耗时循环数与NOP凑时间 例3-18250 ms延时 上例调用250次自学58第十三节定/计应用程序 例3-191延时定/计0 1 ms延时,定/计1 计数60000次,两者串接,CPU不占用1000=03E8H,初值应为FC18H60000=EA60H,初值应为15A0H0030H到005FH,初始化程序 0060H到008FH,CPU作监控用,+调用子程序耗时 +0093H到00A3H用时,应1ms,不足1ms的部分用于JNB TFO,等待。 例3-20 读定/计 “先读TH0、后读TL0、再读TH0”:防错 自学59 第十四节外部中断应用程序 例3-21 某工控系统

42、图3-8 注意 INT00、INT01、INT02、INT03、DELAY的真 实地址,AJMP转那里 撤除中断请求(常用于电平激活场合) 保存与恢复现场 外部中断入口地址 例3-22利用外部中断实现程序转换 图3-9、图3-10、表3-11 数显(6位)的安排 注意:复核各ACALL、AJMP指令的机器码,复核 各rel(+5、ROUT1、ROUT2、)的值 自学 第十五节 串行接口应用程序 成绩好的自学,其它同学答疑、复习60第四章MCS-51系列单片机的扩展单片机每需扩展:ROM、RAM、并行I/O口、定/计等。扩展很方便。三总线结构图4-1如扩展的外接芯片多,要用总线驱动器,单向的、双

43、向的。驱动器图4-2驱动器接法 图4-361 第一节最小系统与程序存贮器的扩展 一、最小系统 未曾扩展 不是应用系统,只是裸机 接线 图4-4 8031 40根 P2、P0地/数总线 P1 、 P3 电源2根 接晶振2根 EA、RESET接法 ALE 锁存地址(下降沿) PSEN 取指(上升沿) 2716 24根 地址线 11根(2K)输出数据8根 CE、OE 电源3根 现多用2764以上(图4-6)(表4-1) 373 20根 8进8出 电源2根 G、OE (图4-7、4-8、4-9) P2.0接 A8 P2.1 接 A9P2.2接 A10 不能乱接 2732添 P2.3接 A11、2764

44、添P2.4 接A1262原理 第一瞬间 地址锁存 S2 P0为AB 送A0A7到373锁存图4-5 (ALE下降沿) 第二瞬间 取指 S4 P0为DB A0A7由373送 (PSEN上升沿) 必须有地址锁存器(总线复用)二、程序存贮器的扩展 带ROM的单片机一般小系统,简单 用片外ROM的单片机, 兼有的系统少用 片外ROM容量干脆大 图4-10 27128 图4-11 多片 图4-12线选法 不用译码器 多用单片 图4-13译码法 占用口线少 图4-14 寻址可两个64K63 三、用EEPROM的程序存贮器扩展 不用紫外线 可在线改写 发展快: 闪存 常用芯片 图4-15 表4-2、4-3、

45、 2864A、2864B 扩展电路 图4-16、4-17 第二节数据存贮器的扩展一、用静态RAM的扩展 芯片 图4-18表4-4、4-5、4-6 扩展电路 图4-19、4-20 (图4-21、4-22自学) 兼有片外ROM、RAM的扩展电路图4-23(时序图4- 24)二、用EEPROM的数据存贮器扩展 图4-16 PSEN 改用RD三、用动态RAM的数据存贮器扩展 图4-25 发展快64 第三节 并行I/O的扩展 一、用多功能芯片的扩展 表4-7 8155/8156 256单元RAM 定时器 28+6口 地址锁存器 8255A 38 口 8355/8755A 2K单元ROM 28 口 地址锁

46、存器 8255A芯片 引脚图4-26 表4-8 结构图4-27 表4-9端口地址 方式控制字 各位定义图4-28方式0(基本I/O) 方式1(选通I/O) 方式2(双向) 只A口 各状态控制信号表4-10 置位/复位字 表4-11 例4-2、4-3 扩展实例图4-29 例4-4、4-565 8155/8156芯片 引脚 图4-30 表4-12 结构 图4-31 表4-13端口地址 写命令字 定工作方式 表4-14 命令/状态R 读状态字 知A、B口与定时器状态 定时器R 图4-32 定时器为14位减法器 决定输出方式(图4-33)和计数初值 扩展实例 图4-34 地址 8755A芯片 引脚 图

47、4-35表4-15 结构 图4-36 寄存器 端口地址 读写条件 表4-16 扩展实例 图4-37表4-1766二、用TTL芯片的扩展 价低、种多、灵活通过P0扩展 用74LS377扩展O口 图4-38图4-40 图4-43 用74LS244扩展I口 图4-41 图4-42 图4-43三、用8243的扩展自学四、用串行口的扩展 串行方式0可扩展很多口线,但速度下降 并行I/O串行移位器 CMOS TTL 4014 74LS165 图4-50 4094 74LS164 图4-52 图4-49 并行I 程序 p.164 图4-51 并行O 程序 p.165 参考图2-22 RXD(P3.0) 串入

48、或串出 TXD(P3.1) CLK 打拍 P1.7 串并选择67第五章 MCS-51系列单片机的接口与应用第一节扳键开关、拨盘开关、按钮、键盘的接口 一、扳键开关的接口 置数、输入电平、操作分档等人机联系 图5-1程序 二、拨盘开关的接口 多见的是BCD码拨盘开关,将置定的十进制数转成BCD 码输入计算机 图5-2 用于参数设定 直观,方便 原理表5-1 也可得反码 图5-3程序 三、按钮的接口 手按的短时内送出改变了的电平。 要消抖 图5-4是硬件方法68四、键盘的接口 单一按键似按钮 但多数组合成键盘矩阵式 重要的人机联系手段 输入程序、数据、命令、控制程序 走向 全扫描查有未按、有未松 图5-5 逐行扫描查按的哪一键,转相应键处理程序 何时扫描可主程序、可定时、可按键时申请中断以进 行 图5-6 程序 图5-7 要介决: 消抖、每按一次响应一次、一键多功能 编键 号与转相应键处理程序,防止二键或多键同 按69第二节 显示器与单片机的接口 上节输入器件,本节输出器件,都用于人机联系一、LED与单片机的接口 用于信号指示输入、输出器件常通过扩展I/O口与单片机连接图5-8程序 二、LED数码管与单片机的接口 用于数显输出 前例3-22 共阴极数码管、共阳极数码管,笔划信息可能按表3-10 置反 软件译码、硬件译码 前者查表,后者

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论