找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 5230|回复: 10
打印 上一主题 下一主题
收起左侧

STC15F104W单片机四路按键循环开关程序

  [复制链接]
跳转到指定楼层
楼主
ID:849826 发表于 2020-12-16 14:00 来自手机 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
用一个按键控制四个继电器循环导通,程序由51单片机的程序改到STC15F104W上,第一次按键,第一个继电器吸合,第二次按键,第二个继电器吸合,第一个继电器释放,以此类推。最初的想法就是实现电风扇,三档开关,程序里面可以修改端口。
#include<reg52.h>

sbit key = P3^4; //定义按键

void delayms(void);                         //延时
void led_refresh(unsigned char i);   //led显示
unsigned char keyscan(void);                 //按键
void init(void);                                         //初始化

void main(void)
{
   unsigned char m;

   init();
   while(1)
        {
          m = keyscan();
          led_refresh(m);
        }

}
               
void delayms(void)                   //延时函数
{
  unsigned int i;

  i = 10000;
  while(i--);
}

void led_refresh(unsigned char j)        //led显示
{
      switch(j)
           {
                  case 0 :  P3=0xFF; break;            // 全部熄灭
                  case 1 :  P3=0xFE; break;                // led1 点亮
                  case 2 :  P3=0XFD; break;                // led2 点亮
                  case 3 :  P3=0XFB; break;                // led3
                                  case 4 :  P3=0XF7; break;        
           }
}

unsigned char keyscan(void)                          //按键扫描
{
        static unsigned char count = 0;
        unsigned char z = 0;
    static bit keyflag = 1;
    static bit backup = 1;

       keyflag = key;
              if(keyflag != backup )
           {
                 delayms();
                     if(keyflag == key)
                       {
                             if(backup == 0)
                            {
                                     count++;
                                   if(count >= 5)
                                             {
                                       count = 0;
                            }         }
                          }
                }
               
                 完整程序请下载文件
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏9 分享淘帖 顶1 踩
回复

使用道具 举报

来自 2#
ID:849826 发表于 2020-12-16 17:45 | 只看该作者
STC15F104W四路按键循环开关.zip (750 Bytes, 下载次数: 134)

评分

参与人数 1黑币 +30 收起 理由
admin + 30 回帖助人的奖励!

查看全部评分

回复

使用道具 举报

板凳
ID:328014 发表于 2020-12-16 14:06 | 只看该作者
楼主您好 ,程序不完整啊
回复

使用道具 举报

地板
ID:849826 发表于 2020-12-16 14:19 来自手机 | 只看该作者
想上传文件,手机怎么上传不了
回复

使用道具 举报

5#
ID:328014 发表于 2020-12-16 14:21 | 只看该作者
6313 发表于 2020-12-16 14:19
想上传文件,手机怎么上传不了

手机点击底部的电脑版可以传文件,好像手机版只能发图片
回复

使用道具 举报

6#
ID:849826 发表于 2020-12-16 17:55 | 只看该作者
程序由51单片机修改而来的,只要修改一下输出端口,51和STC15F104都可以用
回复

使用道具 举报

7#
ID:849826 发表于 2020-12-16 17:56 | 只看该作者
51hei团团 发表于 2020-12-16 14:06
楼主您好 ,程序不完整啊

附件已上传
回复

使用道具 举报

8#
ID:35873 发表于 2021-1-4 05:05 | 只看该作者
非常感谢  有空也照着做一个
回复

使用道具 举报

9#
ID:909771 发表于 2021-4-21 16:55 | 只看该作者
非常好  反向很好  刚好需要一个这种好的程序  谢谢贴主
回复

使用道具 举报

10#
ID:849826 发表于 2021-7-12 21:37 来自手机 | 只看该作者
这只是模拟电风扇的循环开关,谁可以在这基础上再加一个定时程序,就是电风扇的定时程序,一个按键控制,按一次加30分钟,或者是一个小时,一个按键循环使用
回复

使用道具 举报

11#
ID:1047308 发表于 2023-9-28 11:19 | 只看该作者
感谢楼主分享,正在用业余时间学习51单片机
回复

使用道具 举报

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

本版积分规则

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

Powered by 单片机教程网

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