logo资料库

单片机实现机械手程序.doc

第1页 / 共4页
第2页 / 共4页
第3页 / 共4页
第4页 / 共4页
资料共4页,全文预览结束
/* 实验接线: 物料搬运装置 传感器配接模块 运 (端子号 4) IN0 IN1 (5) (6) IN2 IN3 (7) IN4 (8) (9) IN5 IN6 (10) IN7 (11) (12) IN0 OUT0 OUT1 OUT2 OUT3 OUT4 OUT5 OUT6 OUT7 OUT0 8255 扩展模块 主机模块 继电器模块 物料搬 D0 D1 D2 D3 D4 D5 D6 D7 PB.0 PB.1 PB.2 PB.3 PB.4 PB.5 PB.6 PB.7 PA.7 P0.0 P0.1 P0.2 P0.3 P0.4 P0.5 P0.6 P0.7 P1.0 P1.1 P1.2 P1.3 K3 K4 K5 K5 K6 NO(端子号 13) NO NO NC NO (14) (15) (16) (17) 物料搬运装置 传感器配接模块 红端接+24V 黑端接 24V 地 COM(2 个)接+24V COM+(2 个)接+5V COM-(2 个)接 5V 地 继电器模块 8255 扩展模块 12V 和 5V 要接 COM(4 个)接 24V 地 A1 接主机 P2.6 CS 接主机 P2.7 A0 接主机 P2.5 RST 接主机 RST WR 接主机 P3.6 RD 接主机 P3.7 */ #include "reg52.h" #include "absacc.h" #define uint unsigned int #define PA XBYTE[0x1fff] #define PB XBYTE[0x3fff] #define PC XBYTE[0x5fff] #define COM XBYTE[0x7fff] #define left #define right #define stop #define close handcloseloose=0 handleft=0,handright=1 handleft=1,handright=0 handleft=1,handright=1
#define loose handcloseloose=1 #define down handupdown=0 #define up handupdown=1 #define yigw while(PB&0x01) #define ergw while(PB&0x02) #define sangw while(PB&0x04) #define ss while(PB&0x08) #define xj while(PB&0x10) #define jj while(PB&0x20) #define yw while(PB&0x40) #define yigwyw while(PB&0x80) #define ergwyw while(PA&0x80) sbit handleft=P1^0;//左移 sbit handright=P1^1;//右移 sbit handcloseloose =P1^2;//夹紧、放松 sbit handupdown= P1^3;//上升、下降 void mdelay(uint t) { uint i; while (t--) { for (i=0;i<125;i++) { } } } void jxs_initail() { COM=0x92;////////8255,A 口和 B 口输入。 left; sangw; stop; mdelay(500); // yigwyw; right;////////////右移到 1 工位,手爪下降抓球,上升,左移,放 3 工位物料口。
yigw; stop; down; xj; mdelay(500); close; jj; up; ss; mdelay(500); left; sangw; stop; mdelay(500); loose; // ergwyw; right;///////////右移到 2 工位,手爪下降抓球,上升,左移,放 3 工位物料口。 ergw; stop; down; xj; mdelay(500); close; jj; up; ss; mdelay(500); left; sangw; stop; mdelay(500); loose; } void main() {
jxs_initail(); while (1) { } }
分享到:
收藏