单片机第四章外围模块PPT课件
合集下载
完美版课件资料单片机原理及应用第四章

确定字符名为确定的位地址(数值地址或符号地 址)值。
例:FLG BIT 00H FAST BIT 20H ┇ CLR FLG SETB FAST ┇
4.4 基本程序结构
4.4.1 顺序程序
顺序程序是指无分支、无循环结构的程序。 其执行流程是依指令在存储器中的存放顺序 进行的。
顺序程序是所有程序设计中最基本、最 简单,应用最多的程序结构。
CJNE A,30H,NE ;若两个数不相等,则转NE
SETB 7FH;若两个数相等,则7FH单元置1
AJMP OVER ;转OVER
NE: CLR 7FH
;7FH单元清零
OVER:SJMP $
[例] 设VAR 单元内有一自变量X,请按如 下条件编程求函数值Y并存入FUNC单元 中。
1 X 0 Y 0 X 0
五、字节数据定义伪指令 DB
格式:[标号:]DB 字节数据表。
功能是从标号指定的地址开始,在ROM中把数据 以字节数的形式存放在存储器单元中。一个数据 占一个存储单元。
例:FIRST: DB 73,04,53,38,00,46 SECON:DB 02H,36H,7AH,34H
六、字数据定义伪指令 DW
MOV R7,#08H ;R7存放循环次数
判断两个数相等的程序流程图
程序如下:
ORG 0100H
MOV DPTR,#2000H;地址指针指2000H单元
MOVX A,@DPTR ;(2000H)→A
MOV R0,A
;A→R0
MOV DPTR,#2001H;地址指针指2001H单元
MOVX A,@DPTR ;(2001H)→A
MOV 30H,R0
MOV A,#0FFH ; 若 X<0 , 则 -1→A , FFH为-1的补码
例:FLG BIT 00H FAST BIT 20H ┇ CLR FLG SETB FAST ┇
4.4 基本程序结构
4.4.1 顺序程序
顺序程序是指无分支、无循环结构的程序。 其执行流程是依指令在存储器中的存放顺序 进行的。
顺序程序是所有程序设计中最基本、最 简单,应用最多的程序结构。
CJNE A,30H,NE ;若两个数不相等,则转NE
SETB 7FH;若两个数相等,则7FH单元置1
AJMP OVER ;转OVER
NE: CLR 7FH
;7FH单元清零
OVER:SJMP $
[例] 设VAR 单元内有一自变量X,请按如 下条件编程求函数值Y并存入FUNC单元 中。
1 X 0 Y 0 X 0
五、字节数据定义伪指令 DB
格式:[标号:]DB 字节数据表。
功能是从标号指定的地址开始,在ROM中把数据 以字节数的形式存放在存储器单元中。一个数据 占一个存储单元。
例:FIRST: DB 73,04,53,38,00,46 SECON:DB 02H,36H,7AH,34H
六、字数据定义伪指令 DW
MOV R7,#08H ;R7存放循环次数
判断两个数相等的程序流程图
程序如下:
ORG 0100H
MOV DPTR,#2000H;地址指针指2000H单元
MOVX A,@DPTR ;(2000H)→A
MOV R0,A
;A→R0
MOV DPTR,#2001H;地址指针指2001H单元
MOVX A,@DPTR ;(2001H)→A
MOV 30H,R0
MOV A,#0FFH ; 若 X<0 , 则 -1→A , FFH为-1的补码
单片机原理及智能仪表技术课件第4章

2 SPI
串行外设接口,用于与其 他设备进行通信。
3 I2C
双向串行总线,用于连接 多个设备。
单片机的内部结构
CPU
中央处理器,负责执行指令 和进行运算。
寄存器
用于存储临时数据和状态信 息。
时钟
控制单片机的节拍和运行速 度。
单片机的存储器体系结构
单片机包括各种类型的存储器,如闪存、EEPROM和RAM,用于存储程序和数存储中断处理程序的地址。
3
中断源
硬件和软件触发的中断信号。
中断优先级
确定中断的处理顺序。
单片机的输入输出端口
单片机通过输入输出端口与外部设备通信。这些端口可以用来读取和写入数 据,并控制外部设备的操作。
单片机的定时器
定时功能
用于生成精确的时间延迟。
计数功能
用于统计外部事件的数量。
单片机的串行通信口
1 UART
通用异步收发器,用于串 行数据传输。
单片机原理及智能仪表技 术课件第4章
本章将介绍单片机的原理和智能仪表技术。从单片机的基本组成和功能,到 存储器和总线结构,再到输入输出端口和各种通信口,最后探讨智能仪表在 工业自动化中的应用。
单片机的编程语言
单片机可以使用多种编程语言,如汇编语言和高级语言C。每种编程语言都有其优点和适用场景,最重要的是 选择合适的语言来实现所需的功能。
单片机第四章.ppt

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单片机中断系统
待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单片机中断系统
单片机原理与应用课件单片机原理与应用第四章

•
汇编程序遇到END 伪指令后即结束汇编。处于END 之后的程序,汇
编程序将不处理。
(3)字节数据定义伪指令DB
•
格式为:
• [标号:] DB 字节数据表 • • 功能是从标号指定的地址单元开始,在程序存储器中定义字节数据。 • DB “Hello World” • DB –2,–4,–6,5,10,18
机汇编语言的指令语句格式为: • [标号:] 指令助记符 [操作数1] [操作数2] [操作数3] [;注释]
• LOOP:MOV A,# 7FH ;A←7FH
• 一、标号 • 标号是指令语句的符号地址,用于引导对该语句的非顺序访问,通常可以
作为转移指令的操作数。
• 标号不能使用保留字,如指令助记符、寄存器符号名称、伪指令等; • 标号位于语句的开头位置,由字母、数字或其它特定字符组成,以字母开
用途
#include 包含一个源代码文件
#define 定义宏
#undef 取消已定义的宏
#if
如果给定条件为真,则编译下面代码
#elif
#endif #ifdef
如果前面的#if给定条件不为真,而当前条件为真 ,则编译下面代码 结束一个#if……#else条件编译块
如果宏已经定义,则编译下面代码
#ifndef #error
• 1.C51源程序的编辑 • #include<reg51.h> • #define LED P1 • unsigned int m; • void delay_ms(void); • void delay_us(void); • ... ...
//预处理命令,用于包含头文件,宏定义等
//全局变量说明 //函数1声明
单片机的外围模块及其应用并行口及其应用PPT学习教案

图5-9 4X4键盘结构和接口方法
第42页/共59页
二、键盘状态的判断
无键按下,该行线为高电平,当有键按下时, 行线电平由列线的电平来决定。
由于行、列线为多键共用,各按键彼此将相 互发生影响,必须将行、列线信号配合起来并作适 当的处理,才能确定闭合键的位置。
D
Q
P1.n
锁存器
Q
内部上拉电阻 P1.n
T
读引脚
图 2-5a P1口的口线逻辑电路图
第13页/共59页
P1口作输入口时,P1.0—P1.7上的信号经过缓冲器送到内部数据 总线上。在读引脚之前,要先将锁存器置1,否则总是读到0。 CPU对I/O口的读操作有2种:读引脚和读锁存器。
VCC
读锁存器
内部总线 写锁存器
所有的“读—改—写”指令均读I/O口锁存器。
第10页/共59页
5.1.1 P1口
结构组成:它由一个输出锁存器、两个三 态输入缓冲器和输出驱动电路组成----准双 向口。
功能:作为通用I/O使用。
第11页/共59页
结构组成:它由一个输出锁存器、两个三态输入缓冲器和输出驱 动电路组成----准双向口。
地址/ 数据
控制
读锁存器 T1
内部总线 写锁存器
D
Q
P0.n
锁存器
Q
P0.n
MUX
T2Βιβλιοθήκη 读引脚图 2-5b P0口的口线逻辑电路图
第28页/共59页
2.P0作为地址/数据总线
P0引脚输出地址/输入数据:输入信号是从引脚通过输入缓冲器进
入内部总线。此时,CPU自动使MUX向下,并向P0口写“1”,
“读引脚”控制信号有效,下面的缓冲器打开,外部数据读入内
第42页/共59页
二、键盘状态的判断
无键按下,该行线为高电平,当有键按下时, 行线电平由列线的电平来决定。
由于行、列线为多键共用,各按键彼此将相 互发生影响,必须将行、列线信号配合起来并作适 当的处理,才能确定闭合键的位置。
D
Q
P1.n
锁存器
Q
内部上拉电阻 P1.n
T
读引脚
图 2-5a P1口的口线逻辑电路图
第13页/共59页
P1口作输入口时,P1.0—P1.7上的信号经过缓冲器送到内部数据 总线上。在读引脚之前,要先将锁存器置1,否则总是读到0。 CPU对I/O口的读操作有2种:读引脚和读锁存器。
VCC
读锁存器
内部总线 写锁存器
所有的“读—改—写”指令均读I/O口锁存器。
第10页/共59页
5.1.1 P1口
结构组成:它由一个输出锁存器、两个三 态输入缓冲器和输出驱动电路组成----准双 向口。
功能:作为通用I/O使用。
第11页/共59页
结构组成:它由一个输出锁存器、两个三态输入缓冲器和输出驱 动电路组成----准双向口。
地址/ 数据
控制
读锁存器 T1
内部总线 写锁存器
D
Q
P0.n
锁存器
Q
P0.n
MUX
T2Βιβλιοθήκη 读引脚图 2-5b P0口的口线逻辑电路图
第28页/共59页
2.P0作为地址/数据总线
P0引脚输出地址/输入数据:输入信号是从引脚通过输入缓冲器进
入内部总线。此时,CPU自动使MUX向下,并向P0口写“1”,
“读引脚”控制信号有效,下面的缓冲器打开,外部数据读入内
单片机第4章课件教材

上面的程序可改成如下形式:
PUSH DPH
;保存DPH
PUSH DPL
;保存DPL
MOV DPTR,#TAB1
MOVC A,@A+DPTR
POP DPL
;恢复DPL
POP DPH
;恢复DPH
RET
TAB1: DB 00H,01H,04H,09H,10H DB 19H,24H,31H,40H,51H
反汇编——分析现成产品的程序,要将二进制的机器 代码语言程序翻译成汇编语言源程序。
4.3 汇编语言实用程序设计
4.3.3 查表程序设计
数据补偿、修正、计算、转换等各种功能,具有程序 简单、执行速度快等优点。
查表就是根据自变量x,在表格中寻找y,使y=f(x)。
执行查表指令时,发出读程序存储器选通脉冲/PSEN。 在MCS-51的指令系统中,给用户提供了两条极为有 用的查表指令:
交叉汇编—汇编后的机器代码是在另一台计算机(这 里是单片机)上运行。
MCS-51单片机的应用程序的完成,应经过三个步骤; (1)在微计算机上,运行编辑程序进行源程序的输入
和编辑; (2)对源程序进行交叉汇编得到机器代码;
(3)通过微计算机的串行口(或并行口)把机器代码 传送到用户样机(或在线仿真器)进行程序的调试 和运行。
器代码 (2)伪指令语句
是为汇编服务的。在汇编时没有机器代码与之对应。
MCS-51的汇编语言的四分段格式如下: 标号字段 操作码字段 操作数字段
注释字段
例4-1 下面是一段汇编语言程序的四分段书写格式
基本语法规则: 1.标号字段 是语句所在地址的标志符号
标号字段 操作码字段 操作数字段 注释字段 START: MOV A,#00H ;0→A MOV R1,#10 ;10→R1 MOV R2,#00000011B ;3→R2 LOOP:ADD A,R2 ;(A)+(R2)→A DJNZ R1,LOOP;R1内容减1不 为零,则循环
PUSH DPH
;保存DPH
PUSH DPL
;保存DPL
MOV DPTR,#TAB1
MOVC A,@A+DPTR
POP DPL
;恢复DPL
POP DPH
;恢复DPH
RET
TAB1: DB 00H,01H,04H,09H,10H DB 19H,24H,31H,40H,51H
反汇编——分析现成产品的程序,要将二进制的机器 代码语言程序翻译成汇编语言源程序。
4.3 汇编语言实用程序设计
4.3.3 查表程序设计
数据补偿、修正、计算、转换等各种功能,具有程序 简单、执行速度快等优点。
查表就是根据自变量x,在表格中寻找y,使y=f(x)。
执行查表指令时,发出读程序存储器选通脉冲/PSEN。 在MCS-51的指令系统中,给用户提供了两条极为有 用的查表指令:
交叉汇编—汇编后的机器代码是在另一台计算机(这 里是单片机)上运行。
MCS-51单片机的应用程序的完成,应经过三个步骤; (1)在微计算机上,运行编辑程序进行源程序的输入
和编辑; (2)对源程序进行交叉汇编得到机器代码;
(3)通过微计算机的串行口(或并行口)把机器代码 传送到用户样机(或在线仿真器)进行程序的调试 和运行。
器代码 (2)伪指令语句
是为汇编服务的。在汇编时没有机器代码与之对应。
MCS-51的汇编语言的四分段格式如下: 标号字段 操作码字段 操作数字段
注释字段
例4-1 下面是一段汇编语言程序的四分段书写格式
基本语法规则: 1.标号字段 是语句所在地址的标志符号
标号字段 操作码字段 操作数字段 注释字段 START: MOV A,#00H ;0→A MOV R1,#10 ;10→R1 MOV R2,#00000011B ;3→R2 LOOP:ADD A,R2 ;(A)+(R2)→A DJNZ R1,LOOP;R1内容减1不 为零,则循环
单片机原理第四章输入输出中断定时与串行通信ppt课件

3. 中断方式
中断方式下外设的状态信号以中断申请方式输入CPU。 CPU响应中断,暂停正在执行的程序,转而执行中断服务程序,在中 断服务程序中对外设进行输入/输出操作,中断返回后,再继续执行被中断的程序。
中断方式可提高单片机系统的效率,特别适用于电池供电的低功耗系统。
5个中断源符号、名称及产生条件分别为: (1) INT0 .:外部中断0,由P3.2管脚输入,低电平或下降沿有效。通过设置定时器控制寄存器TCON的相应控制位选择。 (2) INT1:外部中断1,由P3.3管脚输入,低电平或下降沿有效。通过设置定时器控制寄存器TCON的相应控制位选择。 (3) T0:定时器/计数器0中断,由T0回零溢出有效。 (4) T1:定时器/计数器1中断,由T1回零溢出有效。 (5) TI/RI:串行口完成一帧数据的发送/接收后有效。
4. 中断优先级控制寄存器IP 每个中断源有两个优先级,可用程序对中断优先级控制寄存器IP的控制位置位或复位来选择。特殊功能寄存器IP的字节地址 为B8H,位地址由低位到高位为B8H~BFH。IP的格式如下:
位 地 址 B F H B E H B D H B C H B B H B A H B 9 H B 8 H 位 符 号 / / / P SP T 1P X 1P T 0P X 0 与中断优先级有关的控制位有5位: (1) PX0(IP.0)和PX1(IP.2):外部中断0和外部中断1中断优先级控制位。PX0(PX1)=0,低优先级;PX0(PX1)=1,高优先级。 (2) PT0(IP.1)和PT1(IP.3):定时器/计数器0和定时器/计数器1中断优先级控制位。PT0(PT1)=0,低优先级;PT0(PT1)=1, 高优先级。 (3) PS(IP.4):串行口中断优先级控制位。PS=0,低优先级;PS=1,高优先级。 (4) IP.5~IP.7:保留位。 51系列单片机中,两个优先级的结构可实现中断嵌套服务,中断优先级的控制原则: (1) 高优先级中断请求可以打断低优先级中断服务形成中断嵌套 (2) 同级中断之间不能形成中断嵌套 (3) 同级中断源有多个同时向CPU请求中断时,CPU的响应顺序为:外部中断0→定时中断0→外部中断1→定时中断1→串行 口中断
单片机第4章

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