📄 io.c
字号:
/*==========================================================================*
* File name : io.c *
* Author: davidlee *
* Data: 2006.11.19*
* Version: 2.0 *
* Organization: DSP&EMC,National Key Laboratory of Power Electronics,
* Zhejiang University, Hangzhou 310027, China *
* Description : PROGRAM TO CONTROL A ELECTRIC CAR USE F2407A *
;============================================================================*
*/
#include "F2407_c.H" //the header file
int temp1,j,k,data;
asm(" .word #0ffffh ");
asm(" .word #0ffffh ");
asm(" .word #0ffffh ");
asm(" .word #0ffffh ");
//屏蔽中断程序
void inline disable()
{
asm(" SETC INTM "); //屏蔽总中断程序
}
void inline enable()
{
asm(" CLRC INTM ");
}
//=======================================================
//系统初始化子程序
//=======================================================
void system_init()
{
asm(" CLRC SXM "); //符号位不作扩展
asm(" CLRC OVM "); //遇到溢出,累加器被设置为它的最大正值或负值
asm(" CLRC CNF "); //B0设置为数据存储区
temp1=0x0;
asm(" OUT _temp1,0FFFFh "); //设置整体延时为0
SCSR1=0x02C; //使能ADC,EVA,EVB时钟
WDCR=0x0E8; //不使能看门狗,因为SCSR2中的WDOVERRIDE
//即WD保护位复位后的缺省值为1,故可以用软件禁止看门狗
IFR=0x0FFFF; //清除全部中断标志,"写1清0"
}
//=======================================================
//初始化程序
//=======================================================
void initial()
{
MCRA=0x0CFFF; //设置相应的按键接口为普通I/O口
MCRB=0x0FFFD; //仿真口设置,允许在线仿真
MCRC=0x02FF; //这里分别设置IOPF0,2,3,4,5,6以及IOPB4,5为普通I/O口
PBDATDIR=0x0; //设置IOPB,IOPF等为输入端口,按键输入
PFDATDIR=0x200;
}
//=======================================================
//该中断服务程序主要是为了防止干扰,不作任何其他操作
//=======================================================
void interrupt nothing()
{
return; //中断直接返回
}
//=======================================================
//主程序
//=======================================================
main()
{
disable();
system_init();
initial();
enable();
while(1)
{
j=PFDATDIR;
j=j&0x0001;
if(j==0)
{k=PFDATDIR&0x0FD;
k=k>>1;
k=k&0x3F;
}
else if(j!=0)
{k=PFDATDIR|0x02;
k=k>>1;
k=k&0x3F;
}
data=PBDATDIR<<2;
data=data&0x0C0;
data=data|k;
asm(" OUT _data,2000h ");
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -