实验5-外部中断CHANGZHOUINSTITUTEOFTECHNOLOGY新型单片机实践题目:外部中断二级学院(直属学部):延陵学院专业:电气工程及其自动化班级:10电Y2学生姓名:熊群学号:10120827一、实验目的掌握单片机外部中断的基本使用方法。了解单片机外部中断脉冲触发和电平触发的不同应用。掌握外部中断处理程序的编程方法。二、实验电路元器件编号元器件名称说明U1AT89C52AT89C52单片机R1~R12RES电阻D1~D12LED-RED红色LED灯LOGICSTATE脉冲发生器,接单片机外中断0、1三、实验流程四、调试和操作主流程P1口接8个LED,实现每次亮一个灯的流水灯,外部中断0-INT0为下降沿触发,INT0中断服务程序使接在P0口的4个灯闪烁3次后返回主程序。外部中断1-INT1为低电平触发,INT1中断服务程序使接在P2口四个灯闪烁6次后返回主程序五、实验程序#include<>#include<>#RUE1#definePORT_OUTP1//定义P1为输出口voidtime(unsignedintucMs);//延时单位:msvoidmain(void){TCON=0x01;//设置外部中断0为脉冲触发方式,设置外部中断1为低电平触发方式IE=0x85;//开启外部中断0和1PORT_OUT=0xfe;//初始化输出端口while(TRUE){time(500);//=_crol_(PORT_OUT,1);//调用循环座椅函数改变输出端口的值一循环点亮LED灯}}/*外部中断0服务程序*/voidextInterrupt0(void)interrupt0{unsignedcharcounter;//循环次数计数EA=0;//关总中断for(counter=0;counter<3;counter++){P0=0;//点亮P0口LED1time(100);//延时100msP0=0xff;//熄灭P0口LED1time(100);//延时100ms}EA=1;//开总中断}/*外部中断1服务程序*/voidextInterrupt1(void)interrupt2{unsignedcharcounter;//循环次数计数EA=0;//关总中断for(counter=0;counter<3;counter++){P2=0;//点亮P2口LED1time(100);//延时100msP2
实验5-外部中断 来自淘豆网www.taodocs.com转载请标明出处.