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

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

?? 懸掛控制最終程序20050910.c

?? 懸掛控制最終程序 熱rgrghththtnt
?? C
?? 第 1 頁 / 共 2 頁
字號:
//*************************************
//*************************************
#pragma small
#include<reg52.h>
#include<math.h>
#include<absacc.h>
#include<stdio.h>
#define uchar unsigned char
#define uint  unsigned int
//--------------------------------------------電機接口宏定義
#define open  0
#define close 1

sbit motor1_z = P0^5 ;
sbit motor1_f = P0^7 ;
sbit motor2_z = P0^1 ;
sbit motor2_f = P0^3 ;

sbit L_guang = P1^5;   //接左邊光感
sbit R_guang = P1^4;   //接右邊光感	

//--------------------------------------------7279IO口宏定義
sbit HD7279_CS  =P3^5;
sbit HD7279_CLK =P3^4;
sbit HD7279_DATA=P3^3;
sbit HD7279_KEY =P3^2;
//--------------------------------------------7279命令宏定義
#define HD7279_RESET 0xa4 //復位,相當于重新上電
#define HD7279_TEST  0xbf //測試,點亮全部LED并閃爍
#define HD7279_RL    0xa1 //左移
#define HD7279_RR    0xa0 //右移
#define HD7279_RLC   0xa3 //循環左移
#define HD7279_RRC   0xa2 //循環右移
#define HD7279_DECODE0  0x80 //譯碼方式0
#define HD7279_DECODE1  0xc8 //譯碼方式1
#define HD7279_UNDECODE 0x90 //譯碼方式2: 不譯碼
#define HD7279_FLASH  0x88 //閃爍
#define HD7279_HIDE   0x98 //消隱
#define HD7279_SEGON  0xe0 //段亮
#define HD7279_SEGOFF 0xc0 //段滅
#define HD7279_READ   0x15 //讀按鍵代碼
//-------------------------------------------
#define L_start 115.974  //左邊繩子開始長度
#define R_start 149.163 //右邊繩子開始長度
//#define DJ_SPEED 0.04 //電機轉一下0.75mm/10ms
#define DJ_SPEED 0.23   //電機轉一下0.75mm/10ms
uchar   cir_bj;//所畫圓的半徑

float L_next;//記錄左邊繩子下一次長度
float R_next;//記錄右邊繩子下一次長度
float L_length;//記錄左邊繩子當前長度
float R_length;//記錄右邊繩子當前長度
float L_change;//記錄左邊繩子變化長度
float R_change;//記錄右邊繩子變化長度

unsigned long L_dollop = 0;//左邊需要轉動的塊數
unsigned long R_dollop = 0;//右邊需要轉動的塊數
unsigned long motor1_sign = 0;//電機1中斷控制標志
unsigned long motor2_sign = 0;//電機2中斷控制標志
bit L_sign = 0;//電機1計數開始標志
bit R_sign = 0;//電機2計數開始標志

//--------------------------------------------全局變量定義
uchar key_value;
uchar key_fun_counter;
bit   xy_select;
uint  timer0_counter;
uint  data_x = 0;     //x坐標數據
uint  data_y = 0;     //y坐標數據
//--------------------------------------------
//--------------------------------------------
void delay(uint i)//延時程序
{ uint j;
  for(j=0;j<=i;j++);
}
//--------------------------------------------
//            以下是HD7279驅動程序           |
//--------------------------------------------
void HD7279_LongDelay(void)//長延時
{ uchar i;
  for (i=0;i<0x30;i++);
}
//--------------------------------------------
void HD7279_ShortDelay(void)//短延時
{ uchar i;
  for (i=0;i<8;i++);
}
//--------------------------------------------
void HD7279_SendByte(uchar out_byte)//向HD7279寫字節
{ uchar i;
  HD7279_CLK=0;
  HD7279_LongDelay();
  for(i=0;i<8;i++)
    {if(out_byte&0x80) HD7279_DATA=1;
     else              HD7279_DATA=0;
	 HD7279_ShortDelay();
     HD7279_CLK=1;
     HD7279_ShortDelay();
     HD7279_CLK=0;
     HD7279_ShortDelay();
     out_byte=out_byte<<1;
    }
  HD7279_DATA=0;
}
//--------------------------------------------
uchar HD7279_ReceiveByte(void)//從HD7279讀字節
{ uchar i, in_byte=0;
  HD7279_CLK=0;
  HD7279_DATA=1;
  HD7279_LongDelay();
  for(i=0;i<8;i++)
    {HD7279_CLK=1;
     HD7279_ShortDelay();
     in_byte=in_byte<<1;
     if(HD7279_DATA) { in_byte=in_byte|0x01; }
     HD7279_CLK=0;
     HD7279_ShortDelay();
    }
  HD7279_DATA=0;
  return (in_byte);
}
//--------------------------------------------
//在指定位置顯示數據//形參:顯示位置,數據,有無點(1有點)
void HD7279_ShowData(uchar Position,uchar ShowData,bit Have_DP)
{ 
  HD7279_SendByte( Position|HD7279_DECODE0 );//按方式0譯碼
  if(Have_DP) ShowData = ShowData|0x80;
  HD7279_SendByte( ShowData );
  HD7279_ShortDelay();
}
//--------------------------------------------
uchar HD7279_GetKey(void)//獲得按鍵代碼
{ uchar key;
  HD7279_SendByte(HD7279_READ);
  key=HD7279_ReceiveByte();
  return(key);
}
//--------------------------------------------
void HD7279_Initial(void)//HD7279初始化
{ 
  HD7279_SendByte( HD7279_RESET );//復位
}
//--------------------------------------------
//--------------------------------------------
//顯示十進制數,形參:數據,在8位LED高4位還是低4位顯示(1高),千百十個哪位有小數點(4千3百2十1個0無)
void show_led(uint data_show,bit Select_HL,uchar Select_DP)
{ uchar t4,t3,t2,t1;
  bit   dp1=0,dp2=0,dp3=0,dp4=0;
  t4 = (uchar)(data_show/1000);
  t3 = (uchar)((data_show%1000)/100);
  t2 = (uchar)((data_show%100)/10);
  t1 = (uchar)(data_show%10);
  switch(Select_DP)
    {case 4:dp4=1;break;
     case 3:dp3=1;break;
     case 2:dp2=1;break;
     case 1:dp1=1;break;
     default:break;
    }
  if(Select_HL)
    {HD7279_ShowData(7,t1,dp4);
     HD7279_ShowData(6,t2,dp3);
     HD7279_ShowData(5,t3,dp2);
     //HD7279_ShowData(4,t4,dp1);
    }
  else
    {HD7279_ShowData(3,t1,dp4);
     HD7279_ShowData(2,t2,dp3);
     HD7279_ShowData(1,t3,dp2);
     //HD7279_ShowData(0,t4,dp1);
    }
}
void show_led4(float data_show,bit Select_HL,uchar Select_DP)
{ uchar t4,t3,t2,t1;
  uint data_show4;
  bit   dp1=0,dp2=0,dp3=0,dp4=0;
  data_show4 = (uint)(data_show*1000);	
  t4 = (uchar)(data_show4/1000);
  t3 = (uchar)((data_show4%1000)/100);
  t2 = (uchar)((data_show4%100)/10);
  t1 = (uchar)(data_show4%10);
  switch(Select_DP)
    {case 4:dp4=1;break;
     case 3:dp3=1;break;
     case 2:dp2=1;break;
     case 1:dp1=1;break;
     default:break;
    }
  if(Select_HL)
    {HD7279_ShowData(7,t1,dp4);
     HD7279_ShowData(6,t2,dp3);
     HD7279_ShowData(5,t3,dp2);
     HD7279_ShowData(4,t4,dp1);
    }
  else
    {HD7279_ShowData(3,t1,dp4);
     HD7279_ShowData(2,t2,dp3);
     HD7279_ShowData(1,t3,dp2);
     HD7279_ShowData(0,t4,dp1);
    }
}
//--------------------------------------------
//--------------------------------------------電機控制
void control_motor1_z(void)//電機1正轉
  {
   motor1_z = close;//
   motor1_f = close;//
   //delay(200);
   motor1_z = open;
  }
void control_motor1_f(void)//電機1反轉
  {
   motor1_z = close;//
   motor1_f = close;//
   //delay(200);
   motor1_f = open;
  }
void control_motor1_close(void)//電機1關閉
  {
   motor1_z = close;//
   motor1_f = close;//
  }
//--------------------------------------------
void control_motor2_z(void)//電機2正轉
  {
   motor2_z = close;//
   motor2_f = close;//
   //delay(200);
   motor2_z = open;
  }
void control_motor2_f(void)//電機2反轉
  {
   motor2_z = close;//
   motor2_f = close;//
   //delay(200);
   motor2_f = open;
  }
void control_motor2_close(void)//電機2關閉
  {
   motor2_z = close;//
   motor2_f = close;//
  }
//--------------------------------------------
//---------------------------------------------
void move_point(float a,float b)
{
	L_next = sqrt((15+a)*(15+a)+(115-b)*(115-b));//a
	R_next = sqrt((95-a)*(95-a)+(115-b)*(115-b));//b
	L_change = (L_next - L_length)*10;
	R_change = (R_next - R_length)*10;
	L_length = L_next;
	R_length = R_next;

	if(R_change > 0)
	    {//判斷從當前點移動到下一個點碼盤需要轉動的塊數以及是收還是放線
	     R_dollop = R_change/DJ_SPEED;
	     control_motor2_z();
         R_sign = 1;
	    }
	else{
	 	 R_dollop = abs(R_change)/DJ_SPEED;
		 control_motor2_f();
		 R_sign = 1;
		}
	if(L_change > 0)
	    {//判斷從當前點移動到下一個點碼盤需要轉動的塊數以及是收還是放線
		 L_dollop = L_change/DJ_SPEED;
		 control_motor1_z();
		 L_sign = 1;
		}                        
	else{
		 L_dollop = abs(L_change)/DJ_SPEED;
		 control_motor1_f();
		 L_sign = 1;
		}
while(1)
   {
   if(motor1_sign >=L_dollop)
	 {
	  motor1_z = close;
   	  motor1_f = close;
	  L_sign = 0;
  	 }
   if(motor2_sign >=R_dollop)
	 {
	  motor2_z = close;
   	  motor2_f = close;
	  R_sign = 0;
  	 }
   if((L_sign == 0)&&(R_sign == 0))
     {motor1_sign = 0;
	  motor2_sign = 0;
	  break;
	 }
   }
  delay(20000);
}
//--------------------------------------------
void draw_line(float x2,float y2)
{
	float xi,yi=0;
	uchar j;

    L_length = L_start;
    R_length = R_start;

	for(xi=0;xi<=x2;xi+=1.0)
	{
		yi = y2/x2*xi;
		move_point(xi,yi);
	}
	for(j=0;j<=9;j++) //數碼管顯示提示
    {   EA=0;
		HD7279_ShowData(0,0x0d,0);
		EA=1;
        delay(20000);
		EA=0;
		HD7279_ShowData(0,0x0f,0);
		EA=1;
        delay(20000);
    }
}

void draw_cir(int a,int b)//以(a,b)為圓心畫圓
{
	float i,x,y;
 	uint angle;
	uchar j,loop=0;
	L_length = sqrt((15+a+cir_bj)*(15+a+cir_bj)+(115-b)*(115-b));
	R_length = sqrt((95-a-cir_bj)*(95-a-cir_bj)+(115-b)*(115-b));
	for(angle=5;angle<=365;angle+=5) //分360度,每5度畫一個點,
	{		
		loop++;
		i=(float)(angle)*3.14159/180;
		x=a+cir_bj*cos(i);
		y=b+cir_bj*sin(i);
		if(loop >=5)
		{	
			show_led4(x,0,3);  //在數碼管上顯示坐標,保留2位小數
			show_led4(y,1,3);
			loop = 0;
		}
		move_point(x,y);		
	}
	for(j=0;j<=9;j++) //數碼管顯示提示
    {   EA=0;
		HD7279_ShowData(0,0x0d,0);
		EA=1;
        delay(20000);
		EA=0;
		HD7279_ShowData(0,0x0f,0);
		EA=1;
        delay(20000);
    }
}
//--------------------------------------------
//-----鍵盤-----------------------------------
//-----按鍵功能選擇---------------------------
void key_chose(void)
{uchar i;
 while(1)

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
337p日本欧洲亚洲大胆色噜噜| 婷婷一区二区三区| 亚洲一区二区三区激情| 久久国内精品视频| 97se亚洲国产综合自在线不卡| 日韩午夜在线观看视频| 亚洲三级在线播放| 免费成人av在线播放| 在线这里只有精品| 国产精品毛片久久久久久| 久久99精品久久只有精品| 欧美亚一区二区| 欧美激情一区二区| 国产成人午夜视频| 精品国产免费一区二区三区四区| 亚洲一区二区三区影院| 成人免费高清在线| 2020日本不卡一区二区视频| 五月婷婷综合激情| 欧美妇女性影城| 亚洲成人免费在线| 欧美日韩精品一区二区天天拍小说 | 3d动漫精品啪啪1区2区免费| 亚洲男人的天堂在线aⅴ视频| 豆国产96在线|亚洲| 精品少妇一区二区| 久久精品国产精品亚洲红杏| 欧美精品自拍偷拍| 日韩精品成人一区二区三区| 欧美影院午夜播放| 午夜视频一区二区| 欧美人与z0zoxxxx视频| 亚洲一二三四区不卡| 日本大香伊一区二区三区| 综合久久久久综合| 色妹子一区二区| 亚洲欧美日韩久久| 欧美系列一区二区| 婷婷中文字幕综合| 日韩欧美一区电影| 国内精品久久久久影院一蜜桃| 欧美大黄免费观看| 国产精品99久| 国产精品电影一区二区三区| 91麻豆国产香蕉久久精品| 亚洲欧美日韩中文字幕一区二区三区| 一本色道a无线码一区v| 亚洲图片有声小说| 欧美一区二区视频在线观看2020| 欧美aaaaaa午夜精品| 久久久久高清精品| 91亚洲大成网污www| 亚洲高清一区二区三区| 日韩欧美高清dvd碟片| 国产精一区二区三区| 中文一区在线播放| 欧美日韩一区三区四区| 免费av网站大全久久| 欧美国产一区视频在线观看| 91麻豆视频网站| 日日夜夜免费精品视频| 久久伊人中文字幕| 色婷婷av一区| 蜜桃精品视频在线| 亚洲欧美激情小说另类| 欧美一二区视频| 91视频免费看| 免费在线观看一区| 亚洲欧洲日韩综合一区二区| 欧美人与性动xxxx| 国产91精品精华液一区二区三区| 一区二区三区电影在线播| 日韩精品一区二区三区四区视频 | 欧美a级一区二区| ●精品国产综合乱码久久久久| 欧美日韩高清一区二区| 国产福利电影一区二区三区| 亚洲精品久久久蜜桃| www成人在线观看| 欧美最猛性xxxxx直播| 激情久久五月天| 午夜精品在线看| 国产精品福利一区二区三区| 日韩欧美一区二区不卡| 欧美三级三级三级| 99久久婷婷国产精品综合| 久久99精品国产.久久久久久 | ww久久中文字幕| 欧美性受xxxx| 成人黄色免费短视频| 六月丁香综合在线视频| 亚洲一区自拍偷拍| 国产精品国产a| 中文字幕二三区不卡| 欧美va天堂va视频va在线| 99久久99久久精品免费看蜜桃| 国内精品嫩模私拍在线| 日本欧美久久久久免费播放网| 国产精品护士白丝一区av| 久久天天做天天爱综合色| 91麻豆精品国产自产在线| 色狠狠桃花综合| 99这里只有精品| 成人免费va视频| 国产精品888| 国产裸体歌舞团一区二区| 久久精品国产99久久6| 美女视频网站黄色亚洲| 午夜不卡av免费| 日韩国产精品久久久久久亚洲| 亚洲一区二区三区中文字幕在线| 国产精品久久久久久户外露出 | 精品国产一区二区亚洲人成毛片| 欧美疯狂性受xxxxx喷水图片| 欧美丝袜第三区| 欧美精品日韩综合在线| 91.麻豆视频| 日韩欧美中文字幕制服| 欧美成人a在线| 精品国产伦一区二区三区观看体验| 欧美一级久久久久久久大片| 91精品国产91久久久久久一区二区| 91精品视频网| 日韩欧美一区中文| 久久网站热最新地址| 欧美国产日产图区| 中文字幕在线不卡一区| 夜夜亚洲天天久久| 日韩制服丝袜av| 国产精品一区二区久久不卡| 成人爽a毛片一区二区免费| 99久久99久久精品免费观看| 欧美午夜电影在线播放| 欧美一区二区三区成人| 久久久亚洲综合| 亚洲欧美日韩一区| 天天影视色香欲综合网老头| 久久爱www久久做| 不卡欧美aaaaa| 9191成人精品久久| 国产日本欧洲亚洲| 亚洲卡通欧美制服中文| 亚洲chinese男男1069| 久久精品免费观看| 91啪亚洲精品| 欧美电影免费提供在线观看| 中文字幕巨乱亚洲| 亚洲成人av在线电影| 国产综合久久久久影院| 色综合久久九月婷婷色综合| 91精品一区二区三区久久久久久| 久久男人中文字幕资源站| 亚洲日本电影在线| 美女视频网站久久| 色婷婷激情综合| 国产性做久久久久久| 一区二区三区久久久| 国内精品伊人久久久久av一坑| 91麻豆文化传媒在线观看| 精品国产三级a在线观看| 亚洲三级久久久| 国内精品第一页| 欧美日韩日日摸| 亚洲欧洲另类国产综合| 狂野欧美性猛交blacked| 一本久久综合亚洲鲁鲁五月天| 久久亚洲春色中文字幕久久久| 亚洲亚洲人成综合网络| 国v精品久久久网| 91精品欧美久久久久久动漫| 自拍偷拍亚洲激情| 国产黄人亚洲片| 日韩一卡二卡三卡四卡| 一区二区三区四区在线播放 | 国产精选一区二区三区| 欧美三级午夜理伦三级中视频| 欧美激情一区在线观看| 麻豆精品一二三| 69堂成人精品免费视频| 亚洲日本在线视频观看| 成人福利视频在线| 欧美精品一区二区三区高清aⅴ| 亚洲v中文字幕| 欧美专区日韩专区| 国产精品久久久久aaaa樱花| 国产一区二区三区久久久| 日韩欧美一级精品久久| 日本美女一区二区| 欧美日韩不卡在线| 亚洲高清免费视频| 色偷偷久久一区二区三区| 最好看的中文字幕久久| 成人av集中营| 中文字幕一区在线| www.日韩av| 亚洲天堂网中文字| 色综合欧美在线| 亚洲综合视频网| 欧美日韩日日夜夜| 日韩av网站免费在线|