📄 ad.c
字号:
#define ADD 0x0C00000 /*随意外部的地址*/
#define VEC_ADD (volatile int *)0x00;
cregister unsigned int IF; /*定义特殊的寄存器 */
cregister unsigned int ST;
cregister unsigned int IE;
cregister unsigned int IOF;
void INITIAL(void);
void delay(unsigned int time);
void interrupt AD_READY(void);
long int a;
/******************主程序****************************/
main()
{
volatile int *INT=VEC_ADD;
INT[1]=(volatile int) AD_READY;
INITIAL(); //初始化
while (1)
{
IOF=0x22; //片选有效
delay(5); //40ns
*(int*)ADD=1; //启动转换
delay(1);
IOF=0x62;
delay(10);
}
}
/***************初始化程序********************/
void INITIAL(void)
{ IF=0; /*初始化特殊寄存器*/
IE=1;
ST=0x3800;
IOF=0x62; /*初始化XF0,XF1为输出*/
}
/**************中断程序**********************/
void interrupt AD_READY(void)
{
IF=0; /*清中断标志位*/
delay(5); //40ns
IOF=0x22;
a=*(int *)ADD; /*读转换结果*/
IOF=0x62;
}
/**************延时子程序**********************/
void delay(unsigned int time)
{
while(time--);
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -