电脑桌面
添加小米粒文库到电脑桌面
安装后可以在桌面快捷访问

中断INT0VIP免费

中断INT0_第1页
1/5
中断INT0_第2页
2/5
中断INT0_第3页
3/5
1、外部中断利用中断INT0计数,并显示计数值,INT0为P3.2口,中断的接线图参考下图:外部中断有INT0和INT1两个,CPU通过INT0引脚(12脚,即P3.2口)及INT1引脚(即13脚,即P3.3口)即可接受外部中断的请求。外部中断信号的采样方式可分电平触发(低电平触发)及边缘触发(负边缘触发)两种。通过TCON寄存来控制(见第二点)。(1)中断允许(2)TCON中断启用寄存器IE,可看作开闭中断功能的开关,各个位的功能见下图:(3)中断向量表中断编号中断源名称中断向量地址-系统复位0x000第一个外部中断INT00x031第一个定时器/计数器中断TF00x0B2第二个外部中断INT00x133第二个定时器/计数器中断TF10x1B4串行口中断RI/TI0x235第三个定时器/计数器(8052)TF2/EXF20x02B上表所示为8051/8052的中断向量。当发生中断时,程序员将跳至其对应的中断向量地址,执行该位置上的程序。对于C语言程序,可心不必知道其真实地址,程序设计者只要知道发生中断时,将会执行其中断程序即可。当然,在中断也程序的定义上,必须明确定义该中断子程序属于哪个中断的中断也程序。(4)中断子程序格式void中断子程序名称(void)interrupt中断编号using寄存器组如:voidmy_INT0interrupt1{}程序:#includeunsignedcharcodetable[]={0x28,0x7E,0xA2,0x62,0x74,0x61,0x21,0x7A,0x20,0x60,0xff};unsignedcharcount;unsignedintf,e;voiddelay10ms(void){unsignedchari,j;for(i=20;i>0;i--)for(j=248;j>0;j--);}//***显示子程序**///voiddisp_count(){e=count;f=e%10;//个位P0=table[f];P2=0x7f;delay10ms();f=e/10;//十位P0=table[f];P2=0xbf;delay10ms();}voidmain(void){//IT0=0;//低电平触发IT0=1;//下降沿触发EA=1;///允许中断EX0=1;///开外部中部INT0while(1){disp_count();}}/*********************************************************INT0中断函数*********************************************************/voidcounter(void)interrupt0{charx;EX0=0;count++;disp_count();EX0=1;}/********************************************************/练习:1.中断前,程序执行P1口的灯从L1~L8灯顺序点亮,如此不断循环。当发生INT0外部中断时,P1口的灯按L8到L1顺序点亮一圈后结束。2.采用INT1外部中断完成,进行数据范围为(0~20)的计数,并将计数值通过两个LED数码管显示。3.两个外部中断嵌套使用2、定时器中断(1)中断允许

1、当您付费下载文档后,您只拥有了使用权限,并不意味着购买了版权,文档只能用于自身使用,不得用于其他商业用途(如 [转卖]进行直接盈利或[编辑后售卖]进行间接盈利)。
2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。
3、如文档内容存在违规,或者侵犯商业秘密、侵犯著作权等,请点击“违规举报”。

碎片内容

确认删除?
VIP
微信客服
  • 扫码咨询
会员Q群
  • 会员专属群点击这里加入QQ群
客服邮箱
回到顶部