1.c

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

C
82
字号
#include <c8051f020.h>
#include<intrins.h>

#define uint8 unsigned char
#define uint16 unsigned int


uint16 Apoint,Bpoint,Cpoint;


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


void Init_PCA(void)
{
   PCA0MD=0X00;
   PCA0L=0X00;
  PCA0H=0X00; 
   
}


void Get_Num(void)
{
  CR=1;
  PCA0CPM0=0X20;
   PCA0CPM1=0X20;
   PCA0CPM2=0X20;
  while(!(PCA0CN&0X01));
  Apoint=(PCA0CPH0<<8)|PCA0CPL0;
   PCA0CPM0=0X00;
  while(!(PCA0CN&0X02));
  Bpoint=(PCA0CPH1<<8)|PCA0CPL1;
   PCA0CPM1=0X00;
  while(!(PCA0CN&0X04));
   Cpoint=(PCA0CPH2<<8)|PCA0CPL2;
   PCA0CPM2=0X00;
  //Apoint=(PCA0CPH0<<8)|PCA0CPL0;
 //Bpoint=(PCA0CPH1<<8)|PCA0CPL1;
  //Cpoint=(PCA0CPH2<<8)|PCA0CPL2;

  PCA0CN=0x0f;
  CR=0;
  PCA0H=0;
  PCA0L=0 ;

}


void Init_PORT(void)
{
  XBR0=0X1C;//连接CEX0~CEX2,UART0
  XBR2=0X40;
}


void main(void)
{
  WDTCN = 0xde;
  WDTCN = 0xad;//关闭看门狗

  Init_SYSCLK();
  Init_PORT();
  Init_PCA();

  while(1)
  {
  	 Get_Num();
	 _nop_(); 
  
  
  
  }

}

⌨️ 快捷键说明

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