单片机讲义7讲
教学课件单片机创新开发教程ch7使用中断

P1INTE
P2INTE P3INTE
P4INTE
P5INTE
P6INTE
P7INTE
7.3 相关知识
7.3.4.外部中断
触发外部中断的方式有两种:边沿触发 (包括上升沿和下降沿)、电平触发(高 低电平变化),如图7-3所示。基于 STC8H8K64U的天问51只支持下降沿和电 平变化2种触发方式。
7.4 项目设计
任务 KEY1按键中断控制LED
void INT0(void) interrupt 0 using 1{
P4_1 = !P4_1;
}
void setup()
{
P3M1|=0x04;P3M0&=~0x04;
//高阻输入
P4M1&=~0x02;P4M0|=0x02;
//推挽输出
IT0 = 1;
CCF3
8 0/1/2/3 S2RI || S2TI
9 0/1/2/3
SPIF
10
0
INT2IF
11
0
INT3IF
12
0
T2IF
16 0/1/2/3
INT4IF
17 0/1/2/3 S3RI || S3TI
18 0/1/2/3 S4RI || S4TI
19
0
T3IF
20
0
T4IF
21 0/1/2/3
7.4 项目设计
基于STC8H8K64U芯片的天问 51 开发板上有5个 外部中断: INT0 到 INT4。具体设置如下。 INT0 为 P32 连接到了独立按键 KEY1。 INT1 为 P33 连接到了独立按键 KEY2。 INT2 为 P36 连接到了红外接收引脚。 INT3为 P37 连接到了加速度传感器的中断引脚。 INT4 为 P30 连接到了 USB 接口的“D-” 。 外部中断设置基本雷同,仅以INT0为例子进行项目 演示。
《单片机原理》第七章-PPT课件

7.2 MCS-51单片机系统的抗干扰措施 •7.2.1 抗干扰硬件措施——看门狗电路
单片机课程
目前,市场上已经出现多种型号的微机监控电路芯片, 这些芯片不仅自带计数脉冲振荡器,而且还能对单片机 的供电电源进行监控,确保系统万无一失。 在一些高档单片机中还内嵌了“监控电路”如PHILIPS 公司生产的8XC552系列单片机(与MCS-51 全兼容), 内部具有一个 “Watch Dog”电路,对系统实行全面监 控。
2019/3/16
大连理工大学电气系
目录
7.2 MCS-51单片机系统的抗干扰措施 •7.2.1 抗干扰硬件措施——看门狗电路 1、看门狗电路工作原理及参数设定
MCS-51
RESET
单片机课程
原始喂狗
死机时的复位脉冲
中间喂狗
ALE P1.0
CP /R
Q
N位计数器
程序飞走
程序正常时 的“喂狗”信号
1)根据程序一次周期的时间T1选择计数器的溢出时间T2; 2)不能影响正常时单片机的工作,即两次“喂狗”的时间间 隔T3要小于计数器溢出的时间;即T2>T1>T3 3)合理选择“喂狗”的位置。 2019/3/16 目录 大连理工大学电气系
常用单片机仿真完成,然后固化软件,脱开仿真器, 插回单片机与固化了的程序存储器。
2019/3/16
大连理工大学电气系
目录
7.2 MCS-51单片机系统的抗件措施——看门狗电路 从理论上讲,只要将程序编好系统就可以正常工作 了。但是在实际应用中,常常会出现系统无缘无故的 “死机”。这种情况会导致不可想象的后果,特别在一 些闭环的控制系统,这是绝对不允许的。 造成“死机”的主要原因:
单片机应用系统的开发一般包括以下步骤: 1、确定系统控制方案,彻底了解控制对象和控制要求。 (1)高速对象(电机调速、图像语音识别等)还是慢速 对象(温度、流量等过程控制); (2)开环控制还是闭环控制; ……
单片机教案(讲稿)

单片机教案(讲稿)第一章:单片机概述1.1 单片机的定义与发展历程介绍单片机的概念及其发展历程讲解单片机在我国的应用与发展现状1.2 单片机的组成与结构介绍单片机的组成结构,包括CPU、存储器、输入/输出接口等讲解单片机的硬件系统设计与应用1.3 单片机的特点与分类讲解单片机的主要特点,如体积小、成本低、功耗低等介绍单片机的分类及应用领域第二章:单片机编程基础2.1 计算机组成原理与数制转换讲解计算机组成原理,包括二进制、八进制、十六进制等数制转换方法介绍ASCII码、GB2312等字符编码标准2.2 单片机指令系统与编程语法讲解单片机的指令系统,包括数据传输、逻辑运算、算术运算等指令介绍单片机编程语法,如寄存器、立即寻址、间接寻址等2.3 程序设计方法与技巧讲解程序设计方法,包括顺序结构、分支结构、循环结构等介绍编程技巧,如变量命名、代码优化、模块化设计等第三章:单片机接口技术3.1 并行接口设计与应用讲解并行接口的原理与设计方法介绍并行接口在单片机中的应用案例,如键盘、LED显示等3.2 串行接口设计与应用讲解串行接口的原理与设计方法介绍串行接口在单片机中的应用案例,如串口通信、USB接口等3.3 其他接口技术介绍讲解ADC、DAC、PWM等接口技术的原理与应用介绍这些接口技术在单片机中的应用案例第四章:单片机应用系统设计4.1 系统设计流程与方法讲解单片机应用系统设计的流程,包括需求分析、硬件选型、软件设计等介绍系统设计方法,如模块化设计、层次化设计等4.2 硬件系统设计与调试讲解硬件系统设计的方法与技巧介绍硬件调试工具与方法,如示波器、逻辑分析仪等4.3 软件系统设计与调试讲解软件系统设计的方法与技巧介绍软件调试工具与方法,如调试器、仿真器等第五章:单片机项目实践5.1 项目实践概述讲解项目实践的目的与意义介绍项目实践的内容与要求5.2 项目实践案例一:温度控制系统讲解温度控制系统的原理与设计方法介绍使用单片机实现温度控制的具体步骤与技巧5.3 项目实践案例二:智能家居系统讲解智能家居系统的原理与设计方法介绍使用单片机实现智能家居的具体步骤与技巧5.4 项目实践案例三:小型讲解小型的原理与设计方法介绍使用单片机控制小型的具体步骤与技巧展望单片机技术在未来的发展趋势与应用前景第六章:单片机中断与定时器/计数器6.1 中断系统讲解单片机的中断系统概念、类型及优先级介绍中断服务程序的编写方法与中断响应过程6.2 定时器/计数器原理讲解定时器/计数器的结构、工作模式及编程方法介绍定时器/计数器在工业控制中的应用案例6.3 中断与定时器/计数器应用实例结合具体案例,讲解中断与定时器/计数器在实际项目中的应用第七章:单片机串行通信技术7.1 串行通信基础讲解串行通信的概念、分类及标准介绍串行通信的物理层、数据链路层及网络层协议7.2 单片机串行通信接口讲解单片机串行通信接口的原理与编程方法介绍单片机串行通信在各种应用场景中的案例7.3 串行通信技术应用实例结合具体案例,讲解串行通信技术在实际项目中的应用第八章:单片机接口扩展技术8.1 并行扩展技术讲解并行扩展芯片的选型及接口设计方法介绍并行扩展在存储器、IO接口等方面的应用8.2 串行扩展技术讲解串行扩展芯片的选型及接口设计方法介绍串行扩展在ADC、DAC、显示模块等方面的应用8.3 接口扩展技术应用实例结合具体案例,讲解接口扩展技术在实际项目中的应用第九章:单片机嵌入式系统设计9.1 嵌入式系统概述讲解嵌入式系统的概念、特点及分类介绍嵌入式系统的设计流程与方法9.2 嵌入式操作系统讲解嵌入式操作系统的概念、特点及分类介绍常见的嵌入式操作系统及其应用案例9.3 嵌入式系统设计实例结合具体案例,讲解嵌入式系统在实际项目中的应用第十章:单片机技术发展趋势与应用前景10.1 单片机技术发展趋势讲解单片机技术的发展趋势,如性能提升、集成度增加等介绍新兴的单片机技术,如片上系统(SoC)、物联网(IoT)等10.2 单片机应用前景探讨单片机技术在各个领域的应用前景,如工业控制、智能家居、医疗设备等分析单片机技术对我国经济社会发展的重要意义重点和难点解析重点环节一:单片机的定义与发展历程单片机作为微控制器的核心,其定义和发展历程是理解微控制器应用的基础。
单片机讲义第七章

一、中断的起因
什么可以引起中断? 生活中很多事件可以引起中断:有人 按了门铃了,电话铃响了,你的闹钟闹响 了,你烧的水开了….等等诸如此类的事件, 我们把可以引起中断的称之为中断源,单 片机中也有一些可以引起中断的事件, 8051中一共有5个:两个外部中断,两个 计数/定时器中断,一个串行口中断。
三、中断的响应过程
当有事件产生,进入中断之前我们必须先记住现 在看书的第几页了,或拿一个书签放在当前页的位置, 然后去处理不同的事情(因为处理完了,我们还要回 来继续看书):电话铃响我们要到放电话的地方去, 门铃响我们要到门那边去,也说是不同的中断,我们 要在不同的地点处理,而这个地点通常还是固定的。 89C51中也是采用的这种方法,五个中断源,每个 中断产生后都到一个固定的地方去找处理这个中断的 程序,当然在去之前首先要保存下面将执行的指令的 地址,以便处理完中断后回到原来的地方继续往下执 行程序。
二、中断的嵌套与优先级处理
设想一下,我们正在看书,电话铃响了,同时又 有人按了门铃,你该先做那样呢?如果你正是在等一 个很重要的电话,你一般不会去理会门铃的,而反之, 你正在等一个重要的客人,则可能就不会去理会电话 了。如果不是这两者(即不等电话,也不是等人上 门),你可能会按你通常的习惯去处理。总之这里存 在一个优先级的问题, 单片机中也是如此,也有优先级的问题。优先级 的问题不仅仅发生在两个中断同时产生的情况,也发 生在一个中断已产生,又有一个中断产生的情况,比 如你正接电话,有人按门铃的情况,或你正开门与人 交谈,又有电话响了情况。考虑一下我们会怎么办吧。
电平触发的外部中断的清除
对于电平触发的外部中断,CPU响应中断后, 虽然也是由硬件清除了相应的标志位,但是不 能对外部引脚上的电平进行处理,也就是说, 这时如果外部引脚上的低电平依然存在,会造 成重复中断,因此我们应该在电路上增加对外 部引起中断的信号进行处理。P148图7-5是一 个可行的方案之一。通过I/O口输出一个信号, 使得外部引脚上的中断请求信号变为高电平。
(单片机完整课件PPT)第七章

当SM2=1时,只有当接收到第9位数据(RB8)为1时,才将接 收到的前8位数据送入SBUF,并置位RI;否则,将接收到的8位 数据丢弃。当SM2=0时,则不论第9位数据为0还是为1,都将8 位数据装入SBUF中,并置位RI。 REN:允许/禁止接收控制位 0—禁止接收; 1—允许接收。 TB8:发送数据第9位。 RB8:接收数据第9位。 TI: 发送中断标志 RI: 接收中断标志。
(2)输入(接收) 设置:SM0=0,SM1=0,SM2=0,REN=1。
时序:
RXD TXD D0 D1 D2 D3 D4 D5 D6 D7
7.2 MCS-51串行口的结构
内部含有1个可编程全双工串行通信接口,4种工作方式。
1.串行口数据缓冲器SBUF
8位发送/接收缓冲器SBUF,在物理上是独立的两个,包括 发送缓冲器SBUF和接收缓冲器SBUF,只是共用地址 99H,这样可以同时进行发送、接收。 发送缓冲器SBUF只能写入不能读出,接收缓冲器SBUF只能 读出不能写入。
(1)输出(发送)
设置:SM0=0,SM1=0,SM2=0,REN=0。 时序:
RXD TXD D0 D1 D2 D3 D4 D5 D6 D7
串口方式0发送数据时序
发送完8位数据,即SBUF为空,硬件自动置“1”中断标志位TI,
CPU响应中断后必须软件清“0”TI。
应用:扩展一并行口,“串入并出”。
2.串行通信的分类
异步通信(Asynchronous Communication)
数据以字节为单位组成字符帧传送。字符帧由发送端一帧 一帧地发送。两相邻字符帧之间可以无空闲位,也可以有若干 空闲位。这就是异步概念。发送端和接收端的时钟各自独立。 实现双方同步接收是靠字符帧的起始位和停止位。
最新-单片机原理及应用(李肃义)chapter7-精选文档-PPT文档资料

原理及应用。
目
的
和
要
求
在计算机的应用领域中,通信
是指CPU与外部的信息交换
(Commuciation)。基本的通 串
信方式有两种:并行通信与串 行
行通信。
通
信
和
基
础
知
识
并行通信
并行通信:数据各位同时传送。
特点:速度快、效率高,
串
数据位决定数据线数。传送 行
成本高,适合近距离传输。 通
51 串
接收时,接收端从RxD一位一位地接收数据,直到收到
行
一个完整的字符数据后通知CPU,再通过“MOV A,
口
的 SBUF”读指令,从SBUF(99H)读出数据,送到累加器A。
结
构
串行口控制寄存器SCON
串行数据通信的方式选择、接收和发送控制以及
串行口的状态标志均由SCON控制和指示。复位
和
符传送作正确性检查。奇偶校验位有3种可能的选择,即 奇、偶或无校验,由用户根据需要选定。
基
础
知
识
停止位:为逻辑“1”信号,此位位于字符帧末尾,表示 一帧字符信息已发送完毕。
异步通信的优点:不需要传送同步脉冲,字符帧的长度也
串
不受限制,故所需设备简单。
行
通
异步通信的缺点:字符帧中因包含有起始位和停止位而降 低了有效数据的传输效率。
串
波特率是串行通信的重要指标,用于表征数据传 行
送的速率。波特率越高,数据传输速度越快。
通
信
和
基
础
知
识
MCS-
串行口的结构 51单片机有一个全双工的串行口,可作为异步通
单片机原理及应用第七讲.ppt

2、中断查询确认后,在下列各种8031单片机运 行中,能立即进行响应的是:
(1)当前正在进行高优先级中断处理 (2)当前正在执行RETI指令 (3)当前指令是DIV指令,且正处于取指令的机器周期 (4)当前指令是MOV A,R3
这些指令后,再执行一条指令才能响应新的中断请求。
第七讲
第五章 MCS-51的中断系统
中断入口地址:
中断响应后,CPU将当前PC值压入堆栈(先压PCL, 后压PCH),保护断点,并将该中断的入口地址装入PC, 从而使CPU执行中断服务程序。
外部中断0 定时器/计数器T0 外部中断1 定时器/计数器T1 串行口中断
硬件置位或清零。
第七讲
第五章 MCS-51的中断系统
3、SCON 字节地址为98H
特殊功能寄存器,为串行口控制寄存器。 其格式如下:
SCON SM0 SM1 SM2 REN TB8 RB8 TI RI 位地址 9FH 9EH 9DH 9CH 9BH 9AH 99H 98H
此控制寄存器中有2位中断请求标志: TI或 RI。
第七讲
第5章 MCS-51的中断系统
第七讲
一、中断的概念
第五章 MCS-51的中断系统
单片机对内、外随机发生的事件的处理是采用查询 和中断两种方式。查询方式:方便、简捷、不增添硬件 电路,但会大量占用CPU 的工作时间。中断方式:增加 了一定的硬件电路,但提高了对突发事件的响应速度, 且不占用CPU工作时间。
什么是中断?中断响应过程? 中断服务(中断服务程序)? 中断系统、中断源、中断请求(中断申请)以及中断返 回、断点保护等基本概念。
单片机 第七章课件

第九讲课题:MCS-51单片机控制与C语言一教学目的:掌握C51的语法和编程方法学习C51程序设计教学难点、重点:C51程序设计I、课程复习、引入C语言是一种编译型程序设计语言,它兼顾了多种高级语言的特点,并具备汇编语言的某些特点,用C语言进行程序设计已经成为软件开发的一个主流。
单片机开发也适应了这个潮流。
II、本课内容第七章MCS-51单片机控制与C语言7.1 C语言与MCS-51用C语言开发单片机的优点:●优于汇编语言的开发速度。
●软件的可读性和维护性显著改善。
●提供的库函数包含许多标准子程序,具有较强的数据处理能力。
●关键字及控制转移方式更接近于人的思维方式。
●方便地进行多人联合开发,进行模块化软件设计。
●方便进行同一硬件平台的软件设计和移植●方便跨硬件平台软件移植。
●适合运行嵌入式实时操作系统。
本章是针对这种被广泛运用的MCS-51的C语言编译器Keil C51,介绍MCS-51单片机C语言程序设计。
7.1.1C语言提要1)C语言的注释(1)//(双斜杠)注释,表示从双斜杠开始到本行结尾是注释,不参加编释,多见于C++。
(2)/**/(斜杠星号对)之间是注释,可以允许多行。
Keil C51同时可上面两种注释。
2)C的数据类型数据类型基本类型:整型、字符型、枚举类型、实型:单精度型和双精度型构造类型括数组类型、结构体类型、共用体类型。
指针类型空类型Bit sbit3)C的运算符算术运算符+、-、*、/、%(整除求余)、++(自加)、--(自减)关系运算符> 、< 、== 、>=、<=、!=逻辑运算符! 、&&、||位运算符< <(左移)、>>(右移)、~、| 、^ 、&赋值运算符=及其扩展赋值运算符条件运算符?;逗号运算符,指针运算符* &求字节数运算符sizeof强制类型转换运算符类型分量运算符.→下标运算符[ ]其他如函数调用运算符( )C语言可以分为以下五类:①控制语句完成一定的控制功能。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
SJMP SUL2
NEG: MOV R1, #0FFH ; (R0)<0, 则 R1←0FFH
SUL2: RET
第 3 章 MCS-51单片机汇编语言程序设计
图 3-2
第 3 章 MCS-51单片机汇编语言程序设计
有一类分支程序,它根据不同的输入条件或不同的运算 结果,转向不同的处理程序,称之为散转程序。这种程序通 常利用JMP @A+DPTR 间接转移指令实现。有如下两种方法:
第 3 章 MCS-51单片机汇编语言程序设计
ORG 0100H MOV A, R3
; R3->A
ADD A, A
; A*2
MOV DPA+DPTR MOV B, A
; 取地址表中的高字节 ;暂存于B
INC DPL
POP A MOVC A, @A+DPTR ;取地址表中的的字节
MOV DPTR,#JPT ;置分支表首址
JMP @A+DPTR ;即JMP JPT +2N,从而执行JPT+2N
中的AJMP PRn指令
第 3 章 MCS-51单片机汇编语言程序设计
AGAN: POP A
;不相等比较下一个
INC A
;序号加1
CJNE A,#5,NEXT
SJMP $
;键码查完还没有B中按键
MOV A,40H CJNE A,41H,NOEQ ;两数不等转NOEQ MOV GE,A ;两数相等,GR单元和LE单元均存次数
MOV LE,A
SJMP $
NOEQ: JC LESS
;A小则转LESS
MOV GR,A ;A大,大数存GR单元
MOV LE,41H ;小数存LE单元
SJMP $
GR EQU 30H
1) 查转移地址表。将转移地址列地址列成表格,将表格 的内容作转移的目标地址。
2) 查转移指令表。将转移到不同程序的转移指令列成 表,判断条件后查表,转到表中执行,下面用两个例子说明。
1. 利用转移地址表实现转移 例3-7 根据R3的内容转向对应的程序,处理程序的入口分 别为PR0-PRn(R3的内容<128,n<128)
MOV DPL, A
MOV DPH, B
;DPTR为表中地址
CLR A
;A=0
JMP @A+DPTR
;JMP PRn
TAB: DW PR0,PR1,PR2,…,PRn
END
第 3 章 MCS-51单片机汇编语言程序设计
2. 利用转移指令表实现转移 例3-8 设有五个按键0,1,2,3,4,其编码分别
循环程序设计的一个主要问题是循环次数的控制,有 两种方式:第一种方法是先判断,再处理即先判断满 不满足循环条件,如不满足,就不循环,多以循环条 件控制。第二种方法是先处理再判断,即循环一遍后, 下一轮还需不需要进行,多以计循环次数控制。循环 可以有单重循环和多重循环,再多重循环中,内部循 环不能交叉,也不允许外循环跳入内循环。
ED: SJMP $
第 3 章 MCS-51单片机汇编语言程序设计 开始
(30H)→A
A=00H?
Y
N Y
A>00H?
N (20H)+05H→(30H)
20H→(30H)
结束
图3-1 例3-6程序流程图
第 3 章 MCS-51单片机汇编语言程序设计
加例 x, y均为8位二进制数, 设 x存入R0, y存入R1, 求解:
程序如下:
1
x0
y
1
x0
0
x0
START: CJNE R0, #00H, SUL1 ; R0中的数与00比较不等转移
MOV R1, #00H
; 相等, R1← 0
SJMP SUL2
SUL1: JC NEG
; 两数不等, 若(R0)<0, 转向NEG
MOV R1, #01H ; (R0)>0, 则 R1←01H
第 3 章 MCS-51单片机汇编语言程序设计
ORG 0000H
MOV A, 30H
JZ NEXT
;判断是否为零
ANL A, #80H ;判断符号位
JZ ED
;X>0转ED
MOV A, #05H ;X<0 完成X+5
ADD A, 30H
MOV 30H, A
SJMP ED
NEXT: MOV 30H, #20H ;X=0
编码程序结束
JPT: AJMP PR0 ;分支转移表
AJMP PR1
AJMP PR2
AJMP PR3
AJMP PR4
TAB: DB 3AH,47H,65H,70H,8BH ;键码表
END
第 3 章 MCS-51单片机汇编语言程序设计
3.5 循环程序设计
当程序中的某些指令需要反复执行多次时,采用 循环程序的方式,这样会使程序缩短,节省存储单元 (并不节省执行时间)。
第 3 章 MCS-51单片机汇编语言程序设计
ORG 0000H
MOV DPTR, #TAB ;置键码首址
MOV A, #0
;表的起始位的偏移量为0
NEXT: PUSH A MOVC A,@A+DPTR ;A=键码表的编码 CJNZ A,B,AGAN ;将B中值和键码的值比较
POP A
RL A
;如相等,序号乘2得分支表内偏移量
为 3AH,47H,65H,70H,8BH, 要 求 根 据 按 下 的 键 转 向 不 同的处理程序,分别为PR0,PR1,PR2,PR3,PR4。 设按键的编码已在B寄存器中,编出程序。
分析 将键码排成表,查B中的键编码在键码中的 序号N,另安排已个转移表,存放AJMP指令,因每 条AJMP指令占二字节,序号乘2即2N为转移表内的 偏移地址,利用JMP @A+DPTR实现多分支转移,程 序如下:
第 3 章 MCS-51单片机汇编语言程序设计
3.4 分支程序设计
例3-5 在内部RAM 的40H和44H地址单元中,有2各无符号数,试编程比较 这两数的大小,将大数存于内部RAM的GR单元,小数存于LE地址单元,如 两数相等,则分别送入GR和LE地址单元。 分析 采用CJNE指令,既可以判断相等与否,还可以通过Cy标志判断大小。 程序如下:ORG 0000H
LE EQU 31H
END
第 3 章 MCS-51单片机汇编语言程序设计
例3-6 设变量X以补码的形式存放在片内RAM的30H单元, 函数y与x 有如下关系式:
x
x>0
y= 20H x=0
x+5 x<0
试编制程序,根据X的大小求出Y并放回原单元。
分析 取出变量后先作取值范围的判断,对符号的判断可用 位操作类指令,也可用逻辑运算类指令实现,此处用逻辑运 算指令。流程见图3-1,程序如下: