📄 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 + -