单片机原理及应用课件.ppt

上传人:豆**** 文档编号:59103982 上传时间:2022-11-09 格式:PPT 页数:50 大小:483.50KB
返回 下载 相关 举报
单片机原理及应用课件.ppt_第1页
第1页 / 共50页
单片机原理及应用课件.ppt_第2页
第2页 / 共50页
点击查看更多>>
资源描述

《单片机原理及应用课件.ppt》由会员分享,可在线阅读,更多相关《单片机原理及应用课件.ppt(50页珍藏版)》请在得力文库 - 分享文档赚钱的网站上搜索。

1、单片机原理及应用课件 Still waters run deep.流静水深流静水深,人静心深人静心深 Where there is life,there is hope。有生命必有希望。有生命必有希望5.1 MCS-51单片机的片机的中断系统中断系统u一、单片机中断技术概述1、有关中断术语:中断源、断点、中断服务程序 开中断、关中断、中断优先级2、中断技术:中断技术是解决资源竞争实现资 源共享的方法3、程序中断与调用子程序的区别:在于是否可预知4、中断的功能实现CPU与外设的速度匹配 实时控制故障及时发现5.1 MCS-51单片机的片机的中断系统中断系统u二、中断源 5个中断源,分高低两级中断

2、优先级别1、外中断:2个,/INT0、/INT1产生原因:P3.2、P3.3的引脚电平变化可控制为:低电平或边沿(下降沿)触发中断CPU根据控制方式和P3.2、P3.3引脚电平置有关标志位转向中断服务程序时,自动清除标志位中断入口地址:0003H、0013H撤销方式:边沿方式自动撤销;电平方式外加硬件电路撤销中断5.1 MCS-51单片机的片机的中断系统中断系统u二、中断源 5个中断源,分高低两级中断优先级别2、定时器中断:2个,T0、T1产生原因:计数溢出可控制为:4种方式(计8192、65536、256、256)CPU根据溢出置有关标志位转向中断服务程序时,自动清除标志位中断入口地址:00

3、0BH、001BH撤销方式:自动撤销5.1 MCS-51单片机的片机的中断系统中断系统u二、中断源 5个中断源,分高低两级中断优先级别3、串行口中断:1 个产生原因:串行口(P3.0、P3.1)接收或发送完一组(帧)数据。可控制为:4种方式CPU置有关标志位转向中断服务程序时,不自动清除标志位,软件清除中断入口地址:0023H撤销方式:标志清除后撤销5.1 MCS-51单片机的片机的中断系统中断系统u三、单片机对中断源的管理 由IE寄存器控制中断是否被允许 由IP寄存器控制各中断源的中断优先级别 由TCON寄存器控制外中断的触发方式、外中断及定时器中断的标志位设置 由SCON寄存器控制串行口中

4、断的工作方式及其标志设置。5.1 MCS-51单片机的片机的中断系统中断系统u三、单片机对中断源的管理 1、TCON:定时器控制寄存器TF1TR1TF0TR0IE1IT1IE0IT0定时器外中断TF:定时器溢出标志,TF=1时表示溢出如:TF1=1,T1溢出;TF0=1,T0溢出TR:定时器启动标志,TR=1时启动如:TR1=1,启动T1计数;TR0=1,启动T0计数IE:外中断标志位,IE=1,表示有外中断 IT:外中断触发控制(0:低电平触发;1:边沿触发)5.1 MCS-51单片机的片机的中断系统中断系统u三、单片机对中断源的管理 1、TCON:定时器控制寄存器TF1TR1TF0TR0I

5、E1IT1IE0IT0定时器外中断例:TCON=11001010B,即CAH表示:5.1 MCS-51单片机的片机的中断系统中断系统u三、单片机对中断源的管理2、IE:中断允许寄存器EA/ES ET1EX1ET0EX0EA:EA=1,允许CPU响应中断,中断总允许ES:ES=1,允许串行口中断ET1:ET1=1,允许定时器1中断EX1:EX1=1,允许外中断1中断 ET0:ET0=1,允许定时器0中断EX0:EX0=1,允许外中断0中断例如:若要允许T0产生中断,必须ET0=1且EA=5.1 MCS-51单片机的片机的中断系统中断系统u三、单片机对中断源的管理3、IP:中断允许寄存器/PS P

6、T1PX1PT0PX0 某位=1,对应中断源处于高优先级PS:PS=1,串行口中断处于高优先级PT1:PT1=1,定时器1中断处于高优先级PX1:PX1=1,外中断1中断处于高优先级PT0:PT0=1,定时器0中断处于高优先级PX0:PX0=1,外中断0中断处于高优先级注意:复位后,IE=00H,IP=00H,表示。5.1 MCS-51单片机的片机的中断系统中断系统四、中断优先级的控制原则:MCS-51具有两级优先级,两级中断服务嵌套功能,控制原则是:低优先级的中断请求不能打断高优先级的服务,高优先级的中断请求可以打断低优先级的服务。如果一个中断请求已被响应,则同级的中断服务将被禁止。同级的中

7、断同时出现,CPU响应中断的顺序是:外中断0、T0、外中断1、T1、串行口例如:若设置IP=12H,则CPU响应中断的顺序是:T0、串行口、外中断0、外中断1、T5.1 MCS-51单片机的片机的中断系统中断系统五、中断响应过程:1、中断采样:2、中断查询:3、中断响应:产生LCALL指令 中断响应时间:38个机器周期 (标志位查询)1+(LCALL)2=3(IE、IP、RET、RETI)2+(MUL、DIV)4+(LCALL)2=5.1 MCS-51单片机的片机的中断系统中断系统五、中断请求的撤销:目的:使一次中断请求执行中断服务一次1、定时中断请求:转向中断服务程序自动撤销2、串行中断请求

8、:在中断服务程序中使用指令撤销 软件撤销。3、边沿触发方式的外中断请求:转向中断服务程序自动撤销 4、电平触发方式的外中断请求:外加硬件电路撤销 P145 图6.2 5.2 MCS-51定定时器器/计数器的控制数器的控制u一、定时方法种类:1、软件定时、2、硬件定时、3、可编程定时器定时u二、定时和计数功能综述:1、由两个16位的加法计数器(TH0TL0、TH1TL1)进行计数,通过对TH0TL0和TH1TL1的初值设置,可控制计数长度2、定时功能是对内部机器周期计数,计数功能是对T0、T1引脚进行计数。3、计数频率:定时:一个机器周期,fosc/12计数:外来信号,频率 fosc/5.2 M

9、CS-51定定时器器/计数器的控制数器的控制三、定时器/计数器的控制:通过控制TCON、IE、IP、TMOD寄存器达到目的1、TCON、IE、IP有关位的控制意义TF1TR1 TF0TR0 IE1IT1IE0IT0EA/ESET1 EX1 ET0 EX0/PS PT1PX1PT0PX5.2 MCS-51定定时器器/计数器的控制数器的控制三、定时器/计数器的控制:1、IP、IE、TCON有关位的控制意义2、TMOD寄存器介绍GATEC/TM1M0GATEC/TM1M0T1T0GATE:门控位GATE=0,当TR=1时,启动定时器,软启动GATE=1,当TR=1且INT=1时,启动定时器,硬启动C

10、/T=1,计数功能;C/T=0,定时功能。M1M0:定时器工作方式,0011指定工作方式5.2 MCS-51定定时器器/计数器的控制数器的控制三、定时器/计数器的控制:1、IP、IE、TCON有关位的控制意义2、TMOD寄存器介绍u3、初始化定时器/计数器的步骤:设置TMOD,控制定时器的工作方式设置TH、TL计数初值设置IE、IP5.2 MCS-51定定时器器/计数器的控制数器的控制三、定时器/计数器的控制:4、计数初值X的计算:u计数方式:M-X=要计的数例如:使用T0工作于方式1计数,每计1000就溢出求计数初值 65536-X=1000,得X=64536D=FC18H系统要求某种方式下

11、最长计数值方式0:M=8192方式1:M=65536方式2、3:M=5.2 MCS-51定定时器器/计数器的控制数器的控制三、定时器/计数器的控制:4、计数初值X的计算:u定时方式:(M-X)机器周期=要定时的时间例如:使用T1工作于方式1定时10mS,若fosc=6MHz,则计数初值=?(65536-X)2uS=10mS,得X=60536D=EC78H系统要求某种方式下最长计数值方式0:M=8192方式1:M=65536方式2、3:M=256系统给出5.2 MCS-51定定时器器/计数器的控制数器的控制三、定时器/计数器的控制:1、IP、IE、TCON有关位的控制意义2、TMOD寄存器介绍3

12、、初始化定时器/计数器(T/C)的步骤u4、定时器/计数器(T/C)的使用步骤初始化T/C(TMOD、THTL、IE、IP)启动T/C:SETB TR查询方式:判TF,若=1,则转相应处理 中断方式:当TF=1时硬件自动转向中断入口地址,在 中断入口地址处按排相应处理程序即可5.2 MCS-51定定时器器/计数器的控制数器的控制三、定时器/计数器的控制:4、定时器/计数器(T/C)的使用步骤初始化T/C启动T/C:SETB TR查询方式:判TF,若=1,则转相应处理初始化T/CTF=1?N清TF位溢出处理启动T/C重送TH、TLY5.2 MCS-51定定时器器/计数器的控制数器的控制三、定时器

13、/计数器的控制:4、定时器/计数器(T/C)的使用步骤初始化T/C启动T/C:SETB TR中断方式:当TF=1时硬件自动转向中断入口地址,在中断入口地址处按排相应处理程序即可主程序:中断服务程序:初始化T/C启动T/C(其它处理),并等待中断溢出处理重送TH、TL中断返回5.3 MCS-51定定时器器/计数器工作方式数器工作方式u一、方式01、13位计数器:TH8TL52、计数长度:18192 定时长度:(18192)机器周期 例:设单片机晶体振荡频率为6MHz,使用定时器1以方式0产生500uS的等宽正方波连续脉冲,问计数初值应为多少?5.3 MCS-51定定时器器/计数器工作方式数器工作

14、方式u一、方式0例:设单片机晶体振荡频率为6MHz,使用定时器1以方式0产生500uS的等宽正方波连续脉冲,问计数初值应为多少?解:(1)方式0最大的计数长度M=8192(2)当fosc=6MHz,机器周期为2uS设计数初值为X,则(8192-X)2uS=250 Us解得X=8067D=11111100,00011B所以,TH1=FCH,TL1=03H5.3 MCS-51定定时器器/计数器工作方式数器工作方式u二、方式11、16位计数器:TH8TL82、计数长度:165536 定时长度:(165536)机器周期 例:设单片机晶体振荡频率为6MHz,使用定时器1以方式1产生500uS的等宽正方波

15、连续脉冲,并从P1.0输出,试编程。5.3 MCS-51定定时器器/计数器工作方式数器工作方式u二、方式1例:设单片机晶体振荡频率为6MHz,使用定时器1以方式1产生500uS的等宽正方波连续脉冲,并从P1.0输出,试编程。解:(1)计算计数初值设计数初值为X,则(65536-X)2uS=250 uS解得X=65411D=11111111,10000011B所以,TH1=FFH,TL1=83H(2)TMOD、IE、IP的确定(3)查询方式编程、中断方式编程5.3 MCS-51定定时器器/计数器工作方式数器工作方式u二、方式1例:设单片机晶体振荡频率为6MHz,使用定时器1以方式1产生500uS

16、的等宽正方波连续脉冲,并从P1.0输出,试编程。解:(2)TMOD、IE、IP的确定TMOD:0001,XXXX 即10HIE:查询方式:00H;中断方式:1XX0,1000 即88HIP:00H例:设单片机晶体振荡频率为例:设单片机晶体振荡频率为6MHz,使用定时器,使用定时器1以方式以方式1产生产生500uS的等宽正方波连续脉冲,并从的等宽正方波连续脉冲,并从P1.0输出,试输出,试编程。编程。u(3)查询方式编程 MOV TMOD,#10H MOV TH1,#0FFH MOV TL1,#83H MOV IE,#00H MOV IP,#00H SETB TR1LOOP:JBC TF1,LO

17、OP1 AJMP LOOPLOOP1:MOV TH1,#0FFH MOV TL1,#83H CPL P1.0 AJMP LOOP 初始化T/CTF1=1?N清TF1位溢出处理启动T/C重送TH1、TL1Yu(3)中断方式编程 MOV TMOD,#10H MOV TH1,#0FFH MOV TL1,#83H MOV IE,#88H MOV IP,#00H SETB TR1 SJMP$T1PRO:MOV TH1,#0FFH MOV TL1,#83H CPL P1.0 RETI 初始化T/C启动T/C(其它处理),并等待中断溢出处理重送TH1、TL1中断返回主程序:中断服务程序:u(3)中断方式编程

18、 ORG 0000H AJMP MAIN ORG 001BH AJMP T1PRO ORG 0030HMAIN:MOV TMOD,#10H MOV TH1,#0FFH MOV TL1,#83H MOV IE,#88H MOV IP,#00H SETB TR1 SJMP$T1PRO:MOV TH1,#0FFH MOV TL1,#83H CPL P1.0 RETI 5.3 MCS-51定定时器器/计数器工作方式数器工作方式u三、方式2 8位重装计数初值1、8位计数器:TL8,TH8用来保存TL8的初值2、计数长度:1256 定时长度:(1256)机器周期 例:用定时器1方式2实现计数,每计100次

19、,累加器加1,试编程。5.3 MCS-51定定时器器/计数器工作方式数器工作方式u三、方式2 8位重装计数初值例:用定时器1方式2实现计数,每计100次,累加器加1,试编程。解:(1)计算计数初值设计数初值为X,则:256-X=100解得X=156D=9CH所以,TH1=9CH,TL1=9CH(2)TMOD、IE、IP的确定(3)查询方式编程、中断方式编程5.3 MCS-51定定时器器/计数器工作方式数器工作方式u三、方式2 8位重装计数初值例:用定时器1方式2实现计数,每计100次,累加器加1,试编程。解:(2)TMOD、IE、IP的确定TMOD:0110,XXXX 即60HIE:查询方式:

20、00H;中断方式:1XX0,1000 即88HIP:00H例例1:用定时器:用定时器1方式方式2实现计数,每计实现计数,每计100次,累次,累加器加加器加1,试编程。,试编程。u(3)查询方式编程 MOV TMOD,#60H MOV TH1,#9CH MOV TL1,#9CH MOV IE,#00H MOV IP,#00H SETB TR1LOOP:JBC TF1,LOOP1 AJMP LOOPLOOP1:INC A AJMP LOOP 初始化T/CTF1=1?N清TF1位溢出处理启动T/C重送TH1、TL1Yu(3)中断方式编程 MOV TMOD,#60H MOV TH1,#9CH MOV

21、TL1,#9CH MOV IE,#88H MOV IP,#00H SETB TR1 SJMP$T1PRO:INC A RETI 初始化T/C启动T/C(其它处理),并等待中断溢出处理重送TH1、TL1中断返回主程序:中断服务程序:5.3 MCS-51定定时器器/计数器工作方式数器工作方式u三、方式2 8位重装计数初值例2:使用定时器0工作于方式2产生100uS的定时,从P1.0输出200uS的等宽正方波连续脉冲,单片机晶体振荡频率为6MHz,试编程。解:(1)计算计数初值设计数初值为X,则(256-X)2uS=100 uS解得X=206D=CEH所以,TH0=CEH,TL0=CEH(2)TMO

22、D、IE、IP的确定(3)查询方式编程、中断方式编程5.3 MCS-51定定时器器/计数器工作方式数器工作方式u三、方式2 8位重装计数初值例2:使用定时器0工作于方式2产生100uS的定时,从P1.0输出200uS的等宽正方波连续脉冲,单片机晶体振荡频率为6MHz,试编程。解:(2)TMOD、IE、IP的确定TMOD:XXXX,0010 即02HIE:查询方式:00H;中断方式:1XX0,0010 即82HIP:00H例例2:使用:使用定时器定时器0工作于方式工作于方式2产生产生100uS的定时,从的定时,从P1.0输出输出200uS的等宽正方波连续脉冲,单片机晶体振荡的等宽正方波连续脉冲,

23、单片机晶体振荡频率为频率为6MHz,试编程,试编程。u(3)查询方式编程 MOV TMOD,#02H MOV TH1,#0CEH MOV TL1,#0CEH MOV IE,#00H MOV IP,#00H SETB TR1LOOP:JBC TF1,LOOP1 AJMP LOOPLOOP1:CPL P1.0 AJMP LOOP 初始化T/CTF0=1?N清TF0位溢出处理启动T/C重送TH0、TL0Yu(3)中断方式编程 MOV TMOD,#02H MOV TH1,#0CEH MOV TL1,#0CEH MOV IE,#82H MOV IP,#00H SETB TR1 SJMP$T1PRO:CP

24、L P1.0 RETI 初始化T/C启动T/C(其它处理),并等待中断溢出处理重送TH0、TL0中断返回主程序:中断服务程序:5.3 MCS-51定定时器器/计数器工作方式数器工作方式u三、方式2 8位重装计数初值例3:有晶体振荡频率为12MHz的单片机,使用定时器0以方式2从P1.0输出周期占空比为1:10的矩形方波,试编程。u思路:即所求矩形方波高电平为40 uS,低电平为360 uS。使T0定时40 uS。当P1.0为高电平时,每定时时间到使P1.0变为低电平;当P1.0为低电平时,每定时时间到使R7减1,(R7初值为9),当R7减到0时,使P1.0变为高电平。5.3 MCS-51定定时

25、器器/计数器工作方式数器工作方式u三、方式2 8位重装计数初值例3:有晶体振荡频率为12MHz的单片机,使用定时器0以方式2从P1.0输出周期占空比为1:10的矩形方波,试编程。解:(1)计算计数初值设计数初值为X,则(256-X)1uS=40 uS解得X=216D=D8H所以,TH0=D8H,TL0=D8H(2)TMOD、IE、IP的确定(3)查询方式编程、中断方式编程5.3 MCS-51定定时器器/计数器工作方式数器工作方式u三、方式2 8位重装计数初值例3:有晶体振荡频率为12MHz的单片机,使用定时器0以方式2从P1.0输出周期占空比为1:10的矩形方波,试编程。解:(2)TMOD、I

26、E、IP的确定TMOD:XXXX,0010 即02HIE:查询方式:00H;(中断方式:1XX0,0010 即82H)(IP:00H)例例3:有晶体振荡频率为:有晶体振荡频率为12MHz的单片机,使用定时器的单片机,使用定时器0以方式以方式2从从P1.0输出周期占空比为输出周期占空比为1:10的矩形方波,试的矩形方波,试编程编程。u溢出处理:初始化T/C、R7TF0=1?N清TF0位溢出处理启动T/C重送TH0、TL0YP1.0=1?NP1.0=0R7=09HYR7-1=0?YNP1.0=例例3:有晶体振荡频率为:有晶体振荡频率为12MHz的单片机,使用定时器的单片机,使用定时器0以方式以方式

27、2从从P1.0输出周期占空比为输出周期占空比为1:10的矩形方波,试的矩形方波,试编程编程。u(3)查询方式编程 MOV R7,#09H MOV TMOD,#02H MOV TH1,#0CEH MOV TL1,#0CEH MOV IE,#00H MOV IP,#00H SETB TR1LOOP:JBC TF1,LOOP1 AJMP LOOPu溢出处理:LOOP1:JB P1.0,LOOP2 DJNZ R7,LOOP3 MOV R7,#09H SETB P1.0LOOP3:AJMP LOOP CLR P1.0 AJMP LOOPu四、方式3特点:T0:被拆分成两个独立的8位计数器TH0、TL0,

28、TL0能作计数器用也能作定时器用,TH0只能作定时器用,TH0占用了T1的溢出标志TF1和启动控制位TR1。T1:当T0工作于方式3时,T1可工作于方式0、1、2,用作波特率发生器用。5.3 MCS-51定时器定时器/计数器工作方式计数器工作方式u五、定时器/计数器的应用例1:用51定时器/计数器0工作于方式1产生时钟计时,每秒到给内部RAM的SEC地址加1,每60秒到给内部RAM的MIN地址加1,并使SEC清0。fosc=6MHz解:(1)计算计数初值(2)TMOD、IE、IP的确定(3)查询方式编程、中断方式编程5.3 MCS-51定时器定时器/计数器工作方式计数器工作方式u五、定时器/计

29、数器的应用例1:用51定时器/计数器0工作于方式1产生时钟计时,每秒到给内部RAM的SEC地址加1,每60秒到给内部RAM的MIN地址加1,并使SEC清0。fosc=6MHz思路:设T0工作于方式1定时100mS,每定时时间到R7减1(R7的初值为10),当R7=0时即1秒到(1)计算计数初值计数初值为X,则(65536-X)2uS=100mS解得X=15536D=3CB0H所以,TH0=3CH,TL0=B0H5.3 MCS-51定时器定时器/计数器工作方式计数器工作方式u五、定时器/计数器的应用例1:用51定时器/计数器0工作于方式1产生时钟计时,每秒到给内部RAM的SEC地址加1,每60秒

30、到给内部RAM的MIN地址加1,并使SEC清0。fosc=6MHz解:(2)TMOD、IE、IP的确定TMOD:XXXX,0001 即01HIE:中断方式:1XX0,0010 即82HIP:00H5.3 MCS-51定时器定时器/计数器工作方式计数器工作方式程序流程:程序流程:u主程序流程u中断服务流程初始化T/C初始化R7初始化SEC、MIN启动T/C(其它处理),并等待中断重送TH0、TL0中断返回R7-10?(SEC)=(SEC)+1(SEC)=60?(SEC)=0(MIN)=(MIN)+1 YYNNu主程序 ORG 0000H AJMP STR ORG 000BH AJMP T0P ORG 0030HSTR:MOV R7,#10 MOV SEC,#00H MOV MIN,#00H MOV TMOD,#01H MOV TH0,#3CH MOV TL0,#0B0H MOV IE,#82H MOV IP,#00H SETB TR0 SJMP$u中断服务流程T0P:MOV TH0,#3CH MOV TL0,#0B0H DJNZ R7,T0P0 INC SEC CJNE SEC,#60,T0P0 MOV SEC,#00H INC MINT0P0:RETI程序:程序:

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 教育专区 > 小学资料

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知得利文库网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号-8 |  经营许可证:黑B2-20190332号 |   黑公网安备:91230400333293403D

© 2020-2023 www.deliwenku.com 得利文库. All Rights Reserved 黑龙江转换宝科技有限公司 

黑龙江省互联网违法和不良信息举报
举报电话:0468-3380021 邮箱:hgswwxb@163.com