亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲蟲下載站

?? mouse_drive.c

?? 周立功電子鼠V1.3內(nèi)部演示版源程序
?? C
?? 第 1 頁 / 共 3 頁
字號:
//------------------------------------------------------------------------------------
// 函數(shù)名稱: 
// 函數(shù)功能: 
//
//------------------------------------------------------------------------------------
void map_xy(void)
{
	switch(MAP.dir)
	{
	case 0:
		MAP.y++;
		ZLG7289_Download(1, 6, 0, MAP.y/10);
	    ZLG7289_Download(1, 7, 0, MAP.y%10);
		break;
	case 1:
		MAP.x++;
		ZLG7289_Download(1, 0, 0, MAP.x/10);
	    ZLG7289_Download(1, 1, 0, MAP.x%10);
		break;
	case 2:
		MAP.y--;
		ZLG7289_Download(1, 6, 0, MAP.y/10);
	    ZLG7289_Download(1, 7, 0, MAP.y%10);
		break;
	case 3:
		MAP.x--;
		ZLG7289_Download(1, 0, 0, MAP.x/10);
	    ZLG7289_Download(1, 1, 0, MAP.x%10);
		break;
	default:
		break;
	}
}
//------------------------------------------------------------------------------------
// 函數(shù)名稱: 
// 函數(shù)功能: 
//
//------------------------------------------------------------------------------------
void MappulseClear(void)
{
	if((MAP.rightpulse>20)&&(MAP.leftpulse>20))
		map_xy();
	MAP.rightpulse = 0;
	MAP.leftpulse  = 0;
}

//------------------------------------------------------------------------------------
// 函數(shù)名稱: Timer1A_ISR
// 函數(shù)功能: 定時(shí)器1中斷服務(wù)函數(shù),定時(shí)檢測小車在迷宮中的狀態(tài)。
//
//------------------------------------------------------------------------------------
void Timer1A_ISR(void)
{
	static int32 e[3] = {0,0,0},signl = 0,signr = 0;
	TimerIntClear(TIMER1_BASE, TIMER_TIMA_TIMEOUT);
	Check_Infrared();
	if(Check_Maze_State[0].front_2 && Check_Maze_State[1].front_2)
	{
		if(g_Run.COM_Run == GO_ON)
		{
			g_Run.MousePulCount = 0;
			MouseRUN(STOP);
		}
	}

	if(goahead)
	{
		if((Check_Maze_State[1].left_2 == 0) && (Check_Maze_State[0].left_2 ==0))
		{
			if(signl == 0)
			{
				MappulseClear();
				g_Run.MousePulCount = 0;
				MouseRUN(STOP);
				signl = 1;
			}
		}
		if((Check_Maze_State[1].right_2 == 0) && (Check_Maze_State[0].right_2 ==0))
		{
			if(signr == 0)
			{
				MappulseClear();
				g_Run.MousePulCount = 0;
				MouseRUN(STOP);
				signr = 1;
			}
		}
	}
	else
	{
		signl = 0;
		signr = 0;
	}
	if((MAP.leftpulse>=31)&&(MAP.rightpulse>=31))
	{
		map_xy();
		MAP.leftpulse -=31;
		MAP.rightpulse -= 31;
	}
	if((g_Run.WheelStop&0x11)!=0x11)
	{
		e[2] = e[1];
		e[1] = e[0];
		if((g_Run.WheelStop&0x11)==0x00)
		{
			if(g_Run.LeftTime > g_Run.RightTime)
			{
				e[0] = g_Run.SysTick - g_Run.LeftTime;
			}
			else
			{
				e[0] = g_Run.SysTick - g_Run.RightTime;
			}
		}
		if((g_Run.WheelStop&0x11)==0x01)
		{
			e[0] =g_Run.SysTick - g_Run.LeftTime;
		}
	
		if((g_Run.WheelStop&0x11)==0x10)
		{
			e[0] =g_Run.SysTick - g_Run.RightTime;
		}
		e[0] = e[0] - 20;
		g_Run.percent += (3*(e[0]-e[1])/2+e[0]/15 + (e[0]-2*e[1]+e[2])/10);
		if(g_Run.percent<25)
			g_Run.percent = 25;
		if(g_Run.percent>75)
			g_Run.percent = 75;
		PwmPercent(g_Run.percent);
	}

}

//------------------------------------------------------------------------------------
// 函數(shù)名稱: Check_Infrared
// 函數(shù)功能: 紅外檢測函數(shù)
//------------------------------------------------------------------------------------
void Check_Infrared(void)
{
	unsigned char l = 0,f = 0,r = 0,i = 0;
	Check_Maze_State[1] = Check_Maze_State[0];
	SendInfrared(37000);
    Delay(1500);
    
    for(i=0,l = 0,f = 0,r = 0;i<10;i++)
    {
        if(GPIOPinRead(GPIO_PORTA_BASE, STATE_L)==0)
            l++;
        if(GPIOPinRead(GPIO_PORTA_BASE, STATE_F)==0)
            f++;
        if(GPIOPinRead(GPIO_PORTA_BASE, STATE_R)==0)
            r++;
    }

	ForbidInfrared();

    if(l>8)															// 左邊存在擋板
    {
		Check_Maze_State[0].left_2 = 1;
    }
    else															// 左邊存在支路
    {
		Check_Maze_State[0].left_2 = 0;
    }
    if(f>8)															// 前面存在擋板
    {
		Check_Maze_State[0].front_2 = 1;
    }
    else															// 前面沒有擋板
    {
		Check_Maze_State[0].front_2 = 0;
    }
    if(r>8)															// 右邊存在擋板
    {
		Check_Maze_State[0].right_2 = 1;
    }
    else															// 右邊存在支路
    {
		Check_Maze_State[0].right_2 = 0;
    }
	Delay(2000);		

	SendInfrared(30500);
    Delay(1500);
    for(i=0,l = 0,f = 0,r = 0;i<10;i++)
    {
        if(GPIOPinRead(GPIO_PORTA_BASE, STATE_L)==0)
            l++;
        if(GPIOPinRead(GPIO_PORTA_BASE, STATE_F)==0)
            f++;
        if(GPIOPinRead(GPIO_PORTA_BASE, STATE_R)==0)
            r++;
    }
    ForbidInfrared();
    if(l>8)															// 左邊存在擋板
    {
		Check_Maze_State[0].left_1 = 1;
    }
    else															// 左邊存在支路
    {
		Check_Maze_State[0].left_1 = 0;
    }
    if(f>8)															// 前面存在擋板
    {
		Check_Maze_State[0].front_1 = 1;
    }
    else															// 前面沒有擋板
    {
		Check_Maze_State[0].front_1 = 0;
    }
    if(r>8)															// 右邊存在擋板
    {
		Check_Maze_State[0].right_1 = 1;
    }
    else															// 右邊存在支路
    {
		Check_Maze_State[0].right_1 = 0;
    }

}

//------------------------------------------------------------------------------------
//
//
//------------------------------------------------------------------------------------
void MicroMouseInit(void)
{
	SysCtlClockSet( SYSCTL_SYSDIV_10 | SYSCTL_USE_PLL | SYSCTL_OSC_MAIN |
	              SYSCTL_XTAL_6MHZ );                  					// 使能PLL,20M

	SysCtlPeripheralEnable( SYSCTL_PERIPH_GPIOA );        				// 使能GPIO A口外設(shè)
	SysCtlPeripheralEnable( SYSCTL_PERIPH_GPIOB );         				// 使能GPIO B口外設(shè)
	SysCtlPeripheralEnable( SYSCTL_PERIPH_GPIOC );						// 使能GPIO C口外設(shè)


	GPIODirModeSet(GPIO_PORTB_BASE, KEY, GPIO_DIR_MODE_IN);
	if(GPIOPinRead(GPIO_PORTB_BASE, KEY)==0)
	{
		while(1);
	}
	
	GPIODirModeSet(GPIO_PORTC_BASE, LED1 | LED2 | LED3 | LED4, GPIO_DIR_MODE_OUT);
	GPIODirModeSet(GPIO_PORTB_BASE, LED5 , GPIO_DIR_MODE_OUT);
	GPIODirModeSet(GPIO_PORTA_BASE, STATE_L | STATE_R | STATE_F, GPIO_DIR_MODE_IN);
	Timer0Ini();
	Timer1Ini();
	WheelPulseIni();
	SysTickIni();
}
//------------------------------------------------------------------------------------
// 函數(shù)名稱: CheckKey
// 函數(shù)功能: 讀取按鍵狀態(tài)
// 出口參數(shù): 有按鍵返回真,否則返回假
//------------------------------------------------------------------------------------
uint32 CheckKey(void)
{
	if(GPIOPinRead(GPIO_PORTB_BASE, KEY)==0)
	{
		Delay(50);
		while(GPIOPinRead(GPIO_PORTB_BASE, KEY)==0);
		return(true);
	}
	else
		return(false);
}
//------------------------------------------------------------------------------------
// 函數(shù)名稱: LEDDisplay
// 函數(shù)功能: 控制LED熄滅和點(diǎn)亮
// 入口參數(shù): number: 選擇所要控制的LED
//           option: 控制方式參數(shù),(0,熄滅。1,點(diǎn)亮。2,狀態(tài)取反)
//------------------------------------------------------------------------------------
void LEDDisplay(uint32 number,uint32 option)
{
	switch(number)
	{
		case 0:
		case 1:
			if(option == 0)
				GPIOPinWrite(GPIO_PORTC_BASE, LED1, 0xff);
			if(option == 1)
				GPIOPinWrite(GPIO_PORTC_BASE, LED1, 0x00);
			if(option == 2)
				GPIOPinWrite(GPIO_PORTC_BASE, LED1, GPIOPinRead(GPIO_PORTC_BASE, LED1)^LED1);
			if(number != 0)
				break;
		case 2:
			if(option == 0)
				GPIOPinWrite(GPIO_PORTC_BASE, LED2, 0xff);
			if(option == 1)
				GPIOPinWrite(GPIO_PORTC_BASE, LED2, 0x00);
			if(option == 2)
				GPIOPinWrite(GPIO_PORTC_BASE, LED2, GPIOPinRead(GPIO_PORTC_BASE, LED2)^LED2);
			if(number != 0)
				break;
		case 3:
			if(option == 0)
				GPIOPinWrite(GPIO_PORTC_BASE, LED3, 0xff);
			if(option == 1)
				GPIOPinWrite(GPIO_PORTC_BASE, LED3, 0x00);
			if(option == 2)
				GPIOPinWrite(GPIO_PORTC_BASE, LED3, GPIOPinRead(GPIO_PORTC_BASE, LED3)^LED3);
			if(number != 0)
				break;
		case 4:
			if(option == 0)
				GPIOPinWrite(GPIO_PORTC_BASE, LED4, 0xff);
			if(option == 1)
				GPIOPinWrite(GPIO_PORTC_BASE, LED4, 0x00);
			if(option == 2)
				GPIOPinWrite(GPIO_PORTC_BASE, LED4, GPIOPinRead(GPIO_PORTC_BASE, LED4)^LED4);
			if(number != 0)
				break;
		case 5:
			if(option == 0)
				GPIOPinWrite(GPIO_PORTB_BASE, LED5, 0xff);
			if(option == 1)
				GPIOPinWrite(GPIO_PORTB_BASE, LED5, 0x00);
			if(option == 2)
				GPIOPinWrite(GPIO_PORTB_BASE, LED5, GPIOPinRead(GPIO_PORTB_BASE, LED5)^LED5);
			break;
	}
}
void DirDisplay(void)
{
	switch(MAP.dir)
	{
	case 0:
		ZLG7289_Download(2, 3, 0, 0x47);		// F
		break;
	case 1:
		ZLG7289_Download(2, 3, 0, 0x77);		// R
		break;
	case 2:
		ZLG7289_Download(2, 3, 0, 0x1f);		// b
		break;
	case 3:
		ZLG7289_Download(2, 3, 0, 0x0e);		// L
		break;
	default :
		ZLG7289_Download(2, 3, 0, 0x4f);		// E
		break;
	}
}

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
亚洲成人av在线电影| 美女视频一区二区| 日韩欧美国产综合在线一区二区三区| 国产精品一区一区| 亚洲高清一区二区三区| 国产精品美女一区二区三区| 日韩免费看的电影| 欧美日韩成人在线| 成人高清视频免费观看| 久久97超碰色| 日韩vs国产vs欧美| 亚洲专区一二三| 国产精品久久久久久妇女6080| 精品捆绑美女sm三区| 91 com成人网| 欧美视频一区二区三区四区 | 欧美日韩国产天堂| 99精品视频在线观看| 国产乱码字幕精品高清av| 日本视频在线一区| 亚洲一区二区在线播放相泽| 亚洲美女视频一区| 《视频一区视频二区| 国产精品―色哟哟| 欧美韩日一区二区三区| 久久夜色精品国产欧美乱极品| 日韩久久久久久| 欧美一级黄色录像| 欧美精品v日韩精品v韩国精品v| 在线观看av不卡| 日本丰满少妇一区二区三区| 91一区一区三区| 一本到高清视频免费精品| 99精品视频在线观看| 91亚洲男人天堂| 99久久精品国产导航| 99vv1com这只有精品| 一本到三区不卡视频| 色综合av在线| 欧美日韩视频不卡| 欧美日韩成人综合天天影院| 欧美嫩在线观看| 欧美日韩视频在线第一区| 欧美蜜桃一区二区三区| 91精品国产一区二区三区蜜臀 | 欧美色视频一区| 欧美性感一区二区三区| 欧美群妇大交群中文字幕| 欧美一区二区在线免费观看| 欧美第一区第二区| 久久精品亚洲精品国产欧美| 国产欧美一区二区三区在线看蜜臀| 国产视频一区在线观看| 国产精品国产三级国产aⅴ原创| 国产精品女主播在线观看| 中文字幕欧美一| 亚洲一区二区三区四区五区黄| 亚洲高清久久久| 麻豆一区二区三| 风间由美一区二区av101| 97久久精品人人澡人人爽| 在线免费视频一区二区| 欧美福利一区二区| 精品电影一区二区| 亚洲欧美综合在线精品| 亚洲第一福利视频在线| 久久精品国内一区二区三区| 丁香六月久久综合狠狠色| 色狠狠一区二区| 日韩一二三区视频| 中文字幕欧美激情一区| 亚洲观看高清完整版在线观看| 麻豆91小视频| av不卡在线观看| 日韩天堂在线观看| 国产精品国产三级国产| 视频精品一区二区| 成人av电影在线网| 日韩一区二区视频在线观看| 国产精品国产三级国产| 日本伊人色综合网| 成人激情校园春色| 日韩免费在线观看| 亚洲乱码国产乱码精品精98午夜| 美国十次了思思久久精品导航| eeuss鲁片一区二区三区在线看| 在线播放亚洲一区| 中文字幕不卡三区| 青青国产91久久久久久| 色婷婷av久久久久久久| 久久久久国产一区二区三区四区| 亚洲成在人线在线播放| 成人福利视频网站| 精品蜜桃在线看| 亚洲第一久久影院| jiyouzz国产精品久久| 精品乱人伦一区二区三区| 亚洲福利国产精品| av资源站一区| 国产日产欧美一区二区视频| 日韩影院免费视频| 欧美影视一区在线| 国产精品网站导航| 久久成人麻豆午夜电影| 欧美日韩黄色影视| 亚洲黄色免费网站| 99久久国产综合精品女不卡| 久久蜜臀中文字幕| 麻豆精品精品国产自在97香蕉| 欧美亚洲综合一区| 中文字幕在线观看一区| 高清在线成人网| 久久久三级国产网站| 久久成人精品无人区| 欧美一区二区三区不卡| 亚洲福利视频一区| 欧美三级中文字幕| 樱花草国产18久久久久| 不卡大黄网站免费看| 国产精品无人区| 粉嫩aⅴ一区二区三区四区| 精品国产乱码久久久久久牛牛| 日韩黄色小视频| 67194成人在线观看| 日韩高清不卡一区二区三区| 欧美日韩亚洲综合在线 | 国产精品久久久久7777按摩| 国产成人精品三级麻豆| 日本一区二区视频在线| 国产成人夜色高潮福利影视| 久久人人爽爽爽人久久久| 国产一区二区三区电影在线观看 | 亚洲国产精品精华液2区45| 国产自产2019最新不卡| 久久亚洲私人国产精品va媚药| 精品一区二区在线观看| 精品久久久久久久一区二区蜜臀| 久久se这里有精品| 国产日韩影视精品| av不卡在线播放| 亚洲精品乱码久久久久久久久 | 不卡av免费在线观看| 亚洲视频在线观看一区| 91福利资源站| 丝袜诱惑制服诱惑色一区在线观看 | www.日本不卡| 亚洲精品水蜜桃| 欧美日韩一区二区在线观看视频| 午夜国产精品影院在线观看| 884aa四虎影成人精品一区| 日本午夜精品视频在线观看| 337p粉嫩大胆噜噜噜噜噜91av| 国产福利一区二区三区视频| 中文字幕在线观看一区| 欧美无乱码久久久免费午夜一区| 天堂影院一区二区| 久久免费电影网| 99久久99精品久久久久久 | 亚洲国产精品久久一线不卡| 欧美一二三四区在线| 国产高清精品久久久久| 亚洲日本在线视频观看| 欧美乱熟臀69xxxxxx| 激情综合色播五月| 国产精品女人毛片| 欧美日韩国产综合一区二区| 国产麻豆日韩欧美久久| 伊人婷婷欧美激情| 日韩欧美国产精品| 99九九99九九九视频精品| 日日摸夜夜添夜夜添亚洲女人| 精品国产百合女同互慰| 91视频国产观看| 美女视频网站黄色亚洲| 亚洲视频电影在线| 日韩精品在线网站| 91免费在线视频观看| 青青青爽久久午夜综合久久午夜| 亚洲国产精品激情在线观看| 6080国产精品一区二区| 成人av在线资源| 麻豆精品新av中文字幕| 一区二区三区在线看| 欧美成人a在线| 在线观看一区不卡| 国产成人在线免费观看| 日韩精品五月天| 亚洲视频在线观看三级| 久久新电视剧免费观看| 欧美无砖专区一中文字| 成人一区二区三区| 免费在线成人网| 亚洲图片欧美视频| 亚洲国产精品成人综合| 精品少妇一区二区三区在线视频| 91黄色免费版| 99精品视频在线观看| 国产寡妇亲子伦一区二区| 美女在线视频一区| 亚洲不卡一区二区三区|