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

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? multistep.c

?? 在ATMEGA128單片機上開發的一個機器人控制程序
?? C
字號:
//************************************************************
//12路PWM波程序
//王超炎2005-05-05
//********************************************************
#include <iom128v.h>
#include <macros.h>
#include "data.h"
unsigned int N1=4;
unsigned int N2=20;
unsigned int N3=20;
unsigned int N4=10;
unsigned int cycle_start1=192;
unsigned int cycle_start2=3;
unsigned int cycle_start3=2;
unsigned int cycle_start4=2;
unsigned int totalstep1=392;
unsigned int totalstep2=11;
unsigned int totalstep3=6;
unsigned int totalstep4=7;

void port_init(void)
{
	DDRA  = 0xFF;//A口設置為輸出
	PORTA = 0x00;//A口輸出全0
	DDRC  = 0xFF;//...
	PORTC = 0x00;//...
}

void timer1_init(void)
{
	TCCR1A =0x00;//
	TCNT1=0x00; 
}


void ClrAll(void)
{
	PORTA = 0x00;
	PORTC = 0x00;//端口清零
}




//*******************************************************************************
//函數名: Motion_init(void) 
//參  數:無
//功  能:初始化動作
//******************************************************************************* 
void Motion_init(void)
{
	int i=0, j=0, t=0, temp=0, temp1, temp2;
    
	for(t=0;t<50;t++) //?50步循環 輸出50個周期的調零信號
	{
		for(j=1;j<9;j++) //?內嵌8步循環 對應20ms的一個輸出周期 分別操作12個端口 j代表端口
		{
    		if(j<5) //當j小于5時
    			{
    				PORTA|=(1<<(j-1)); //把PA口的前4個引腳置1
    				temp2=2250+(j-1)*3750;//管理PA的四個端口的PWM波
    			}
			PORTC|=(1<<(j-1)); //把PC口的8個引腳置1
			temp1=2250+(j-1)*3750;//管理PC口的八個端口的PWM波
			do
			{
				temp=TCNT1;	//獲取定時器的值
				if(temp>temp1)PORTC&=~(1<<(j-1));	//把PC口的8個引腳置0
				if(temp>temp2)PORTA&=~(1<<(j-1));   //把PA口的8個引腳置0
			}
			while(temp<j*3750);//在此循環中輸出一個對應角度為90度的PWM波
		}
		TCNT1=0; 
	}
}  



//*******************************************************************************
//函數名: Motion_excute() 
//參  數:
//功  能:
//******************************************************************************* 
void Motion_excute(unsigned int p)
{
	unsigned int i=0,t=0,j=0;
	unsigned int temp1=0,temp2=0,temp=0;
	if(p==1)
	{
		for(i=0;i<cycle_start1;i++)
			for(t=angle1[i][0];t>0;t--)
			{
				TCNT1=0x00;
				for(j=1;j<9;j++)	
				{
					if(j<5)
					{
						PORTA|=(1<<(j-1));//實際為PORTA=(PORTA|(1<<(j-1)));先位或在賦值
						temp2=(50*angle1[i][j+8]/3+750)+(j-1)*3750;
					}
					PORTC|=(1<<(j-1));
					temp1=(50*angle1[i][j]/3+750)+(j-1)*3750;
					do
					{
						temp=TCNT1;//定時器1
						if(temp>temp1)PORTC&=~(1<<(j-1));
						if(temp>temp2)PORTA&=~(1<<(j-1));
					}
					while(temp<j*3750);
				}
				TCNT1=0x00;
			}
			do
			{
				for(i=cycle_start1;i<totalstep1;i++)
					for(t=angle1[i][0];t>0;t--)
					{
						TCNT1=0x00;	
						for(j=1;j<9;j++)
						{
							if(j<5)
							{
								PORTA|=(1<<(j-1));
								temp2=(50*angle1[i][j+8]/3+750)+(j-1)*3750;
							}
							PORTC|=(1<<(j-1));
							temp1=(50*angle1[i][j]/3+750)+(j-1)*3750;
							do
							{
								temp=TCNT1;	
								if(temp>temp1)PORTC&=~(1<<(j-1));
								if(temp>temp2)PORTA&=~(1<<(j-1));
							}
							while(temp<j*3750);
						}
						TCNT1=0x00;	
					}
					N1--;
			}
			while(N1);
			for(i=0;i<4;i++)
				for(t=angle1_2[i][0];t>0;t--)
				{
					TCNT1=0x00;
					for(j=1;j<9;j++)
					{
						if(j<5)
						{
							PORTA|=(1<<(j-1));	
							temp2=(50*angle1_2[i][j+8]/3+750)+(j-1)*3750;
						}
						PORTC|=(1<<(j-1));
						temp1=(50*angle1_2[i][j]/3+750)+(j-1)*3750;
						do
						{
							temp=TCNT1;	
							if(temp>temp1)PORTC&=~(1<<(j-1));
							if(temp>temp2)PORTA&=~(1<<(j-1));
						}
						while(temp<j*3750);
					}
					TCNT1=0x00;
				}
	}
	if(p==2)
	{
		for(i=0;i<cycle_start2;i++)
			for(t=angle2[i][0];t>0;t--)  //讀取角度數組的第一行到t
			{
				TCNT1=0x00;//定時器置零
				for(j=1;j<9;j++)//8個循環對應12個端口	
				{
					if(j<5)//對PA口進行操作
					{
						PORTA|=(1<<(j-1));
						temp2=(50*angle2[i][j+8]/3+750)+(j-1)*3750;//計算角度對應脈寬
					}
					PORTC|=(1<<(j-1));	
					temp1=(50*angle2[i][j]/3+750)+(j-1)*3750;	
					do
					{
						temp=TCNT1;	
						if(temp>temp1)PORTC&=~(1<<(j-1));	
						if(temp>temp2)PORTA&=~(1<<(j-1));
					}
					while(temp<j*3750);//在一個循環內對j-1口進行操作 輸出對應脈沖     
				}
				TCNT1=0x00;		
			}
			do
			{ 
				for(i=cycle_start2;i<totalstep2;i++)
					for(t=angle2[i][0];t>0;t--)
					{
						TCNT1=0x00;	
						for(j=1;j<9;j++)	
						{
							if(j<5)
							{
								PORTA|=(1<<(j-1));	
								temp2=(50*angle2[i][j+8]/3+750)+(j-1)*3750;
							}
							PORTC|=(1<<(j-1));	
							temp1=(50*angle2[i][j]/3+750)+(j-1)*3750;	       
							do
							{
								temp=TCNT1;	
								if(temp>temp1)PORTC&=~(1<<(j-1));	
								if(temp>temp2)PORTA&=~(1<<(j-1));
							}
							while(temp<j*3750);        
						}
						TCNT1=0x00;		
					}
					N2--;	 
			}
			while(N2); 
			for(i=0;i<4;i++)
				for(t=angle2_3[i][0];t>0;t--)    
				{
					TCNT1=0x00;
					for(j=1;j<9;j++)	
					{
						if(j<5)
						{
							PORTA|=(1<<(j-1));	
							temp2=(50*angle2_3[i][j+8]/3+750)+(j-1)*3750;
						}
						PORTC|=(1<<(j-1));	
						temp1=(50*angle2_3[i][j]/3+750)+(j-1)*3750;	
						do
						{
							temp=TCNT1;	
							if(temp>temp1)PORTC&=~(1<<(j-1));	
							if(temp>temp2)PORTA&=~(1<<(j-1));}while(temp<j*3750);
					}
					TCNT1=0x00;		
				}
	} 
	if(p==3)
	{
		for(i=0;i<cycle_start3;i++)
			for(t=angle3[i][0];t>0;t--)    
			{
				TCNT1=0x00;
				for(j=1;j<9;j++)	
				{
					if(j<5)
					{
						PORTA|=(1<<(j-1));	
						temp2=(50*angle3[i][j+8]/3+750)+(j-1)*3750;
					}
					PORTC|=(1<<(j-1));	
					temp1=(50*angle3[i][j]/3+750)+(j-1)*3750;	
					do
					{
						temp=TCNT1;	
						if(temp>temp1)PORTC&=~(1<<(j-1));	
						if(temp>temp2)PORTA&=~(1<<(j-1));}while(temp<j*3750);       
				}
				TCNT1=0x00;		
			}
			do
			{ 
				for(i=cycle_start3;i<totalstep3;i++)
					for(t=angle3[i][0];t>0;t--)
					{
						TCNT1=0x00;	
						for(j=1;j<9;j++)	
						{
							if(j<5)
							{
								PORTA|=(1<<(j-1));	
								temp2=(50*angle3[i][j+8]/3+750)+(j-1)*3750;
							}
							PORTC|=(1<<(j-1));	
							temp1=(50*angle3[i][j]/3+750)+(j-1)*3750;	       
							do
							{
								temp=TCNT1;	
								if(temp>temp1)PORTC&=~(1<<(j-1));	
								if(temp>temp2)PORTA&=~(1<<(j-1));
							}
							while(temp<j*3750);     
						}
						TCNT1=0x00;
					}
					N3--;	 
			}
			while(N3); 
			for(i=0;i<4;i++)
				for(t=angle3_4[i][0];t>0;t--)    
				{
					TCNT1=0x00;
					for(j=1;j<9;j++)	
					{
						if(j<5)
						{
							PORTA|=(1<<(j-1));	
							temp2=(50*angle3_4[i][j+8]/3+750)+(j-1)*3750;
						}
						PORTC|=(1<<(j-1));	
						temp1=(50*angle3_4[i][j]/3+750)+(j-1)*3750;	
						do
						{
							temp=TCNT1;	
							if(temp>temp1)PORTC&=~(1<<(j-1));	
							if(temp>temp2)PORTA&=~(1<<(j-1));}while(temp<j*3750);
					}
					TCNT1=0x00;		
				}
	} 
	if(p==4)
	{
		for(i=0;i<cycle_start4;i++)
			for(t=angle4[i][0];t>0;t--)    
			{
				TCNT1=0x00;
				for(j=1;j<9;j++)	
				{
					if(j<5)
					{
						PORTA|=(1<<(j-1));	
						temp2=(50*angle4[i][j+8]/3+750)+(j-1)*3750;
					}
					PORTC|=(1<<(j-1));	
					temp1=(50*angle4[i][j]/3+750)+(j-1)*3750;	
					do
					{
						temp=TCNT1;	
						if(temp>temp1)PORTC&=~(1<<(j-1));	
						if(temp>temp2)PORTA&=~(1<<(j-1));}while(temp<j*3750);        
				}
				TCNT1=0x00;		
			}
			do
			{ 
				for(i=cycle_start4;i<totalstep4;i++)
					for(t=angle4[i][0];t>0;t--)
					{
						TCNT1=0x00;	
						for(j=1;j<9;j++)	
						{
							if(j<5)
							{
								PORTA|=(1<<(j-1));	
								temp2=(50*angle4[i][j+8]/3+750)+(j-1)*3750;
							}
							PORTC|=(1<<(j-1));	
							temp1=(50*angle4[i][j]/3+750)+(j-1)*3750;	       
							do
							{
								temp=TCNT1;	
								if(temp>temp1)PORTC&=~(1<<(j-1));	
								if(temp>temp2)PORTA&=~(1<<(j-1));
							}
							while(temp<j*3750);        
						}
						TCNT1=0x00;		
					}	 
					N4--;	 
			}
			while(N4); 
	} 

}
  
//*******************************************************************************
//函數名: main() 
//參  數:
//功  能:
//*******************************************************************************

void main(void)
{
	void port_init(void);//I/O端口的初始化 
	void timer1_init(void); //定時器的初始化
	void Motion_init(void); 
	void ClrAll(void);
	void Motion_excute(unsigned int p);
	CLI(); //disable all interrupts
	MCUCR=0x00;
	XDIV  = 0x00; //xtal divider
	XMCRA = 0x00; //external memory
	port_init();
	timer1_init();
	ClrAll();
	TCCR1B = 0x02; //start Timer
	Motion_init();
	TCNT1=0;
	TCNT0=0x00;
	Motion_init(); 
	ClrAll();      
	Motion_excute(1);
	Motion_init();
	Motion_excute(2);
	Motion_init();
	Motion_excute(3);
	Motion_init();
	Motion_excute(4);
 	Motion_init();
 	ClrAll();
}


?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
日韩中文字幕亚洲一区二区va在线| 91猫先生在线| 国产成人精品网址| av不卡一区二区三区| 色欲综合视频天天天| 欧美图区在线视频| 欧美变态tickle挠乳网站| 欧美激情中文不卡| 一区二区不卡在线视频 午夜欧美不卡在| 亚洲丶国产丶欧美一区二区三区| heyzo一本久久综合| 欧美日韩视频在线第一区 | 日韩欧美中文字幕制服| 国产亚洲精品资源在线26u| 亚洲另类色综合网站| 美女在线观看视频一区二区| 成人精品国产免费网站| 欧美精品一级二级| 国产精品日产欧美久久久久| 午夜精彩视频在线观看不卡| 国产成人av一区二区三区在线 | 亚洲五月六月丁香激情| 国产在线精品国自产拍免费| 麻豆精品一区二区三区| 99国产一区二区三精品乱码| 日韩精品一区在线观看| 亚洲人成网站色在线观看| 麻豆国产精品官网| 色噜噜久久综合| 26uuu欧美| 亚洲一区视频在线观看视频| 国产一区二区导航在线播放| 欧美日韩黄色影视| 国产精品毛片高清在线完整版| 日韩精品每日更新| 99久久777色| 久久免费视频一区| 天天综合天天做天天综合| 99国产一区二区三精品乱码| 久久夜色精品国产欧美乱极品| 亚洲综合999| 波多野结衣欧美| 精品久久一区二区三区| 亚洲r级在线视频| 95精品视频在线| 五月天国产精品| 99国产欧美久久久精品| 久久久不卡网国产精品一区| 日韩精品久久久久久| 91福利小视频| 亚洲视频网在线直播| 国产伦精品一区二区三区在线观看 | 日本精品一区二区三区高清| 欧美激情一区二区三区不卡| 麻豆成人综合网| 欧美日韩www| 亚洲亚洲精品在线观看| 91玉足脚交白嫩脚丫在线播放| 国产清纯白嫩初高生在线观看91| 精品一区二区在线免费观看| 日韩一区二区精品葵司在线| 天天影视网天天综合色在线播放| 色婷婷av久久久久久久| 中文字幕一区二区三区不卡| 国产精品99久久久久久宅男| 精品国产伦一区二区三区观看方式| 青青草精品视频| 日韩一区二区三区在线视频| 日韩成人dvd| 欧美精品国产精品| 午夜精品久久久久久久久久久| 欧美日韩免费电影| 亚洲成人精品影院| 欧美日韩在线观看一区二区| 亚洲一区二区三区四区在线| 在线看国产一区| 一区二区高清在线| 欧美偷拍一区二区| 婷婷久久综合九色综合绿巨人 | 夜夜嗨av一区二区三区网页 | 中文字幕第一页久久| 国产成人av电影免费在线观看| 国产蜜臀97一区二区三区| 国产精品亚洲午夜一区二区三区| 国产午夜精品一区二区 | 综合欧美亚洲日本| 99久久99久久综合| 一区二区三区四区不卡在线| 欧美色综合久久| 91无套直看片红桃| 亚洲一区二区三区四区在线 | 午夜精品福利一区二区蜜股av| 7777精品伊人久久久大香线蕉的| 男女男精品视频网| 欧美精品一区二区精品网| 国产精品1区2区| 国产精品国产精品国产专区不蜜| 91久久国产最好的精华液| 亚洲国产一区视频| 日韩欧美中文一区二区| 国产真实精品久久二三区| 中文字幕高清一区| 欧美性生活影院| 蜜桃精品视频在线| 欧美国产欧美综合| 91久久一区二区| 亚洲va欧美va天堂v国产综合| 日韩一区二区三区免费看| 美女看a上一区| 久久新电视剧免费观看| 激情综合五月天| 国产精品伦理一区二区| 在线视频你懂得一区二区三区| 亚洲国产综合在线| 欧美xxxxx牲另类人与| 精品在线亚洲视频| 亚洲视频免费在线| 欧美日韩国产高清一区二区三区| 激情丁香综合五月| 欧美国产精品一区二区三区| 欧美视频中文字幕| 精品一区中文字幕| 中文字幕一区三区| 欧美一级高清大全免费观看| 国产大陆a不卡| 亚洲午夜三级在线| 欧美zozo另类异族| 欧美中文字幕亚洲一区二区va在线| 久久99国产精品免费网站| 中文字幕不卡的av| 91精品在线免费观看| 国产激情精品久久久第一区二区 | 成人国产精品免费观看| 亚洲高清在线视频| 国产精品理伦片| 欧美日韩免费高清一区色橹橹| 国产成人综合亚洲91猫咪| 亚洲女女做受ⅹxx高潮| 欧美一卡二卡三卡四卡| 成人性生交大片免费看视频在线| 久久国内精品自在自线400部| 国产精品白丝jk白祙喷水网站| 亚洲人午夜精品天堂一二香蕉| 欧美二区三区的天堂| 国产成人免费xxxxxxxx| 亚洲成人资源在线| 亚洲欧美自拍偷拍| 欧美一级欧美三级| 欧美亚洲一区三区| 狠狠色丁香久久婷婷综合_中| 亚洲国产日韩精品| 色狠狠桃花综合| 成人精品gif动图一区| 久久国产三级精品| 亚洲精品高清视频在线观看| 国产亚洲短视频| 9191国产精品| 欧美在线观看一区| 国产福利一区二区三区视频| 美女视频黄 久久| 一区二区成人在线| 亚洲视频在线一区二区| 国产午夜一区二区三区| 欧美一区二区免费观在线| 欧美三级三级三级爽爽爽| 高清不卡在线观看| 国产精品18久久久久久vr| 亚洲v中文字幕| 亚洲在线观看免费视频| 中文字幕精品三区| 国产亚洲精品超碰| 26uuu精品一区二区三区四区在线| 欧美日韩一区二区在线观看视频| 91蝌蚪porny| 成人毛片视频在线观看| 懂色av一区二区三区蜜臀| 麻豆freexxxx性91精品| 免费在线观看日韩欧美| 一区二区三区日韩精品视频| 亚洲欧美日韩一区二区| 国产精品久久久久久久久免费樱桃| 精品国产乱码久久久久久免费 | 精品国产99国产精品| 欧美大度的电影原声| 欧美一区二区在线观看| 欧美男同性恋视频网站| 91福利视频久久久久| 欧美网站一区二区| 色av综合在线| 欧美日韩国产中文| 欧美老年两性高潮| 欧美猛男超大videosgay| 欧美男人的天堂一二区| 欧美日韩久久久久久| 欧美精品一二三四| 欧美三日本三级三级在线播放| 在线播放91灌醉迷j高跟美女| 91精品国产高清一区二区三区 | 久久精品男人天堂av| 亚洲国产精品精华液ab|