51单片机入门参考程序及图例.docx

上传人:b****5 文档编号:6736264 上传时间:2023-01-09 格式:DOCX 页数:15 大小:66.19KB
下载 相关 举报
51单片机入门参考程序及图例.docx_第1页
第1页 / 共15页
51单片机入门参考程序及图例.docx_第2页
第2页 / 共15页
51单片机入门参考程序及图例.docx_第3页
第3页 / 共15页
51单片机入门参考程序及图例.docx_第4页
第4页 / 共15页
51单片机入门参考程序及图例.docx_第5页
第5页 / 共15页
点击查看更多>>
下载资源
资源描述

51单片机入门参考程序及图例.docx

《51单片机入门参考程序及图例.docx》由会员分享,可在线阅读,更多相关《51单片机入门参考程序及图例.docx(15页珍藏版)》请在冰豆网上搜索。

51单片机入门参考程序及图例.docx

51单片机入门参考程序及图例

#include

sbitstart=P3^3;//定义开始键

sbityuandian=P1^0;//定义原点

sbithou=P1^1;//定义后退极限点

sbitqian=P1^2;//定义前进极限点

sbitzhujia=P1^3;//定义主释放点

sbitfujia=P1^4;//定义副释放点

sbitzhu=P1^5;//定义主上升点

sbitfu=P1^6;//定义副上升点

sbityinba=P1^7;//主副引拔动作点

voidDelayMs(unsignedintt);//函数声明

voidDelayUs2x(unsignedchart);

/*------------------------------------------------

主函数

------------------------------------------------*/

voidmain(void)

{

yuandian=0;

start=1;//按键输入端口电平置高

zhu=0;//主臂在上升极限

fu=0;//副臂在上升极限

zhujia=0;//主夹打开

fujia=0;//副夹打开

while

(1)//主循环

{

if(!

start)//如果检测到低电平,说明按键按下

{

DelayMs(10);//延时去抖,一般10-20ms

if(!

start)//再次确认按键是否按下,没有按下则退出

{

while(!

start);//如果确认按下按键等待按键释放,没有释放则一直等待

{

yuandian=0;

if(!

yuandian)

{DelayMs(50000);//延时

DelayMs(50000);//延时

DelayMs(50000);//延时

DelayMs(50000);//延时

DelayMs(50000);//延时

DelayMs(50000);//延时

DelayMs(50000);//延时

DelayMs(50000);//延时

DelayMs(50000);//延时

DelayMs(50000);//延时

DelayMs(50000);//延时

DelayMs(50000);//延时

DelayMs(50000);//延时

DelayMs(50000);//延时

DelayMs(50000);//延时

DelayMs(50000);//延时

DelayMs(50000);//延时

DelayMs(50000);//延时

DelayMs(50000);//延时

DelayMs(50000);//延时

zhu=1;//主下降

fu=1;//副下降

DelayMs(50000);//延时

DelayMs(50000);//延时

DelayMs(50000);//延时

DelayMs(50000);//延时

DelayMs(50000);//延时

DelayMs(50000);//延时

DelayMs(50000);//延时

DelayMs(50000);//延时

DelayMs(50000);//延时

DelayMs(50000);//延时

DelayMs(50000);//延时

DelayMs(50000);//延时

DelayMs(50000);//延时

DelayMs(50000);//延时

DelayMs(50000);//延时

DelayMs(50000);//延时

DelayMs(50000);//延时

DelayMs(50000);//延时

DelayMs(50000);//延时

DelayMs(50000);//延时

yinba=0;//主副引拔动作

DelayMs(50000);//延时

DelayMs(50000);//延时

DelayMs(50000);//延时

DelayMs(50000);//延时

DelayMs(50000);//延时

DelayMs(50000);//延时

DelayMs(50000);//延时

DelayMs(50000);//延时

DelayMs(50000);//延时

DelayMs(50000);//延时

DelayMs(50000);//延时

DelayMs(50000);//延时

DelayMs(50000);//延时

DelayMs(50000);//延时

DelayMs(50000);//延时

DelayMs(50000);//延时

DelayMs(50000);//延时

DelayMs(50000);//延时

DelayMs(50000);//延时

DelayMs(50000);//延时

zhujia=1;//主夹动作

fujia=1;//副夹动作

DelayMs(50000);//延时

DelayMs(50000);//延时

DelayMs(50000);//延时

DelayMs(50000);//延时

DelayMs(50000);//延时

DelayMs(50000);//延时

DelayMs(50000);//延时

DelayMs(50000);//延时

DelayMs(50000);//延时

DelayMs(50000);//延时

DelayMs(50000);//延时

DelayMs(50000);//延时

DelayMs(50000);//延时

DelayMs(50000);//延时

DelayMs(50000);//延时

DelayMs(50000);//延时

DelayMs(50000);//延时

DelayMs(50000);//延时

DelayMs(50000);//延时

DelayMs(50000);//延时

yinba=1;//主副引拔复位

DelayMs(50000);//延时

DelayMs(50000);//延时

DelayMs(50000);//延时

DelayMs(50000);//延时

DelayMs(50000);//延时

DelayMs(50000);//延时

DelayMs(50000);//延时

DelayMs(50000);//延时

DelayMs(50000);//延时

DelayMs(50000);//延时

DelayMs(50000);//延时

DelayMs(50000);//延时

DelayMs(50000);//延时

DelayMs(50000);//延时

DelayMs(50000);//延时

DelayMs(50000);//延时

DelayMs(50000);//延时

DelayMs(50000);//延时

DelayMs(50000);//延时

DelayMs(50000);//延时

zhu=0;//主复位

fu=0;//副复位

zhujia=0;//主夹复位

fujia=0;//副夹复位

DelayMs(50000);//延时

DelayMs(50000);//延时

DelayMs(50000);//延时

DelayMs(50000);//延时

DelayMs(50000);//延时

DelayMs(50000);//延时

DelayMs(50000);//延时

DelayMs(50000);//延时

DelayMs(50000);//延时

DelayMs(50000);//延时

DelayMs(50000);//延时

DelayMs(50000);//延时

DelayMs(50000);//延时

DelayMs(50000);//延时

DelayMs(50000);//延时

DelayMs(50000);//延时

DelayMs(50000);//延时

DelayMs(50000);//延时

DelayMs(50000);//延时

DelayMs(50000);//延时

yuandian=1;//离开原点

DelayMs(50000);//延时

DelayMs(50000);//延时

DelayMs(50000);//延时

DelayMs(50000);//延时

DelayMs(50000);//延时

DelayMs(50000);//延时

DelayMs(50000);//延时

DelayMs(50000);//延时

DelayMs(50000);//延时

DelayMs(50000);//延时

DelayMs(50000);//延时

DelayMs(50000);//延时

DelayMs(50000);//延时

DelayMs(50000);//延时

DelayMs(50000);//延时

DelayMs(50000);//延时

DelayMs(50000);//延时

DelayMs(50000);//延时

DelayMs(50000);//延时

DelayMs(50000);//延时

qian=0;//前进极限

DelayMs(50000);//延时

DelayMs(50000);//延时

DelayMs(50000);//延时

DelayMs(50000);//延时

DelayMs(50000);//延时

DelayMs(50000);//延时

DelayMs(50000);//延时

DelayMs(50000);//延时

DelayMs(50000);//延时

DelayMs(50000);//延时

DelayMs(50000);//延时

DelayMs(50000);//延时

DelayMs(50000);//延时

DelayMs(50000);//延时

DelayMs(50000);//延时

DelayMs(50000);//延时

DelayMs(50000);//延时

DelayMs(50000);//延时

DelayMs(50000);//延时

DelayMs(50000);//延时

if(!

qian)

{

qian=1;

fujia=1;//副夹动作

zhu=1;//主下降

DelayMs(50000);//延时

DelayMs(50000);//延时

DelayMs(50000);//延时

DelayMs(50000);//延时

DelayMs(50000);//延时

DelayMs(50000);//延时

DelayMs(50000);//延时

DelayMs(50000);//延时

DelayMs(50000);//延时

DelayMs(50000);//延时

DelayMs(50000);//延时

DelayMs(50000);//延时

DelayMs(50000);//延时

DelayMs(50000);//延时

DelayMs(50000);//延时

DelayMs(50000);//延时

DelayMs(50000);//延时

DelayMs(50000);//延时

DelayMs(50000);//延时

DelayMs(50000);//延时

zhujia=1;//主夹动作

DelayMs(50000);//延时

DelayMs(50000);//延时

DelayMs(50000);//延时

DelayMs(50000);//延时

DelayMs(50000);//延时

DelayMs(50000);//延时

DelayMs(50000);//延时

DelayMs(50000);//延时

DelayMs(50000);//延时

DelayMs(50000);//延时

DelayMs(50000);//延时

DelayMs(50000);//延时

DelayMs(50000);//延时

DelayMs(50000);//延时

DelayMs(50000);//延时

DelayMs(50000);//延时

DelayMs(50000);//延时

DelayMs(50000);//延时

DelayMs(50000);//延时

DelayMs(50000);//延时

zhu=0;//主上升

DelayMs(50000);//延时

DelayMs(50000);//延时

DelayMs(50000);//延时

DelayMs(50000);//延时

DelayMs(50000);//延时

DelayMs(50000);//延时

DelayMs(50000);//延时

DelayMs(50000);//延时

DelayMs(50000);//延时

DelayMs(50000);//延时

DelayMs(50000);//延时

DelayMs(50000);//延时

DelayMs(50000);//延时

DelayMs(50000);//延时

DelayMs(50000);//延时

DelayMs(50000);//延时

DelayMs(50000);//延时

DelayMs(50000);//延时

DelayMs(50000);//延时

DelayMs(50000);//延时

zhujia=0;//主夹复位

fujia=0;//副夹复位

DelayMs(50000);//延时

DelayMs(50000);//延时

DelayMs(50000);//延时

DelayMs(50000);//延时

DelayMs(50000);//延时

DelayMs(50000);//延时

DelayMs(50000);//延时

DelayMs(50000);//延时

DelayMs(50000);//延时

DelayMs(50000);//延时

DelayMs(50000);//延时

DelayMs(50000);//延时

DelayMs(50000);//延时

DelayMs(50000);//延时

DelayMs(50000);//延时

DelayMs(50000);//延时

DelayMs(50000);//延时

DelayMs(50000);//延时

DelayMs(50000);//延时

DelayMs(50000);//延时

hou=0;//后退极限

DelayMs(50000);//延时

DelayMs(50000);//延时

DelayMs(50000);//延时

DelayMs(50000);//延时

DelayMs(50000);//延时

DelayMs(50000);//延时

DelayMs(50000);//延时

DelayMs(50000);//延时

DelayMs(50000);//延时

DelayMs(50000);//延时

DelayMs(50000);//延时

DelayMs(50000);//延时

DelayMs(50000);//延时

DelayMs(50000);//延时

DelayMs(50000);//延时

DelayMs(50000);//延时

DelayMs(50000);//延时

DelayMs(50000);//延时

DelayMs(50000);//延时

DelayMs(50000);//延时

hou=1;//

yuandian=0;//归原点

}

}//释放则执行需要的程序

}

}

}

//主循环中添加其他需要一直工作的程序

}

}

/*------------------------------------------------

mS延时函数,含有输入参数unsignedchart,无返回值

unsignedchar是定义无符号字符变量,其值的范围是

0~255这里使用晶振12M,精确延时请使用汇编

------------------------------------------------*/

voidDelayUs2x(unsignedchart)

{

while(--t);

}

voidDelayMs(unsignedchart)

{

while(t--)

{

//大致延时1mS

DelayUs2x(245);

DelayUs2x(245);

}

}

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 医药卫生 > 基础医学

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1