Ö л
½ñÄêÄܹ»²Î¼ÓµÚ°Ë½ì·É˼¿¨¶û±È«¹ú´óѧÉúÖÇÄÜÆû³µÈüÎÒÃÇÊ×ÏÈÒª¸ÐлÐÅÏ¢¿ÆÑ§Ó빤³ÌѧԺÍõ»÷ÀÏʦµÄϤÐÄÖ¸µ¼£¬Ö¸µ¼ÀÏʦ¶à´ÎѯÎÊÑо¿½ø³Ì²¢ÎªÎÒÃÇÖ¸µãÃÔ½ò¡£ÆäÑϽ÷µÄÖÎѧ̬¶ÈÒÔ¼°¶ÔÎÒÃǵĹػ³Ê¹ÃÇ»ñÒæÉõ¶à£¬¸Ð¶¯ÆÄÉî¡£
ÔÚ×¼±¸±ÈÈüÆÚ¼äÎÒÃǵõ½Á˲μӹýµÚÆß½ì±ÈÈüµÄѧ³¤µÄÐí¶à·Ç³£ÊµÓõİïÖúºÍ½¨Ò飬ÔÚÕâÀïÒªÌØ±ð¸ÐлËûÃÇ¡£ÁíÍâÒ²¸ÐлһÆð×¼±¸±ÈÈüµÄ¶ÓÔ±£¬Ã»ÓÐËûÃǵİïÖúÎÒÃDz»¿ÉÄÜÍê³É¹¤×÷¡£
ÁíÍâÎÒÃÇ»¹Òª¸ÐлµÂÖÝÒÇÆ÷¹«Ë¾ÒÔ¼°·É˼¿¨¶û¹«Ë¾ÎªÎÒÃÇÌṩµÄоƬ֧³Ö£¬Ã»ÓÐÒ»¸ö´ó·¶Î§µÄ±È½ÏÊDz»¿ÉÄÜÑ¡³ö×îÓÅ×îºÏÊÊÔªÆ÷¼þ³öÀ´µÄ£¬ÎÒÃǵÄС³µÄܹ»Ë³ÀûµÄ²ÎÈüÒª¸ÐлÕâÁ½´ó¹«Ë¾µÄ°ïÖú¡£
µÚ 37 Ò³
²Î¿¼ÎÄÏ×
[1] ½ÌÓý²¿¸ßµÈѧУ×Ô¶¯»¯×¨Òµ½Ìѧָµ¼·ÖίԱ»á. ¹ØÓÚ¾Ù°ìµÚÈý½ìÈ«¹ú´óѧÉú¡°·É˼¿¨¶û¡±±ÖÇÄÜÆû³µ¾ºÈüµÄ֪ͨ[EBOL]. 2007-11-01.
[2] ÉÛ±´±´. µ¥Æ¬»úǶÈëʽӦÓõÄÔÚÏß¿ª·¢·½·¨. ±±¾©£ºÇ廪´óѧ³ö°æÉç. 2004Äê10 ÔµÚ1 °æ.
[3] ·½ÐË£¬¹ù˼Ã÷£¬ÂíÃ÷»Í. ÉϺ£½»Í¨´óѧËÙ¶ÈÖ®ÐǶӼ¼Êõ±¨¸æ.
[4] ׿Ç磬»Æ¿ªÊ¤£¬ÉÛ±´±´.ѧ×öÖÇÄܳµ[M].±±¾©£º±±¾©º½¿Õº½Ìì´óѧ³ö°æÉ磬2007.24¡«27. [5] Freescale Semiconductor Inc. S12PWM8B8CV1D Block User Guide V01.17[Z]. 2004. 1~51. [6] National Semiconductor. LM1881 Video Sync Separator General Description[Z]. June 2003 [7] ÑîÃ÷£¬ËÎÑ©·å£¬Íõºê£¬ÕÅîà.ÃæÏòÖÇÄܽ»Í¨ÏµÍ³µÄͼÏñ´¦Àí[J].¼ÆËã»ú¹¤³ÌÓëÓ¦ÓÃ.2001Äê09ÆÚ.
[8] Óà²Ó¼ü£¬³Ì¶«³É£¬Àîΰǿ.PIDËã·¨ÔÚÖÇÄÜÆû³µÉè¼ÆÉϵÄÓ¦ÓÃ.¡ª¡ª¡¶Ñ§×öÖÇÄܳµ¡ª¡ªÌôÕ½¡°·É˼¿¨¶û¡±±¡·[C].±±¾©£º±±¾©º½¿Õº½Ìì´óѧ³ö°æÉ磬2007.133¡«135.
µÚ 38 Ò³
³ÌÐò¸½Â¼
#include \
----------ºê¶¨Òå----------- ͼÏñ´¦Àí
#define HEIGHT 6561 #define WIDTH 200 #define AD 30 »Ò¶ÈãÐÖµ #define CENTER 95 95
µç»ú¿ØÖÆ
#define SpeedPWMMax 800
#define MaxMoto 80 µç»úPWMÖÜÆÚ#define PBangBang 30 °ô°ôãÐÖµ #define NBangBang 50
sd¿¨ËٶȼǼ int sdimage=0; int sdaddr=100; unsigned char sp[512]; int sps=0;
int16 COUNT = 0;
¶æ»ú¿ØÖÆ
µÚ 39 Ò³
#define DuoMiddle 1290 0 1290 #define DuoLeftMax 1045 1050 250 1018 #define DuoRightMax 1535 1530 -270 1562
uint8 a,b,c,d;
----------È«¾Ö±äÁ¿¶¨Òå----------- ͼÏñ´¦Àí
uint8 THRESHHOLD = 100; ¶þÖµ»¯ãÐÖµ uint8 Buffer[HEIGHT+1][WIDTH] = {{0}};
int16 leftBoundary[HEIGHT] = {0}; ͼÏñµÄ×ó±ß½ç int16 rightBoundary[HEIGHT] = {0}; ͼÏñµÄÓұ߽ç int16 midLine[HEIGHT] = {0}; ÖÐÐÄÏß uint8 midBeginRow = 0; uint8 midEndRow = 0;
int16 midEndCol =0; ¼ÓÈëÁËÈüµÀÆ½ÒÆ£¬¿ÉÄܳöÏÖ¸ºÊý uint8 leftBeginRowFlag = 0; Ѱµ½×ó±ß½çÆðʼÐбêÖ¾ uint8 rightBeginRowFlag = 0; Ѱµ½Óұ߽çÆðʼÐбêÖ¾ uint8 leftBeginRow = 0; Ѱµ½×ó±ß½çµÄÆðʼÐÐ uint8 leftEndRow = 0; Ѱµ½×ó±ß½çµÄ½áÊøÐÐ uint8 rightBeginRow = 0; Ѱµ½Óұ߽çµÄÆðʼÐÐ uint8 rightEndRow = 0; Ѱµ½Óұ߽çµÄ½áÊøÐÐ uint8 leftEndRowFlag = 0; Ѱµ½×ó±ß½ç½áÊøÐбêÖ¾ uint8 rightEndRowFlag = 0; Ѱµ½Óұ߽ç½áÊøÐбêÖ¾
int16 lastLeftBoundary[3] = {0}; int16 lastRightBoundary[3] = {0};
µÚ 40 Ò³
int16 lastLeftRow[3] = {0}; int16 lastRightRow[3] = {0};
uint8 leftValidity = 0, rightValidity = 0; uint8 imgValidity = 0; ͼÏñÓÐЧÐÔ int16 roadType; ÈüµÀÀàÐÍ int16 yinDaoRowLen;
int16 leftMaxBoundary,leftMaxRow,rightMinBoundary,rightMinRow; int16 leftRowLen,rightRowLen;
float midSlope; ×îºóÒ»ÐÐÖÐÐÄÏßÏà¶ÔÓëͼÏñµÚÒ»ÐÐÖеãµÄбÂʵ¹Êý int16 midColLength; int16 avmidEndRow; int16 lastMidColLen[3]; float slopeBoundary = 0; uint8 =0; ͼÏñ³ö½çʧЧ±ê־λ int16 t=0; ²¦Â뿪¹ØÓà uint16 Ay,Az;
int16 tempValue; дSD¿¨Óà unsigned char floatString[8]; unsigned char intString[7]; char count[5]; void main(void) {
uint8 a,b,c,d; uint8 m; uint8 *p; int sdimage=0;
µÚ 41 Ò³