完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
扫一扫,分享给好友
先说一下情况,我用单片机控制四个继电器,四个继电器控制四个电磁阀,四个电磁阀控制四个气缸。单片机和电磁阀(5V,四个在一块PCB板上)是分开的2块PCB板。各用5V电源单独供电。单片机板和继电器板用引线把连个地线连在一起。
程序是控制四个气缸按照一系列动作运行,这一系列动作完成后会停下来。我用一个脚踏开关连接在单片机的复位按钮上。踩一下脚踏开关,相当于单片机复位,然会程序在运行一边后停下来。需要动作运行时,只要踩一下脚踏开关,单片机复位就行了。所以程序中没有使用while循环。但是程序在运行中出现误动作,就是程序运行一边后,在没有给单片机复位的情况下,又自动开始运行了。自动运行几遍后又恢复正常,正常运行一段时间后又会出现自动运行现象,然后又恢复正常。程序如下: 请各位高手指点,错误在什么地方。搞了一周没搞好。 #include #define uint unsigned int #define uchar unsigned char ***it P20=P2^0; ***it P21=P2^1; ***it P22=P2^2; ***it P23=P2^3; //1s延时程序(12MHZ) void delay1s(void) { uchar h,i,j,k; for(h=5;h>0;h--) for(i=4;i>0;i--) for(j=116;j>0;j--) for(k=214;k>0;k--); } void main() { uchar y; P20=0; //针型气缸压下 P21=0; //针型气缸压下 delay1s(); P22=0; //微型气缸推出, delay1s(); P23=0; //长型气缸推出 delay1s(); P22=1; //微型气缸收回, delay1s(); //延时函数,延时30秒 for(y=30;y>0;y--) { delay1s(); } P22=0; //微型气缸推出, delay1s(); P23=1; //长型气缸收回 delay1s(); P22=1; //微型气缸收回, delay1s(); P20=1; //针型气缸收回 P21=1; //针型气缸收回 } |
|
相关推荐
10个回答
|
|
程序很简单,但是你的逻辑关系我看的有点晕,很有可能是你的硬件问题
|
|
|
|
程序是很简单,就是控制四个气缸的推出和收回动作。
|
|
|
|
逻辑很重要。
|
|
|
|
程序看不懂 你自己乱了吧
|
|
|
|
继电器接成“启保停”的吧?
//延时函数,延时30秒 for(y=30;y>0;y--) { delay1s(); } P22=0; //微型气缸推出, P22 这个气缸没回吧? |
|
|
|
楼主是想每按一下开关一次程序运行一遍,然后停止是吧!要是这样的话这程序是实现不了的,因为main()函数就相当于while(1),里面的程序是一直不断的循环执行的,执行到最后一句后又从第一句开始执行,并不是执行到最后一句就停止。你可以在最后一句加一个while(1),(不过不太建议这样做);或者在最后加一句" PCON=0x02; ”把单片机设置成掉电模式,把单片机关掉,到复位时又重新唤醒它,这是89s51的方法,其它的单片机我不太清楚,你百度一下。方法还有很多,这两种只是对你这个程序作最少修改的方法。
|
|
|
|
加个主循环,只有复位才运行也要个循环,不然程序就跑飞了
|
|
|
|
气缸收回了,气缸一系列动作没有问题。就是会自动进行下一次动作,我的原意是踩一下脚踏开关后才进行下一次动作。
|
|
|
|
谢谢各位帮助,下周一我上班后,试试各位的建议,希望能解决掉。这么一个简单的程序,我搞了一周。
|
|
|
|
|
|
|
|
你正在撰写答案
如果你是对答案或其他答案精选点评或询问,请使用“评论”功能。
嵌入式学习-飞凌嵌入式ElfBoard ELF 1板卡-使用AHT20进行环境监测之AHT20传感器介绍
828 浏览 0 评论
824 浏览 0 评论
861 浏览 1 评论
基于瑞萨FPB-RA4E2智能床头灯项目——1编译环境搭建与点亮驱动ws2812全彩LED
836 浏览 0 评论
嵌入式学习-飞凌嵌入式ElfBoard ELF 1板卡-LCD显示图片编程示例之介绍mmap
1292 浏览 0 评论
【youyeetoo X1 windows 开发板体验】少儿AI智能STEAM积木平台
11821 浏览 31 评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-11-29 10:22 , Processed in 0.930233 second(s), Total 60, Slave 52 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号