#include<reg51.h> //定义特殊功能寄存器的头文件 #include<intrins.h> //包括移位函数的头文件 #define NOP _nop_() #ifndef _Dly_nms_h__ #define _Dly_nms_h__ sbit K1=P3^2; //K1位变量定义 typedef unsigned char Uchar; //数据类型重命名 unsigned int a=0; void Dly_nms(unsigned int time) //延时函数 {unsigned char i; for(;time>0;time--) {for(i=0;i<247;i++) {NOP;} } } #endif void INT0sev() interrupt 0 //外中断0的函数 { while(K1==0); //等待按键释放 if(a<900) a=a+100; IE0=0; //清中断标志 } void main() //主函数 { unsigned char C,b=0; C=0xFE; EA=1;EX0=1;IT0=1; //外中断0初始化 for(;;) //循环函数 { P1=C; //数据输出 C=_crol_(C,1); //循环左移 Dly_nms(1000-a); //调用延时函数 } }
|