/*
实验接线:
物料搬运装置 传感器配接模块
运
(端子号 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)
{
}
}