数码之家

 找回密码
 立即注册

QQ登录

只需一步,快速开始

微信登录

微信扫一扫,快速登录

搜索
查看: 1134|回复: 11

[C51] 已经解决问题了..............

[复制链接]
发表于 2021-9-10 22:08:10 | 显示全部楼层 |阅读模式

爱科技、爱创意、爱折腾、爱极致,我们都是技术控

您需要 登录 才可以下载或查看,没有账号?立即注册 微信登录

x
本帖最后由 261307853 于 2021-9-13 20:25 编辑

原程序的逻辑是:按一次KEY(低电平触发),LED1亮;再按一次KEY,LED2亮,LED1灭;要是无按键动作,LED延时9秒灭.
现在想加2只按键进来,3只按键都能控制LED(低电平触发),LED亮灭逻辑和原来一样:按次KEY2,LED1亮;按KEY3,LED2亮,LED1灭,要是无任何按键动作,LED延时9秒灭.
感谢了!
以下是代码:

  1.     #include "STC15F104E.h"
  2.     #define u8 unsigned char
  3.     #define u16 unsigned int
  4.     sbit sKEY = P3 ^ 4;   //单键
  5.     sbit LED1 = P3 ^ 3;
  6.     sbit LED2 = P3 ^ 1;

  7.     sbit key2 = P3 ^ 0;   //双键off
  8.     sbit key3 = P3 ^ 2;  //双键on


  9.             bit KEY = 1;

  10.                 void InitTimer0(){
  11.         TMOD = 0x01;
  12.         TH0 = 0xFC;
  13.         TL0 = 0x18;
  14.         EA = 1;
  15.         ET0 = 1;
  16.         TR0 = 1;
  17.     }

  18.     void main() {
  19.             WDT_CONTR = 0x27;
  20.         LED1 = 0; LED2 = 0;
  21.         InitTimer0();
  22.             while (1) {
  23.                     WDT_CONTR |= 0x10;
  24.             if (KEY == 0) {
  25.                 if (LED1 && LED2) {
  26.                     LED1 = 0;
  27.                 } else {
  28.                     LED1 = !LED1; LED2 = !LED2;
  29.                 }
  30.                 while (KEY == 0);
  31.             }
  32.             }
  33.     }

  34.     void Timer0Interrupt() interrupt 1{     //12Mhz 1mS定时器中断
  35.         static u8 KEYms = 0;
  36.         static u16 delay = 0;
  37.         TH0 = 0xFC;
  38.         TL0 = 0x18;
  39.         if (sKEY) {
  40.             KEYms = 0;
  41.         } else {
  42.             if (KEYms != 0xFF) {
  43.                 KEYms++;
  44.             }
  45.         }
  46.         KEY = !(KEYms >= 25);
  47.         if (KEY) {
  48.             if ((LED1 == 0 || LED2 == 0) && !--delay) {
  49.                 LED1 = 1; LED2 = 1;
  50.             }
  51.         } else {
  52.             delay = 9000;//9秒钟
  53.         }
  54.     }

复制代码
发表于 2021-9-11 08:23:34 来自手机浏览器 | 显示全部楼层
游客请登录后查看回复内容
回复 支持 反对

使用道具 举报

发表于 2021-9-11 08:36:25 来自手机浏览器 | 显示全部楼层
游客请登录后查看回复内容

打赏

参与人数 1家元 +20 收起 理由
261307853 + 20 熱心助人

查看全部打赏

回复 支持 反对

使用道具 举报

发表于 2021-9-11 09:32:14 | 显示全部楼层
游客请登录后查看回复内容

打赏

参与人数 2家元 +70 收起 理由
兔包公 + 20 以資鼓勵
261307853 + 50 熱心助人

查看全部打赏

回复 支持 反对

使用道具 举报

 楼主| 发表于 2021-9-11 10:49:09 来自手机浏览器 | 显示全部楼层
游客请登录后查看回复内容
回复 支持 反对

使用道具 举报

 楼主| 发表于 2021-9-11 20:30:51 | 显示全部楼层
游客请登录后查看回复内容

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册 微信登录

x
回复 支持 反对

使用道具 举报

发表于 2021-9-12 08:21:00 | 显示全部楼层
游客请登录后查看回复内容
回复 支持 反对

使用道具 举报

 楼主| 发表于 2021-9-12 15:41:25 | 显示全部楼层
游客请登录后查看回复内容

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册 微信登录

x
回复 支持 反对

使用道具 举报

发表于 2021-9-13 08:02:38 | 显示全部楼层
游客请登录后查看回复内容
回复 支持 反对

使用道具 举报

发表于 2021-9-13 11:11:15 | 显示全部楼层
游客请登录后查看回复内容

打赏

参与人数 1家元 +10 收起 理由
261307853 + 10 熱心助人

查看全部打赏

回复 支持 反对

使用道具 举报

 楼主| 发表于 2021-9-13 20:21:42 | 显示全部楼层
游客请登录后查看回复内容
回复 支持 反对

使用道具 举报

 楼主| 发表于 2021-9-13 20:24:33 | 显示全部楼层
游客请登录后查看回复内容
回复 支持 反对

使用道具 举报

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

本版积分规则

APP|手机版|小黑屋|关于我们|联系我们|法律条款|技术知识分享平台

闽公网安备35020502000485号

闽ICP备2021002735号-2

GMT+8, 2025-12-14 19:47 , Processed in 0.234001 second(s), 16 queries , Gzip On, Redis On.

Powered by Discuz!

© 2006-2025 MyDigit.Net

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