77范文网 - 专业文章范例文档资料分享平台

基于单片机的自动门控制系统设计_毕业论文(7)

来源:网络收集 时间:2019-02-15 下载这篇文档 手机版
说明:文章内容仅供预览,部分内容可能不全,需要完整文档或者需要复制内容,请下载word后使用。下载word有问题请添加微信号:或QQ: 处理(尽可能给您提供完整文档),感谢您的支持与谅解。点击这里给我发消息

本科毕业设计说明(论文)

第 31 页 共 38 页

开始 系统初始启动光电探测器 有人K是 快速开否 有人K是 否 到半处限位开关吗? 是 K慢速开否 有人K是 否 到开门限位开关吗? 是 K电机停延时2秒

有人K否 K快速关是 有人K否 是 有障碍吗? 否 否 到半处限位开关吗? 是 K慢速关是 有人K否 是 有障碍吗? 否 否 到关门限位开关吗? 是 电机停延时2秒 返回

31

本科毕业设计说明(论文)

第 32 页 共 38 页

附录Ⅲ:程序源代码

主程序:

//(1)函数声明及变量定义 #include #include

#define uchar unsigned char #define uint unsigned int

sbit s1=P1^0; //定义行程开关1 sbit s2=P1^1; //定义行程开关4 sbit s3=P1^2; //定义行程开关5 sbit s4=P1^3; //定义行程开关8 sbit s5=P1^4; //定义霍尔传感器2 sbit s6=P1^5; //定义霍尔传感器3 sbit s7=P1^6; //定义霍尔传感器6 sbit s8=P1^7; //定义霍尔传感器7 sbit D1=P2^0; //定义手动开按钮 sbit D2=P2^1; //定义手动关按钮

sbit ADS=P3^2;//光电传感器输入的检测端子 sbit CP1=P0^0;//电机脉冲

sbit DIR1=P0^1;//电机方向,0为开门。1为关门

#define uchar unsigned char #define uint unsigned int

bit int_flag=0; //中断0标志位

bit contrl(bit diret)

32

本科毕业设计说明(论文)

第 33 页 共 38 页

void delay(uint time1)

//(2)主函数main() void main(void) { P1=0Xff;//P1口初始化

P2=0Xff;//P2口初始化

P3=0X13;//P3口初始化 Uchar int_close; ip=0X01; // INT0 高优先级

ie=0X81; //INT0开中断,CUP开中断 TCON=0X04; //INT0边沿触发 while (1)

{ if (int0_flag==1) //检测到人 { int_flag=0;//标志位清零 Control(0);//门全打开

int_flag=0;//标志位清零

wait: while(ADS==0); //如果门前无人则等待 int_close=control(1) //门开始关闭 if(int_close==0) { int0_flag=0;//标志位清零 Go to wait;

}

}

} }

33

本科毕业设计说明(论文)

第 34 页 共 38 页

//(3) service_int0()系统外部中断0程序

viod service_int0() interrupt 0 using 2 //外部中断0,用第二组寄存器 { int0_flag=1; }

//(4) control()步进电机控制程序 bit control(bit diret) {

Uint k;

cp1=1; //脉冲置于高电平 DIR1=diret; //运行方向输出 While(diret==0) {

//开门

uint temp; temp=P1;;

if (temp==0Xf9) /*加速,直到遇上霍尔传感器3,6*/ {

K=10;

While(1) { cp1=0;

delay(2*k); //延时时间逐步减少,即加速

cp1=1;

delay(2*k); k--;

if(P1==0X9f) break; } }

If (temp==0X9f) //匀速,直到遇上霍尔传感器2,7

34

本科毕业设计说明(论文)

第 35 页 共 38 页

{ While(1) { CP1=0; delay(1); CP1=1;

delay(1);

if(P1==0X6f) break; } }

if (temp==0X6f) //减速,直到遇上行程开关1,8 {

K=0;

While(1) { k++; cp1=0;

delay(2*k); //延时时间逐步减少,即加速

cp1=1;

delay(2*k);

if(P1==0Xf6) break; } } } //关门

While(diret==1) {

if (temp==0Xf6)// 加速,直到遇到霍尔传感器2,7 {

35

百度搜索“77cn”或“免费范文网”即可找到本站免费阅读全部范文。收藏本站方便下次阅读,免费范文网,提供经典小说综合文库基于单片机的自动门控制系统设计_毕业论文(7)在线全文阅读。

基于单片机的自动门控制系统设计_毕业论文(7).doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印 下载失败或者文档不完整,请联系客服人员解决!
本文链接:https://www.77cn.com.cn/wenku/zonghe/473668.html(转载请注明文章来源)
Copyright © 2008-2022 免费范文网 版权所有
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ: 邮箱:tiandhx2@hotmail.com
苏ICP备16052595号-18
× 注册会员免费下载(下载后可以自由复制和排版)
注册会员下载
全站内容免费自由复制
注册会员下载
全站内容免费自由复制
注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: