设单片机系统的晶振为12MHz,要求使用定时计数器1,用C语言 编写程序实现?

设单片机系统的晶振为12MHz,要求使用定时计数器1,自动重装模式,输出周期
为200us,占空比为1:1的方波,从P1.7口输出,P1.7口初始为高电平。用C语言
编写程序实现。

系统晶振为12MHz时,定时器的计数脉冲周期即为 1uS;
要求输出周期为200us,占空比为50% 的方波,即方波的高电平时间=100uS,低电平时间=100uS。
所以每定时100uS便产生一次中断,并将输出信号状态翻转一次;
sbit cp=P1^7;
void timer1 interrupt 3
{ cp=~cp; }
void main()
{
TMOD=0x20; // 定时器1采用方式2 进行定时;
TH0=256-100; //定时100uS;
TL0=TH0;
EA=1;ET1=1;TR1=1;
cp=1;
while(1){}

}
温馨提示:答案为网友推荐,仅供参考
相似回答