delay延时函数 void delayms (uint xms) { } 单片机 外部中断0设置开启 EA=1; //开启总中断 EX0=1;//开启外部中断0 TCON=0x01;//设置触发方式(此方式为下降沿)可对每一位操作 void exter0 () interrupt 0 //中断程序 { } 时钟中断 //注意:1.对TMOD赋值,确定T0和T1的工作方式。2.计算初值,写入TH0、TL0或TH1、TL1。 void main { TMOD=0x01;//设置定时器0模式(16位,定时器模式,内部) TH0=(65536-50000)/256;//装初值 TL0=(65536-50000)%6; EA=1;//开总中断 ET=1;//开定时器0中断 TR0=1;//启动定时器0 if(tt==20) { } TH0=(65536-50000)/256;//由于进入中断16为计数器会清零,所以重新赋值 TL0=(65536-50000)%6; tt++; if(key1==0) { delay(5);//尽量在5毫秒以上 if(key1==0) { // d1=0; // num++; // if(num==10) // num=0; } while(!key1);//判断是否松手 delay(5);//消除松手时产生的浪涌 while(!key1); P3.6=0;//DA的wr低电平, |
|