版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
2023/2/61第5章51单片机的中断与定时中断与定时/计数器五个中断源:INT0外部中断、INT1外部中断、 T0溢出中断、T1溢出中断、串口读写中断定时/计数器:T0、T1四种工作模式:工作模式0~31)中断请求标志--定时器控制寄存器TCON中的中断标志位中断相关寄存器TF1TF0IE1IT1IE0IT0TCON(88H)8FH8EH8DH8CH8BH8AH89H88HTCON各控制位的含义:TF1:定时器/计数器T1溢出中断请求标志位。TF0:定时器/计数器T0溢出中断请求标志位。IE1:外部中断1的中断请求标志。IE0:外部中断0的中断请求标志。IT1:外部中断1的中断触发方式控制位。IT0:外部中断0的中断触发方式控制位。3)中断允许控制--中断允许寄存器IE中断相关寄存器IE各控制位的含义:EA:中断允许总控制位。ES:串行口中断允许位。ET1:定时器/计数器T1的溢出中断允许位。EX1:外部中断1的溢出中断允许位。ET0:定时器/计数器T0的溢出中断允许位。EX0:外部中断0的溢出中断允许位。EAESET1EX1ET0EX0IE(A8H)AFHAEHADHACHABHAAHA9HA8H4)中断优先级控制--中断优先级寄存器IP中断相关寄存器IP各控制位的含义:PS:串行口中断优先级控制位PT1:定时器/计数器T1中断优先级控制位PX1:外部中断1中断优先级控制位PT0:定时器/计数器T0中断优先级控制位PX0:外部中断0中断优先级控制位
若某控制位为1,则相应的中断源规定为高级中断;
反之,为0,则相应的中断源规定为低级中断。PSPT1PX1PT0PX0IP(B8H)BCHBBHBAHB9HB8H1)定时器控制寄存器TCON定时器/计数器控制相关寄存器TF1TR1TF0TR0IE1IT1IE0IT0TCON(88H)8FH8EH8DH8CH8BH8AH89H88HTCON各控制位的含义:TF1:定时器/计数器T1溢出中断请求标志位。TF0:定时器/计数器T0溢出中断请求标志位。 ※当T1溢出时,硬件置1;需在中断程序中软件清0。TR1:T1运行控制位。可通过软件置1(TR1=1)或清0(TR1=0)来启动或关闭T1工作。TR0:T0运行控制位。可通过软件置1(TR0=1)或清0(TR0=0)来启动或关闭T0工作。2)定时器方式选择寄存器TMOD定时器/计数器控制类寄存器TMOD各控制位的含义:GATE:门控位。 GATE=0,以运行控制位TR启动定时器,而不管INT0(或INT1)的电平是高还是低; GATE=1,以外中断请求信号(INT1/INT0)启动定时器。只有INT0(或INT1)引脚为高电平且由软件使TR0(或TR1)置1时,才能启动定时器工作。C/T:定时方式或计数方式选择位。 C/T=0,定时工作方式;C/T=1,计数工作方式。M1M0:工作方式选择位。 M1M0=00,工作方式0;M1M0=01,工作方式1; M1M0=10,工作方式2;M1M0=00,工作方式3;
定时器/计数器的四种模式M1M0控制的定时器/计数器的四种工作模式【例1】设时钟频率为6MHz。编写利用T0产生1s定时的程序。解:1)定时器T0工作模式的确定∵模式0最长可定时16.384ms;模式1最长可定时131.072ms;
模式2最长可定时512μs;∴定时1s,可选用模式1,每隔100ms中断一次,中断10次从而达到
1s的定时。2)求计数器初值X∵(216-X)×12/(6×106)=100×10-3s∴X=15536=3CB0H
因此:(TL0)=0B0H(TH0)=3CH3)实现方法:对于中断10次计数,可使T0工作在计数方式,也可用循环程序的方法实现。本例采用循环程序法。综合应用举例(1)【例2】设计实时时钟程序。时钟就是以秒、分、时为单位进行计时。用定时器与中断的联合应用。解:1)实现时钟计时的基本方法①计算计数初值。 时钟计时的最小单位是秒,可把定时器的定时时间定为100ms,计数溢出10次即得到1秒;10次计数可用软件方法实现。 假定使用定时器T0,以工作模式1进行100ms的定时。如fosc=6MHz,则计数初值X为: ∴X=15536=3CB0H 因此:(TL0)=0B0H(TH0)=3CH②采用定时方式进行溢出次数的累计,计满10次即得到秒计时。 设置软件计数器初值为10,每100ms定时时间到溢出中断,使软件计数器减1,直到减到0,则1s到。综合应用举例(2)③从秒到分和从分到时的计时是通过累计和数值比较实现的。 设置几个累加单元分别进行对1s,1min,1h进行计数。满1s,秒位累加;满60s,分位累加;满60min,时位累加;满24h全部累加单元清0。2)程序流程及程序清单①主程序流程如右图所示。综合应用举例(2)设T1为模式1设中断次数清计时单元开中断启动T1调用显示子程序2)程序流程及程序清单②中断服务流程如右图所示。保护现场赋计数初值到1s?(32H)加1(32H)=60?(32H)清0(31H)加1(31H)=60?(31H)清0(30H)加1(30H)=24?(30H)清0恢复现场返回入口NNNNYYYY综合应用举例(1)
中断服务程序:SERVE:
PUSH
PSW
;保护现场
PUSH
ACC
MOV
TL1,#0B0H
;重新赋初值
MOV
TH1,#3CH
DJNZ
20H,RETERN
;1s未到,返回
MOV
20H,#0AH
;重置中断次数
MOV
A,#01H
ADD
A,32H
;“秒位”加1
DA
A
;转换为BCD码
MOV
32H,A
CJNE
A,#60H,RETERN
;未满60s,返回
MOV
32H,#00H
;计满60s,“秒位”清0
MOV
A,#01H
ADD
A,31H
;“分位”加1
DA
A
;转换为BCD码综合应用举例(2)
MOV
31H,A
CJNE
A,#60H,RETERN
;未满60min,返回MOV
31H,#00H
;计满60min,“分位”清0
MOV
A,#01H
ADD
A,30H
;“时位”加1
DA
A
;转换为BCD码
MOV
30H,A
CJNE
A,#24H,RETERN
;未满24h,返回
MOV
30H,#00H
;计满24h,“时位”清0RETURN:POP
ACC
;恢复现场
POP
PSW
RETI
;中断返回
END
2023/2/6191~5章总结单片机系统扩展单片机中虽然已经集成了CPU、I/O口、定时器、中断系统、存储器等计算机的基本部件(即系统资源),但是对于一些较复杂的应用系统而言,以上一种或几种资源还远远达不到实际应用的要求,此时就需要在单片机芯片外加相应的芯片、电路等,使得有关功能得以扩充,称为系统扩展。MCS-51单片机的系统扩展包括并行存储器扩展、I/O接口扩展、人机交互扩展(键盘、显示器)、串行口扩展、外部信号变换扩展(A/D、D/A)。两类外扩展:存储器扩展和I/O扩展; 两种外扩展方法:并行扩展和串行扩展。2023/2/622第6章单片机并行存储器扩展本章主要内容单片机并行外扩展系统存储器分类存储器并行扩展80C51单片机存储器系统的特点和使用方法80C5187C51XTAL1XTAL2P0P1P2P3RESET12MHZ22uF1K200888820PF20PF+5V单片机并行扩展总线系统扩展外部存储器的扩展I/O接口部件的扩展通过系统总线扩展并行扩展总线的组成并行扩展总线包括三个组成部分:AB、DB、CB
地址总线:AddressBus(AB)
传送地址信号,用于外扩展存储单元和I/O端口的寻址。地址总线是单向的,只能从单片机向外传送。一条地址线提供一位地址,故地址线的数目决定了可寻址存储单元的数目。
80C51单片机的地址总线共有16位,故外扩展空间为64KB,即216个地址单元。80C51P0口以P0口的8位口线充当低位地址线(A7~A0)和数据线(D7~D0)分时复用:先送出地址,再传送数据。锁存器:保存分离出的地址,需另外增加一个8位的锁存器,并以ALE作为锁存控制信号。(CPU送出地址时,ALE有效,应选择高电平或下降沿选通的锁存器)
低8位的地址进入锁存器后,P0口即可作为数据线使用,进行数据传送了。P2口P2口只作为高8位地址线使用。P2口的高8位地址线与P0口的低8为地址线共同构成完整的16位地址总线,可选址64KB空间。在实际应用中,高位地址线根据需要从P2口引出,需要几位引出几位口线。若外扩展容量小于256个单元时,则不需要高位地址线。控制线控制总线包括:
控制低8位地址锁存的ALE信号控制扩展程序存储器ROM的读选通信号PSEN控制选择内外程序存储器的选择信号EA控制扩展数据存储器RAM及I/O端口的读/写选通信号RD和WR
仅剩P1口和P3口的部分口线可供数据I/O使用。访问外部程序存储器的操作过程:在S1P2时刻产生ALE信号。由P0、P2口送出16位地址,由于P0口送出的低8位地址只保持到S2P2,所以要利用ALE的下降沿信号将P0口送出的低8位地址信号锁存到地址锁存器中。而P2口送出的高8位地址在整个读指令的过程中都有效,因此不需要对其进行锁存。从S2P2起,ALE信号失效。从S3P1开始,PSEN开始有效,对外部程序存储器进行读操作,将选中的单元中的指令代码从P0口读入,S4P2时刻,PSEN失效。从S4P2后开始第二次读入,过程与第一次相似。访问外部程序存储器的时序MCS-51系列单片机访问外部程序存储器的时序图
访问外部数据存储器的操作过程:从第1次ALE有效到第2次ALE开始有效期间,P0口送出外部ROM单元的低8位地址,P2口送出外部ROM单元的高8位地址,并在PSEN有效期间,读入外部ROM单元中的指令代码;在第2次ALE有效后,P0口送出外部RAM单元的低8位地址,P2口送出外部RAM单元高8位地址;在第2个机器周期,第1次ALE信号不再出现,此时PSEN也失效,并在第2个机器周期的S1P1时,RD信号开始有效,从P0口读入选中RAM单元中的内容。访问外部数据存储器的时序MCS-51系列单片机访问外部数据存储器的时序图
并行扩展系统的I/O编址80C51单片机存储器系统与外扩展地址空间结构图--RAM用户RAM区(堆栈、缓冲)位寻址区四组通用寄存器特殊功能寄存器区(SFR)片内RAM(低128字节)片内RAM(高128字节)00H7FH80HFFH片内数据存储器RAM或I/O(64KB)0000HFFFFH片外数据存储器数据存储器(RAM)并行扩展系统的I/O编址80C51单片机存储器系统与外扩展地址空间结构图—ROM片内程序存储器(4K)(ROM)片外程序存储器(64K)程序存储器(ROM)1000HFFFFH(EA=1)0000H0FFFH(EA=0)0000H0FFFH片外ROM的起始地址取决于单片机是否有片内存储器:如果没有片内存储器,外扩ROM从0000H开始编址;如果有片内ROM,则外扩展ROM从1000H开始编址芯片的选取寻址:访问要扩展的芯片和芯片内的目标单元。寻址可分为芯片选择和芯片内目标单元选择两个层次。内寻址层次:由外接芯片的内部译码电路完成。(只需将外扩芯片的地址引脚与单片机低位地址线相连即可)芯片选择:外扩系统的寻址问题主要集中于此。(外接芯片常有多个片选信号引脚,如何产生有效的片选信号?)常用的芯片选择方法:线选法和译码法。线选法寻址线选法寻址:直接以位地址信号作为芯片的片选信号。使用时只需把地址线与扩展芯片的片选信号引脚直接连接即可。例:某一系统,需要外扩8KB的EPROM(2片2732),4KB的RAM(2片6116),这些芯片与MCS-51单片机地址分配有关的地址线连线,电路图如下。线选法寻址解:高位地址线P2.4~P2.7直接和各芯片片选信号CE相连分析地址:
A15A14A13A12A11~A0
2732(1):0111 7000H~7FFFH2732(2):1011 B000H~BFFFH6116(1):11101 E800H~EFFFH
6116(2):11011 D800H~DFFFH
地址不连续优点:电路简单,不需要地址译码器硬件,体积小,成本低。缺点:可寻址的器件数目有限,地址不连续。线选法寻址全译码:部分译码:译码全部高位地址线都参加译码;部分高位地址线参加译码,存在部分地址空间相重叠的情况。译码法寻址译码法寻址:高位地址通过译码器的译码输出作为扩展芯片的片选信号。最常用的译码器芯片:3-8译码器:74LS138双2-4译码器:74LS1394-16译码器:74LS154(1)74LS138(3-8译码器)时译码器工作输入:CBA输出:工作时,只有一个输出为0,其它皆1译码器 输入输出
CBA74LS138真值表(2)74LS139(双2-4译码器)译码器解:6264:8K=2133根地址线用于控制选通8片RAM
译码法寻址举例【例】要扩展8片8KB的RAM6264(8K×8),如何通过译码器把64KB空间分配给各个芯片?全译码方式,地址无重叠64KB空间:0000H~FFFFH,地址连续分析地址:译码法寻址举例引出问题1:如何用74LS138把64K空间划分为每块4KB?译码法寻址举例解:64KB=4KB×8块×2部分4K=21212根+译码3根,P2.7未参加译码P2.7=0/1决定选择64KB的前32KB或后32KB
74LS138G1前32KB8块4KB后32KB8块4KB分析地址:译码法寻址举例改变P2.7和G1的连接逻辑,即可改变前后32KB空间。引出问题2:如何用74LS138把64K空间划分为每块2KB?译码法寻址举例解:64KB=2KB×8块×4部分4K=21111根+译码3根,P2.7,P2.6未参加译码P2.7—G1,P2.6—G2A,改变P2.7,P2.6和G1,G2A的连接逻辑,即可改变选中的4个16KB空间的哪一个了。小结:若64KB全是用32块2K芯片组成,则同问题2,需4个74LS138若64KB全是用16块4K芯片组成,则同问题1,需2个74LS138注意:译码方案不唯一本章主要内容单片机并行外扩展系统存储器分类存储器并行扩展80C51单片机存储器系统的特点和使用方法只读存储器(ROM):(1)掩模工艺ROM(2)可一次性编程ROM(PROM)(3)紫外线擦除可改写ROM(EPROM)(4)电擦除可改写ROM(EEPROM或E2PROM)(5)快擦写ROM(flashROM)存储器分类--只读存储器随机存储器(RAM):(1)双极型RAM(2)金属氧化物(MOS)RAM
静态RAM(SRAM)
动态RAM(DRAM)
集成RAM(IRAM)
非易失性RAM(NVRAM)存储器分类--随机存储器容量存取时间可靠性功耗存储器的主要性能指标扩展程序存储器常用EPROM芯片:2716(2K×8位)、2732(4KB)、2764(8KB)、27128(16KB)、27256(32KB)、27512(64KB)。扩展数据存储器常用静态RAM芯片:
6264(8K×8位)、62256(32K×8位)、
628128(128K×8位)等。常用存储器芯片本章主要内容单片机并行外扩展系统存储器分类存储器并行扩展80C51单片机存储器系统的特点和使用方法程序存储器的作用
存放程序代码或常数表格程序存储器的扩展过程:扩展时所用芯片
一般用只读型存储器芯片(可以是EPROM、E2PROM、FLASH芯片等)。扩展电路连接
用EPROM2764扩展程序存储器为例存储器地址分析
究竟单片机输出什么地址值时,可以指向存储器中的某一单元。程序存储器扩展2764是一块8K×8bit的EPROM芯片,管脚如下图所示:A12~A0:13位地址信号输入线,芯片的容量为: 8K=213个单元;D7~D0:8位数据线,芯片的每个存储单元存放一个字节(8位二进制数);CE:选片信号,输入,当它为有效低电平时,该芯片被选中;
OE:输出允许信号。当它为低电平时,芯片中的数据可由D7~D0输出。PGM:编程脉冲输入端。当对EPROM编程时,由此加入编程脉冲;读时该引脚为高电平。EPROM芯片27642764引脚功能2764----8KEPROMVPPA12A7A6A5A4A3A2A1A0D0D1D2GNDVccPGMN.CA8A9A11OEA10CED7D6D5D4D32764A0—A12地址线CE片选OE读PGM编程脉冲输入D0—D7数据线Vpp编程电源
EPROM2764管脚图系统扩展一片EPROM的最小系统:2.2764的连接使用D7D6D5D4D3D2D1D0G74LS373GND+5VEQ7Q6Q5Q4Q3Q2Q1Q0
74L373引脚功能D0~D6数据输入
E输出允许
G数据输出
Q0~Q7使能端当E=0,G=1时, 输出Q=输入D(透明);当E=0,G=0时, 输出Q端不变(锁存)当E=1,输出高阻态2.2764的连接使用※注意:PSEN接OE(输出允许)80C51中间连接2764数据总线的连接:P0.0-P0.7(数据总线)D0-D7地址总线的连接:P0.0-P0.7(地址总线低8位)经过锁存器373A0-A7P2.0-P2.7(地址总线高8位)A8-A12、片选CE控制总线的连接:PSEN(程序存储器允许,即读指令)OEALE(地址锁存允许)接373的使能端G2.2764的连接使用分析存储器在存储空间中占据的地址范围,就是根据连接情况确定其最低地址和最高地址。P2.7、P2.6、P2.5的状态与2764芯片的寻址无关,所以P2.7、P2.6、P2.5可为任意,从000到111共有8种组合,其2764芯片的地址范围是:最低地址:0000H
A15A14A13A12A11A10A9A8 A7A6A5A4
A3A2A1A0=0000
0000
0000
0000最高地址:FFFFHA15A14A13A12A11A10A9A8A7A6A5A4 A3A2A1A0=×××111111111 1111共占用了64KB的存储空间,造成地址空间的重叠和浪费3.存储器映像分析数据存储器的作用:
存放数据,可改写数据存储器的扩展过程:扩展时所用芯片
一般用静态读写型存储器芯片SRAM,也可以用E2PROM、FLASH芯片等扩展电路连接
用SRAM6264扩展程序存储器。存储器地址分析
究竟单片机输出什么地址值时,可以指向存储器中的某一单元。数据存储器的扩展单片机的数据存储器扩展主要要解决三总线的连接:地址线的连接,与程序存储器连法相同。数据线的连接,与程序存储器连法相同。控制线的连接,主要有下列控制信号:存储器输出信号(OE)与单片机读引脚(即P3.7)相连存储器写信号(WE)与单片机写引脚(即P3.6)相连ALE:其连接方法与程序存储器相同使用时应注意,访问内部或外部数据存储器时,应分别使用MOV及MOVX指令。外部数据存储器通常设置二个数据区数据存储器的扩展低8位地址线寻址的外部数据区。此区域寻址空间为256个字节。可以使用下列读写指令来访问此存储区读存储器数据指令:MOVX A,@Ri写存储器数据指令:MOVX @Ri,A
因8位寻址指令占字节少,程序运行速度快,故常采用。16位地址线寻址的外部数据区。当外部RAM容量较大,要访问RAM地址空间大于256个字节时,则要采用如下16位寻址指令。读存储器数据指令:MOVX A,@DPTR写存储器数据指令:MOVX@DPTR,A
由于DPTR为16位的地址指针,故可寻址64KRAM字节单元。数据存储器的扩展数据存储器扩展常使用随机存储器芯片,用的较多的是Intel公司的6116,容量为2KB;和6264,容量为8KB以6264芯片为例进行说明,其管脚图如下图所示。该芯片的主要引脚为:D7~D0:8位数据线A12~A0:13根地址线。芯片的容量为:8K=213字节CS1、CS2:片选信号。当CS1为低电平,CS2为高电平时选中该芯片。OE:输出允许信号。当OE为低电平时,芯片中的数据可由D7~D0输出。WE:为数据写信号数据存储器SRAM芯片存储容量为8K×828个引脚:13根地址线:A12~A08根数据线:D7~D0片选信号:CS1、CS2写信号:WE读信号:OE+5VWECS2A8A9A11OEA10CS1D7D6D5D4D3NCA12A7A6A5A4A3A2A1A0D0D1D2GND12345678910111213142827262524232221201918171615SRAM芯片引脚图数据存储器SRAM芯片6264工作方式CS1CS2WEOED7~D0未选中1×××高阻未选中×0××高阻读操作0110输出写操作0101输入SRAM6264的操作功能SRAM6264的功能单片数据存储器扩展连接80C51与6264的连接如下表所示80C51与6264的线路连接80C516264P0经锁存器锁存形成A0~A
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 【课件】部编语文三上13 胡萝卜先生的长胡子【国家级】一
- 锂电池开路电压的温度导数-概述说明以及解释
- 《斑羚飞渡》课件
- 信息化规划图
- 一年级数学两位数加减一位数题竞赛练习训练题大全附答案
- 性格的含义微电影分库周欣然
- 新单位参保用户注册
- 意外伤害事故的防范与处理任务八意外事故界定类型
- 《同济大学数学系》课件
- 便利店员工培训方案
- 广东开放改革开放史(本专23春)-第七单元形成性考核0
- 食品安全法-食品安全法基本内容课件
- CJT121再生树脂复合材料检查井盖
- 小学希望之星看图说话分类整理
- 高中区域地理非洲
- 2023年重庆市旅游业统计公报要点
- 789乘法练习题【模板】
- 第六单元 第7课时 解决问题(一)(教学设计)-三年级数学上册 人教版
- 广东轻工职业技术学院职业教育专业教学资源库建设管理办法
- GB/T 8905-2012六氟化硫电气设备中气体管理和检测导则
- GB/T 3499-2003原生镁锭
评论
0/150
提交评论