舞蹈機械人程式

2023-01-04 15:12:03 字數 3434 閱讀 7927

* 舞蹈機械人程式

* 作者 :夢想科技*老高

** 微控制器採用at89s52,晶振頻率為:12.00mhz。

#include <>

//51晶元管腳定義標頭檔案

#include <>

//內部包含延時函式 _nop_()

#define uchar unsigned char

#define uint unsigned int

sbit sdata_595=p3^0 ; //序列資料輸入

sbit sclk_595 =p3^1 ; //移位時鐘脈衝

sbit rck_595 =p3^6 ; //輸出鎖存器控制脈衝

uchar run=0步驟標記

uchar num=0同時工作的電數

uchar i;

sbit in0=p1^0;

sbit in1=p1^1;

sbit in2=p1^2;

sbit in3=p1^3;

sbit in4=p1^4;

sbit in5=p1^5;

sbit in6=p1^6;

sbit in7=p1^7;

sbit in8=p0^0;

unsigned char state0_a=0; //定義電機0的狀態a

unsigned char state0_b=0; //定義電機0的狀態b

unsigned char state1_a=0; //定義電機1的狀態a

unsigned char state1_b=0; //定義電機1的狀態b

unsigned char state2_a=0; //定義電機2的狀態a

unsigned char state2_b=0; //定義電機2的狀態b

unsigned char state3_a=0; //定義電機3的狀態a

unsigned char state3_b=0; //定義電機3的狀態b

unsigned char state4_a=0; //定義電機4的狀態a

unsigned char state4_b=0; //定義電機4的狀態b

unsigned char state5_a=0; //定義電機5的狀態a

unsigned char state5_b=0; //定義電機5的狀態b

unsigned char state6_a=0; //定義電機6的狀態a

unsigned char state6_b=0; //定義電機6的狀態b

//unsigned char state7_a=0; //定義電機7的狀態a

//unsigned char state7_b=0; //定義電機7的狀態b

//unsigned char state8_a=0; //定義電機8的狀態a

//unsigned char state8_b=0; //定義電機8的狀態b

unsigned int temp=0xffff;

unsigned int temp_595;

unsigned int temp_0;

unsigned int temp_1;

unsigned int temp_2;

unsigned int temp_3;

unsigned int temp_4;

unsigned int temp_5;

unsigned int temp_6;

unsigned int temp_7;

unsigned char p17_temp;

unsigned char p17_flag;

unsigned int num_0=0xffff;

unsigned int num_1=0xffff;

unsigned int num_2=0xffff;

unsigned int num_3=0xffff;

unsigned int num_4=0xffff;

unsigned int num_5=0xffff;

unsigned int num_6=0xffff;

//unsigned int num_7=0xffff;

//unsigned int num_8=0xffff;

unsigned int count_0=0;

unsigned int count_1=0;

unsigned int count_2=0;

unsigned int count_3=0;

unsigned int count_4=0;

unsigned int count_5=0;

unsigned int count_6=0;

//unsigned int count_7=0;

//unsigned int count_8=0

void wr_595();

void out_595();

void scan();

void start_595(void);

void stop(void);

void moto0(unsigned char s0);

void moto1(unsigned char s1);

void moto2(unsigned char s2);

void moto3(unsigned char s3);

void moto4(unsigned char s4);

void moto5(unsigned char s5);

void moto6(unsigned char s6);

void moto7(unsigned char s7);

void scan0(unsigned int n0);

void scan1(unsigned int n1);

void scan2(unsigned int n2);

void scan3(unsigned int n3);

void scan4(unsigned int n4);

void scan5(unsigned int n5);

void scan6(unsigned int n6);

void scan7(unsigned int n7);

void delay50ms(int ms);

/*將顯示資料送入74hc595內部移位暫存器

void wr_595(void)

/*將移位暫存器內的資料鎖存到輸出暫存器並顯示

void out_595(void)

/* 595開啟子程式

void start_595(void)

/* 停止子程式

void stop(void)

/* 延時子程式

void delay50ms(int ms)

int k ;

機械人整理

機械人定義 由各種外部感測器引導的,帶有乙個或多個末端執行器,通過可程式設計運動,在其工作空間內對真實物體進行操作的,軟體可控制的機械裝置。機械人由三大部分組成。機械部分 用於實現各種動作 感測部分 用於感知內部和外部的資訊 控制部分 控制機械人完成各種動作 機械結構系統由機身 手臂 末端執行器三大...

機械人實驗

關節的長度為110mm,單元體長度約為220mm,蛇體的總長度大約為1760mm。由於舵機自身的約束條件限制,每個舵機的轉角範圍被限制在 90 90度。為了減少機器蛇運動中的摩擦阻力,在機器蛇兩側設計了可裝拆從動輪,可以實現蛇體的平穩游動。採用輕型耐磨塑料製造蛇形機械人的主要結構,在很大程度上減輕了...

服務機械人與工業機械人,你選擇誰

在科幻影片中,機械人是個不可或缺的元素。惶惑中掙扎的桑尼 孤獨中堅守的瓦力 不按常理出牌的機械人女友 溫暖守候的大白 這些經典的角色相信科幻影迷都耳熟能詳。雖然這些高階機械人都是我們的想象,但看似荒誕的幻想也許就是明天智慧型社會的現實。我們也一直這麼努力著。機械人即將崛起,或將開啟新一輪產業革命。最...