time3.c

来自「c8051f020模块.rar」· C语言 代码 · 共 72 行

C
72
字号
#include <c8051f020.h>

#define uint8 unsigned char
#define uint16 unsigned int

#define time 2000	 //时间=(time/1000)s

uint16 flag;

void SYSCLK_Init(void)
{ 
  uint8 i;
  OSCXCN = 0X67;//开始外部22.1184M晶振
  for(i = 0;i < 128;i++); //等待外部起振
  while(!(OSCXCN & 0X80));	//查询标志位
  OSCICN = 0X88;//用外部晶振,并使能始终丢
}


void Init_Timer3(void)
{
  TMR3CN=0X00;
  TMR3RLL=0X09a;
  TMR3RLH=0X0f1;
  /*TMR3L=0X0ff;
  TMR3H=0X0ff;*/
  TMR3CN|=0X04;
  EIE2|=0X01;
}


void Init_PORT(void)
{
  XBR2=0X40;
  //P0MDOUT=0XFF;
  //P74OUT=0X04;
  P74OUT=0Xff;
  P5=0X00;
  //P0=0xff;
}


void Timer3_ISR(void) interrupt 14
{
  TMR3CN&=0X7F;
  	 flag++;
  if(flag==time)
  {
  	P5=~P5;
  	flag=0;}
}


void main(void)
{
   WDTCN = 0xde;
  WDTCN = 0xad;//关闭看门狗
  SYSCLK_Init();
  Init_PORT();
  Init_Timer3();
  EA=1;
  while(1)
   {

  }


   }
   		  
		  

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?