标题: 单片机六路输入输出继电器工控板VB上位机与下位机源程序等资料 [打印本页]

作者: 电子爱好者999    时间: 2018-3-2 11:47
标题: 单片机六路输入输出继电器工控板VB上位机与下位机源程序等资料
六路输入输出可编程继电器工控板
一、应用场合
、简要说明
特点:
四、工作环境
编号
名称
描述
编号
名称
描述
1
VCC
12V电源正极
11
CO2
第二组继电器公共端
2
GND
电源负极
12
CK2
第二组继电器常开端
3
IN0
第一组开关量输入(P1.0)
13
CO3
第三组继电器公共端
4
IN1
第二组开关量输入(P1.1)
14
CK3
第三组继电器常开端
5
IN2
第三组开关量输入(P1.2)
15
CO4
第四组继电器公共端
6
IN3
第四组开关量输入(P1.3)
16
CK4
第四组继电器常开端
7
IN4
第五组开关量输入(P1.4)
17
CO5
第五组继电器公共端
8
IN5
第六组开关量输入(P1.5)
18
CK5
第五组继电器常开端
9
CO1
第一组继电器公共端
19
CO6
第六组继电器公共端
10
CK1
第一组继电器常开端
20
CK6
第六组继电器常开端
【标注说明】
【上位机界面】(提供源代码)
  

【测试程序】互锁控制,顺序控制与自锁控制源码都有
  1. /********************************************************************
  2.                             汇诚科技
  3. 实现功能:1对1输入输出互锁控制程序
  4. 使用芯片:AT89S52 或者 STC89C52
  5. 晶振:11.0592MHZ
  6. 编译环境:Keil
  7. 【声明】此程序仅用于学习与参考,引用请注明版权和作者信息!     
  8. *********************************************************************/
  9. /********************************************************************
  10. 程序说明:

  11. 当IN0口与GND口接通后,对应的继电器K8吸合(即:COM7与CK接通CB断开);
  12. 当IN1口与GND口接通后,对应的继电器K7吸合(即:COM6与CK接通CB断开);
  13. 当IN2口与GND口接通后,对应的继电器K6吸合(即:COM5与CK接通CB断开);
  14. 当IN3口与GND口接通后,对应的继电器K5吸合(即:COM4与CK接通CB断开);
  15. 当IN4口与GND口接通后,对应的继电器K4吸合(即:COM3与CK接通CB断开);
  16. 当IN5口与GND口接通后,对应的继电器K3吸合(即:COM2与CK接通CB断开);
  17. 当IN6口与GND口接通后,对应的继电器K2吸合(即:COM1与CK接通CB断开);
  18. 当IN7口与GND口接通后,对应的继电器K1吸合(即:COM0与CK接通CB断开);

  19. *********************************************************************/
  20. #include<reg52.h>                 //库文件
  21. #define uchar unsigned char//宏定义无符号字符型
  22. #define uint unsigned int  //宏定义无符号整型
  23. /********************************************************************
  24.                             初始定义
  25. *********************************************************************/

  26. unsigned char dat; //用于存储单片机接收发送缓冲寄存器SBUF里面的内容

  27. /*定义八位输入为单片机P1口*/
  28. sbit IN0=P1^0;
  29. sbit IN1=P1^1;
  30. sbit IN2=P1^2;
  31. sbit IN3=P1^3;
  32. sbit IN4=P1^4;
  33. sbit IN5=P1^5;
  34. ///sbit IN6=P1^6;
  35. //sbit IN7=P1^7;

  36. /*定义八位输出为单片机P2口*/
  37. sbit K1=P2^0;
  38. sbit K2=P2^1;
  39. sbit K3=P2^2;
  40. sbit K4=P2^3;
  41. sbit K5=P2^4;
  42. sbit K6=P2^5;
  43. //sbit K7=P2^6;
  44. //sbit K8=P2^7;


  45. /********************************************************************
  46.                             延时函数
  47. *********************************************************************/
  48. void delay(uchar t)
  49. {
  50.   uchar i,j;
  51.    for(i=0;i<t;i++)
  52.    {
  53.             for(j=13;j>0;j--);
  54.          { ;
  55.          }
  56.    }
  57. }


  58. /********************************************************************
  59.                             主函数
  60. *********************************************************************/
  61. void main()
  62. {
  63. while(1)
  64. {
  65. if(IN0==0){delay(100);while(!IN0);P2=0XFE;} //当IN0与GND接通后,P2口输出01111111,继电器K8吸合其它继电器断开;
  66. if(IN1==0){delay(100);while(!IN1);P2=0XFD;} //当IN1与GND接通后,P2口输出10111111,继电器K7吸合其它继电器断开;
  67. if(IN2==0){delay(100);while(!IN2);P2=0XFB;} //当IN2与GND接通后,P2口输出11011111,继电器K6吸合其它继电器断开;
  68. if(IN3==0){delay(100);while(!IN3);P2=0XF7;} //当IN3与GND接通后,P2口输出11101111,继电器K5吸合其它继电器断开;
  69. if(IN4==0){delay(100);while(!IN4);P2=0xef;} //当IN4与GND接通后,P2口输出11110111,继电器K4吸合其它继电器断开;
  70. if(IN5==0){delay(100);while(!IN5);P2=0xdf;} //当IN5与GND接通后,P2口输出11111011,继电器K3吸合其它继电器断开;
  71. //if(IN6==0){delay(100);while(!IN6);P2=0XFD;} //当IN6与GND接通后,P2口输出11111101,继电器K2吸合其它继电器断开;
  72. //if(IN7==0){delay(100);while(!IN7);P2=0XFE;} //当IN7与GND接通后,P2口输出11111110,继电器K1吸合其它继电器断开;
  73. }
  74. }
  75.         
  76. /********************************************************************
  77.                               结束
  78. *********************************************************************/
复制代码


【图片展示】




全部资料51hei下载地址:
六路输入输出.rar (3.44 MB, 下载次数: 65)



作者: learned    时间: 2018-10-25 19:41
这个可以商用嘛?
作者: learned    时间: 2018-10-25 19:42
这个可以正常使用不?




欢迎光临 (http://www.51hei.com/bbs/) Powered by Discuz! X3.1