找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 1801|回复: 0
收起左侧

冲压车床51单片机自动关闭电动机程序+PCB电路

[复制链接]
ID:653022 发表于 2020-3-9 15:16 | 显示全部楼层 |阅读模式
可以做到在自动车床停止工作一段时间后,把电动机关闭,用以节省电能,延时关闭时间可控,数码管显示控制时间,单片机工作状态有数码管显示
Altium Designer画的原理图和PCB图如下:(51hei附件中可下载工程文件)
51hei.png 51hei.png

单片机源程序如下:
  1. #include<reg52.h>
  2. #include<intrins.h>
  3. unsigned char yanshishu,xianshishu,yanshishu2,xianshishu2,qqq;

  4. sbit kaiqi=P1^0;//    自动关闭启动开关
  5. sbit stop=P1^1;//    连动停止检测
  6. sbit ka=P1^2;        // 继电器输出
  7. sbit on=P1^3;  //  电源状态指示
  8. sbit off=P1^4; //        工作状态指示
  9. code unsigned char dis1[]={0xc0,0xf9,0xa4,
  10. 0xb0,0x99,0x92,0x83,0xf8,0x80,0x98};//数码管显示码
  11. void csh(void)
  12. {
  13.         IT0=1;
  14.         IT1=1;
  15.         EX0=1;
  16.         EX1=1;
  17.         EA=1;
  18. }




  19. void delay(unsigned int amt)                //@12.000MHz
  20. {                unsigned int w;         

  21. unsigned char i, j, k;
  22.     for(w=amt;w>0;w--)
  23.        
  24.         {
  25.         _nop_();
  26.         i = 8;
  27.         j = 154;
  28.         k = 122;
  29.         do                         
  30.         {
  31.                 do
  32.                 {
  33.                         while (--k);
  34.                 } while (--j);
  35.         } while (--i);
  36.           if(kaiqi==0)
  37. {
  38. on=0;
  39. off=1;
  40. }
  41. if(kaiqi==1)
  42. {
  43. on=1;
  44. off=0;
  45. }
  46.    }

  47. }



  48.                

  49. void main()
  50. {  csh();
  51. yanshishu=1;  
  52.         xianshishu=1;
  53.         yanshishu2=0;  
  54.         xianshishu2=0;
  55.         P2=dis1[xianshishu2];
  56.                 P0=dis1[xianshishu];
  57.         while(1)
  58.         {        kaiqi=1;
  59.             stop=1;
  60.                 ka=1;
  61.                           if(kaiqi==0)
  62. {
  63. on=0;
  64. off=1;
  65. }
  66. if(kaiqi==1)
  67. {
  68. on=1;
  69. off=0;
  70. }
  71.              if(kaiqi==0)
  72.                  {                   if(kaiqi==0)
  73. {                                         
  74. on=0;
  75. off=1;
  76. }
  77. if(kaiqi==1)
  78. {
  79. on=1;
  80. off=0;
  81. }
  82.                           delay(3);
  83.                           if(stop==0)
  84.                           {
  85.                                qqq=yanshishu2*60+yanshishu*10;
  86.                                         delay(qqq);
  87.                                    if(stop==0)
  88.                                    {
  89.                                        ka=0;
  90.                                           
  91.                                            delay(3);
  92.                                            ka=1;
  93.                                    }
  94.                           }
  95.                  }
  96.         }
  97. }
  98. void wzd0(void) interrupt 0
  99. {
  100.     yanshishu++;  
  101.         xianshishu++;
  102.         P0=dis1[xianshishu];
  103.         if(xianshishu==7)
  104.         {
  105.            xianshishu=1;
  106.            yanshishu=1;
  107.         }

  108. }
  109. void wzd1(void) interrupt 2
  110. {
  111.    yanshishu2++;xianshishu2++;
  112.    P2=dis1[xianshishu2];
  113.            if(xianshishu2==10)
  114.         {
  115.            xianshishu2=0;
  116.            yanshishu2=0;
  117.         }       
  118. }
复制代码
51hei.png
所有资料51hei提供下载:
关冲床.zip (755.97 KB, 下载次数: 15)

评分

参与人数 1黑币 +50 收起 理由
admin + 50 共享资料的黑币奖励!

查看全部评分

回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表