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

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

?? zhuansukongzhi.c

?? 自己編的一個直流電機轉速控制程序
?? C
字號:
#include <reg52.h>
#include <intrins.h>
#include <string.h>
#define uchar unsigned char
#define uint  unsigned int
#define  LCD P1
void  delayms(void);  /*延遲函數*/
uchar key_scan();
 static Count=0;
 static cnt=0;
 static truev=0;
 static v=30;   /*v為電機設定速度,n為pwm占空比 */
 static n;
 sbit L298_EN=P2^0;
 sbit L298_IN1=P2^1;
 sbit L298_IN2=P2^2;
 sbit LCD_RS=P3^7;	   /*定義1602液晶模塊接口*/
 sbit LCD_RW=P3^6;
 sbit LCD_E=P3^5;	   /*LCD使能端*/
 bit flag;
 

void delay(uint ms)   /*延時1ms*/
{
  uchar i;
  while(ms--)
   for(i=0;i<250;i++)
   {
     _nop_();
	 _nop_();

	 }
}


    
void SELECT_LCD(void)	/*選中LCD*/
{ 
   LCD_E=1;
   _nop_();
   _nop_();
   _nop_();
   }


void NOSELECT_LCD(void)	/*釋放LCD*/
{
   LCD_E=0;
   _nop_();
   _nop_();
   _nop_();
}


bit LCD_Busy()	/*檢測LCD的忙碌狀態,在對LCD操作的時候必須檢測忙碌狀態,忙時對其操作無效*/
{							
	bit result;
	LCD_RS = 1;		/*設置LCD為忙碌狀態的檢測*/ 
	LCD_RW = 1;
	SELECT_LCD();	/*選中LCD*/
	_nop_();		/*待穩定*/
	_nop_();
	_nop_();
	_nop_();
	result = (bit)(LCD & 0x80);	/*讀LCD的DB7的值 1為忙 0為空閑,可寫入指令和數據*/
	NOSELECT_LCD();
	return result;	/*返回result,1為忙 0為空閑*/
}


LCD_WriteCommand(uchar com)	  /*寫指令數據到LCD*/
{							   
	while(LCD_Busy());	/*當LCD不忙時,寫指令數據*/
	NOSELECT_LCD();
	LCD_RS = 0;			/*設置LCD為寫指令數據*/
	LCD_RW = 0;
	
	_nop_();
	_nop_();	
	LCD = com;			/*把指令數據送到P1口*/
	_nop_();
	_nop_();
	_nop_();
	_nop_();
	SELECT_LCD();		/*選中LCD*/
	_nop_();
	_nop_();
	_nop_();
	_nop_();
	NOSELECT_LCD();		/*釋放LCD*/
}


LCD_DisplayPosit(uchar pos)	    /*設定字符在LCD上顯示的位置*/
{							
	LCD_WriteCommand(pos|0x80);
	delay(1);
}


LCD_WriteData(uchar dat)	/*寫字符顯示數據到LCD*/
{							
	while(LCD_Busy());	/*當LCD不忙時,寫顯示數據*/
	LCD_RS = 1;		    /*設置LCD為寫顯示數據*/
	LCD_RW = 0;
	NOSELECT_LCD();
	LCD = dat;		    /*把顯示數據送到P1口*/
	_nop_();
	_nop_();
	_nop_();
	_nop_();
	SELECT_LCD();		/*選中LCD*/
	_nop_();
	_nop_();
	_nop_();
	_nop_();
	NOSELECT_LCD();		/*釋放LCD*/
}


LCD_Init()	    /*LCD初始化*/
{							
	LCD_WriteCommand(0x38);	   /*16*2顯示,5*7點陣,8位數據*/
	delay(1);
	LCD_WriteCommand(0x0c);	   /*顯示開,關光標*/
	delay(1);
	LCD_WriteCommand(0x06);	   /*移動光標*/
	delay(1);
	LCD_WriteCommand(0x01);	   /*清除LCD的顯示內容*/
	delay(1);
}


/*顯示單個字符*/
void show(uchar n,uchar a) /*n表示顯示位置,a為要顯示的字符*/
{
  LCD_DisplayPosit(n);
  LCD_WriteData(a);
}
 uchar key_scan()
 {	 uchar Counter=0; 
	 uchar Counte=0;
	 uchar key=20;
	 while(key==20)
   	 {
        P0=0xf0;
        Counte=P0; 
        if(Counte==0xe0)
		{delay(2);
		 if(Counte==0xe0) Counter=1;
		 }
        if(Counte==0xd0)
		 {delay(2);
		 if(Counte==0xd0) Counter=2;
		 }
        if(Counte==0xb0)
		 {delay(2);
		 if(Counte==0xb0) Counter=3;
		 }
        if(Counte==0x70)
		 {delay(2);
		 if(Counte==0x70) Counter=4;
		 }
        P0=0x0f;
        Counte=P0;
	    if(Counte==0x0e)
		{delay(2);
		 if(Counte==0x0e)   Counte=1;
		 }
        if(Counte==0x0d)
		{delay(2);
		 if(Counte==0x0d)   Counte=2;
		 }
        if(Counte==0x0b) 
		{delay(2);
		 if(Counte==0x0b)   Counte=3;
		 }
        if(Counte==0x07) 
		{delay(2);
		 if(Counte==0x07)   Counte=4;
		 } 
        if(Counter==1&&Counte==1)  key=0;
	    if(Counter==2&&Counte==1)  key=1;
	    if(Counter==3&&Counte==1)  key=2;
		if(Counter==4&&Counte==1)  key=3;
	    if(Counter==1&&Counte==2)  key=4;
        if(Counter==2&&Counte==2)  key=5;
        if(Counter==3&&Counte==2)  key=6;
        if(Counter==4&&Counte==2)  key=7;
        if(Counter==1&&Counte==3)  key=8;
        if(Counter==2&&Counte==3)  key=9;
		if(Counter==3&&Counte==3)  key=10;
	    if(Counter==4&&Counte==3)  key=11;
	    if(Counter==1&&Counte==4)  key=12;
		if(Counter==2&&Counte==4)  key=13;
	    if(Counter==3&&Counte==4)  key=14;
	    if(Counter==4&&Counte==4)  key=15;
	 	}
	    P0=0x0f;
        Counte=P0;
	    while(Counte!=0x0f)
		{  P0=0x0f;
           Counte=P0;
		   }

		return key;
	}
    void Timer1() interrupt 3
  {  
   TH1=(65636-50000)/256;
   TL1=(65636-50000)%256;
   Count++;
   if(Count>=20)
      { Count=0;
        
	    truev=cnt;
		cnt=0;
        }
     }
   void Timer0() interrupt 1
   {  if(flag==1)
         {  TH0=(65636-(100-n)*50)/256;
            TL0=(65636-(100-n)*50)%256;
		    L298_IN1=0;
	        
		  } 
	  else
	      {
		    TH0=(65636-n*50)/256;
            TL0=(65636-n*50)%256;
		    L298_IN1=1;
	       		    
     	   }
		   flag=~flag;
	 }
  
void Int1() interrupt 2
{   
    cnt++;
}
 void Int0() interrupt 0
{ uchar s,a,b,p,q;
  uchar m=v;
  uchar k=0;
  EX0=0;
  s=key_scan();
  if (s==12)
   {	
    LCD_WriteCommand(0x01);	   /*清除LCD的顯示內容*/
	delay(10);
	show(0,'P');
	show(1,'u');
	show(2,'t');
	show(3,' ');
	show(4,'i');
	show(5,'n');
	show(6,' ');
	show(7,'v');
	show(8,':');
	s=key_scan();

	while(s!=15)
	  { 
	    if(s==14)
		{k=0; break;}
		if((s>=0)&(s<=9)&(k==0))
		{ a=s;
		  k++;
		  show(9,(a+48));
		  }
		 s=key_scan();
		 if(s==14)
		 {k=0; break;}
		 if(s==15) break;
		 if((s>=0)&(s<=9)&(k==1))
		 { b=s;
		   k++;
		  show(10,(b+48));
		  }
		  s=key_scan();
		  }
		 if(k==1) v=a;
		 if(k==2) v=a*10+b;
		 if((v<10)|(v>40))
		 { v=m;
		   LCD_WriteCommand(0x01);	   /*清除LCD的顯示內容*/
	       delay(10);
		   show(4,'E');
		   show(5,'R');
		   show(6,'R');
		   show(7,'O');
    	   show(8,'R');
		   delay(200);
		   }
		 p=truev;
         q=v;
  	    LCD_WriteCommand(0x01);
	    delay(10);
		show(0,'S');
		show(1,'e');
		show(2,'l');
		show(3,'e');
		show(4,'c');
		show(5,'t');
		show(6,' ');
		show(7,'V');
		show(8,'=');
		show(9,(q/10)+48);
		show(10,(q%10)+48);
		show(11,'r');
		show(12,'/');
		show(13,'s');
        show(0xc0,'T');
		show(0xc1,'r');
		show(0xc2,'u');
		show(0xc3,'e');
		show(0xc4,' ');
		show(0xc5,' ');
		show(0xc6,' ');
		show(0xc7,'V');
		show(0xc8,'=');
		show(0xc9,(p/10)+48);
		show(0xca,(p%10)+48);
	   	show(0xcb,'r');
		show(0xcc,'/');
		show(0xcd,'s');
   	    }
		
 }



void main(void)
{  uchar temp1=0;     /*temp1變量保存速度返回值	*/
   uchar temp2=0;      /*temp2變量保存路程返回值*/
   P0=0x0f;
   n=40;                
   flag=1; 
   IE=0x8f;
   IP=0x0e;
   TCON=0x55;
   TMOD=0x11;
   TH0=(65636-n*50)/256;
   TL0=(65636-n*50)%256;
   TH1=(65636-50000)/256;
   TL1=(65636-50000)%256;
   LCD_Init(); 
   while(1)
   {   	uchar i;
        EX0=1;
        L298_IN2=0;
        LCD_WriteCommand(0x01);
	    delay(10);
		show(0,'S');
		show(1,'e');
		show(2,'l');
		show(3,'e');
		show(4,'c');
		show(5,'t');
		show(6,' ');
		show(7,'V');
		show(8,'=');
		show(11,'r');
		show(12,'/');
		show(13,'s');
        show(0xc0,'T');
		show(0xc1,'r');
		show(0xc2,'u');
		show(0xc3,'e');
		show(0xc4,' ');
		show(0xc5,' ');
		show(0xc6,' ');
		show(0xc7,'V');
		show(0xc8,'=');
	   	show(0xcb,'r');
		show(0xcc,'/');
		show(0xcd,'s');
     	
        for(i=0;i<5;i++)
        { P0=0x0f;
		  
		  temp1=truev;
	      temp2=v;
		  if(temp2==0) L298_EN=0;
		  if(temp2>0)  L298_EN=1;

		  if(n>0&n<100)
		   {
		    if((temp1>temp2+1)&(n>1)) n--; /*現實速度大于設定速度+1,占空比減小*/
	        if((temp1<temp2-1)&(n<99)) n++; /*現實速度小于設定速度-1,占空比增加*/
			}
		  show(9,(temp2/10)+48);
		  show(10,(temp2%10)+48);
		  show(0xc9,(temp1/10)+48);
		  show(0xca,(temp1%10)+48);
		  delay(600);
		  }
     } 
   }

    

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
欧美一卡二卡三卡四卡| 成人av手机在线观看| 精品影院一区二区久久久| 国产精品系列在线播放| 欧美亚洲国产一区二区三区| 日韩精品一区二区在线观看| 一区二区三区四区中文字幕| 美女脱光内衣内裤视频久久影院| 不卡区在线中文字幕| 欧美大片顶级少妇| 亚洲电影在线免费观看| 成人激情校园春色| 久久日韩精品一区二区五区| 亚洲精品免费一二三区| 国产成人在线网站| 欧美videossexotv100| 亚洲综合另类小说| 一本一道综合狠狠老| 国产午夜精品福利| 美国三级日本三级久久99| 在线观看亚洲精品| 亚洲精品久久嫩草网站秘色| 国产二区国产一区在线观看| 欧美一区二区三区日韩| 亚洲大片一区二区三区| 欧美激情一区二区三区不卡| 成人一级黄色片| 日韩一级片网址| 精品久久久久久久久久久久久久久 | 99久久久久免费精品国产| 精品捆绑美女sm三区| 日韩精品欧美成人高清一区二区| 91激情在线视频| 亚洲主播在线观看| 欧美日韩电影一区| 午夜成人免费视频| 777奇米成人网| 日本中文字幕一区二区有限公司| 欧美日韩国产小视频| 偷拍一区二区三区| 91精品国产一区二区三区| 亚洲v中文字幕| 欧美人伦禁忌dvd放荡欲情| 一区二区三区蜜桃| 欧美乱妇20p| 麻豆中文一区二区| 国产欧美精品在线观看| 成人免费高清视频在线观看| 国产精品福利在线播放| 91蝌蚪porny九色| 亚洲第一激情av| 欧美一区二区三区啪啪| 国产精品一区二区久久不卡 | 亚洲视频免费在线| 日本道免费精品一区二区三区| 亚洲色图.com| 欧美精品第1页| 国内精品久久久久影院色| 久久久久久久久99精品| 国产精品无码永久免费888| 亚洲激情男女视频| 国产精品久久久久久亚洲毛片 | 久久99精品国产91久久来源| 日韩欧美二区三区| 波多野结衣亚洲| 亚洲一卡二卡三卡四卡无卡久久 | 欧美伊人精品成人久久综合97 | 色婷婷综合在线| 奇米精品一区二区三区在线观看| 精品成人一区二区三区| 99re成人在线| 久草精品在线观看| 久久久久久久久97黄色工厂| 亚洲高清久久久| 欧美裸体一区二区三区| 国产一区二区三区久久久 | 成人av在线网| 免费精品99久久国产综合精品| 日本一二三不卡| 在线电影院国产精品| 成人黄色在线视频| 美国十次了思思久久精品导航| 婷婷中文字幕综合| 欧美xingq一区二区| 国产美女久久久久| 日本免费新一区视频| 自拍av一区二区三区| 日韩美女一区二区三区| 欧美性受极品xxxx喷水| 成人黄色软件下载| 精品一区二区成人精品| 亚洲成人一区在线| 亚洲少妇中出一区| 久久久亚洲高清| 欧美一级久久久| 欧美日韩一区二区三区四区| 成人黄页毛片网站| 国产成人高清在线| 国内精品久久久久影院一蜜桃| 性久久久久久久久| 亚洲国产日韩综合久久精品| 国产精品美女www爽爽爽| 日韩欧美综合在线| 在线成人午夜影院| 4438亚洲最大| 欧美日韩午夜影院| 欧洲另类一二三四区| 91一区一区三区| 91免费看片在线观看| 成人动漫一区二区三区| 成人午夜激情片| 成人午夜在线播放| 大桥未久av一区二区三区中文| 精品在线观看免费| 国产精品一二三四| 国产精品69毛片高清亚洲| 久色婷婷小香蕉久久| 日本午夜一区二区| 蜜臀91精品一区二区三区| 老司机一区二区| 国产在线视视频有精品| 国产在线精品免费av| 国产毛片精品视频| 风间由美一区二区av101| 国产iv一区二区三区| 不卡免费追剧大全电视剧网站| 国产成人av电影在线观看| 国产丶欧美丶日本不卡视频| 国产成人av一区| 一本色道**综合亚洲精品蜜桃冫| 91传媒视频在线播放| 欧美日韩在线不卡| 日韩一级在线观看| 国产免费成人在线视频| ●精品国产综合乱码久久久久| 亚洲少妇中出一区| 日本女优在线视频一区二区| 国产精品一区二区久激情瑜伽 | 国产精品国产精品国产专区不蜜 | 国产白丝精品91爽爽久久| 成人av午夜电影| 精品视频在线免费看| 69p69国产精品| 久久久久亚洲蜜桃| 一区二区三区四区国产精品| 图片区小说区区亚洲影院| 国产一区二区视频在线播放| 99久久久国产精品免费蜜臀| 91原创在线视频| 欧美一区二区三区白人| 国产亚洲精品aa| 洋洋av久久久久久久一区| 蓝色福利精品导航| 91在线云播放| 精品乱人伦一区二区三区| 亚洲日本在线a| 久久99在线观看| 日本二三区不卡| 国产视频一区在线播放| 婷婷一区二区三区| 99久久精品免费观看| 日韩限制级电影在线观看| 中文字幕日韩一区| 精品一区二区免费在线观看| 色又黄又爽网站www久久| 精品播放一区二区| 亚洲国产日韩在线一区模特 | 国产精品系列在线| 日本视频在线一区| 色视频成人在线观看免| 久久久精品国产99久久精品芒果| 亚洲成人免费电影| 99国产精品国产精品久久| 欧美大黄免费观看| 午夜影院在线观看欧美| 成年人国产精品| 久久嫩草精品久久久久| 日韩不卡手机在线v区| 91免费国产在线| 中文字幕免费在线观看视频一区| 青青草原综合久久大伊人精品优势| 91捆绑美女网站| 国产精品久久久久久久久久免费看 | 91精品国产综合久久精品app| 亚洲欧美中日韩| 国产91丝袜在线播放0| 精品国产人成亚洲区| 日韩一区欧美二区| 欧美日韩国产美女| 亚洲国产日产av| 欧美色综合久久| 亚洲在线观看免费| 91亚洲精品久久久蜜桃| 国产精品久久久久永久免费观看 | 久久人人爽爽爽人久久久| 视频一区视频二区中文| 欧美无乱码久久久免费午夜一区| 亚洲欧美一区二区三区极速播放 | 成人自拍视频在线| 国产免费成人在线视频|