找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 4961|回复: 1
收起左侧

用PT2272-m4做的遥控电路+单片机程序(可以自锁)

[复制链接]
ID:428459 发表于 2018-12-13 16:35 | 显示全部楼层 |阅读模式
没事就在某宝买了个pt2272模块玩,问店家就说是点动的,他说自锁的卖完了。。。
想了想只能用单片机了,但是这模块输出的是高电平单片机检测高电平不怎么样说以就拿74hc04d来转换低电平,加上以前买的stc15f204s刚刚好。
按一下按键继电器一输出,并蜂鸣器响一声,对应指示灯亮,测试后两赌墙都可以非常好用
制作出来的实物图如下:

电压电流(耗电低)

电压电流(耗电低)

成品图

成品图

俯视图

俯视图

下板背面图

下板背面图

下板正面图

下板正面图

上板背面

上板背面

遥控器

遥控器


单片机源程序如下:
  1. /**************************************************************************************
  2. *                独立按键实验              *
  3. 实现现象:下载程序后按下K1按键可以对D11小灯状态取反。
  4. 注意事项:无                     
  5. ***************************************************************************************/
  6. #include "reg52.h"    //此文件中定义了单片机的一些特殊功能寄存器</div><div>typedef unsigned int u16;   //对数据类型进行声明定义
  7. typedef unsigned char u8;
  8. #define uint unsigned  int
  9. #define  uchar unsigned char
  10. sbit k1=P1^2;  
  11. sbit k2=P1^3;
  12. sbit k3=P1^4;
  13. sbit k4=P1^5;
  14. sbit led1=P3^7;  
  15. sbit led2=P3^3;
  16. sbit led3=P3^6;
  17. sbit led4=P3^2;

  18. void delay( uint z)
  19. {
  20.         uint x,y;


  21.         for(x=z;x>0;x--)
  22.         {
  23.                 for(y=110;y>0;y--);
  24.         }


  25. }
  26. /*******************************************************************************
  27. * 函 数 名         : keypros
  28. * 函数功能     : 按键处理函数,判断按键K1是否按下
  29. *******************************************************************************/
  30. void keypros()
  31. {
  32. if(k1==0)    //检测按键K1是否按下
  33. {
  34.   delay(100);   //消除抖动 一般大约10ms
  35.   if(k1==0)  //再次判断按键是否按下
  36.   {
  37.    led1=~led1;   //led状态取反
  38.   }
  39.   while(!k1);  //检测按键是否松开
  40.         
  41. }
  42. }
  43. void keypros1()
  44. {if(k2==0)    //检测按键K1是否按下
  45. {
  46.   delay(100);   //消除抖动 一般大约10ms
  47.   if(k2==0)  //再次判断按键是否按下
  48.   {
  49.    led2=~led2;   //led状态取反
  50.   }
  51.   while(!k2);  //检测按键是否松开
  52. }  
  53. }
  54. void keypros2()
  55. {if(k3==0)    //检测按键K1是否按下
  56. {
  57.   delay(100);   //消除抖动 一般大约10ms
  58.   if(k3==0)  //再次判断按键是否按下
  59.   {
  60.    led3=~led3;   //led状态取反
  61.   }
  62.   while(!k3);  //检测按键是否松开
  63. }  
  64. }
  65. void keypros3()
  66. {if(k4==0)    //检测按键K1是否按下
  67. {
  68.   delay(100);   //消除抖动 一般大约10ms
  69.   if(k4==0)  //再次判断按键是否按下
  70.   {
  71.    led4=~led4;   //led状态取反
  72.   }
  73.   while(!k4);  //检测按键是否松开
  74. }  
  75. }
  76. /*******************************************************************************
  77. * 函 数 名       : main
  78. * 函数功能   : 主函数
  79. * 输    入       : 无
  80. * 输    出      : 无
  81. *******************************************************************************/
  82. void main()
  83. {
  84. led1=1;
  85.         led2=1;
  86.         led3=1;
  87.         led4=1;
  88. while(1)
  89. {
  90.   keypros();
  91. ……………………

  92. …………限于本文篇幅 余下代码请从51黑下载附件…………
复制代码

所有资料51hei提供下载:
123.zip (52.26 KB, 下载次数: 82)

评分

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

查看全部评分

回复

使用道具 举报

ID:499537 发表于 2019-3-27 23:15 | 显示全部楼层
正在学习中。。。感谢
回复

使用道具 举报

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

本版积分规则

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

Powered by 单片机教程网

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