cygnalcon.c

来自「c8051f020单片机的例程」· C语言 代码 · 共 87 行

C
87
字号

#include <C8051F020.h>	// Register definition file.
void SYSCLK_Init()
{   
    unsigned int i;
    OSCXCN=0X67;         //0X67=0110,0111
	for(i=0;i<256;i++);         //等待>1ms
	while(!(OSCXCN&0X80));      //等待XTLVLD变为1
	OSCICN=0X88;         //时钟失效监测器,选择外部时钟源作为系统时钟
}
void PORT_Init()
{
    XBR0 = 0x14;
	XBR1=0x0E;
	XBR2=0X40;
//	P0MDOUT=0X03;
    P0MDOUT |= 0xeb; 
	P1MDOUT=0Xff;
}
void UART0_Init()
{
    SCON0=0x50;            //0101,0000 方式一
    TMOD=0X20;             //0010,0000 
	//TH1=0xF4;
//	TL1=0xF4;
//	ES0=1;               //开启串口中断0
//	TF1=0;
//	TR1=1;               //定时器启动
    PCON=0X00;
    TI0=1;
    RCLK0=1;
    TCLK0=1;
    RCAP2H =0xff;
    RCAP2L=0X70;
	TH2=0xff;
	TL2=0X70;
    TR2=1;
//	TR0=1;
}

void config(void)
{	

 	//int i;                              // delay counter

	WDTCN = 0x07;						// Watchdog Timer Control Register
 	WDTCN = 0xde;                       // disable watchdog timer
 	WDTCN = 0xad;
    SYSCLK_Init();
    PORT_Init();
    UART0_Init();


  /* OSCXCN = 0x67;                      // start external oscillator with
                                       // 22.1184MHz crystal

   for (i=0; i < 256; i++) ;           // XTLVLD blanking interval (>1ms)

   while (!(OSCXCN & 0x80)) ;          // Wait for crystal osc. to settle

   OSCICN = 0x88;  */                    // select external oscillator as SYSCLK
                                       // source and enable missing clock
                                       // detector




    XBR2     = 0x40;                    // Enable crossbar and weak pull-up
                                       


 
   P0MDOUT |= 0xFF;                    // enable TX0 as a push-pull output
   P1MDOUT |= 0xFF;                    // enable P1.6 (LED) as push-pull output
   P2MDOUT |= 0xFF;
   P3MDOUT |= 0xFF;

	CKCON = 0x00;   // Clock Control Register
    TH0 = 0x70;     // Timer 0 High Byte
    TL0 = 0x00;     // Timer 0 Low Byte
    TMOD = 0x01;    // Timer Mode Register
    TCON = 0x10;    // Timer Control Register 


}  

⌨️ 快捷键说明

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