PORT6==0X06 ;定义 CNT0==0X10 CNT1==0X11 CNT2==0X12 CNT3==0X13 IOCE==0X0E IOCF==0X0F IOCD==0X0D ORG 00 DISI ;关总断 MOV A,@00001110B ;预分频器给WDT CONTW WDTC ;清预分频器及看门狗定时器 MOV A,@0 IOW IOCE ;关狗 JMP MAIN ORG 8 ZD: ;中断 MOV PORT6,PORT6 ;读P6口 DISI ;关总中断 CLR IOCF ;清除中断标志位 MOV A,@0 ;关闭中断使能位 IOW IOCF MOV A,@01000001B ORT6。6点亮,作为感应成功的指示灯 MOV PORT6,A ;延时500MS MOV A,@00000001B ;指示灯关闭 MOV PORT6,A ;延时1S MOV A,@0 ;让电机转动 MOV PORT6,A ;延时500MS MOV A,@00000001 ;关闭电机 MOV PORT6,A RETI ;中断返回 MAIN:
MOV A,@0 6口上拉使能 IOW IOCD MOV A,@00111110B 6。5--P6。1为输入,其余输出 IOW PORT6 MOV A,@5 MOV CNT3,A ZHIS:MOV A,@01000001B ;上电指示 MOV PORT6,A ;延时1S MOV A,@00000001B MOV PORT6,A ;延时1S DJZ CNT3 JMP ZHIS CLR IOCF ;清除中断标志位 MOV PORT6,PORT6 ;读P6端口值 MOV A,@00000010B ;P6口变化中断使能 IOW IOCF ENI ;开总中断 LOOP: MOV A,@10000001B ;P6。7发送高电平 MOV PORT6,A ;延时125MS MOV A,@00000001 ;P6。7发送低电平 MOV PORT6,A ;延时约1S JMP LOOP 延时程序 EOP 各位大师,使能P6口变化中断,对输入到检测端的高低电平的宽度有什么样的要求吗? 我用上面的程序,测到输入到检测端口有高低电平出现(低电平小于1V,高的大于3V),但就进不了中断,麻烦各位老师帮帮忙,谢谢.
|