1 / 39
文档名称:

摄像头组程序.doc

格式:doc   大小:111KB   页数:39页
下载后只包含 1 个 DOC 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

摄像头组程序.doc

上传人:xgs758698 2018/11/10 文件大小:111 KB

下载得到文件列表

摄像头组程序.doc

文档介绍

文档介绍://中值滤波有可能把一个点的中心滤掉
//70度是往左转
#include <>
#include <>
#include <>
#pragma LINK_INFO DERIVATIVE "mc9s12xs128"
#define uchar unsigned char
#define uint unsigned int
#define T
#define PWUP PTH_PTH7
#define CE PORTB_PB7
#define CS PORTB_PB3
#define CLK1 PORTB_PB1
#define DR1 PORTB_PB2
#define DATA PORTB_PB0
unsigned int RxBuf[20];
///////////////////////////////////////////////////guangdianbianma
#define TIME_INTER 1000 //1000个ms=1s
unsigned int Get_pulse; //脉冲个数
unsigned int number_count;
float sudu;
uint count ,maichong;
float speed;
/////////////////////////////////////////////////////////////////////
unsigned int get_n[]={ 32,45,70,74,87,100,112,123,133,141, //采点的行数
148,155,161,166,171,
176,181,185,188,192,196,200,204,208,212,216,219,
222,225,228,231,234,237,240,243,245,247,249,251,253};
unsigned char c_lie=0; // 二维数组
unsigned int lie_count=0,hang_count=0; //摄像头
uchar ta1[4][36]; //阈值的三行
//
unsigned char c_row=0,g_row=0;
unsigned char c_line=0; //采集使用
unsigned int row_count=0,line_count=0;
unsigned char ta[40][36]; //采集回来的电压值
unsigned char *pimage_data1=&ta[0][0]; //指向采集数组
////////////////////////////
float KP;
float KI;
float KD;
int curr_speed;
int LastError ; //Error[-1]
int PrevError; //Error[-2]
int iError;
int pid;
//
uchar PWM_max_zuo=200,PWM_max_you=150;
float PWM_Speed=0;
float speed_zuo,speed_you;
uchar flag,g=0;
uchar whitedian=0;
float zhuanjiao;
float jiaozheng_slop1;
float jiaozheng_slop2;
float jiaozheng_add;
float slop_line;
float miss_xian;
unsigned char ta2[40][36]; //二值化后的数值
float blackxian[40]; //矫正后的黑线位置
uchar blackcenter[40]; //矫正前的黑线位置
uchar blackline1[40][2]; //blackline1[aa][0]是外边蓝边的中心,blackline1[aa][1] ¬
是黑线的中心?
float blackline2[40][2]; //矫正后的blackline2[aa][0]是外边蓝边的中心,blackline2[aa][1] ¬
是黑线的中心?
uchar heidian[40][2]; // heidian[aa][0]是外边蓝边的黑点数, heidia[aa][1] ¬
是黑线黑点个数
unsigned char q=0,m=0,n=0;
char distence,distence1;
unsigned int yuzhi1=26;