
二自由度自动进样器动作序列实现
发布日期:2021-05-08 01:17:41
浏览次数:14
分类:精选文章
本文共 1362 字,大约阅读时间需要 4 分钟。
本程序的实现是基于虚拟接口卡和8051单片机的. 通过对8051部分引脚的操作, 以合适的逻辑序列, 实现了 主转盘步进电机走8步 -> 针臂落下 -> 针臂在底部停留片刻 -> 针臂抬起至最高位 -> 主转盘步进电机走8步 这样的循环操作.
日后我会在此基础上加入上位机发送信号控制系统工作的部分.
#include <STC89C5xRC.h>
char tcount = 0; char step = 0;//记录主电机走过的步数(走过的步数=step/2) void delay() { int i,j; for(i = 0; i < 40; i++) for(j = 0; j < 40 ; j++) { ;//为针臂步进电机提供时延 } } void delay2()//针臂在底部停留时延 { int i,j; for(i=0;i<1000;i++) for(j=0;j<1000;j++) { ; } } void motor_Control(char steps)//控制主转盘电机转动指定步数 { int i; P21 = 0;//主转盘方向 for(i = 0; i < steps; i++) { P20 = 0; delay(); P20 = 1; delay(); } } void timer0() interrupt 1 { TR0 = 0;//关闭定时器0 TH0 = 0x3c; TL0 = 0xB0;//50ms tcount++; if(tcount == 2)//100ms = 0.1s { P20 = ~P20;//P20翻转,相当于发送脉冲 tcount = 0; step ++; if(step / 2 == 8)//电机走了8步(经历了8次高低电平的转换) { step = 0;//将步数归零 //P1.3=1代表向下,P1.3=0代表向上 P03 = 1;//往下转,P13接单片机P03 while(P02 == 1)//若未到下限位置,P0.2接单片机P02 { P22 = 0; delay(); P22 = 1; delay(); } delay2();//针臂在底部停留片刻 P03 = 0;//往上转 while(P01 == 1)//若未到上限位置,P0.1接单片机P01 { P22 = 0; delay(); P22 = 1; delay(); } } }//1000ms = 1s 发送一个完整的脉冲 TR0 = 1;//开启定时器0 } int main() { TMOD = 0x01; TH0 = 0x3C; TL0 = 0xB0; IE = 0x83; P20 = 0;//给虚拟接口卡P1.0发脉冲,以驱动主转盘步进电机 P22 = 0;//给虚拟接口卡P1.2发脉冲,以驱动针臂步进电机 TR0 = 1;//启动定时器0 while(1) { ; } } /* P1.0:转盘电机Pulse信号 P1.1:转盘电机Dir P1.2:针臂电机Pulse P1.3:针臂电机Dir P0口:输出口,连接虚拟软件中的传感器信号 P0.0:霍尔传感器信号,平时为高电平,有效时为低电平 P0.1:针臂上限位信号 P0.2:针臂下限位信号*/
发表评论
最新留言
路过按个爪印,很不错,赞一个!
[***.219.124.196]2025年03月25日 02时56分33秒
关于作者

喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!
推荐文章
小程序图片正确使用方式(防止发布之后不显示)
2019-03-05
C++基础学习笔记08——模板
2019-03-05
Java学习
2019-03-05
Js函数
2019-03-05
Python机器学习算法基础概述
2019-03-05
关于OCR的一些有用的技术博客文章链接
2019-03-05
jquery中用on事件委托的方式绑定事件
2019-03-05
蓝桥杯 2016c/c++A组 方格填数
2019-03-05
L1-039 古风排版 (20分)
2019-03-05
L1-009 N个数求和 (20 分)
2019-03-05
L2-031 深入虎穴 (25 分)
2019-03-05
Unity之PlayerPrefs
2019-03-05
简单的xml读取存储方法(未优化)
2019-03-05
Flower
2019-03-05
Nginx---惊群
2019-03-05
Redis未授权漏洞
2019-03-05
供应ASTM D3475认证丨ASTM D3475防儿童包装测试费用
2019-03-05
2种解法 - 获取一条直线上最多的点数
2019-03-05
项目中常用的审计类型概述
2019-03-05