完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
|
|
相关推荐
1个回答
|
|
#include
#define uint unsigned int #define uchar unsigned char #define key_dk P2 #define smg_dk P0 uchar num; /*****信号检测口***********/ ***it dk4=P1^0;//工位1 ***it dk5=P1^1;//工位2 ***it dk6=P1^2;//工位3 ***it dk7=P1^3;//上升到位 ***it dk8=P1^4;//下降到位 ***it dk9=P1^5;//抓紧到位 ***it dk10=P1^6;//抓手是否有物料 ***it dk11=P1^7;//工位1是否有物料 /*****控制端口**************/ ***it dk13=P3^0;//左移 ***it dk14=P3^1;//右移 ***it dk15=P3^2;//抓紧 ***it dk16=P3^3;//放松 ***it dk17=P3^4;//上下 #define jxs_sd dk13=1;dk14=1; //电机停止 #define jxs_zy dk13=0;dk14=1;//左移 #define jxs_yy dk13=1;dk14=0;//右移 #define jxs_zj dk15=0;dk16=1;//抓紧 #define jxs_fs dk15=1;dk16=0;//放松 #define jxs_bc dk15=1;dk16=1;//抓手保持 #define jxs_ss dk17=1;//上升 #define jxs_xj dk17=0;//下降 /*******数码管端口定义*******************/ ***it cs1=P3^5; ***it cs2=P3^6; ***it wr=P3^7; uchar code table[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90}; uchar code table1[]={0xfd,0xfb,0xf7,0xef,0xdf,0xbf,0x7f}; uchar x,y,z,aa,num,num1=4; void cx(uchar cxms) { uchar a,b; for(a=200;a>0;a--) for(b=cxms;b>0;b--); } void init()//工位检测初始化 { TMOD=0x01; TH0=(65536-2000)/256; TL0=(65536-2000)%256; EA=1; ET0=1; TR0=1; jxs_ss;//抓手上升 jxs_fs;//抓手放松 jxs_zy; cx(255); cx(255); cx(255); cx(255); cx(255); jxs_yy; while(dk4); jxs_sd; } void main() { init(); while(1) { if(dk4==0) { jxs_sd; cx(10); while(dk11);//检测工位1有无物料 jxs_xj;//机械手下降 cx(10); while(dk8);//下降到位检测 jxs_zj; //机械手抓紧 cx(10); while(dk9);//检测是否抓紧 jxs_ss;//上升 cx(10); while(dk7); //上升到位 jxs_zy; cx(10); while(dk6); } if(dk6==0) { jxs_sd; cx(10); jxs_fs; cx(10); jxs_yy; cx(10); while(dk4); } } } void T0_time() interrupt 1 { TH0=(65536-2000)/256; TL0=(65536-2000)%256; /**数码管显示****/ smg_dk=table[aa]; cs1=0; wr=0; wr=1; cs1=1; smg_dk=table1[num]; cs2=0; wr=0; wr=1; cs2=1; num++; if(num==8) { num=0; smg_dk=table[num1]; cs1=0; wr=0; wr=1; cs1=1; smg_dk=0xfe; cs2=0; wr=0; wr=1; cs2=1; } /***矩阵按键************************/ key_dk=0xf0; if(key_dk!=0xf0) { if(key_dk!=0xf0) { y=0xf0&key_dk; key_dk=0X0F; x=0x0f&key_dk; z=x|y; switch(z) { case 0xee: aa=1; break; case 0xde: aa=2; break; case 0xbe: aa=3; break; case 0x7e: aa=4; break; case 0xed: aa=5; break; case 0xdd: aa=6; break; case 0xbd: aa=7; break; case 0x7d: aa=8; break; case 0xeb: aa=9; break; case 0xdb: aa=0; break; } } } |
|
|
|
你正在撰写答案
如果你是对答案或其他答案精选点评或询问,请使用“评论”功能。
《DNESP32S3使用指南-IDF版_V1.6》第三十章 DHT11数字温湿度传感器
522 浏览 0 评论
656 浏览 0 评论
【敏矽微ME32G070开发板免费体验】之原厂2812测试例程解析
978 浏览 0 评论
1042 浏览 2 评论
《DNESP32S3使用指南-IDF版_V1.6》第二十六章 INFRARED_RECEPTION实验
735 浏览 0 评论
【youyeetoo X1 windows 开发板体验】少儿AI智能STEAM积木平台
12044 浏览 31 评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-12-27 11:57 , Processed in 1.047383 second(s), Total 70, Slave 53 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号