8051单片机系统中,已知晶振频率为12MHZ,用定时 计数器T1,编程实现从P1.1产生周期为2S的方波。

如题所述

# include
#define uint unsigned int
sbit  P1_1=P1^1;
void  main( )
{
uint i;
TMOD=0x10;        //设置T0定时,工作在模式3                
       TL0=(65536-50000)%256;
       TH0=(65536-50000)/256;                                    
ET1=1;                 //设置定时器/计数 器1中断允许位
       EA=1;                   //设置总中断允许位
       TR1=1;   //启动定时器T1                                    
       while(1)
  { 
if(i>=20)
{
P1_1=~P1_1;
i=0;
}                                                     
}
}
void  time1 H_int(void)  interrupt 3
{
TL0=(65536-50000)%256;
TH0=(65536-50000)/256;                                      
i++;                                                           
       }    
             
温馨提示:答案为网友推荐,仅供参考
相似回答