?? initial.c
字號:
/************************************************************************************
本程序僅供廣大電子愛好者制作MP3學習和參考使用,不得用于其它用途,否則后果自負
Initial.c file
Created by Computer-lov. Date: 2005.3.19
Last edited date: 2005.5.31
version 1.1
Copyright (c) 2005 Computer-lov
All rigths reserved
*************************************************************************************/
#include "Initial.h"
#include "IDE.h"
#include "AT89C51SND1C.H"
#include "keyboard.h"
#include "hardware.h"
#include "LCD.H"
//////////////////////////////////////////////////
void PLL_initial(void) //PLL初始化
{
// PLLRDIV=0x02; //使用16M晶振,產生192M頻率
// PLLNDIV=0x00;
PLLRDIV=(0x5F)>>2; //使用20M晶振,產生192M頻率
PLLNDIV=0x09;
PLLCON=0xC8; //復位PLL
PLLCON=0xC2; //使能PLL
CKCON=0x01;
while(!PLOCK); //等待PLL鎖定
}
//////////////////////////////////////////////////
//////////////////////////////////////////////////
void RAM_initial(void) //RAM初始化
{
AUXR=0x0C; //禁止外部RAM,使用內部2KRAM
}
//////////////////////////////////////////////////
//////////////////////////////////////////////////
void interrupt_initial(void) //中斷初始化
{
EA=0;
EAUD=0;
EMP3=0;
ES=0;
ET1=0;
EX1=0;
ET0=0;
EX0=0;
IEN1=0x10; //允許鍵盤中斷
IPH0=0x00; //優先級設置為默認
IPH1=0x00;
IPL0=0x00;
IPL1=0x00;
EA=1;
}
//////////////////////////////////////////////////
/*void timer_initial(void)
{
}*/
//////////////////////////////////////////////////
void MP3_decoder_initial(void) //MP3解碼器初始化
{
MP3CON=0x3F;
MP3CLK=0x05; //MP3解碼時鐘為32MHz
MP3_decoder_disen(); //先停止MP3解碼器
}
//////////////////////////////////////////////////
//////////////////////////////////////////////////
void DAC_initial(void) //DAC初始化
{
AUDCON0=0x72; // 256Fs
// AUDCON0=0x73; //384Fs
AUDCON1=0x00;
}
//////////////////////////////////////////////////
//////////////////////////////////////////////////
void keyboard_initial(void) //鍵盤初始化
{
KBCON=0x00; //低電平觸發,允許中斷
KBSTA=0x80; //允許鍵盤從休眠模式喚醒
}
//////////////////////////////////////////////////
void USB_initial(void)
{
USBCLK = 0x03;
USBCON = USBCON | 0x40;
USBIEN = 0x00;
}
//////////////////////////////////////////////////
void system_initial(void) //系統開機初始化
{
IDE_DATA_L=IDE_Bus_Not_Use;
IDE_ALE=1;
IDE_ALE=0; //IDE數據總線初始化為高阻狀態
LCD_initial();
PLL_initial();
USB_initial();
MP3_decoder_initial();
RAM_initial();
DAC_initial();
keyboard_initial();
IDE_initial();
interrupt_initial();
}
//////////////////////////////////////////////////
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -