background image

§

单片机程序采用 C51 完成,部分源程序如下:

1、系统时钟初始化,采用 18.432MHZ 外部晶振:

 

1.

void

 SYSCLK_Init (

void

)   

 

2.

{   

 

3.

       

int

 i;                             

//

 

延时计数器

  

 

4.

       OSCXCN=0x67;                    

//开启外部振荡器 18.432MHz

 

晶体

  

 

5.

       

for

(i=0;i<256;i++) ;        

//

 

等待振荡器启振

  

 

6.

       

while

(!(OSCXCN&0x80)) ;       

//

 

等待晶体振荡器稳定

  

 

7.

       OSCICN=0x88;                  

//选择外部振荡器为系统时钟源并允许丢失时

 

钟检测器

  

 

8.

}   

 

 2、IO 口初始化

 

1.

void

 PORT_Init (

void

)   

 

2.

  

 

3.

      XBR0    =0x07;                     

//使能 SMBus,SPI0,和 UART0 

  

 

4.

      XBR1    =0x04;                    

//P1.0<---int0 

  

 

5.

      XBR2    =0x40;                    

//

 

使能数据交叉开关和弱上拉

  

 

6.

      EMI0CF  =0x27;   

 

7.

      EMI0TC  =0x21;   

 

8.

      P74OUT  =0xFF;   

 

9.

      P0MDOUT =0x15;