单片机第四章.ppt

合集下载

单片机讲稿第四章精品PPT课件

单片机讲稿第四章精品PPT课件
振荡器脉冲
机器周期脉冲 Tcy
光源
光接
收器
定时器/计数器有四种工作方式,由工作方式控制寄存器 TMOD和控制寄存器TCON设定。
(1)工作方式控制寄存器 TMOD
M1 M0 00 01 1 13 位定时器 /计数器(TH 的 8 位和 TL 的低 5 位 ) 16 位定时器/计数器 (TH 的 8 位和 TL 的 8位 ) 自动重装入初值的 8 位定时器/计数器 T0 分成两个独立的 8 位计数器, T1 在方式 3 时停止工作
第四章 单片机的定时器/计数器和中 断系统
4.1 单片机的定时器/计数器
定时器/计数器的结构与应用
MCS - 51单片机的内部结构
计数脉冲输入
时钟源
4K ROM (EPROM)
SFR, 128 字节RAM
定时器/计 数器0、1
CPU
并行I / O 接口 P0 P1 P2 P3
串行接口
中断系 统
定时器/计数器是MCS-51单片机的重要功能模块之一。 在检测、控制及智能仪器等应用中,常用定时器做实时时钟, 实现定时检测、定时控制。还可用定时器产生毫秒宽的脉冲, 驱动步进电动机一类的电气机械。计数器主要用于外部事件 计数。
Y P1.0取反 TH0,TL0赋初值
程序流程框图
2、方式 1
T0或T1 构成16位定时器或计数器 ● 如希望T0工作于方式1定时时,TMOD设为如下命令字
000 1 ● 如希望T0工作于方式1计数时,TMOD设为如下命令字
010 1
● 同样在定时器/计数器T0、 T1 定时或计数前,在相应的寄存 器TH0、TL0, TH1、TL1中要赋予初值。
运行。其结构机器如周下期:

MCS51单片机原理课件(第四章)

MCS51单片机原理课件(第四章)



各个中断源在程序存储器中的中断入口地址如下: 中断源 入口地址(ROM中) INT0(外部中断0) 0003H TF0(T0中断) 000BH INT1(外部中断1) 0013H TFl(T1中断) 001BH RI/TI(串行口中断) 0023H
比如对于外部中断1的响应,系统自动产生 的长调用指令为: LCALL 0013H 由于各个中断入口地址相隔甚近,不便于存放各 个较长的中断服务程序,故通常在中断入口地址 开始的二三个单元中,安排一条转移类指令,以 转入到安排在那儿的中断服务程序。 比如对外中断1的响应,我们可以在ROM中地址 为0013H的单元中放入一条长调用指令: LCALL 3000H(转移到用户所编制的中断服务 程序中去


单片机在每个机器周期的S5P2期间,顺序采样每 个中断源,CPU在下一个机器周期S6期间按优先 级顺序查询中断标志,如查询到某个中断标志为 1,将在再下一个机器周期S1期间按优先级进行 中断处理。 中断得到响应后自动清除中断标志,由硬件将程 序计数器PC内容压入堆栈保护,然后将对应的中 断地址装入程序计数器PC,使程序转向中断向量 地址单元中去执行相应的中断服务程序。
8DH 8BH 8AH 89H 88H

IT0和IT1 选择外部中断请求INT0和INT1为跳沿触 发或电平触发方式的控制位 其值为1:下降沿触发 为0:电平触发 IE0和IE1 外部中断INT0和INT1的中断请求标志位 TF0和TF1 51片内定时器/计数器T0和T1的中断请 求标志位。当T0、T1的最高位产生溢出时将向 CPU申请中断。
ORG 中断入口地址
LJMP INT
MAIN: 主程序 INT: 中断程序
中断服务程序的流程

单片机第4章课件

单片机第4章课件

24
单片机原理与应用
(5)绘制程序流程图
程序流程图是用规定的图形 符号配以文字说明来表示算法或 处理问题的步骤,它具有直观、 易懂的特点,是程序结构设计的 有力工具。
25
单片机原理与应用
程序流程图符号
常用的程序流程图符号如图4-2所示。
图4-2 常用的程序流程图符号
26
单片机原理与应用
程序流程图符号说明:
5
单片机原理与应用
1.起始汇编伪指令
指令格式:ORG 表达式 指令功能:用于向汇编程序说明下面紧接的 程序段或数据段从表达式指定的起始地址开 始存放。表达式通常为十六位地址或自定义 的标号地址。 通常每一个汇编语言源程序的开始,都 要 设 置 一 条 ORG 伪 指 令 来 指 定 该 程 序 在 ROM中存放的起始位置。可以在源程序中使 用多条ORG伪指令来规定不同程序段或数据 段存放的起始地址,但要求地址值由小到大 顺序排列,不允许空间重叠。
139
DB 0FEH, 06H, 20H, 00H, 0FFH, 06H, 20H, 15H
DB 0EFH, 06H, 25H, 00H, 0FFH, 06H, 40H, 00H ……
15
单片机原理与应用
说明:
编号为 135的 DB伪指令的功能是指示汇编 程序从上一条指令(RET)存放完成后的下一 个 ROM 单元开始,依次存入 10 个字形码。该 条伪指令一行写不下,所以分成两条 DB 伪指 令来书写; 编号为 138的 DB伪指令的功能则是从它上 一条ORG伪指令指定的1010H单元开始,依次 存入数据表中的控制码。表项较多,所以用多 条DB伪指令来书写。
DATA: DW …… 0759H 3295H, 2800H, 0BDH,

(单片机完整课件PPT)第四章

(单片机完整课件PPT)第四章

访问 SFR 的 数据类型
例:
bit a1; unsigned char a2; unsigned int a3; unsigned char *a4; unsigned int *a5; a1=0; //位a1为0 a2=0x20; //字节变量a2=20h a3=0x1234; //整型(字)变量a3=1234h a4=0x30; //a4指向内RAM30h单元 a5=0x2000; //a5指向外RAM2000h单元
注意:
Unsigned char code a[10]={0,1,4,9,16,25,36,49,64,81}; Main() {unsigned char x,y; x=3; y=a[x];
a[3]=5;
定义表格数据, 存放在ROM里
}
Unsigned char a[10]={0,1,4,9,16,25,36,49,64,81}; Main() {unsigned char x,y; x=3; y=a[x]; a[3]=5; }
单片机原理与应用技术
厦门理工学院电子与电气工程系 陈志英
第四章 单片机C语言程序设计
4.1 C51的一般格式 4.2 51单片机的C51定义 4.3 C51程序设计简单举例
4.1 C51的一般格式
C程序(.C) 汇编程序(.ASM) 指令代码(.BIN)
C编译器 汇编器
C编译器
C51
FRANKLIN C51 KEIL C51 格式基本相同,可以兼容
数 据 类 型 data/idata/pdata 指针型 code/xdata 通用指针 sbit SFR SFR16
长度/位 8 16 24 1 8 16
字节数 1 2 3 — 1 2

精品课件-单片机原理及应用系统设计-第4章

精品课件-单片机原理及应用系统设计-第4章

;
PUSH
DPL
;
保护现场, 将主程序中
; DPTR的低八位放入堆
MOV
DPTR, #TABLE
; 在子程
第四章 单片机程序设计语言
恢复现场,
MOVC A, @A+DPTR
POP
DPL
将主程序中DPTR
; ;
;的低八位从堆栈中弹出
POP 场, 将主程序中DPTR
DPH
; 恢复现
;的高八位从堆栈中弹出
图 4-8 循环程序的典型形式
第四章 单片机程序设计语言
【例 4-4】 冒泡程序。假设有N个数, 它们依次存放 于LIST地址开始的存储区域中, 将N个数比较大小后, 使它 们按照由小到大的顺序排列,
编写该程序的方法: 依次将相邻两个单元的内容作比较, 即第一个数和第二个数比较,第二个数和第三个数比 较, ……, 如果符合从小到大的顺序则不改变它们在内存 中的位置,否则交换它们之间的位置。如此反复比较, 直到 数列排序完成为止。
LJMP MAIN
;
MAIN: MOV A, X
XRL A, Y
; (X)与(Y)进行异或操作
JB ACC.7, NEXT1
; 累加器A的第7位
为1, 两个数
;符号不同, 转移到
第四章 单片机程序设计语言
MOV
CJNE
转移到NEQUAL
CLR
P1.0置0
S
MOV DXCE1COUNTER, #00H
; 将DXCE1COUNTER赋值为0
而如下的注释则给出了额外有用的信息:
JNZ PC Comm_Err
;
第四章 单片机程序设计语言
(2) 注释应与其描述的代码相近, 对单条语句的注释应 放在其上方或右方相邻位置, 不可放在下面, 如放于上方

8单片机技术基础第四章PPT课件

8单片机技术基础第四章PPT课件

18.08.2020
南京航空航天大学金城学院
14
操作数
汇编语言指令可能要求或不要求操作数 若有两个操作数,操作数之间用逗号“,”分开。
操作数包括的内容有: (1)工作寄存器:由PSW.3和PSW.4规定的当前工作寄存器 区中的R0~R7。 (2)特殊功能寄存器:21个SFR的名字。 (3)标号名:赋值标号—由汇编指令EQU等赋值的标号;指 令标号—指令标号指示的指令的第一字节地址是该标号的值。 (4)常数:可用二进制(B)、十进制、十六进制(H), 若常数以字符开头,前面加0。 (5)$:用来表示程序计数器的当前值。 (6)表达式:汇编时,计算出表达式的值填入目标码。
标号由以英文字母开始的1~8个字母或数字组成, 以冒号“:”结尾。
标号可以由赋值伪指令赋值,如果没有赋值,汇 编程序把存放该指令目标码第一字节的存储单元 的地址赋给该标号,所以,标号又叫指令标号。
操 操作码是必不可少的。 作 它用一组字母符号表示指令的操作码。在89C51 码 中,由89C51的指令助记符组成。
流程图步骤分得越细致,编写程序是也越方便。
画流程图是程序结构设计采用的一种重要手段。
一个系统软件有总的流程图(主程序框图)和局部的 流程图。
流程图常采用的图形和符号。
18.08.2020
南京航空航天大学金城学院
11
椭圆框 矩形框 菱形框
圆圈 指向线
18.08.2020
或桶形框
:表示程序的开始或结束。
机器语言
高级语言
汇编语言
18.08.2020
南京航空航天大学金城学院
FORTRAN BASIC COBOL PASCAL C/C++ JAVA ...

单片机第4章

单片机第4章

4.1.2 汇编语言程序设计的步骤与特点
1.分析任务 当我们要编写某个功能的应用程序时,首先应该详细分析给定的 任务。明确哪些是任务所提供的基本条件,哪些是任务要解决的 具体问题,哪些是任务所期望的最终目标。
2.确定算法 任务明确之后,下一步就是确定解决问题的方法。 所谓算法,就是解决问题的方法,即如何将实际问题转化成程序 模块来处理。对于较复杂的任务,需要先用数学方法把问题抽象 出来。往往同一个数学表达式可以用多种算法实现,我们应综合 考虑寻找出其中的最佳方案,使程序所占内存小,运行时间短。
2.汇编语言 汇编语言是采用易于人们记忆的助记符表示的程序设计语 言,方便人们书写、阅读和检查。一般情况下,汇编语言 与机器语言一一对应。 用汇编语言编写的程序称为汇编语言源程序(源程序)。 把汇编语言源程序翻译成机器语言程序的过程称为汇编, 完成汇编过程的程序称为汇编程序,汇编产生的结果是机 器语言程序(目标程序). 汇编语言源程序从目标代码的长度和程序运行时间上看与 机器语言程序是等效的。不同系列的机器有不同的汇编语 言,因此汇编语言源程序在不同的机器之间不能通用。
4.1.1 汇编语言的特点 1.助记符指令和机器指令一一对应,所以用汇编语言编写的程序
效率高,占用存储空间小,运行速度快,因此汇编语言能编写 最优化的程序。 2.使用汇编语言编程比使用高级语言困难,因为汇编语言是面向 机器的,汇编语言的程序设计人员必须对计算机硬件有相当深 入的了解。 3.汇编语言能直接访问存储器及接口电路,也能处理中断 因此汇 编语言程序能够直接管理和控制硬件设备。 4.汇编语言缺乏通用性,程序不易移植,各种计算机都有自己的 汇编语言,不同计算机的汇编语言之间不能通用。但是掌握了 一种计算机系统的汇编语言后,学习其他的汇编语言就不困难 了。

单片机第四章课件

单片机第四章课件

470 L7
2
1
20P
19 18
XTAL1 XTAL2
GND 20P +5V + 4.7u 9
RESET
1k INT0 MCS-51
图4-2
二、并行口基本知识 MCS—51系列单片机芯片内部集成有四个并行I/O口(P0~ P3),共32条I/O线,每一个I/O线都能独立地用作输入或输 出。8位同时使用可实现8位数据同时传送。 (一)并行I/O口的功能 1.P0~P3口的第一功能: 作通用输入/输出口,用于连接外部设备。 2.P0、P2、P3口的第二功能 P0、P2口用于扩展外部总线
图4-3 MCS—51单片机片外三总线的扩展方法
P3口引 脚 P3.0 P3.1 P3.2 P3.3
第二功能 RXD(串行口输入端) TXD(串行口输出端) (外部中断0输入)
P3口 引脚 P3.4 P3.5
第二功能
T0(定时器0外部输入)
T1(定时器1外部输入) (外部数据存储器写脉冲输出)
INT 0
+5V
10K 10K
20P
19 18
XTAL1 XTAL2
K1 K2
GND 20P
+5V 4.7u 9 RESET
2.流水灯控制 (P1口接 个发光二极管 每隔 秒轮流点亮一个 流水灯控制 口接8个发光二极管 每隔0.1秒轮流点亮一个 口接 个发光二极管,每隔 发光二极管。) 发光二极管。
+5V 470 L0 2 1 1 2 3 4 5 6 7 8 P1.0 P1.1 P1.2 P1.3 P1.4 P1.5 P1.6 P1.7 P0.0 P0.1 P0.2 P0.3 P0.4 P0.5 P0.6 P0.7 P2.0 P2.1 P2.2 P2.3 P2.4 P2.5 P2.6 P2.7 ALE
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
CPU暂时中断当前的工作,转去处理事件B(中 断响应和中断服务);
待CPU将事件B处理完毕后,再回到原来事件A 被中断的地方继续处理事件A(中断返回),这一过程 称为中断 。
第二章 汇编语言和汇编程序
4.2.1 中断和中断处理过程
中断请求
主程序
执行主 程序
断点
继续执行 主程序
中断响应
执行 中断 处理 程序
续时间。每一位的宽度由数据的传输速度决定。 波特率:每秒传输多少个符号。 比特率:每秒传输多少个二进制位。 波特率 = 1/信号持续时间 接收设备和发射设备需要保持相同的传送波特率。
第二章 汇编语言和汇编程序
4.1.3 串行接口
2. 串行外设接口SPI 4线全双工串行总线,可以有多个主器件,支持在
同一总线上将多个从器件连接到一个主器件。 ① MOSI:主从输入线,当SPI作为主器件时,该信号是 输出,当SPI作为从器件时,该信号是输入。传输时, 高位在前,低位在后。 ② MISO:主从输出线,当SPI作为主器件时,该信号是 输入,当SPI作为从器件时,该信号是输出。当SPI未被 选中时,MISO为高阻态。 ③ S器件之间的在MOSI和 MISO线上的串行数据传输。 ④ NSS:从选择线。主器件用它来选择处于从方式的 SPI器件。
EA
中断优先 级寄存器
1
PX0
0
1
PT0
0
1
PX1
0
1
PT1
0
1
PS
0
查询硬件
高级中 断请求 中断源 中断向量
低级中 断请求 中断源 中断向量
第二章 汇编语言和汇编程序
1. 特点
4.2.2 MCS-51单片机中断系统
MCS-51单片机内部接口电路
LOGO
MCS-51单片机内部接口电路
1
接口基本概念
2
中断与中断系统
3
定时/计数器
4
并行输入输出接口
5
UART串行输入输出接口
6
串行通信
第二章 汇编语言和汇编程序
4.1 接口基本概念
接口电路的功能 接口控制原理 串行接口 并行接口
第二章 汇编语言和汇编程序
4.1.1 接口电路的功能
4.1.2 接口控制原理
2.传送控制方式 ➢ 查询方式
中央处理器随时询问接口,数据传送完否或数据准备 好否。 ➢ 中断方式
中断方式下,接口在数据发送数据完毕或接收数据准 备好时再通知中央处理器,中央处理器再发送或接收数 据。 ➢ DMA方式
即数据不经过中央处理器在存储器和外设之间直接传 送的操作方式。适合大量数据传送,控制复杂。
接口电路是一组电路,是中央处理器与存储器、 输入输出设备之间协调动作的控制电路。
简单的说,接口电路是在两个电路或设备之间, 使两者动作相配合的连接电路。
接口电路的作用就是将来自外部设备的数据信号 传送给微处理器,微处理器对数据进行适当加工,再 通过接口电路传回外部设备。 • 地址译码 • 数据缓存 • 信息转换 • 提供命令译码和状态信息 • 定时和控制
关闭中断
保存断点
响应中断
恢复现场 打开中断
中断服务 中断返回
保护现场
第二章 汇编语言和汇编程序
INT0 T0
INT1 T1 TI RI
4.2.2 MCS-51单片机中断系统
IT0
1 IE0
TF0
IT1 1
IE1
TF1
≥1
RI/TI
中断允许 寄存器 EX0 ET0 EX1 ET1 ES
全局中 断允许
中断返回
第二章 汇编语言和汇编程序
4.2.1 中断和中断处理过程 2. 中断系统的功能
1. 能实现中断并返回中断; 判断→响应→保护现场→中断服务→恢复现
场→返回 2. 能实现中断优先级; 3. 能实现中断嵌套(高中断低);
第二章 汇编语言和汇编程序
4.2.1 中断和中断处理过程 3. 中断的处理过程
第二章 汇编语言和汇编程序
4.1.2 接口控制原理
1.数据传送方式 ➢ 并行数据传送
并行数据的每一位都对应独立的传输线路 速度快 线路多 只适用于较短距离的数据传送 ➢ 串行数据传送 串行数据是将构成字符的每个二进制数据位,按一定 的顺序逐位进行传送的方式 远距离传输比并行经济,但控制较为复杂
第二章 汇编语言和汇编程序
第二章 汇编语言和汇编程序
4.1.3 串行接口
1. 通用异步接收器和发送器UART UART是一个能异步传输的数据总线。 TXD:发送数据线 RXD:接收数据线 ➢ 接收和发送可以单独进行,也可以同时进行。 ➢ 格式严格:每个数据以相同的位串形式传输。 ➢ 每个串行数据由起始位、数据位、奇偶校验位组成。 ➢ 从起始到停止位结束时间称为一帧(frame)。
偶校验:组成数据位和奇偶位的逻辑1个数必 须是偶 数。
奇校验:逻辑1的个数必须是奇数。 ④ 停止位:停止位是一个字符数据的结束标志,可以是 1位、1.5位或2位的逻辑1。停止位后,通信线又恢复逻 辑1状态。
第二章 汇编语言和汇编程序
4.1.3 串行接口
UART格式波特率 异步通信传输的所有位信号必须保持一致的信号持
第二章 汇编语言和汇编程序
4.1.3 串行接口
UART格式 ① 起始位:在通信线上没有数据被传送时处于逻辑1状 态,当要发送数据时,首先发出一个逻辑0信号,这个 逻辑0信号就是起始位。 ② 数据位:起始位后位。数据位的个数可以是5~9位, MSC-51中常采用8位或9位数据传送,从最低有效位开 始发送。 ③ 奇偶校验位:检测有限差错。
第二章 汇编语言和汇编程序
4.1.4 并行接口
第二章 汇编语言和汇编程序
4.2 中断与中断系统
中断和中断处理过程 MCS-51中断系统 中断扩展
第二章 汇编语言和汇编程序
4.2.1 中断和中断处理过程
1. 中断的概念
CPU在处理某一事件A时,发生了另一事件B请 求CPU迅速去处理(中断发生);
第二章 汇编语言和汇编程序
4.1.3 串行接口
3. I2C总线 2线半双工串行总线,可以有多个主器件,支持在
同一总线上将多个从器件连接到一个主器件。
① I2C是一个双线的双向串行总线。 I2C上可以有多个 主器件,并允许一个主器件同时访问多个从器件。 ② I2C传输一次数据包括一个起始命令START、一个地 址字节、一个或多个数据和一个停止命令STOP。 ③ 每个地址字节和每个数据字节后面都跟随一个来自接 收器的确认位ACKNOWLEDGE。
相关文档
最新文档