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

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

?? dcmcontrol.c

?? 直流電機閉環(huán)控制實驗,DSP試驗。THRS-2試驗箱
?? C
字號:
/***************************************************************************
This programme is to control DC motor in a certain speed using PWM.
The target speed is "r", it is the speed in 1s.
The sample rate is 0.1s, so the actual speed target is "rc"=r/10.
The "r" and "rc" are integer, and the range of "r" is from 10 to 50.
Keep rc=r/10!!!
The array "speed1" and "speed2" are the control result, in 0.1s and 1s.  
The length of "speed1" is 1200, and "speed2" is 120.
The "pw" and "nw" are the parameters of PWM.
The test will last 2 min.
*****************************************************************************/
#pragma CODE_SECTION(vect,"vect")
extern void cpu_init() ;
void dis_buff(unsigned int count);
void Start(void);
void DAout(void);
void delay(unsigned int num);
#include "math.h"
#include "stdio.h"
#define IMR   *(pmem+0x0000)  
#define IFR   *(pmem+0x0001) 
#define PMST  *(pmem+0x001D)  
#define SWCR  *(pmem+0x002B)  
#define SWWSR *(pmem+0x0028)  

/* timer 0 */
#define TIM0  *(pmem+0x0024)  	  /* timer0 register */
#define PRD0  *(pmem+0x0025)  	  /* timer0 period register */
#define TCR0  *(pmem+0x0026)  	  /* timer0 control register */
int led_buff[16]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x77,0x7c,0x39,0x5e,0x79,0x71};

#define 	Len1 1200
#define 	Len2 180
#define         Len3 2


int dis1=0,dis2=0,dis3=0,dis4=0,count=0,dis11=0,dis22=0;
double rc=1;      /*adjust the rc, then change the motor's speed*/

int P=0,P0=0,add=0,P1,P2,Rx1;
unsigned int  *pmem=0;
unsigned int  flagc,flagt;
int TIMER1,TIMER2,TIMER3,pw,nw;
int count1,count2,count3,speed2[Len2],i,j,k,n;
int sp[];
int *ppw =(int *)0x1002; 
int *npw =(int *)0x1004;
int  *ds1 =(int *)0x1005;
int  *ds2 =(int *)0x1006;
int  *ds3 =(int *)0x1007;
int  *ds4 =(int *)0x1008;

double deta,duty,Rx,x;

double e0,e1,e2,y0,y1,y2;
double Kp = 5;     
double Ti = 1.0;   
double Td = 0.2;
double T = 1;
double a0,a1,a2;                

void cpu_init()                  //     PLLNDIV=0  PLLMUL=F時      CLKOUT 為(1/4)*CLK
{                                //     PLLNDIV=0  PLLMUL=0-14時  CLKOUT 為(1/2)*CLK
	asm(" NOP");                 //     PLLNDIV=1  PLLMUL=F時      CLKOUT 為1*CLK
	asm(" STM #0, CLKMD");       //     PLLNDIV=1  PLLMUL=0-14時  CLKOUT 為(PLLMUL+1)*CLK
	                             //           PLLMUL           PLLNDIV
	asm(" STM #0, CLKMD");       //    0xf007=1111 0000 0000 0111
	asm(" STM #0xf007, CLKMD");  //    確定CLOCKOUT=1/(10M*1);
	asm(" rpt  #0ffffh");
	asm(" nop");
	
	PMST=0x3FA0;
	SWWSR=0xffff;
	SWCR=0x0000;
	IMR=0;
	IFR=IFR;
	asm(" stm 1000h,ar1");
	asm(" stm 1006h,ar6");
	
} 

interrupt void int1()   
{
	flagc=flagc^1;
	count1++;       
	count2++;
	count3++;
	
} 

void set_int()    
{ 
	asm(" ssbx intm"); 			//                    TSS TDDR                        
	TCR0=0x0b1b;       			//0x0b1b=0000 1011 0001 1011
     			                //0x4e1f=19999;  
	PRD0=0x9c3;                 //定時T=0.0025S
	IMR=IMR|0x000a;  
	IFR=IFR;           			//                         TSS  TDDR
	TCR0=0x0b29;       			//tcr0=0x0b29=0000 1011 0010 1001開定時器并且
	                   			//定時器定時為TIM0=CLOCKOUT*(PRD0+1)*(TDDR+1)
	asm(" rsbx intm"); 			//                =(1/10M)*(09999+1)*(9+1) 
}                      			//                =0.01S

void dis_buff(unsigned int Rx)
{   
   
//    Rx=Rx*60;
    dis1 = Rx%1000%100%10;
    dis2 = Rx%1000%100/10;
    dis3 = Rx%1000/100;
    dis4 = Rx/1000;   
      
    *ds1=led_buff[dis1];
    asm(" stm 1005h,ar1"); 
    asm (" nop ");
    asm (" nop ");  
    asm(" portw *ar1,8001h");
    asm (" nop ");
    asm (" nop ");
    delay(20);
    
    *ds2=led_buff[dis2];
    asm(" stm 1006h,ar2");
        asm (" nop ");
    asm (" nop ");
    asm(" portw *ar2,8002h");
    asm (" nop ");
    asm (" nop ");
    delay(20);
    
    *ds3=led_buff[dis3];
    asm(" stm 1007h,ar3");
        asm (" nop ");
    asm (" nop ");
    asm(" portw *ar3,8003h");
    asm (" nop ");
    asm (" nop "); 
    delay(20);
    *ds4=led_buff[dis4];
    asm(" stm 1008h,ar4");
        asm (" nop ");
    asm (" nop ");
    asm(" portw *ar4,8004h");
    asm (" nop ");
    asm (" nop "); 
    delay(20);
}


interrupt void tint0()
{  

    TIMER1++;
	TIMER2++;
	TIMER3++;
	if(TIMER1==40)    			/* 0.1s, the PWM is changed in 0.1s */
	{	
		y2 = y1;
		y1 = y0;
		y0 = count1;
		e0 = rc - y0;
		e1 = rc - y1;
		e2 = rc - y2;
		
		duty = 0.9/(2*(a0+a2)*39.0);
		deta = (a0*e0 + a1*e1 + a2*e2)*duty;
		
		pw = pw + 10000*deta;
		nw = nw - 10000*deta;

		if (pw >= 10000) pw = 10000*0.9;
		if (nw >= 10000) nw = 10000*0.9;
		if (pw <= 0)     pw = 10000*0.1;
		if (nw <= 0)     nw = 10000*0.1;
		
		*ppw = pw;
		*npw = nw;
       
         
		TIMER1 = 0;
        count1 = 0;
	 }
		
	if (TIMER2==400)   			/*  to test the speed of motor in 1s */
	{
	   	
		flagt = flagt^1;
		if (j<Len2) 
		 x=speed2[j]= count2;   /* store  the speed of motor */
		 
		 add=add+count2;
		 if(P2==0)
		 Rx=Rx1;
		 if(x==0)
		 {P1=0;
		  P2=0;}
	     else 
		 {P1=1;
		  P2=1;}
		 P0=add*P1/j;
		 P=x-P0; 
		if(j<10)
		  Rx=P0 * 60;
		if(10<=j<Len2)
		  {Rx1=Rx+P;
		  Rx=(Rx+P)*P2;}
		 TIMER2 = count2 =0;     
		j++;
	}
	
    	if (j>=Len2)
	 {*ppw = 0; 
	  *npw = 10000; 
	  j=j;
	  dis_buff(0);
	 }
} 

void main(void)
{

    cpu_init();

	a0 = Kp*(1.0 + T/Ti + Td/T);
	a1 = Kp*(1.0 + 2.0*Td/T);
    a2 = Kp*Td/T;
	e0=e1=e2=y0=y1=y2=0;
	pw = 5000;
	nw = 5000;
	*ppw = pw;
	*npw = nw;
	flagc = flagt = 0;
	count1 = count2 = count3=0;
	TIMER1 = TIMER2=TIMER3 =0;
	for (j=0; j<Len2; j++)
	{speed2[j]=0;}

	i=j=k=0;

	Start();

    
    for (n=0; n<128; n++)
	{
		DAout();
	}

   	set_int();
	for(;;)
	{
		if(flagt==1) {asm(" ssbx xf");}
		else         {asm(" rsbx xf");}
		
			
	     DAout();
              	dis_buff(Rx);
	}        
}

void delay(unsigned int num)
{
    int i,j;
    for (i=0;i<=50;i++)
     {
      for (j=0;j<=num;j++);
     }
}
void vect()
{
   asm(" .ref _c_int00");/*pseudoinstruction*/
   asm(" .ref _int1");

   asm(" b _c_int00");/* reset */  
   asm(" nop");
   asm(" nop");
   asm(" rete");        
   asm(" nop");
   asm(" nop");
   asm(" nop");
   asm(" rete");
   asm(" nop");
   asm(" nop");
   asm(" nop");
   asm(" rete");
   asm(" nop");
   asm(" nop");
   asm(" nop");
   asm(" rete");
   asm(" nop");
   asm(" nop");
   asm(" nop");
   asm(" rete");
   asm(" nop");
   asm(" nop");
   asm(" nop");
   asm(" rete");
   asm(" nop");
   asm(" nop");
   asm(" nop");
   asm(" rete");
   asm(" nop");
   asm(" nop");
   asm(" nop");
   asm(" rete");
   asm(" nop");
   asm(" nop");
   asm(" nop");
   asm(" rete");
   asm(" nop");
   asm(" nop");
   asm(" nop");
   asm(" rete");
   asm(" nop");
   asm(" nop");
   asm(" nop");
   asm(" rete");
   asm(" nop");
   asm(" nop");
   asm(" nop");
   asm(" rete");
   asm(" nop");
   asm(" nop");
   asm(" nop");
   asm(" rete");
   asm(" nop");
   asm(" nop");
   asm(" nop");
   asm(" rete");
   asm(" nop");
   asm(" nop");
   asm(" nop");
   asm(" rete");
   asm(" nop");
   asm(" nop");
   asm(" nop");
   asm(" rete");       /* int0 */
   asm(" nop");
   asm(" nop");
   asm(" nop");
   asm(" b _int1");       /* int1 */
   asm(" nop");
   asm(" nop");
   asm(" rete");       /* int2 */
   asm(" nop");
   asm(" nop");
   asm(" nop");
   asm(" b _tint0");      /* tint0 */
   asm(" nop");
   asm(" nop");
   asm(" nop");
   asm(" rete");       /* brint0 */
   asm(" nop");
   asm(" nop");
   asm(" nop");
   asm(" rete");       /* bxint0 */
   asm(" nop");
   asm(" nop");
   asm(" nop");
   asm(" rete");      /* dmac0 */
   asm(" nop");
   asm(" nop");
   asm(" nop");
   asm(" rete");       /* tint1 */
   asm(" nop");
   asm(" nop");
   asm(" nop");
   asm(" rete");       /* int3 */
   asm(" nop");
   asm(" nop");
   asm(" nop");
   asm(" rete");       /* hpint */
   asm(" nop");
   asm(" nop");
   asm(" rete");       /* brint1 */
   asm(" nop");
   asm(" nop");
   asm(" nop");
   asm(" rete");       /* bxint1 */
   asm(" nop");
   asm(" nop");
   asm(" nop");
   asm(" rete");       /* dmac4 */
   asm(" nop");
   asm(" nop");
   asm(" nop");
   asm(" rete");      /* dmac5 */
   asm(" nop");
   asm(" nop");
   asm(" nop");
   asm(" nop");
   asm(" nop");
   asm(" nop");
   asm(" nop");
   asm(" nop");
   asm(" nop");
   asm(" nop");
}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
一区二区三区不卡在线观看| 国产成a人亚洲精| 日本欧美在线看| 国产二区国产一区在线观看 | 久久亚洲春色中文字幕久久久| 国产三级欧美三级日产三级99| 亚洲人成人一区二区在线观看| 亚洲成人资源在线| 国产麻豆视频精品| 91麻豆成人久久精品二区三区| 在线播放日韩导航| 国产精品久久777777| 日本怡春院一区二区| 99国产欧美另类久久久精品| 欧美一区二区福利视频| 国产精品久久久久影视| 日本伊人午夜精品| 91麻豆123| 久久综合久久久久88| 亚洲一二三四久久| 大尺度一区二区| 欧美一卡二卡三卡四卡| 亚洲婷婷综合久久一本伊一区| 麻豆国产精品视频| 欧美性生交片4| 欧美高清一级片在线观看| 日韩不卡一区二区| 色呦呦网站一区| 国产日本欧洲亚洲| 秋霞午夜av一区二区三区| 91在线观看免费视频| 久久色在线观看| 日韩高清在线电影| 在线一区二区三区| 国产精品拍天天在线| 麻豆精品视频在线观看免费| 日本成人超碰在线观看| 色婷婷av一区| 国产精品国产成人国产三级| 免费成人av在线| 欧美丝袜自拍制服另类| 中文字幕亚洲电影| 国产精品亚洲视频| 日韩一级在线观看| 日日夜夜免费精品视频| 一本到不卡免费一区二区| 国产午夜一区二区三区| 激情久久五月天| 91精品国产欧美一区二区成人| 亚洲资源中文字幕| 91在线国产福利| 亚洲欧美在线另类| 成人午夜又粗又硬又大| 久久亚洲一区二区三区明星换脸 | 欧美顶级少妇做爰| 综合久久给合久久狠狠狠97色| 激情综合色综合久久综合| 69堂国产成人免费视频| 午夜电影网亚洲视频| 欧美性受xxxx| 亚洲一区二区综合| 欧美丝袜丝交足nylons图片| 一区二区在线观看免费| 色域天天综合网| 亚洲天堂2016| 色噜噜狠狠成人网p站| 亚洲精品综合在线| 在线观看成人小视频| 亚洲欧美另类小说| 91福利国产精品| 亚洲午夜一区二区| 欧美日韩精品高清| 日韩 欧美一区二区三区| 欧美精品三级日韩久久| 青青草97国产精品免费观看| 91精品国产综合久久久蜜臀图片 | 欧美国产精品中文字幕| 国产精品一区一区| 中文一区二区在线观看| 极品瑜伽女神91| 久久精品夜夜夜夜久久| 国产大陆亚洲精品国产| 欧美高清在线一区二区| 99精品国产一区二区三区不卡 | 97久久精品人人澡人人爽| 亚洲视频精选在线| 欧美综合亚洲图片综合区| 亚洲亚洲人成综合网络| 在线综合+亚洲+欧美中文字幕| 日本不卡的三区四区五区| 日韩欧美在线观看一区二区三区| 久久国产夜色精品鲁鲁99| 久久久欧美精品sm网站| av电影在线观看不卡 | 7777精品久久久大香线蕉| 蜜桃av一区二区在线观看 | 成人国产精品免费观看视频| 亚洲欧洲一区二区在线播放| 色哟哟日韩精品| 丝袜美腿亚洲一区| 欧美精品一区二区三| 成人性生交大片免费看视频在线| 一区二区三区免费网站| 91精品国产综合久久精品性色| 精品一区二区三区免费播放| 欧美经典三级视频一区二区三区| 91麻豆国产福利精品| 日韩激情视频网站| 国产精品亲子伦对白| 欧美日韩中文一区| 国产麻豆91精品| 亚洲精品国产视频| 一区二区三区加勒比av| 久久狠狠亚洲综合| 中文字幕一区在线观看视频| 欧美日韩国产免费| 国产成人av影院| 午夜不卡在线视频| 国产日韩欧美在线一区| 欧美亚洲国产bt| 国产综合色在线视频区| 一区二区在线免费观看| 久久久综合视频| 欧美三级日韩三级| 高清不卡在线观看| 五月天丁香久久| 国产精品成人免费精品自在线观看 | 欧洲一区二区三区免费视频| 国内一区二区在线| 亚洲在线中文字幕| 久久蜜桃av一区二区天堂| 欧美撒尿777hd撒尿| 国产99一区视频免费| 日韩精品成人一区二区三区| 中文字幕一区二区三区精华液 | 国产一区在线看| 一级中文字幕一区二区| 日本一区二区视频在线| 日韩视频一区二区三区| 欧洲人成人精品| 成人app软件下载大全免费| 精品一区二区三区在线观看国产| 夜夜精品视频一区二区| 中文字幕成人网| 日韩精品一区二区三区swag| 欧美综合亚洲图片综合区| 成人小视频在线观看| 狠狠色2019综合网| 日日噜噜夜夜狠狠视频欧美人| 免费看欧美女人艹b| 欧美一卡二卡三卡四卡| 欧美色区777第一页| 本田岬高潮一区二区三区| 国产乱人伦精品一区二区在线观看| 亚洲成av人片在线观看无码| 亚洲视频一二区| 亚洲国产电影在线观看| 精品盗摄一区二区三区| 91精品国产免费| 欧美午夜宅男影院| 色中色一区二区| 99国产一区二区三精品乱码| 成人福利电影精品一区二区在线观看| 精品影视av免费| 免费观看91视频大全| 日韩精品视频网| 视频一区国产视频| 亚洲福利一二三区| 洋洋成人永久网站入口| ...av二区三区久久精品| 国产精品天美传媒沈樵| 国产亚洲婷婷免费| 国产日产欧美精品一区二区三区| 精品女同一区二区| 精品精品欲导航| 欧美岛国在线观看| 精品少妇一区二区三区| 精品久久久久久久久久久院品网 | 青青青爽久久午夜综合久久午夜| 亚洲高清在线精品| 亚洲第一精品在线| 五月婷婷久久丁香| 免费三级欧美电影| 精品亚洲欧美一区| 国产成人免费视| 高清av一区二区| eeuss国产一区二区三区| 91麻豆免费观看| 91黄色免费观看| 欧美中文字幕一区二区三区亚洲| 欧美性xxxxxxxx| 中文字幕在线一区免费| 91精品欧美综合在线观看最新 | 蜜臀av性久久久久蜜臀aⅴ四虎 | 精品国产污污免费网站入口| 欧美成人一级视频| 久久精品欧美日韩精品| 中文久久乱码一区二区| 国产精品传媒入口麻豆| 一区二区三区四区亚洲|