单片机C语言第4章中断系统的C51编程课件.ppt

单片机C语言第4章中断系统的C51编程课件.ppt

ID:57294760

大小:107.50 KB

页数:22页

时间:2020-08-10

单片机C语言第4章中断系统的C51编程课件.ppt_第1页
单片机C语言第4章中断系统的C51编程课件.ppt_第2页
单片机C语言第4章中断系统的C51编程课件.ppt_第3页
单片机C语言第4章中断系统的C51编程课件.ppt_第4页
单片机C语言第4章中断系统的C51编程课件.ppt_第5页
资源描述:

《单片机C语言第4章中断系统的C51编程课件.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、4.3外部中断源的C51编程51单片机提供了2个外部中断源:外部中断0请求,占用P3.2引脚,其中断请求号为0。外部中断1请求,占用P3.3引脚,其中断请求号为2。外部中断源的初始化时通过设置相应的特殊功能寄存器的相应位来实现的。(1)TCON寄存器中的IT0、IT1位外部中断0和外部中断1的中断触发方式控制位。如:IT0=0;//外部中断0为电平触发方式IT1=1;//外部中断1为脉冲触发方式(2)IP寄存器中的PX0、PX1位外部中断0和外部中断1的中断优先级的设定。如:PX0=0;//设定外部中断0为低级

2、中断PX1=1;//设定外部中断1为高级中断4.3.1外部中断源的初始化(3)IE寄存器中的EA、EX0、EX1位EA为中断允许总控制位;EX0、EX1为外部中断0中断和外部中断1中断的中断允许位。如:EA=1;//开放总的中断控制EX0=1;//允许外部中断0中断EX1=0;//禁止外部中断1中断【例4-1】初始状态时低4位灯亮,高4位的灯灭,编程实现按一下S0,P1口的发光状态发生反转。#includevoidmain(){P1=0XF0;//高4位灭、低4位亮IT1=1;//脉冲触发方式

3、EA=1;EX1=1;//开放相应的中断while(1);//等待中断}voidwint0(void)interrupt2//外部中断1{P1=~P1;}【例4-2】利用S0按钮控制P1口的灯,要求每按一下就点亮一盏灯(其余的灯是灭的)。#include#include//内部函数bitflag;//中断标志unsignedcharledstatus;voidwint1()interrupt2{flag=1;}voidmain(void){P1=0xff;ledstatu

4、s=0xfe;IT1=1;EA=1;EX1=1;while(1){if(flag){P1=ledstatus;ledstatus=_crol_(ledstatus,1);flag=0;}}}修改:利用S0按钮控制P1口的灯,要求每按一下就点亮一盏灯(其余的灯保持亮的状态).。【例4-3】当S0动作时,P1.0端口的电平反向,当外S1动作,P1.7端口的电平反向。#includesbitLED0=P1^0;sbitLED7=P1^7;voidIS0(void)interrupt0//外部中断0{

5、LED0=~LED0;}voidIS1(void)interrupt2//外部中断1{LED7=~LED7;}voidmain(){P1=0xFF;IT0=1;IT1=1;EX0=1;EX1=1;EA=1;while(1);}修改:(1)S0控制P1.0—P1.3的灯,S1控制P1.4—P1.7的灯。(2)按下S0后,点亮8只LED;按下S1后,变为闪烁状态。【例4-4】P1口控制的灯按一定的频率闪烁,S0动作,实现单灯左移,而左移3圈结束。#include#defineLEDP1//定义LE

6、D接至P1voiddelay1ms(int);//声明延迟函数voidleft(int);//声明单灯左移函数main(){IE=0x81;//准许INT0中断LED=0x00;//初值=00000000,灯全亮while(1)//无穷循环,程序一直跑{delay1ms(250);//延迟250*1m=0.25sLED=~LED;//LED反相}}/*INT0的中断子程序-单灯左移3圈*/voidmy_int0(void)interrupt0{unsignedsaveLED=LED;//储存中断前LED状态le

7、ft(3);//单灯左移3圈LED=saveLED;//写回中断前LED状态}/*延迟函数,延迟约x1ms*/voiddelay1ms(intx){inti,j;//声明整数变数i,jfor(i=0;i

8、1110,最右灯亮for(j=0;j<7;j++)//j循环,左移7次{delay1ms(250);LED=(LED<<1)

9、0x01;//左移1位後,LSB设为1}delay1ms(250);}}修改:外部中断1,右移动3圈。【例4-5】首先通过P1.7口点亮发光二极管D1,然后外部输入一脉冲串,则发光二极管D1亮、暗交替。#includesbitP1_7=P1^7

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。