51单片机培训—C语言版外部中断

上传人:飞*** 文档编号:54405578 上传时间:2018-09-12 格式:PPT 页数:15 大小:299.50KB
返回 下载 相关 举报
51单片机培训—C语言版外部中断_第1页
第1页 / 共15页
51单片机培训—C语言版外部中断_第2页
第2页 / 共15页
51单片机培训—C语言版外部中断_第3页
第3页 / 共15页
51单片机培训—C语言版外部中断_第4页
第4页 / 共15页
51单片机培训—C语言版外部中断_第5页
第5页 / 共15页
点击查看更多>>
资源描述

《51单片机培训—C语言版外部中断》由会员分享,可在线阅读,更多相关《51单片机培训—C语言版外部中断(15页珍藏版)》请在金锄头文库上搜索。

1、外部中断的应用,中断信号从外部引脚P3.2和P3.3 进入单片机,单片机中的中断与生活中的中断,生活中的那些事儿,51单片机中断源,51单片机的5个中断源,高,中断允许寄存器,1、中断允许控制寄存器IE,使能外部中断0(P3.2),使能外部中断1(P3.3),中断总使能,例如:想使用中断0(P3.2引脚输入的中断信号) MOV IE , #10000001B IE=0X81; 或SETB EX0 EX0=1;SETB EA EA=1;,TMOD的设置,2、TCON,0:P3.2引脚低电平就产生中断 1:P3.2引脚下降沿产生中断,P3.2引脚产生中断的标志 1:产生中断了;0:没有产生中断,0

2、:P3.3引脚低电平就产生中断 1:P3.3引脚下降沿产生中断,P3.2引脚产生中断的标志 1:产生中断了;0:没有产生中断,例如:想设置外部中断0为下降沿触 发产生中断:SETB IT0 或MOV TCON,#01H C语言的设置: TCON=0X01;,低电平触发中断控制LED闪烁,1、硬件电路图,程序流程图,程序清单,汇编语言程序,C语言程序,ORG 0000HSJMP STARTORG 0003HAJMP INTERRUPT0 ORG 0030H ;-初始化-START:MOV SP, #60H MOV P0, #0FFH CLR IT0 SETB EX0 SETB EA ;-主程序-

3、MAIN:SJMP MAIN ;-中断子程序- INTERRUPT0:CPL P0.7 RETI END,T0典型工作的三种方式设置,1、定时器T0工作在定时方式 MOV TMOD ,#00000001B ; 定时方式1 MOV TMOD ,#00000000B ; 定时方式0 那么定时器T0工作在定时方式2和方式3该如何设置呢?,2、定时器T0工作在计数方式(数P3.4引脚的脉冲数) MOV TMOD ,#00000101B ; 计数方式1 MOV TMOD ,#00000100B ; 计数方式0 那么定时器T0工作在计数方式2和方式3该如何设置呢?,2、定时器T0还要受P3.2的控制? M

4、OV TMOD ,#00001101B ; 计数方式1 MOV TMOD ,#00001100B ; 定时方式0 此时,常用于测量P3.2脚脉冲宽度,TCON的设置,3、TCON(用于决定定时器的启停和标识定时器溢出),3、TCON(用于决定定时器的启停和标识定时器溢出),3、TCON(用于决定定时器的启停和标识定时器溢出),定时器T1 溢出标志,定时器T0 溢出标志,定时器T1 启动位,定时器T0 启动位,0:T0停止工作 1:T0开始工作,0:TH0 TL0没有溢出 1:TH0 TL0溢出,0:TH1 TL1没有溢出 1:TH1 TL1溢出,0:T1停止工作 1:T1开始工作,定时器T0

5、溢出标志,定时器T0 启动位,定时器T1 启动位,定时器T0 溢出标志,定时器T0 启动位,定时器T1 启动位,定时器T1 溢出标志,定时器T0 溢出标志,定时器T0 启动位,定时器T1 启动位,0:T0停止工作 1:T0开始工作,定时器T1 溢出标志,定时器T0 溢出标志,定时器T0 启动位,定时器T1 启动位,0:TH0 TL0没有溢出 1:TH0 TL0溢出,0:T0停止工作 1:T0开始工作,定时器T1 溢出标志,定时器T0 溢出标志,定时器T0 启动位,定时器T1 启动位,0:T1停止工作 1:T1开始工作,0:TH0 TL0没有溢出 1:TH0 TL0溢出,0:T0停止工作 1:T

6、0开始工作,定时器T1 溢出标志,定时器T0 溢出标志,定时器T0 启动位,定时器T1 启动位,中断允许寄存器IE的设置,4、IE(用于设置定时器是否工作在中断方式),0:总中断关闭 1:总中断使能,0:T0中断关闭 1:T0中断使能,0:T1中断关闭 1:T1中断使能,如使定时器T0中断打开:MOV IE,#10000010B 或者用 SETB ET0 SETB EA,用定时器设计一个50msLED闪烁实验,硬件电路图,查询法程序清单,#include void main() TMOD=0X1;TH0=0X4C;TL0=0X0;TR0=1; while(1)if(TF0=1)P0=P0;TF

7、0=0; ,定时器1S取反P0口状态,#include unsigned char count=0; void timer0_isr(void) interrupt 1 using 0 count+;if(count=20)count=0;P0=P0; void main() TMOD=0X1;TH0=0X4C;TL0=0X0;TR0=1; ET0=1;EA=1; while(1); ,用定时器T0设计电子时钟CLOCK,#include void timer0_isr(void) interrupt 1 using 0 /定时器中断子程序 void main() TMOD=0X1;TH0=0X4C;TL0=0X0;TR0=1; ET0=1;EA=1; while(1)/按键子程序/除法子程序/ 显示子程序 ; ,

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 行业资料 > 其它行业文档

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号