原创 瑞萨H38024单片机初始化C程序

2008-8-22 23:44 5180 7 3 分类: 软件与OS

initbitvari();
irq0_enable=0; //0=close IRQ0,1=open IRQ0
set_imask_ccr(1); // 关CPU总中断


//== 设置键盘扫描的端口
//P3口的设置,其中P3.0,P3.1,P3.2,P3.6,P3.7作为输出,其余作为输入
IO.PCR3=0xC7;//00
IO.PUCR3.BYTE=0x38; //FF
IO.PMR3.BYTE=0x00;
IO.PMR2.BYTE=0x00;
//P1口的设置,P1.3,P1.4,P1.6作为输入,其它全作为I/O口的输出
IO.PCR1=0xA7;
IO.PUCR1.BYTE=0x58;
IO.PMR1.BYTE=0x00;
//=============================



//==注:TIMER A必需先停止后才能设置register TMA and TCA---
// 并且开关中断等.
CKSTPR1.BIT.TACKSTP=0;
TMRA.TMA.BYTE=0x07; //external time clock source
// TMRA.TCA=0x00; //注:可以不用
IRR1.BIT.IRRTA=0; // clear flag
IENR1.BIT.IENTA=1; // enable
// set_imask_ccr(0); // open CPU interrupt
// CKSTPR1.BIT.TACKSTP=1;
//====================================================


//== 中断IRQ0的设置


// IO.PDR3.BYTE=0x0f;
irq0_mode=1; //0=一般的I/O口,1=IRQ0中断口
irq0_sense=0; //0=为下降沿触发,1=上升沿触发
irq0_flag=0; //0=clear flag,1=set flag
set_imask_ccr(0); //0=open CPU,1= close CPU


//=====================================================



//== TIMER C 的设置,其中TMC必需先启动后才能设置
TMRC.TMC.BYTE=0x84; // reload,up-counter, fai/16
CKSTPR1.BIT.TCCKSTP=0; // 0=stop,1=start
IRR2.BIT.IRRTC=0; // clear flag
IENR2.BIT.IENTC=1; //0=disable TC interrupt,1=enable TC interrupt
// set_imask_ccr(0); //0=open CPU interrupt,1=close CPU interrupt
//===============================================================


//==设置PB口为一般的I/O口;
AD.AMR.BYTE=0x00;
IO.PMRB.BYTE=0x00;



 


 

文章评论0条评论)

登录后参与讨论
我要评论
0
7
关闭 站长推荐上一条 /2 下一条