这些小活动你都参加了吗?快来围观一下吧!>>
电子产品世界 » 论坛首页 » 嵌入式开发 » MCU » G80F920学习笔记1

共1条 1/1 1 跳转至

G80F920学习笔记1

助工
2014-10-08 21:09:49     打赏

1. RST引脚上保持10us以上的低电平,CPU将复位。由于有内建30K上拉电阻连接到VOUT,所以仅接一个外部电容即可实现上电复位。


2. 内建PLL外接1000pF电容。


3. 内部稳压源输出(外接47uF电容)。


4. 定时器使用:


    //9.8304MHz(12分频)下定时10ms初值
//定时器1,工作方式1,16位定时器
//2^16-8192=57344=E000H
#define CLK1_10MS_H  0xE0
#define CLK1_10MS_L  0x00


/****************************************
*定时器1初始化函数,方式1
****************************************/
void timer_init(void)
{   
 //先禁止全部中断
 IEN0 = 0x00;
 IEN1 = 0x00;
 
 //定时器0初始化,定时周期10MS
 TR1 = 0;  //停止定时器0
 TF1 = 0;  //定时器1溢出标志清零
  TMOD = 0x10; //定时器1工作在MODE1 
 TL1=CLK1_10MS_L; //装入定时器初值
 TH1=CLK1_10MS_H;
 TCON1 = 0x08;      //选择系统时钟的1/12做为定时器1的时钟源
 TR1=1;  //启动定时器1
 ET1=1;  //允许定时器1溢出中断
 }


 


/*****************************************************
*定时器T1中断服务程序,10ms间隔定时
****************************************************/
void Timer1_ISP(void) interrupt 3
{
 EA = 0;               //关全局中断
 TF1 = 0;           //定时器1溢出标志清零
 TL1=CLK1_10MS_L; //装入定时器初值
 TH1=CLK1_10MS_H;  
  


//添加自己的代码



 EA=1;           //开全局中断
}


5.  中断函数设置:


注意:中断使用时,必须把相应的管脚设置为输入状态。


 /******************************************************************************************
*外部中断0,中断1初始化函数
*******************************************************************************************/
void int_init(void)
{
 EX0=1;    //允许外部中断0
 EX1=1;    //允许外部中断1
 IT0=1;     //INT0下降沿触发
 IT1=1;    //INT1下降沿触发
}


/*******************************************************************************************
** 函数名称: INT0_ISP
** 函数描述: 外部中断0中断服务程序
** 输入参数: 无
** 输出参数: 无 
*******************************************************************************************/
void INT0_ISP(void) interrupt 0
{
   EA=0;
   IE1=0;


 


   //添加代码



     EA=1;
}
/*******************************************************************************************
** 函数名称: INT1_ISP
** 函数描述: 外部中断1中断服务程序
** 输入参数: 无
** 输出参数: 无 
*******************************************************************************************/
void INT1_ISP(void) interrupt 2
{
   EA=0;
   IE1=0;


 


   //添加代码



      EA=1;
}


6. 系统初始化设置


/**************************************************
*系统初始化
**************************************************/
void System_Init(void)
{
  //设置振荡器
 CLKCON=0x88; //32.768kHz加速模式,系统时钟无预分频,打开PLL振荡器
 //延时2ms设置完振荡器使用PLL振荡频率后,至少等待2ms以上的时间
 delay5ms();  //延时5ms 
 //使用PLL振荡器作为系统时钟
 CLKCON=0x8c; //使用PLL时钟作为系统时钟
}


共1条 1/1 1 跳转至

回复

匿名不能发帖!请先 [ 登陆 注册 ]