d);Р{РTMOD=0x10; /定时器1工作在方式1,即为16位计数器РTH1=0X01; /设置60ms定时时间的初值РTL1=0XA0;РTR1=1; /启动T1РIT1=1; /设置INTR1中断方式为边沿触发方式,负跳变时产生中断РEA=1;РET1=1; /允许定时器1中断РEX1=1; /允许外部中断1中断РEA=1; /CPU开放中断Рcount=0;Р}Рvoid int1(void) interrupt1; /外部中断1处理函数РTR1=0;РTH1=0X15;РTL1=0XA0;Рwhile (int1==0);Рcount ++;Рprecount=count;РTR1=1;Р}Рvoid Yudi(void); /转向传感器子程序Р{Р if(precount>=3&&precount<12)Р {Maichong=04H;Р else if (precount>=12&&precount<20)Р {Maichong=0FH;}Рelse Maichong=00HРMaichong=P0;Р}Р在汽车转向系统中断服务设计中,依然使用的是AT89C51单片机,在AT89C51中有6个中断源,其中有两个为外部中断源,也就是在单片机外部引脚上加了触发信号,以便产生中断请求,T0、T1、T2、T3、T4的入口地址分别是00003H,000BH,0013H,001BH,当这4个接口发出请求信号时,闪光灯会依次亮起来,以右转弯状态仿真图为例,转弯灯仿真图见附录1,C程序设计如下。Р#include <reg51.h>Р#include <.h>Рfloat pwmcycle, pwmcycle1,pwmcycle2;Рchar E(k)[8],Ec(k)[8];Рsbit pwm1=P0.0;Рsbit pwm1=P0.1;Рsbit pwm2=P0.3;