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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 1794|回復: 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;}}//逆時針依次熄滅且按鍵沒變化時維持長滅
        }
               
}

回復

使用道具 舉報

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)是想讓其保持長亮 或長滅。剛玩單片機,還不懂其它方法
回復

使用道具 舉報

ID:956872 發表于 2021-8-8 11:14 | 顯示全部樓層
wulin 發表于 2021-8-8 07:36
前面回帖有誤,重發經驗證過的旋轉編碼器示例代碼。
#include
#include

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

使用道具 舉報

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 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 成人高清网站 | 超碰97免费观看 | 91中文字幕在线观看 | 亚洲精品久久久久国产 | 日韩视频免费在线 | 91精品免费视频 | 日韩国产中文字幕 | 日韩中文一区 | 欧美成人精品一区二区三区 | 97高清国语自产拍 | 久久精品国产精品青草 | aaaaaa大片免费看最大的 | 国产亚韩| 国产91在线观看 | 欧美一级黄色网 | 中文字幕第一页在线 | 欧美色图另类 | 国产在线一区二区三区 | 久久久久一区二区三区 | 久久久久久国产一区二区三区 | 久久成人人人人精品欧 | 免费视频一区 | 国产免费一级一级 | 免费h视频 | 欧美视频三区 | 亚洲欧美日韩网站 | 国产在线www| 最新日韩在线视频 | 在线免费观看黄a | 黄色在线免费播放 | 成人在线免费 | 欧美日韩毛片 | 中文字幕亚洲一区二区三区 | 欧美一级www片免费观看 | 国产成人精品一区 | 国产区在线观看 | 天堂在线中文字幕 | 81精品国产乱码久久久久久 | 久久久91精品国产一区二区精品 | 国产精品成人久久久久a级 久久蜜桃av一区二区天堂 | 免费国产视频在线观看 |