版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、单片机原理及其接口技术,参考书,梁合庆等. MCS-96系列十六位单片微机实用手册. 北京:电子工业出版社,1995 张友德等. 单片微型计算机原理、应用与实验. 上海:复旦大学出版社,1992 肖广润等. 微机原理与应用8051、8098单片机应用基础. 武汉:华中理工大学出版社 陈光东. 单片微型计算机原理与接口技术. 武汉:华中理工大学出版社,第一章 绪论,1. 电子计算机的发展简史 电子计算机的发展 微型计算机的发展 单片微型计算机的发展 2. 计算机的基本组成与结构 计算机的基本结构 冯诺依曼结构的组成 计算机的常用术语,第一章 绪论,3. 数制与码制 计算机中的数制 基本数制二进制
2、 十六进制和八进制 不同数制间的转换 计算机中的码制 文字符号编码 数值编码 带符号数编码,第一章 绪论,4. 模型计算机的基本工作原理 模型计算机的硬件组成 模型计算机的指令系统 模型计算机的程序设计 将程序输入模型计算机 模型计算机的执行过程 计算机的软件,第二章 MCS-96单片机的基本结构及工作原理,1. 概述 2. 单片机芯片的基本结构及特点 MCS-96系列芯片的基本结构 芯片的硬件结构框图 芯片的功能部件 MCS-96系列芯片的主要特性 8096/8098芯片的引脚及功能 8096/8098芯片的封装形式 芯片的引脚功能,第二章 MCS-96单片机的基本结构及工作原理,3. CP
3、U及其操作 CPU的具体组成及其特色 CPU总线 寄存器算术逻辑单元RALU CPU寄存器阵列 CPU的操作 CPU的时序,第二章 MCS-96单片机的基本结构及工作原理,4. 8096/8098的存储器空间 存储空间的配置情况 内部寄存器空间 寄存器阵列 特殊功能寄存器(SFR) 专用存储器空间 存储器控制器,第二章 MCS-96单片机的基本结构及工作原理,5. I/O口及其控制 P0口(数字输入兼模拟输入口) P1口(准双向I/O口) P2口(多功能口) P3口和P4口(数字I/O口兼总线口) I/O控制及状态寄存器 I/O控制寄存器 I/O状态寄存器,第二章 MCS-96单片机的基本结构
4、及工作原理,6. 芯片配置寄存器 CCR的定义及说明 总线控制 标准总线方式 地址有效选通方式 写选通方式 地址有效且写选通方式 就绪控制 加锁控制,第二章 MCS-96单片机的基本结构及工作原理,7. 时钟信号 时钟源振荡信号的产生 内部三相时钟的产生 8. 复位 复位信号的产生 复位电路 复位状态,第三章 存储器及其与系统连接,1. 存储器简介 存储器的分类 存储器芯片的选择 常用存储器芯片 2. 存储器的寻址方法 线选法 全译码法 部分译码法,第三章 存储器及其与系统连接,3. 微机系统的存储器扩展 存储器与系统连接的器件 8096/8098单片机的最小系统 多个存储器芯片的单片机系统,
5、第四章 MCS-96指令系统,1. 概述 指令的格式 操作数的类型 状态标志及状态字 堆栈 2. 寻址方式 寻址及寻址方式 MCS-96系列单片机指令系统的寻址方式 3. 数据传送指令,第四章 MCS-96指令系统,4. 算术与逻辑运算指令 算术运算指令 逻辑运算指令 5. 跳转和调用指令 无条件转移指令 条件转移指令 6. 特殊控制指令 7. 伪指令,第五章 汇编语言程序设计,1. 概述 汇编语句 编制汇编语言程序的一般步骤 2. 顺序程序 3. 分支程序 4. 循环程序 5. 子程序设计 6. 查表程序,第六章 输入输出及中断,1. 概述 输入输出接口及其功能 外设与端口 CPU与外设间的
6、接口信号 接口设计 2. CPU与外设交换信息的方式 无条件传送方式 查询传送方式 中断传送方式 直接数据通道传送方式(DMA方式),第六章 输入输出及中断,3. I/O接口的寻址方式及地址译码方式 I/O接口的寻址方式 I/O端口的地址译码方式 4. 中断技术 中断的概念 中断技术的特点 中断源及其优先级 中断响应 中断传送方式的接口电路,第六章 输入输出及中断,5. 8096/8098单片机的中断系统 8096/8098单片机中断系统的结构 8096/8098单片机的中断源 8096/8098的中断控制 8096/8098单片机中断响应的过程 中断响应的时间 中断禁区,第六章 输入输出及中
7、断,6. 8096/8098单片机的中断优先级控制 8096/8098中断优先级排队的特点 实现预定的优先级排队顺序的软件措施 7. 中断系统软件的设计 中断系统软件设计的一般方法 中断系统的编程,第七章 微型计算机的接口技术,1. 微机接口技术原理 微机接口的基本任务 单片机接口设计的特点及内容 微机接口技术的一般原理和方法 2. 典型的并行I/O接口芯片 8255A可编程并行I/O接口芯片 8155可编程并行I/O接口芯片,第七章 微型计算机的接口技术,3. 微机与显示器的接口 LED与单片机的接口 LCD与单片机的接口 4. 微机与键盘的接口 键盘及其接口的基本功能 非编码键盘的工作原理
8、 非编码键盘与8096/8098单片机的接口设计,第七章 微型计算机的接口技术,5. 单片机与8279可编程键盘/显示器接口 8279可编程键盘/显示控制器 8279的命令及状态字 8279的输入数据的格式 8096/8098单片机与8279的接口 6. 微机与打印机的接口 TPP-40A微型打印机的接口信号 单片机与TPP-40A打印机的接口电路 打印程序的编制,第八章 定时器及其应用,1. 8096/8098单片机的定时器 定时器1 定时器2 定时器中断的产生与控制过程 2. 定时器的应用 3. 监视定时器及其应用 监视定时器 确保系统软件正常工作的原理 监视定时器的应用,第九章 高速输入
9、部件及其应用,1. 高速输入部件HSI的结构及工作原理 HSI的基本结构 HSI的工作过程 HSI的中断 2. HSI的应用 HSI的用途 HSI对事件的检测方法 HSI的应用,第十章 高速输出部件及其应用,1. 高速输出部件HSO的结构及工作原理 HSO触发的事件 HSO的基本结构 HSO的工作过程 HSO的中断 2. HSO的应用 HSO的编程步骤及要点 HSO的应用,第十一章 A/D和PWM及其应用,1. 8096/8098的A/D转换器及其应用 8096/8098A/D转换器原理 8096/8098A/D转换器的控制 8096/8098A/D转换器的编程 2. PWM输出(D/A) P
10、WM的结构和工作原理 产生PWM波形,第十二章 串行口及其应用,1. 串行通信的基本概念 串行通信的特点及方式 数据传送模式 信号的调制与解调 信号的检错与纠错 传输速率与传送距离 2. RS-232C接口标准,第十二章 串行口及其应用,3. 8096/8098串行口的工作原理 8096/8098串行口的工作方式 8096/8098串行口的控制 4. 8096/8098串行口的应用 串行口的使用特点 串行口的应用,第十三章 80C196KB/KC单片机,1. 80C196芯片的引脚与封装 2. 80C196单片机的结构及其主要特色 80C196芯片的基本构成 80C196芯片的主要特色 3.
11、80C196的存储器空间 4. 80C196单片机增加的指令 5. 80C196芯片中的不同格式的寄存器 PSW的状态位 芯片配置寄存器CCR SFR中的一些寄存器,第十三章 80C196KB/KC单片机,6. 80C196的中断系统 80C196新增的中断源 80C196的中断优先级 80C196的中断控制,电子计算机的发展,第一代电子管计算机(1946-1958) 第二代晶体管计算机(1958-1964) 第三代集成电路计算机(1964-1971) 第四代大规模集成电路计算机(1971-现在) 第五代智能型计算机(?-?),微型计算机的发展,第一代微处理器(1971-1973) 4004
12、第二代微处理器(1973-1975) 8080 第三代微处理器(1975-1978) Z80 第四代微处理器(1978-80年代中期) 8086 第五代微处理器(80年代中期-现在) Pentium,微型计算机的发展比较,微型计算机的独特优点,体积小、重量轻 性能价格比高 可靠性高、功耗低 灵活和实用,微型计算机的发展分支,分支一:充分利用超大规模集成电路技术,不断扩大微处理器的功能,向以赶超小型机、超级小型机乃至中大型计算机为目标的发展方向。 分支二:单片机的诞生和发展,为满足各个领域的广泛应用,不求规模大,力争小而全。,单片机的定义,在一块芯片上集成了构成一台计算机的基本部件:中央处理器(
13、CPU)、存储器(RAM/ROM)、I/O接口以及其他有关部件(如定时器/计数器、中断控制、系统时钟、系统总线和A/D及D/A转换器等)。一块芯片就构成了一台计算机,故称为单晶片微型计算机(Single Chip Microcomputer),简称单片机,又称微控制器(Microcontroller Unit)或嵌埋式控制器(Embedded Controller)。,单片机的发展,第一代单片机(1974-1980)MCS-48系列 第二代单片机(1980-1983)MCS-51系列 第三代单片机(1983-现在)MCS-96系列,单片机的独特优点,体积小、功能全 价格低廉 面向控制,计算机的
14、基本结构,哈佛结构(Harvard): 指具有独立的数据存储空间和程序存储空间,可同时对数据和程序寻址,形成指令和数据并行,以提高速度。它是哈佛大学物理学家AHarvard于1930年提出的。哈佛结构的缺陷是结构变得复杂。 冯诺依曼结构(Von Neumann): 程序和数据对CPU而言不存在本质区别,所以可公用一个存储空间。这简化了结构,但降低了计算速度。,冯诺依曼结构的组成框图,冯诺依曼计算机的组成,输入设备(Input Equipment) 存储器(Memory) 运算器(Arithmetic Logic Unit-ALU) 输出设备(Output Equipment) 控制器(Cont
15、rol BlocK),计算机的常用术语,中央处理器(Control Processing Unit-CPU) CPU=ALU+控制器 微处理器(Micro Processing Unit-MPU) 外部设备(Peripheral) 输入/输出接口电路(I/O Interfacing) 总线(Bus) 数据总线(Data Bus) 地址总线(Address Bus) 控制总线(Control Bus),计算机的常用术语,计算机字长(Word Length) 微型计算机(Microcomputer) 微型计算机系统(Microcomputer System) 微型计算机:MPU、Bus、存储器、I
16、/O接口 外部设备:显示器、键盘、打印机、外存储器 软件:系统软件、应用软件、数据库 电源,基本进制二进制,数码:0和1 计数规律:逢二进一 优点:数字装置简单可靠,所用元件少;运算规则简单,运算操作简便。 缺点:不太符合人们的习惯;位数太多时书写与记忆不方便。 1位为“比特”(Bit),8位为字节(Byte),16位为字(Word)。,十六进制和八进制,数码:0,1,2,3,4,5,6,7,8,9,A,B,C,D,E,F 计数规律:逢十六进一 优点:以二进制为基础,转换方便;比二进制数书写和记忆方便。 八进制可由十六进制推知。 例1:1001 1100 1011 0100 1000B=9CB
17、48H 10 011 100 101 101 001 000B=2345510O,不同数制之间的转换,其他数制转换成十进制数:,十进制数转换为二进制数: 整数:(N)D=bn2n+bn-12n-1+b121+b020例2 将N连续除以2取余数bi,直到商为0。 小数:(N)D=b-12-1+b-22-2+b-n2-n例3 将N连续乘以2取整b-i,直到满足精度。 十进制转换成R进制: 整数部分连续除以R取余数作为结果,小数部分连续乘以R取整作为结果,从“.”起始。,将(25)D转换成二进制数,解:,所以(25)D=(b4b3b2b1b0)B=11001B,将(0.706)D转换成误差不大于2-
18、5的二进制数,解:,所以(0.706)D=0.10110B其误差=0.5922-52-5,满足要求,文字符号编码,ASCII码:美国标准信息交换代码(Ameri- can Standard Code for Information Interchange),它用七位二进制码表示一个字母、符号和数值。 国际标准汉字码:用16位二进制码表示 一个汉字,并且每个字节最高位为1,以区别其是否为ASCII码。,数值编码,有权码:8421BCD码、自然二进制码、2421码、5421码等。 8421BCD码的表示形式是二进制的,但实质是十进制的,所以在进行算术运算时,计算机总是进行二进制的运算,所以需将结果
19、进行修正才正确。(例4) 无权码:编码关系不能用位权关系来表示的数码,例如:余3码、格雷码等。,8421BCD码求96+84的值,解:,原码、反码和补码,原码:在自然二进制码前直接加符号位 的表示法。如: +7原=00000111B,-7原=10000111B 反码:正数与原码相同,负数数值部分 按位取反,符号位不变。如: +7反=00000111B,-7反=11111000B 补码:正数与原码相同,负数数值部分 按位取反后加1,符号位不变。如: +7补=00000111B,-7补=11111001B,定点数和浮点数,定点数:指小数点的位置固定不变的数。 整数:小数点固定在数据最低位之后 纯小
20、数:小数点固定于符号位与数据位之间 小数:小数点固定于事先约定的某位之后 浮点数: 为克服定点数范围太小而表示成K2b,其中K是尾数(纯小数),b是阶码(整数)。如让尾数的最高位数值不为0,则是规格化浮点数,计算机运算都用该种数。(例5),将(24.09375)D转换成规格化浮点数,解: (24.09375)D=11000.00011B 规格化 K=+0.1100000011B b=+5=+101B ,模型计算机的基本结构,微处理器(CPU),算术逻辑单元(ALU) 控制器:包括指令寄存器IR、指令译码器 ID和定时、控制电路等部分。 寄存器: 专用寄存器:程序计数器PC、存储地址寄存 器MA
21、R、标志寄存器F、数据寄存器DR和指令寄存器IR 通用寄存器:寄存器A和寄存器B,地址分布,存储器(地址0127) 程序区(RAM或ROM) 数据区(只能用RAM) 外部设备和接口电路 键盘(输入设备) 显示器(输出设备) 总线 数据总线DB(D0D7) 地址总线AB(A0A7) 控制总线CB(WR和RD),模型计算机的指令系统,指令系统(共4条) LD将一个数装入某个寄存器 ST将寄存器内的数送往某个存储单元或 某个I/O端口 ADD完成两个数的加法运算 SJMP程序跳转到指定单元继续执行 指令组成 助记符 目的操作数,源操作数,将两个数8和9相加的结果送到存储器和显示器,程序区为存储器的0
22、0H20H,其余为数据区。30H存结果,80H为显示器端口。 LD A,#08H ADD A,#09H LD B,#30H ST A,B LD B,#80H ST A,B LP: SJMP LP,将程序输入模型计算机,将汇编语言对照指令表逐条翻译成机器代码,用十六进制表示; 存储器中决定程序区,确定程序起始地址; 将机器指令代码逐个字节送至相应的存储单元; 采用一定的方法对已输入的程序进行调试,排除设计或翻译中可能出现的错误。,模型计算机的执行过程,一条指令执行过程: 取指阶段:PCMAR,PC+1PC;MARAB且RD有效,数据DB DR 分析执行阶段:操作码 DRIR控制操作数 DR被处理
23、 程序执行过程: 逐条指令按上述过程执行,PC起始为00H,逐渐增加。读存储器时RD有效,存数据或输出到端口时WR有效。最后程序循环等。,计算机的软件,系统软件(System Software) 操作系统(Operating System) 翻译软件 管理维护软件 程序库 应用软件(Applied Software) 数据库(Data Base),第一章 作业,计算机有哪几种基本结构?试述它们的各自特点,MCS-96单片机属于哪种结构? 教材 习题一 9.(6);11.(2);13;16。,MCS-96系列单片机的典型硬件结构框图,MCS-96系列芯片的功能部件,中央处理器CPU:采用面向寄存
24、器结构 存储器:256字节RAM(或有8K字节ROM) 输入/输出(I/O)功能部件 三个定时器T1、T2及WATCHDOG 高速输入/输出部件HSI/HSO A/D转换部件 脉宽调制输出(PWM)部件 串行通讯接口 四个并行I/O接口P0,P2,P3及P4口(或有P1),MCS-96系列芯片的主要特性,CPU为16位,采用面向寄存器结构 支持位、字节和字以及双字操作 片内有256字节RAM用作寄存器 时钟频率可达12MHz,执行指令最短1s 指令系统可对符号数和非符号数操作,指令可带多达3个操作数,非常灵活 硬件完成乘、除法运算 带有多种可编程I/O功能部件,8096/8098DIP48脚封
25、装,MCS-96系列芯片有48脚、52脚、64脚68脚和80脚等多种封装形式 8098的DIP48脚与8096引脚配置基本相同,只是14脚和15脚有点差别,8096的68脚PLCC和PGA封装,引脚功能,工作电源及地:VCC、VSS、VPP、VPD、VREF、ANGND I/O信号线:HSI、HSO、P0、P1、P2、 P3、P4 控制信号和时钟信号: RESET(入)、RD(出)、WR/WRL(出)、READY(入)、EA(入)、ALE/ADV(出)、XTALT1(入)、XTALT2(出)、BHE/WRH,BHE/WRH功能,总线高位字节允许(BHE)或写外部存储器高位字节(WRH)的输出信
26、号,由CCR选择。由于8096的数据宽度为16位,可以按字或字节访问存储器;而8098的内部总线虽为16位,但访问外部存储器都是按8位进行的。因此8096有BHE,而8098没有。若A0=0,BHE=1:访问低位(偶数)字节若A0=1,BHE=0:访问高位(奇数)字节若A0=0,BHE=0:同时访问高低两个字节,CPU的具体组成及其特色,CPU的结构(硬件结构框图) 运算器:RALU和寄存器阵列 控制器:控制器、地址译码器、指令寄存器 与外部联系方式:通过地址寄存器B和D-Bus通过地址寄存器A和A-Bus CPU的特点 大多数CPU采用面向累加器的结构,虽结构较简单,但减慢了运算速度。809
27、6/8098的CPU采用面向寄存器的结构,每个通用寄存器都具有累加器的作用,故加快了整体速度。,CPU总线,数据总线D-Bus(16位)用于RALU和通用寄存器通过特殊功能寄存器(SFR)与输入/输出端口通讯。 地址总线A-Bus(8位)用于RALU、通用寄存器和指令寄存器控制器通过存储器控制器与片内和片外存储器通讯。 注意CPU总线是CPU内部总线,与后面谈及的系统总线(外部总线)是不同的概念。,寄存器算术逻辑单元RALU,ALU(17bits) 程序计数器PC(16bits) 增量器(16bits) PSW高字节(8bits) 字/移位寄存器(高或低)(各16bits) 暂存寄存器(16b
28、its) 循环计数器(5bits) 延时环节 常数(0,1,2),CPU的操作,存放在外部存储器的程序指令在存储控制器的控制下由A-Bus进入CPU的指令寄存器; 控制器对指令译码,产生响应的操作控制信号; RALU完成指令所规定的操作。 除法指令的执行为例说明CPU的操作过程。,CPU读取存储器数据的时序,振荡、状态和指令周期,振荡信号与振荡周期振荡信号是片外振荡电路产生,典型的振荡频率是12MHz,振荡周期是1/12s。 时钟信号与状态周期时钟信号是计算机一切微操作的基准信号,是振荡信号三分频后产生,时钟信号的周期就是状态周期T(典型值0.25 s) 指令周期指令周期是一条指令执行的时间,
29、最短是4T,最长43T。,存储器分布图,寄存器阵列,寄存器阵列占内部RAM中的18H0FFH共232个单元,作通用寄存器,不可存放指令代码。(存储器分布图) 18H和19H可作堆栈指针,但在无堆栈时可当成通用寄存器使用。 寄存器可直接使用地址,也可用字母命名(用伪指令为寄存器取名)。 0F0H0FFH共18个单元的掉电保护空间的数据不会因VCC掉电丢失(VPD接干电池)。,特殊功能寄存器(SFR),00H17H共24个单元是特殊功能寄存器(Special Functional Registers),不能作为通用寄存器。(存储器分布图) SFR用于片内的I/O功能部件的控制。 TIMER1,TI
30、MER2,HSI_TIME和HSO_TIME只能按字访问,R0可按字或字节访问,其他的专用寄存器只能按字节访问。 很多寄存器读写的功能不一样,要注意。,存储器控制器,RALU和内外存储器交换信息时需经过存储器控制器,它通过A-Bus及几条控制线与RALU相连。(硬件结构框图) RALU中的PC值和数据地址都分成两个字节传送(A-Bus是8位)。 为加速程序的取指,控制器中有一个辅助程序计数器(从PC),能自动加一,只有执行非顺序指令才取PC。 为加速数据的存取,存储器控制器设有三个字节的队列。,P0口(数字输入兼模拟输入口),P0口专做输入口使用,通过控制可以输入数字量或模拟量。 作为数字量输
31、入时,通过P0口的输入缓冲器直接上D-Bus。(硬件结构框图) 作为模拟量输入时,通过A/D命令寄存器有选择地将P0口的任一条接向A/D变换器。 P0口是高阻抗数字量输入口,而模拟量输入时,其特性是变化的。,P1口(准双向I/O口),P1口由P1寄存器和驱动部分组成。 T1和T2是低阻抗MOS管,T3是高阻抗耗尽型MOS管。 P1作为输入口时,必须先写“1”再读,才能获得正确数据。,P1口的一个管脚,P2口(多功能口),P2口为多功能口,第二功能的选择由IOC控制,它作为一般I/O口是准双向性质。 48脚芯片只有P2.0P2.2和P2.5,而64脚芯片则有P2.0P2.7。 P2.0:串行口发
32、送TXD(出),受控于IOC1.5; P2.1:串行口接收RXD(入),无特殊控制; P2.2:外部中断EXTINT(入),受控于IOC1.1; P2.3:定时器2的T2CLK(入),受控于IOC0.7; P2.4:定时2复位T2RST(入),受控于IOC0.5; P2.5:脉宽调制PWM(出),受控于IOC1.0; P2.6和P2.7:没有第二功能。,P3口和P4口(数字I/O口兼总线口),P3和P4都是双功能口。 P3和P4作为双向I/O口时是漏极开路的。作输入时必须先写“1”才能读;作输出时必须外接上拉电阻。 P3和P4作为总线时是三态口。,P3和P4口的结构,I/O控制寄存器,IOC0
33、控制定时器2和高速输入单元(HSI) IOC1控制中断源和高速输出单元(HSO)及其他。,I/O状态寄存器,IOS0保存关于HSO的有关状态。 IOS1保存定时器及HSI的有关状态。 注意读完定时器的状态后,IOS相应位会被清0,故应该备份。,CCR的定义及说明,芯片配置寄存器CCR(Chip Confi-gure Register)存放芯片操作的有关信息。 CCR的内容不能直接设置,必须通过对CCB(地址为2018H)单元进行设置,做RESET操作后CCB中的内容被自动装入CCR。,总线控制方式,系统总线采用何种方式运行就是所谓的总线控制问题。通过CCR可灵活选择不同的总线控制方式,减少外部
34、硬件设计。,标准总线方式,标准总线方式是最常用的控制方式,控制信号是ALE、BHE和WR。,ALE下降沿时地址码有效,地址锁存入外部锁存器。,写操作由WR控制,16位数据还需BHE控制。,地址有效选通方式,在此方式下,ALE的功能被地址有效选通信号ADV所代替。,ADV既可作为锁存触发信号,又可作为片选信号,在存储器片数不多时可节省外加的译码电路。,写选通方式,8位总线时可选择WR信号的宽度,这对于靠WR的下降沿锁存数据的器件接口非常有用。,16位总线时WRL和WRH取代了WR和BHE信号,因而无须译码电路便可得到奇偶字节的选通信号。,地址有效且写选通方式,此方式既有地址有效选通方式的特点,又
35、有写选通方式的特点。,就绪控制,就绪控制:为协调慢速器件与CUP的连接,在CPU总线周期中插入等待状态,让外设准备好。 就绪控制是通过Ready引脚电平被拉低开始到Ready引脚变为高电平(外部控制)或CCR所规定的状态数到(内部控制)结束来实现的。,ROM/EPROM加锁,839x和879x禁止外部程序对内部ROM或EP-ROM中的内容进行非法读写。 为了测试和校验方便,有128位长的密匙供核对。如密匙不合,则CPU无休止地自循环。 写保护区为2000H3FFFH,读保护区为2020H 3FFFH,时钟源振荡信号的产生,内部三相时钟的产生,复位信号的产生,复位操作需RESET引脚上持续两个状
36、态周期的低电平。 复位电平由低变高后,芯片内部执行10个状态周期,使一些寄存器初始化,清PSW,将2080H赋给PC,芯片配置字节(CCB)从2018H读出写入芯片配置寄存器(CCR)。 复位信号可由复位电路产生,也可由监视定时器溢出或复位指令RST产生。,复位电路,复位状态,第二章 作业,教材 习题二 2;5;10;15。,存储器的分类,随机存储器RAM(Random Access Memory) 用于存放现场输入、输出的数据,运算的中间结果等各种临时数据,可随时读写,但掉电数据会丢失。 RAM从结构上可分为静态RAM和动态RAM。 只读存储器ROM(Read Only Memory) 用于
37、存放程序、表格和常数等永久性数据,可读但不可随意修改,掉电数据不会丢失。 ROM有掩模ROM、PROM、EPROM和E2PROM。,存储器芯片的选择,存储器类型 容量 速度 价格 功耗 对电源的要求,常用存储器芯片,RAM芯片:6116(2K8)、6264(8K8)、62256(32K8)等。 EPROM芯片:2716(2K8)、2732(4K8)、2764(8K8)、27128(16K8)、27256(32K8)等。 E2PROM芯片:2816(2K8)(编程电压21V)、2817A(2K8)(单一电源5V)等。,线选法,实施方法 字选:将存储器芯片的全部地址线与系统总线的低位线一一对应相连
38、; 片选:将剩余的系统地址总线高位中某一根直接用作某一存储器的片选信号。 优点:简便易行。 缺点:地址空间不连续,造成浪费。有时容易产生地址重叠(几个地址对应同一单元)。,全译码法,实施方法 字选:将存储器芯片的全部地址线与系统总线的低位线一一对应相连; 片选:每一芯片的片选信号由剩余的系统地址总线全部高位经地址译码电路产生。 优点:避免了地址空间浪费、不连续和重叠等问题。地址空间未用完时方便扩展 缺点:电路结构变得复杂,增加了成本。,部分译码法,实施方法 字选:将存储器芯片的全部地址线与系统总线的低位线一一对应相连; 片选:对于存储器芯片,由剩余地址总线中部分译码产生;对外设端口可由线选法产
39、生。 优点:是线选法和全译码法的折中方案,具有很大的灵活性。 缺点:仍有地址空间浪费的问题。,存储器与系统连接的器件,译码器:74LS138(3-8线译码器)74LS139(双2-4线译码器)74LS154(4-16线译码器) 锁存器:74LS373(8位)、74LS273(8位) 驱动器:74LS125(4位)、74LS240(8位反 码)、74LS244(8位原码),8096/8098单片机的最小系统,多个存储器芯片的单片机系统,例:8096单片机需外接16K的RAM和16K的EPROM,RAM用6264,EPROM用2764,要求RAM芯片的起始地址为0000H,且四块存储器芯片的地址空
40、间是连续的,另外系统中还有两个外设端口,也需为它们编址,试设计这一系统。 解:为使存储空间连续,且为进一步扩展留有余地,使用译码器来产生片选信号。,多个存储器芯片的单片机系统,各存储器和I/O端口的地址分布 6264(低位):00 xxxxxxxxxxxxx0B(0000H-3FFFH偶地址) 6264(高位):00 xxxxxxxxxxxxx1B(0000H-3FFFH奇地址) 2764(低位):01xxxxxxxxxxxxx0B(4000H-7FFFH偶地址) 2764(高位):01xxxxxxxxxxxxx1B(0000H-3FFFH奇地址) I/O端口1:8000H-BFFFH(16K
41、字节) I/O端口2:C000H-FFFFH(16K字节) 如果使用WR和BHE,则可以将上例的写选通控制方式改为标准总线控制方式。如何实现可以作为思考题留给大家。,第三章 作业,教材 习题三 8。,指令的格式,基本指令格式:操作码 操作数 机器指令格式: 操作码 第一操作数低字节 第一操作数高字节 第二操作数 目的操作数 汇编指令格式: 操作码 操作码 操作数 操作码 目的操作数,源操作数 操作码 目的操作数, 第二操作数, 第一操作数,操作数的类型,操作数的形式:直接数据(立即数)、寄存器中的数据和存储器中的数据。 操作数的定位规则: 位于寄存器或存储器中的操作数需按类型规则存放,如有些操
42、作数只能位于寄存器,有些操作数的有效地址必须是偶数地址等。 操作数的类型: 字节型(Byte)、字型(Word)、位型(Bit)、短整型(Short Integer)、整型(Integer)、双字型(Double Word)、长整型(Long Integer),状态标志及状态字,8096/8098单片机存放标志位的程序状态字PSW(Program State Word)由位于CPU的标志寄存器和SFR的中断屏蔽寄存器组成。 应用中既可以对PSW整体操作,也可对状态标志和中断屏蔽分别单独操作。,堆栈(Stack),堆栈用于存放临时数据,遵循“先进后出”的规则。 MCS-96单片机堆栈既可建在片内
43、的寄存器阵列中,也可设置在内外存储器中。 堆栈是由高地址向低地址方向生长的。 堆栈的操作分为压栈和出栈,每次操作都是针对一个字(16位)。,ST标志,粘连标志: 保存右移时进入进位标志继而从进位标志移出的内容,用以正确反映右移后的四舍五入。 四舍五入的规则 常用:值1/2LSB则进位;否则舍去。 改进:值1/2LSB则进位; 值1/2LSB时若LSB=1则进位,否则舍去,结果为偶数。,寻址及寻址方式,寻址是寻找指令所需的操作数,因为大多数操作数是存在存储器中,所以明确了存操作数的地址就找到了操作数。 寻址方式就是得到操作数的方法。 寻址方式愈多样,指令系统就愈灵活,编程就愈方便,计算机的功能就
44、愈强大。 程序的编制和运行效率都与寻址方式有关,主要体现在程序所占的空间和运行所需的时间。,MCS-96系列单片机指令系统的寻址方式,寄存器寻址:LDB 20H,30H 寄存器间接寻址:LDB 20H,30H 立即寻址:LDB 20H,#30H 自动增量寻址:LDB 20H,30H+ 短变址寻址:LDB 20H,12H30H 长变址寻址:LDB 20H,1234H30H 零寄存器寻址:LDB 20H,4321HR0 堆栈指针寄存器寻址:LDB 20H,30HSP,数据传送指令(10条),字装载:LD 20H,30H 字节装载:LDB 20H,30H 字存放:ST 20H,30H 字节存放:ST
45、B 20H,30H 扩零字节装载:LDBZE 20H,30H 扩符号位装载:LDBSE 20H,30H 压栈:PUSH 20H 出栈:POP 30H PSW压栈:PUSHF会使PSW=0 PSW出栈:POPF,算术运算指令(30条),加法:ADD/ADDB(3),ADDC/ADDCB(例1) 减法:SUB/SUBB(3),SUBC/SUBCB(例2) 比较:CMP/CMPB(例3) 乘法:MULU/MULUB(3),MUL/MULB(3)(例4) 除法:DIVU/DIVUB,DIV/DIVB(例5) 增减:INC/INCB,DEC/DECB(例6) 扩展:EXT/EXTB(例7) 格式化:NO
46、RML(例8),加法指令,ADD AX,BX ;AXAX+BX ADDB AL,BL,CL ;ALBL+CL ADDCB AL,BL ;ALAL+BL+C 所有的加法指令执行后影响Z,N,V,C,VT标志。所有的运算指令都要注意对标志位的影响。,减法指令,SUB AX,BX ;AXAX-BX SUBB AH,BH,#12H ;AHBH-12H SUBCB AL,BL ;ALAL-BL-(1-C),比较指令,CMP AX,BX ;AX-BX CMPB AL,#0BH ;AL-0BH 这种指令的主要作用是用以影响标志位,乘法指令,MULUB AX,BL ;AXAL*BL MULU AX,BX,CX
47、 ;AX(双字型)BX*CX MUL AX,BX,CX ;AX(长整型)BX*(CX),除法指令,DIVUB AX,BL ;ALAX/BL,AH余数 DIVU AX,BX ;AX(低字)AX(双字型)/BX ,AX(高字)余数 DIV AX,BX ;AX(低字)AX(长整型)/BX,AX(高字)余数,增减指令,INC AX ;AXAX+1 DECB BL ;BLBL-1,扩展指令,EXTB AX ;若AL.7=1,则AH0FFH ;若AL.7=0,则AH00H EXT AX ;若AX.15=1,则(AX+2)0FFFFH ;若AX.15=0,则(AX+2)0000H 本指令是算术运算的辅助指令
48、,常用于除法运算中将被除数从16位扩展成32位,以便使用除法指令。,格式化指令,NORML AX,CL ;长整型数AX依次向左移位直到有1移进 ;最高位为止,移位次数放在CL中。 本指令是算术运算的辅助指令,用于将整型数变为浮点数。,逻辑运算指令(21条),与运算:AND/ANDB(3) 或运算:OR/ORB 异或运算:XOR/XORB 非运算:NOT/NOTB 求补运算:NEG/NEGB 左移:SHL/SHLB/SHLL(例9) 逻辑右移:SHR/SHRB/SHRL(例10) 算术右移:SHRA/SHRAB/SHRAL(例11),左移指令,SHLB AL,#01 ;将字节AL左移一次,相当无
49、符号数于作一次乘2运算。 SHL AX,CL ;将字AX左移,移位次数由CL决定。 SHLL AX,BL ;将双字AX左移BL次,逻辑右移指令,SHRB AL,#01 ;将字节AL逻辑右移一次,相当无符号数于作一次除2运算。 SHR AX,CL ;将字AX逻辑右移,移位次数由CL决定。 SHRL AX,BL ;将双字AX逻辑右移BL次,算术右移指令,SHRAB AL,#01 ;将短整数AL算术右移一次,相当有符号数于作一次除2运算。 SHRA AX,CL ;将整数AX算术右移,移位次数由CL决定。 SHRAL AX,BL ;将长整数AX算术右移BL次,无条件转移指令(9条),调用:LCALL,
50、SCALL(例12) 返回:RET ;PC(SP),SPSP+2 跳转:LJMP,SJMP,BR(例13) 空操作:NOP ;空操作指令,占一个字节SKIP ;空越指令,占两个字节 陷阱:TRAP ;产生一个向量地址为2010H的软件中断调用,它不受PSW中断标志的限制。它用作调试工具,用户不能用。,调用指令,长调用指令LCLAB: LCALL LONGSUB ;SPSP-2,(SP)PC,PCPC+disp ;disp=LONGSUB-(LCLAB+3)取低16位 ;调用范围为64K,但指令字节占3个 短调用指令SCLAB: SCALL SHORTSUB ; SPSP-2,(SP)PC,PC
51、PC+disp ;disp=SHORTSUB-(SCLAB+2)取低11位 ;调用范围为2K(-1024+1023) ;指令字节只占2个,跳转指令,长跳转指令 LJMP LONGLAB ;PCPC+disp 短跳转指令 SJMP SHORTLAB ;PCPC+disp 间接跳转指令 BR AX ;PC(AX),条件转移指令(19条),判标志跳转:JNST/JST,JNH/JH,JGT/JLE,JNC/JC,JNVT/JVT,JNV/JV,JGE/JLT,JNE/JE 位测试:JBC/JBS 循环控制: DJNZ AL,LAB2 ;ALAL-1,若AL 0,则跳转,否则继续。 条件转移指令中偏移
52、量范围为-128+127 disp=目标地址-(指令地址+2或3)取低8位,特殊控制指令(8条),清寄存器:CLR/CLRB 标志位控制:CLRC,SETC,CLRVT 中断控制:DI,EI 复位:RST ;将RESET拉低两个状态周期,伪指令,伪指令的作用是为汇编规定格式,提出具体的汇编要求,并不产生目标代码。 常用的伪指令: ORG 3000H ;规定源程序存放的起始地址 AX EQU 30H;将一数值赋予某指定字符串 TAB1 DB 01H,02H,03H ;将字节数据装入特定存储区 DW 1234H,5678H;将字数据装入存储区 DC 0189,ABYZ;存入字符串(以ASCII形式
53、) END ;汇编结束,第四章 作业,教材 习题四 6,16,17,19.(1)(3)(5),汇编语句,汇编语言是由助记符形式的指令(汇编指令、伪指令、宏指令)与一定的语法规则相结合而成。 汇编语言中的一条语句由四个部分组成: 标号 操作码 操作数 注释 LOOP1: ADD AX,BX ;AXAX+BX 标号必须以字母打头,标号长度和是否需“:”视汇编程序而定。 注释必须以“;”开头,可放在任何需要的地方。,编制汇编语言程序的一般步骤,建立数学模型,确定算法 设计程序流程图 安排寄存器和内存空间 编制源程序 上机调试并运行程序,顺序程序,顺序程序是指没有分支的程序,这种程序的特点是顺序逐条从
54、头至尾地执行指令。顺序程序也称简单程序,它是最基本的程序形式。 拆字程序(例1) 多字节数乘法程序(例2),4字节无符号数乘法,要求:(33H30H)*(37H34H)3FH38H 解:基本原理如下所示,4字节无符号数乘法,ORG 2080H LD SP,#0080H MULU 38H,30H,34H MULU 3CH,32H,34H ADD 3AH,3CH ADDC 3EH,#00H PUSH 3EH MULU 3CH,30H,36H ADD 3AH,3CH ADDC 3EH,SP+,CLR 3CH ADDC 3CH,#00H PUSH 3CH PUSH 3EH MULU 3CH,32H,3
55、6H ADD 3CH,SP+ ADDC 3EH,SP+ SJMP $,拆字,将3080H单元的数字分解,低4位放入3081H,高4位放入3082H。 解:流程图如右所示。 ;定义寄存器 AX EQU 20H AL EQU 20H AH EQU 21H BX EQU 22H,拆字,ORG 2080H ;程序开始存放 LD BX,#3080H ;建立地址指针 LDB AL,BX+ ;取数 LDB AH,AL ;保存原数 ANDB AL,#0FH;屏蔽高四位 STB AL,BX+ ;存低四位 SHRB AH,#04H;逻辑右依四次 STB AH,BX ;存高四位 HERE: SJMP HERE ;原
56、地等待 END ;汇编结束,分支程序,分支程序是具有两个或两个以上流向的程序,即程序运行时,CPU并非按程序逐条执行指令,而是在程序的分支点根据一定的条件产生跳转,去执行另一处的程序段。 原码加法程序(例3),长整型原码加减法程序,(33H30H)(37H34H)33H30H,数据都为原码,最高位为符号位,其余31位是数值位。原码加法入口为DADD,原码减法入口为DSUB。溢出时C=1,否则C=0。 解:流程图如右所示。,长整型原码加减法程序,AL EQU 20H BL EQU 22H CL EQU 24H ORG 3000H DSUB: XORB 37H,#80H;减数符号位;取反 DADD
57、: LDB AL,33H;保存符号位 LDB BL,37H ANDB 33H,#7FH;取绝对值 ANDB 37H,#7FH LDB CL,AL XORB CL,BL JBS CL,7,DNX3 ADD 30H,34H;同号相加 ADDC 32H,36H JBS 33H,7,DNT2,DNT1: ANDB AL,#80H;AsCs ORB 33H,AL CLRC RET DNT2: SETC;溢出 RET DNT3: SUB 30H,34H;异号相减 SUBC 32H,36H JC DNT1 NOT 32H;结果求补 NEG 30H ADDC 32H,#00H XORB AL,#80H;取B符
58、号位 SJMP DNT1,循环程序,在一些问题的处理过程中,常常有许多重复的或相同的步骤,循环程序可以使这些步骤能反复执行,程序变得简练,从而节省存储空间,但并不节省执行时间。 延时程序(例4) 多字节数除法程序(例5),延时1ms的程序(晶振12MHz),解:循环初始值k=1ms/17T=235=0EAH其中状态周期T=1/4M=0.25s ORG 2080H DELAY: LDB AL,#0EAH;置循环次数 LOOP: NOP ;延时4T NOP ;延时4T DJNZ AL,LOOP ;若跳转需9T SJMP $,4字节无符号数除法程序,要求:(37H30H)(3BH38H)33H30H;余数37H34H。 解:多字节除法只能用比较法完成,流程图如右所示。,4字节无符号数除法程序,LDB CL,#32 ;设置循环次数 UDIV1: SUB AX,34H,38H;比较被除数与除数 LD AX,36H SUBC AX,3AH CLR AL ;设置商结果 JNC UDIV3 UDIV2: SUB 34H,38H
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 赛乐特护理用药药物使用指导原则
- 骨折患者皮牵引护理查房要点
- 呼吸衰竭患者的心理护理与沟通技巧
- 2025年广东深圳多校初三第二次适应性联考道法试题含答案
- 2026年医疗卫生系统廉政风险防控考试题库及答案
- 电子竞技战队训练与赛事备战方案
- 规范行为诚信承诺书5篇
- 2024-2025学年北京科技大学天津学院单招《数学》通关考试题库附完整答案详解【典优】
- 2024-2025学年度河北省单招考试一类 《文化素质数学》题库含完整答案详解【典优】
- 2024-2025学年度执业药师综合提升测试卷(黄金题型)附答案详解
- XTTS数据迁移方案V3
- 个人投资资金合同模板
- 企业信息咨询服务合同
- 保护性约束课件
- 《消防排烟通风天窗》
- 海南省定安富文金矿矿区污染治理修复项目(修编) 环评报告
- 人教版六年级数学下册全册分层作业设计含答案
- c90温控表说明书
- 肝修补术后的护理查房课件
- 幼儿行为观察概述(一)
- 第二章-临床康复工程学基础
评论
0/150
提交评论