📄 cmos.h
字号:
#include <hidef.h> /* for EnableInterrupts macro */
#include "derivative.h" /* include peripheral declarations */
#include <MC9S08AW60.h>
/**************取图像数据变量声明定义****************/
#define FS PTED_PTED3 //一帧图像转换完成信号
#define STRB PTAD_PTAD6 //AD转换完成信号
#define sensor_data PTAD //图像数据输出口
//unsigned char field_value=0; //图像的阀值
unsigned char cmos_data[32][32]={0};//存储图像数据
unsigned char cmos_mode=0; //图像获取完成标志
unsigned char row=0; //显示图像数组的行数
unsigned char time=0; //中断次数
/*****************************************************\
*********函数名称:图像数据采集中断服务函数
*********函数功能:采集图像数据
*********函数参数:无
\******************************************************/
void interrupt TPM1_Catch(void) // 中断向量声明为:VECTOR ADDRESS 0x0000FFF2 TPM1_Catch
{ //在project.prm中声明
unsigned char i,j;
SRTISC_RTIE=0;
TPM1C1SC_CH1IE=0; //关中断使能
TPM1C1SC_CH1F=0; //清除中断标志位
while(FS); //等待图像信号
for(i=0; i<=31; i++)
{
while(STRB); //等待像素点数据转换完成
while(!STRB);
for(j=0; j<=31; j++)
{
while(STRB); // Wait synchronous signal
cmos_data[i][j]=sensor_data&0x3f;
while(!STRB); // Wait synchronous signal
}
}
cmos_mode=0; //清除查询标志位
SRTISC_RTIE=1;
}
/******************************************************\
*********函数名称:中断使能函数
*********函数功能:等待中断发生
*********函数参数:无
\******************************************************/
void CMOS_getpic(void)
{
cmos_mode=1; //置查询标志位
TPM1C1SC_CH1IE=1; //允许0通道中断请求
while(cmos_mode==1) //标志位为1,则一直等待中断发生
__RESET_WATCHDOG();
}
/*****************************************************\
*********函数名称:显示数组转换函数
*********函数功能:换行显示
*********函数参数:无
\******************************************************/
void interrupt RTI_switch(void)
{
time++;
SRTISC_RTIACK=1; //清中断标志位
SRTISC_RTIE=1;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -