text1930.c

来自「得用c8051f930按键点亮相应的LED。」· C语言 代码 · 共 62 行

C
62
字号
#include<C8051F930_defs.h>

void delay(unsigned char i);
void SYSCLK_Init (void);
void PORT_Init (void);
sbit LED = P1^6;

void main(void)
{
//unsigned char a,b;


//P0DRV=0x0f;
VDM0CN=0x00;                          // enable P1.6 (LED) as push-pull output
PCA0MD &= ~0x40;                    
PCA0MD = 0x00;
P1MDOUT |= 0xff;
SYSCLK_Init ();                     // initialize oscillator
PORT_Init ();                       // initialize crossbar and GPIO
//SFR_PCA0CN =0x00;
//PCA0CPH4=0x00;
//WDTON=0x00;
  while(1){
  P1=0xff;
  delay(1000);
  P1=0x00;
  }
}

void delay(unsigned char i)
{
 unsigned char j;
 while(i--)
 {
  for(j=125;j>0;j--); 
 }
}

void SYSCLK_Init (void)
{
   int i;                              // delay counter

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

   for (i=0; i < 256; i++) ;           // Wait for crystal osc. to start

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

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

void PORT_Init (void)
{
   XBR0    = 0x04;                     // Enable UART0
   XBR1    = 0x00;
   XBR2    = 0x40;                     // Enable crossbar and weak pull-ups
   P0MDOUT |= 0x01;                     // enable TX0 as a push-pull output
   P1MDOUT |= 0x40;                     // enable P1.6 (LED) as push-pull output
}

⌨️ 快捷键说明

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