本帖最后由 张伟灵 于 2016-12-30 13:02 编辑
#include<reg52.h>
sbit P3_3=P3^3;
void Delay10ms()
{
unsigned char i,j;
i=20;
j=113;
do
{ while(--j); }
while(--i);
}
void main()
{
P3_3=0; //GATE=1时,外触发INT0和INT1要高电平触发
//注意:实验板按键都是接地,自己接个按键接5V。
TMOD=0x80; //GATE=1,TR1和外中断INT1共同控制,模式13位
IE=0x88; //EA=1,ET1=1
TH1=(8192-1000)/256; //12MHZ,设1MS触发外中断
TL1=(8192-1000)%256; //你也可以设10MS以下,最好不要超过按键抖动时间
TR1=1; //启动TR1中断,等待INT1触发
while(1)
{
/*你之前的程序*/
P2=0x33;}//我用P2试验LED灯00110011成功
}
void time1() interrupt 3
{
TR1=0; //影响按键判断的中断关了
TH1=(8192-1000)/256; //12MHZ,重新装初值1MS
TL1=(8192-1000)%256;
Delay10ms();//用实验板做才有效果,按键有抖动,不好仿真
if(P3_3==1)
{/*你要显示的程序~~~ */
P2=0xaa; //试验P2口LED10101010
while(P3_3==1);}
P2=0x0f; //试验P2口LED灯00001111
TR1=1;
} |