久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 1917|回復: 5
打印 上一主題 下一主題
收起左側

單片機雙開關控制流水燈程序問題

[復制鏈接]
跳轉到指定樓層
樓主
ID:956872 發表于 2021-8-7 11:44 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
key1 按下的時候 燈還受key控制,導致key1沒反應。該怎么修改。
void main()
{
        
        while(!key||!key1)
        {
                if(key==1){delayxms(10);if(key==1)A();while(1){if(key!=1)break;}}//順時針依次點亮且按鍵沒變化時維持長亮
                if(key==0){delayxms(10);if(key==0)B();while(1){if(key!=0)break;}}//順時針依次熄滅且按鍵沒變化時維持長滅
        
               
                if(key1==1){delayxms(10);if(key1==1)C();while(1){if(key1!=1)break;}}//逆時針依次點亮且按鍵沒變化時維持長亮
                if(key1==0){delayxms(10);if(key1==0)D();while(1){if(key1!=0)break;}}//逆時針依次熄滅且按鍵沒變化時維持長滅
        }
               
}

分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享淘帖 頂 踩
回復

使用道具 舉報

沙發
ID:161164 發表于 2021-8-7 23:34 | 只看該作者
不要在大循環內用while(1)


  1. bit Key_O, Key1_O;
  2. void main()
  3. {
  4.     while(1)
  5.     {
  6.         if(key==1 && !Key_O) //上升沿觸發
  7.                                 {
  8.             delayxms(10);    //順時針依次點亮且按鍵沒變化時維持長亮
  9.             if(key==1)A();
  10.         }
  11.         if(key==0 && Key_O) //下降沿觸發
復制代碼



回復

使用道具 舉報

板凳
ID:213173 發表于 2021-8-8 07:36 | 只看該作者
本帖最后由 wulin 于 2021-8-8 14:52 編輯

驗證過的旋轉編碼器示例代碼。
#include <reg51.H>
#include <intrins.h>

sbit key_A=P3^0;
sbit key_B=P3^1;

void main()
{
        bit sign_A=0,sign_B=0;//狀態標志
        P1=0xfe;
        while(1)
        {
                if(key_A && key_B && !sign_A)
                {
                        P1=_cror_(P1,1);
                }
                sign_A = key_A;               

                if(key_A && key_B && !sign_B)
                {
                        P1=_crol_(P1,1);
                }
                sign_B = key_B;
        }
}
回復

使用道具 舉報

地板
ID:956872 發表于 2021-8-8 11:12 | 只看該作者
lkc8210 發表于 2021-8-7 23:34
不要在大循環內用while(1)

因為流水燈P1P2口共16個,用的數組,用while(1)是想讓其保持長亮 或長滅。剛玩單片機,還不懂其它方法
回復

使用道具 舉報

5#
ID:956872 發表于 2021-8-8 11:14 | 只看該作者
wulin 發表于 2021-8-8 07:36
前面回帖有誤,重發經驗證過的旋轉編碼器示例代碼。
#include
#include

sign_A = key_A; 這句定義是什么?
回復

使用道具 舉報

6#
ID:213173 發表于 2021-8-8 18:10 | 只看該作者
PEB188 發表于 2021-8-8 11:14
sign_A = key_A; 這句定義是什么?

保存當前 key_A 值
回復

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規則

小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術交流QQ群281945664

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 久久亚洲综合 | 一级全黄视频 | www.成人免费视频 | www久| 日韩精品在线看 | 久久久久久久一级 | 91新视频| 最新一级毛片 | 国产日韩欧美综合 | 久久午夜国产精品www忘忧草 | 9久9久9久女女女九九九一九 | 狠狠狠干| 精品国产乱码一区二区三区 | 国产玖玖 | www.婷婷亚洲基地 | 偷拍自拍网址 | 国产一级片在线观看视频 | 91亚洲精品在线 | 亚洲网址| 一区二区视频在线观看 | 国产成人精品久久二区二区 | 日本视频免费观看 | 国产日韩在线观看一区 | 成人一区二区电影 | 国产专区视频 | 亚洲久草 | 国产欧美日韩一区二区三区在线观看 | 国产精品久久久久久久久免费桃花 | 九色在线观看 | 亚洲激情视频在线 | 成人午夜精品一区二区三区 | 国产精品v| 国产精品一区二区三区四区 | 国产精品欧美一区二区三区不卡 | 国产色婷婷精品综合在线手机播放 | 天天综合久久 | 精品视频在线观看 | 欧美精品v国产精品v日韩精品 | 日韩综合色| 51ⅴ精品国产91久久久久久 | 麻豆亚洲 |