西安交大-单片机课件chapt5
单片机超详细教程PPT超赞
79
78
71
70
69
68
61
60
59
58
51
50
49
48
41
40
39
38
31
30
29
28
21
20
19
18
11
10
09
08
01
00
高128个单 元
☆离散分布有21个 特殊功能寄存器 SFR。 ☆ 11个可以进行位 寻址。
☆特别提示:对 SFR只能使用直接 寻址方式,书写时 可使用寄存器符号, 也可用寄存器单元 地址。
单片机种类
◆单片机的发展经历了由4位机到8位机,再到16位机的发展过程
◆目前8位单片机仍是单片机的主流机型;
◆生产厂商:
美国微芯片公司:PIC16C××系列、PIC17C××系列、PIC1400系列, 美国英特尔公司的MCS-48和MCS-51系列, 美国摩托罗拉公司的MC68HC05系列和MC68HC11系列, 美国齐洛格公司的Z8系列, 日本电气公司的μPD78××系列, 美国莫斯特克公司和仙童公司合作生产的F8(3870)系列等。
中央处理器CPU:8位,运算和控制功能 内部RAM:共256个RAM单元,用户使用前128个单元,
用于存放可读写数据,后128个单元被专用寄存器占用。 内部ROM:4KB掩膜ROM,用于存放程序、原始数据和表格。 定时/计数器:两个16位的定时/计数器,实现定时或计数功能。 并行I/O口:4个8位的I/O口P0、P1、P2、P3。 串行口:一个全双工串行口。 中断控制系统:5个中断源(外中断2个,定时/计数中断2个,
在单片机的C语言程序设计中,可以通过关键字sfr来定义所有特殊功 能寄存器,从而在程序中直接访问它们,例如:
单片机-第五章ppt课件
第五章MCS-51单片机的硬件资源
湘
当从P0口输出地址或数据时,控制信号应为高
潭 电平1,模拟转换开关〔MUX〕把地址/数据信息经
大 学
反相器和下拉场效应管接通,同时与门翻开。输出的
单 片
地址或数据既经过与门去驱动上拉场效应管,又经过
机 反相器去驱动下拉场效应管。
原
理 例如,假设地址/数据信息为“0〞,该“0〞信号
P3
。这四个并行I/O端口的内部位构造如图5
1所示,
著 每个端口皆有八位。由图5 1可见,每个位构造都有一
组
个输出锁存器和一个输入缓冲器。输出锁存器,用于存
放需求输出的数据。
第五章 MCS-51单片机的硬件资源
湘
每个端口的八位输出锁存器构成一个特殊功能存
潭 大
放器,且冠名与端口一样。输入缓冲器用于对端口引
著 组
MOS输入电路,且能驱动四个LSTTL输入。P2口常用
作外部存储器的高八位地址口。当不用作地址口时,
P2口亦可作通用I/O口,这时它也是一个准双向I/O口。
第五章MCS-51单片机的硬件资源
湘
潭
大 读锁存器
学
单
片
机 原
单 动电路任务于开漏形状,故需外接上拉电阻。
片
机 原
当P0口引脚上输入数据,此时上拉FET应不断
理 处于截止形状。引脚上的外部信号即加在下面一个
及 三态缓冲器的输入端,又加在下拉FET的漏极,假
应 用
定在此之前曾输出锁存过数据0 ,那么FET是导通
编 的,这样引脚上的电位就一直被钳位在0 电平,使
著 组
组 存储单元的数据。
第五章MCS-51单片机的硬件资源
单片机课件-第五章
单 0,使上拉场效应管处于截止状态,因此输出级是漏
片 机
极开路电路。这样,当写脉冲加在触发器时针端CP
原 上时,则与内部总线相连的D端数据取反后就出现在
理 及 应
Q端,再经场效应管反相,在P0引脚上出现的数据正 好是内部总线的数据。
用
编 不难看出,P0口在输出地址/数据信息和作为一般
著 组
I/O口输出数据时,其输出驱动电路的工作状态是有
P1.0
K0
P1.1 K1
P1.3 K2 8031
P1.2
F
(b)8031的接线
R L
编 著
平时就开始模拟一组变
对电路进行模拟是
组 量(D和E)的输入,并
指模拟它的输出状
通过LED显示输出结果。 态如何随输入状态
的变化而变化。
第五章 MCS-51单片机的硬件资源
湘 相应程序为:
潭 大
ORG 0500H
差别的。
第五章MCS-51单片机的硬件资源
湘 潭 大 学
一般P0口的输出级能驱动8个LS TTL 输入,但对 NMOS输入而言,P0口做地址/数据总线口使用时,不 必外加提升电阻。而作一般I/O口使用时,由于输出驱
单 动电路工作于开漏状态,故需外接上拉电阻。
片
机 原
当P0口引脚上输入数据,此时上拉FET应一直
单 片
数据必须一直保持到CPU把它读走为止。P0、P1 、
机 原 理
P2 和P3端口的电路形式不同,其功能也不同。下面 结合电路结构就其功能加以说明。
及 应
一、P0口
用 编
在访问外部存储器时,P0口是一个真正的双向
著 数据口,并分时送出地址的8位和送出(接收)相应
单片机课程-PPT版
ORG START: MOV
6.3.2 工作方式1
【例6-3】设单片机晶振频率为fosc=12MHz,使用定时器T1 以 方式1 产生周期为2ms 的等宽连续方波,并由P1.0 输出(用查 询方式完成)。 解:本例同例6-2,基本定时时间为1ms。 ① 计算计数初值
将x 表示为二进制形式:x= 1111110000011000B,故(TH1)= 0FCH,(TL1)=18H。 ② TMOD 寄存器初始化 定时器T1 为方式1:则M1M0=01;定时功能: T / C =0;为 实现定时器T1 的运行控制,GATE=0。定时器T0 不用,有关 位设定为0。因此TMOD 寄存器应初始化为10H。
ORG AJMP ORG LJMP ORG START: MOV MOV MOV MOV CLR SETB SETB SETB SJMP PITO1: MOV MOV CPL RETI END
0000H START 001BH PITO1 0100H SP, #60H TMOD, #00H TH1, #0E0H TL1, #18H P1.0 EA ET1 TR1 $ TL1, #18H TH1, #0E0H P1.0
【例6-1】设定时器T0 选择工作方式0,定时状态,定时时间 1ms,fosc=6MHz。试确定T0 初值,计算最大定时时间tmax。 解: ① 计算最大定时时间
② 计算计数器的初值
转换为二进制数:x=1111 0000 01100B 取x 的低5 位送TL0 的低5 位,TL0 的高3 位取0,则(TL0) =0000 1100B=0CH。取x 的高8 位送给TH0,则(TH0)=1111 0000B=0F0H。
单片机应用技术概述教学课件
单片机应用技术概述教学课件pptxx年xx月xx日contents •单片机应用技术概述•单片机的硬件结构•单片机的软件编程•单片机应用系统的设计和开发•单片机的前沿技术和未来发展•教学资源和进一步学习建议目录01单片机应用技术概述单片机是一种集成电路芯片,它把计算机的CPU、内存、I/O 等主要部件集成在一块芯片上,具有体积小、价格低、功耗低、可靠性高的特点。
单片机定义单片机具有模块化、可扩展性和通用性,它可以实现数字和模拟信号的转换,数据处理和控制等功能,适用于各种领域。
单片机的特点单片机的定义和特点第一阶段单片机的发展历程可以追溯到20世纪70年代,当时出现了一些简单的单片微控制器,如Intel的8051。
单片机的发展历程第二阶段到了20世纪80年代,随着技术的不断发展,单片机逐渐普及,并出现了许多知名的单片机厂商,如Philips、TI等。
第三阶段20世纪90年代至今,单片机技术不断发展,出现了许多新技术和新产品,如嵌入式系统、网络化等。
智能仪表单片机可以用于各种智能仪表,如水表、电表、燃气表等,实现数据的采集和传输。
单片机可以用于各种工业控制领域,如自动化生产线、机器人等,实现生产过程的自动化控制。
单片机可以用于智能家居领域,实现家庭智能化管理,提高生活质量。
单片机可以用于医疗器械领域,如电子胃镜、超声波诊断仪等,提高医疗设备的可靠性和安全性。
单片机可以用于汽车电子领域,实现车辆的安全控制和智能化管理。
单片机的应用领域工业控制医疗器械汽车电子智能家居02单片机的硬件结构控制器用于控制和管理程序执行,协调各个部件的工作。
运算器进行算数运算和逻辑运算,支持程序运行。
中央处理器存储器片内RAM用于存放程序运行时的变量和中间结果,可直接与CPU交换数据。
片内Flash用于存放程序代码,可以通过编程和擦除操作来修改。
可配置为输入或输出模式,用于连接外部设备和控制器交互。
通用I/O接口支持串行通信协议,如UART、SPI等,用于与其他设备进行数据交换。
单片机原理教程经典ppt课件
contents •单片机概述•单片机内部结构•单片机指令系统与汇编语言•单片机C语言编程基础•单片机中断系统与定时器/计数器•单片机串行通信接口技术•单片机扩展技术与应用实例分析目录01单片机概述单片机定义与发展定义发展历程单片机应用领域智能家居汽车电子智能照明、智能安防、智能家电等。
车身控制、发动机控制、安全系统等。
工业控制医疗设备物联网自动化生产线、智能仪表、电机控制等。
医疗仪器、健康监测设备等。
智能传感器节点、物联网网关等。
常见单片机类型及特点8051系列AVR系列PIC系列ARM系列02单片机内部结构中央处理器CPU控制器运算器控制程序执行流程,包括指令取指、译码和执行。
寄存器组程序存储器数据存储器特殊功能寄存器030201存储器结构输入/输出接口电路I/O端口并行I/O口串行I/O口时钟电路与复位电路时钟电路提供单片机工作所需的时钟信号,通常由晶振和振荡器组成。
复位电路使单片机在启动时或异常情况下恢复到初始状态,确保系统可靠运行。
上电复位和手动复位两种常见的复位方式,分别用于系统上电和手动操作时的复位。
03单片机指令系统与汇编语言指令格式操作码+操作数,其中操作码指明操作性质,操作数表示操作对象。
指令系统计算机硬件能够识别并执行的一组基本操作命令的集合。
指令周期执行一条指令所需的时间,包括取指、分析和执行三个阶段。
指令系统概述寻址方式与数据传送指令寻址方式数据传送指令算术运算和逻辑运算指令算术运算指令逻辑运算指令进行与、或、非等逻辑运算,如AND、OR、NOT等。
1 2 3无条件转移指令条件转移指令子程序调用与返回指令控制转移类指令04单片机C语言编程基础C语言在单片机开发中的应用嵌入式系统开发语言01可移植性强02高效性能03数据类型、运算符与表达式数据类型运算符表达式流程控制语句条件语句使用if、else等关键字实现条件判断,根据条件的不同执行不同的操作。
循环语句使用for、while等关键字实现循环结构,用于重复执行某段代码直到满足特定条件。
《单片机第五章》PPT课件
精选PPT
24
ORG 0000H
START:LJMP MAIN
;跳转到主程序
ORG 0003H
LJMP INTO
;转向中断服务程序
ORG 0030H
;主程序
MAIN:CLR IT0
;设为电平触发方式
SETB EA
;CPU开放中断
SETB EX0
;允许中断
MOV DPTR,#1000H ;设置数据区地 址指针
TI,串行口发送中断标志位。当CPU将一个发 送数据写入串行口发送缓冲器时,就启动了发送 过程。每发送完一个串行帧,由硬件置位TI。 CPU响应中断时,不能自动清除TI,TI必须由软 件清除。
RI,串行口接收中断标志位。当允许串行口接 收数据时,每接收完一个串行帧,由硬件置位RI。 同样,RI必须由软件清除。
精选PPT
20
§5.3 中断系统的应用
AT89C51中断功能的应用主要包括两 方面的内容:一是各中断源的合理运用和相 应硬件电路的设计,二是初始化程序和中断 服务程序的编写。下面通过几个应用举例加 以理解。
精选PPT
21
[例]利用外中断实现程序的单步执行。
AT89C51内部有4 KB字节的Flash存储 器,用户编写好的程序用简单的程序写入 器很容易写入和擦除,在没有开发系统的 条件下,利用外中断实现程序的单步运行 为用户调试程序带来一定的方便。
用于设定各中断源的优先级,字节地址B8H。
PS:串行口中断优先级控制位 PT1:T1中断优先级控制位 PX1:INT1中断优先级控制位 PT0:T0中断优先级控制位 PX0:INT0中断优先级控制位 以上各位:1-高优先级;0-低优先级。
精选PPT
13
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
第5章 MCS-51 单片机的中断系统及定时器本章主要介绍51系列单片机中断系统和定时器问题,本章将介绍以下具体内容:定时/计数器----定时/计数器的定时和计数功能、定时器/计数器的控制寄存器、定时器/计数器的工作方式、定时/计数器用作外部中断扩展、定时中断联合举例。
中断系统----中断源、中断方式 、中断控制寄存器、中断响应、中断请求的撤除。
CPU与外设之间传送数据的方式可以有以下几种:1.无条件传送方式2.查询方式3.中断传送方式4.DMA方式§5.1 5.1 输入输入输入//输出的控制方式预备内容§5.2 MCS-51单片机的中断系统5.2.1. MCS-51单片机的中断系统结构一、中断的概念执行主程序主程序继续执行主程序断点中断请求中断响应执行中断处理程序中断返回5.2.2. MCS-51 中断源一、中断源共有五个中断源,分别是外部中断两个、定时中断两个和串行中断一个,它们是:外部中断0--INT0,由P3.2提供,外部中断1—INT1,由P3.3提供,外部中断有两种信号方式,即电平方式和脉冲方式。
T0溢出中断; 由片内定时/计数器0提供T1溢出中断; 由片内定时/计数器1提供串行口中断RI/TI; 由片内串行口提供二、中断方式单片机的中断为固定入口式中断,即一响应中断就转入固定入口地址执行中断服务程序。
具体入口如下:中断源 入口地址INT0 0003HT0 000BHINT1 0013HT1 001BHRI/TI 0023H在这些单元中往往是一些跳转指令,跳到真正的中断服务程序,这是因为给每个中断源安排的空间只有8个单元。
三、中断控制的寄存器与中断控制有关的控制寄存器有四个:TCON----定时控制寄存器,IE----中断允许控制寄存器,IP----中断优先级控制寄存器,SCON----及串行口控制寄存器。
1.定时控制寄存器TCONIT0IE0IT1IE1TF0TF1D0D1D2D3D4D5D6D7中断请求标志触发方式选择0 低电平1 下降沿2.串行口控制寄存器SCONRITID0D1D2D3D4D5D6D7串行中断请求标志3.中断允许控制寄存器IEEX0ET0EX1ET1ESEAD0D1D2D3D4D5D6D74.中断优先级控制寄存器(IP)PX0PT0PX1PT1PSD0D1D2D3D4D5D6D70 禁止,1允许0 低级别,1高级别四、中断响应响应条件----CPU要响应中断需满足下列条件:① 无同级或高级中断正在服务;② 当前指令周期结束,如果查询中断请求的机器 周期不是当前指令的最后一个周期,则不行;③ 若现行指令是RETI、RET或访问IE、IP指令,则需要执行到当前指令及下一条指令方可响应。
响应过程--单片机响应中断后,自动执行下列操作:①置位中断优先级有效触发器,即关闭同级和低级 中断:②调用入口地址,断点入栈,相当于LCALL指令;③进入中断服务程序。
响应时间--从查询中断请求标志位到转向中断服务入口地址所需的机器周期数。
(1)最快响应时间以外部中断的电平触发为最快。
从查询中断请求信号到中断服务程序需要三个机器周期:1个周期(查询)+2个周期(长调用LCALL)(2)最长时间若当前指令是RET、RETI和IP、IE指令,紧接着下一条是乘除指令发生,则最长为8个周期:2个周期执行当前指令(其中含有1个周期查询)+4个周期乘除指令+2个周期长调用=8个周期。
中断返回—中断处理程序的最后一条指令是RETI,它使CPU结束中断处理程序的执行,返回到断点处,继续执行主程序。
5.2.3. 中断程序举例p83图5-4图5-4为单片机数据传输示意图。
外设数据经P1口输入单片机,每准备好一个数据,外设发出选通信号,经触发器和非门至INT0。
P1口P3.0QDCLKCLR选通信号+5V1INT0数据8031数据传送过程:外设每准备好一个数据后,发出选通信号,使触发器输出1再经非门得0至INT0,向CPU发出中断请求, CPU 响应这个中断请求后,在中断处理程序中先撤除中断请求信号,(通过P3.0=0,使INT0=1)再由P1口输入数据到单片机内部。
P1口P3.0QDCLKCLR选通信号+5V1INT0数据8031程序清单:ORG 0000HSTART:LJMP MAINORG 0003HLJMP IINT0ORG 0030H ;主程序MAIN: CLR IT0 ;低电平触发SETB EASETB EX0 ;开中断MOV DPTR,#1000H...ORG 0100HIINT0:PUSH PSW ;中断处理程序PUSH ACCCLR P3.0NOPNOPSETB P3.0 ;撤除INT0MOV A,P1 ;输入数据MOVX @DPTR,A ;保存数据INC DPTR...POP ACC ;恢复现场POP PSWRETI ;返回主程序§5.2 MCS-51单片机的定时/计数器定时/实现方式:1.软件定时;2.不可编程硬件定时;3.可编程定时 。
一、定时/计数器的定时和计数功能在TMOD 中,各有一个控制位(C/T),分别用于控制定时/计数器T0和T1是工作在定时器方式还是计数器方式。
1. 1. 定时功能定时功能定时功能--------计数输入信号是内部时钟脉冲,每个机器周期使寄存器的值加1。
所以,计数频率是振荡频率的1/12。
2. 2. 计数功能计数功能计数功能--------计数脉冲来自相应的外部输入引脚,T0为P3.4,T1为P3.5。
定时/计数器的核心部件是二进制加1计数器(TH0、TL0或TH1、TL1) 。
二、定时器/计数器的控制寄存器 与定时器/计数器有关的控制寄存器有:1.定时器控制寄存器TCONIT0IE0IT1IE1TR0TF0TR1TF1D0D1D2D3D4D5D6D7中断请求标志触发方式选择启动定时/计数器0 低电平1 下降沿0 停止1 启动2.工作方式控制寄存器TMODT1控制T0控制M0M1C/TGATEM0M1C/TGATE D0D1D2D3D4D5D6D7GATE—门控位C/T—计数/定时选择M1 M0—工作方式选择计数脉冲输入三、定时器/计数器的工作方式 定时器/计数器共有四种工作方式 1. 方式0—13位方式TF0T0TR0GATE INT01≥1&C/T=1振荡器1/12C/T=0TL0 TH08位低5位13位计数器定时器计数器2. 方式1—16位方式振荡器1/12TL0 TH0TF01≥1&T0 TR0 GATE INT0C/T=0C/T=18位8位16位计数器3. 方式2—8位自动装入时间常数方式TF0振荡器1/121≥1&T0 TR0 GATE INT0C/T=0C/T=1TL0TH04. 方式3—2个8位方式仅T0可以工作在方式3—此时T0分成2个独立的计数器—TL0和TH0 ,前者用原来T0的控制信号(TR0、TF0),后者用原来T1的控制信号(TR1、TF1)。
四、应用举例②计算计数器的计数初值:编程时将计数初值送THi、 TLi;可编程器件在使用前需要进行初始化:①确定TMOD控制字:编程时将控制字送TMOD;例题1:设晶振频率f OSC =6MHz,使用定时器1以方式1产生周期为500μs 的方波脉冲,并由P1.0 输出。
试以中断方式实现。
③ 开中断(如果使用中断方式):编程实置位EA、ETi④ TRi 位置位控制定时器的启动和停止。
P1.0① TMOD确定T1控制T0控制XXXX1M0M1C/TGATEM0M1C/TGATE控制字10H要产生500μs 的方波脉冲,只需在P1.0端以250μs为间隔,交替输出高低电平即可实现。
为此,定时间应为250μs 。
使用6MHz晶振,则一个机器周期为2μs,设待求计数初值为X,则:② 计算计数器的计数初值;(216–X)×2×10 -6 =250×10 -6即216–X=125X=216-125=10000H-7DH=0FF83H所以,初值为:TH1=0FFH,TL1=83H③ 采用中断方式:编程时打开全局和局部中断。
④ 由定时器控制寄存器TCON中的TR1位控制定时器的启动和停止。
TR1=1,启动;TR1=0,停止。
程序设计ORG 0000HLJMP MAIN ;主程序入口 ORG 001BHLJMP INTT1 ;T1中断入口INTT1: MOV TH1,#0FFH ;重新设置初值 MOV TL1,#83H CPL P1.0 ;输出取反 RETIORG 1000HMAIN:MOV TMOD, #10H ;T1为方式1 MOV TH1, #0FFHMOV TL1,#83H ;初值SETB EA ;允许中断SETB ET1SETB TR1 ;启动定时SJMP $ ;等待中断主程序:中断处理程序:例题2:设晶振频率f=6MHz,分别讨论各种工OSC作方式下最长定时时间。
解:=6MHz可知,MC=2us;1.由fOSC2.由于是加1计数,所以最长定时应是计数初值最小时(即为0时)的定时时间。
所以此时有:方式0:(213–0)×2us= 214us=16384us=16.384ms方式1:(216–0)×2us= 217us=131.072ms方式2、3(28–0)×2us= 29us=0.512ms注意:以上是当f=6MHz,即MC=2us时各种方式OSC下的定时时间,若f OSC=12MHz,则最长定时时间将缩短一半。
五、定时/计数器用作外部中断扩展在计数方式下,如果把计数器预置为全1,则只要在计数输入端(T0或T1输入端)加一脉冲就可以使计数器溢出,产生溢出中断。
这就是定时/计数器实现外部中断扩展的思想。
具体方法是:① 置定时/计数器为工作方式2,即自动加载式8位计数,以便在一次中断响应后,自动为下一次中断作准备;② TH和TL均置为FFH;③ 扩展的外部中断请求信号接计数脉冲输入端(T0或T1);④ 把扩展的外中断服务程序存放在所占用的定时/计数器中断入口地址处(000BH或001BH)。
例:以T0 实现一个外部中断扩展。
则初始化程序为:MOV TMOD,#06H ;00000110MOV TH0,#0FFHMOV TL0,#0FFHSETB EA ;开全局中断 SETB ET0 ;开T0中断SETB TR0 ;准备计数将中断子程序放在T0中断入口处(000BH)。
T0计数器方式T0方式2课堂练习P95 题6、11、13题6—略题11思路:1.1000Hz方波,即周期是1ms,定时时间为500us, P1.1交替输出0、1电平,即可得到该方波。