单片机点焊机控制完整程序+PCB电路图 您所在的位置:网站首页 点焊机控制线路图 单片机点焊机控制完整程序+PCB电路图

单片机点焊机控制完整程序+PCB电路图

2024-07-15 09:49| 来源: 网络整理| 查看: 265

2019-8-25 15:20 上传

  

单片机源程序如下:

/*******************************************************************************

*                                                                                                                                            *

*                                        点焊机控制器                                                                           *

--------------------------------------------------------------------------------

* 结构说明:    51单片机计时控制                                                                                                   *

*              在检测到点焊手柄发出的工作信号时,                                                           *

*              立即接通点焊机的电源,点焊机开始工作,设定的时间结束后切断电源,*

*              在设定的间隔时间内,不接收点焊手柄发出的工作信号。              *                                                                                             *

*******************************************************************************/

/*

* 单片机P0^0~P0^4口分配给LCD5110使用:RET、CE、D/C、DIN、CLK(在LCD_5110.h中定义

*       P0^5     设备等待(可以工作)信号灯

*            P0^6     设备工作间隙(不接收点焊信号)信号灯

*

*            P1^0~P1^6   开关设置点焊时间(20毫秒为1单位,0~127单位)

*            P1^7        工作间隙:0=5秒,1=10秒

*******************************************************************************/

#include

//#include

#include"LCD_5110.h"      //包含LCD显示驱动文件

#define u8 unsigned char  //单字节

#define u16 unsigned int  //双字节

#define        u64 unsigned long //四字节

#define        SZP1 P1           //P1口为初始设置的数据,低七位为定时数值(0-127)*20ms,                                                                                                  

                          //第八位为间隙时间,0=5秒,1=10秒

sbit LED_work = P0^5;     //设备工作信号(低电平点焊机接通)

sbit LED_read = P0^6;     //设备就绪信号(低电平可以工作)

sbit work     = P0^7;          //点焊按钮信号(低电平按下)

                                                                                                                        

//--定义全局变量--//

u8  sdsj = 0;             //设定的点焊单位

u64 shsj = 0;             //设定的点焊时间(双字节,以毫秒为单位)

u8 wait = 5;                          //设置的间隔时间(5秒或10秒,根据P1.7确定)

                                                           

u8 time_work = 0;         //焊接时间计时(20毫秒/单位)

u8 time_wait = 0;                  //等待时间计时(单位秒)

bit time_1s = 0;              //秒信号

bit time_20ms = 0;                  //20毫秒信号

bit flag = 0;             //定时工作标志(0=待机或间隔,1=正在工作

/*******************************************************************************

* 函 数 名         : ReadSet

* 函数功能                   : 读设置并显示

* 输    入         : 无                                                                                                                                                

* 输    出         : 无

*******************************************************************************/

void ReadSet(void)

{

        sdsj = SZP1;               //从P1口读入一个字节的数据

        if (sdsj>127) wait = 10;   //最高位1,间隔时间=10秒

        else wait = 5;

        LCD_write_val(27,4,2,wait);//显示设定的间隔时间

          

        sdsj = (sdsj & 0x7f) + 3;  //取低7位定时值再加3(60毫秒)

        shsj = sdsj * 20;                   //20毫秒基本单位

        LCD_write_val(27,2,4,shsj);//显示设定的点焊时间

}

/*******************************************************************************

* 函 数 名         : timehand

* 函数功能                   : 20毫秒处理函数,即每隔20毫秒处理一次

* 输    入         : 无

* 输    出         : 无

*******************************************************************************/

void TimeHand(void)

{

    if (flag == 0)        //待机状态

        {

            if (work == 0)    //收到点焊按钮信号

                {

                        flag = 1;     //设置工作标志

                        time_work = sdsj;//取设定时间

                        LED_work = 0; //开通工作电源

                        LED_read = 1; //关闭等待信号灯

                }

                else                          //无点焊按钮信号

                {

                        ReadSet();          //检查更新设置

                }                                                                        

        }

        else                          //工作状态

        {

                time_work--;

                if (time_work == 0)//定时时间到



【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有