刚写好一个程序,但是P3.2口接脉冲输入时,用串口助手测的数目一直是0000啊。求解答- #include<reg52.h>
- //stdio.h,string.h用于printf函数原型
- #include<stdio.h>
- void delay(unsigned int z);
- void uart_init(void);//串行口初始化
- int i;
- int main(void)
- { IP=0X10;
- uart_init();
- IT0=1;//跳变沿出发方式(下降沿)
- EX0=1;//打开INT0的中断允许。
- while(1)
- {
- printf("%d\n",i);
- delay(1000);
- }
- return 0;
- }
- void uart_init(void)
- {
- TMOD=0x20;//即0010 0000,定时器/计数器1,工作方式2
- TH1=0XF3;//设置波特率为4800
- TL1=0XF3;
- TR1=1;//启动定时器/计数器1
- SCON=0x50; //允许串行控制
- PCON=0x80;//
- IE=0x90; //CPU允许中断,串行允许中断
- TI=1;//直接使用printf必须加入此句才能实现发送
- }
- void delay(unsigned int z)
- {
- unsigned int x,y;
- for(x=z;x>0;x--)
- for(y=110;y>0;y--);
- }
- void Int0() interrupt 0 //外部中断0的中断函数
- {
- i++;
- }
|