欧美极品高清xxxxhd,国产日产欧美最新,无码AV国产东京热AV无码,国产精品人与动性XXX,国产传媒亚洲综合一区二区,四库影院永久国产精品,毛片免费免费高清视频,福利所导航夜趣136

標題: 用單片機按鍵去控制流水燈的開關,求大神指點程序設計思路 [打印本頁]

作者: 我愛單片機@    時間: 2019-2-21 10:42
標題: 用單片機按鍵去控制流水燈的開關,求大神指點程序設計思路
用按鍵去控制流水燈的開關。主要有以下功能: 一個按鍵表示左移,另一個按鍵表示右移,當按下相應的按鍵時,流水燈會往指定方向流動。


作者: bucker    時間: 2019-2-21 21:12
分別各做一個左移和右移的函數或子程序,設計一個狀態機,按下相應的鍵就改變并保持狀態,再根據狀態調用各自的函數。
作者: wulin    時間: 2019-2-21 21:28
給你寫一個簡單的按鍵控制流水燈方向的程序參考
#include <reg52.h>
#include <intrins.h>//此頭文件包含循環左/右移函數
sbit s1=P3^3;
sbit s2=P3^4;

void delay(unsigned int k)
{
        unsigned int i,j;
        for(i=k;i>0;i--)
                for(j=115;j>0;j--);
}
void main()
{
        unsigned char num=0;
//P1驅動8個LED
        P1=0xfe;
        while(1)
        {
                if(s1==0)
                        num=1;       
                if(s2==0)
                        num=2;       
                if(num==1)
                        P1=_crol_(P1,1);//循環左移一位
                if(num==2)
                        P1=_cror_(P1,1);//循環右移一位
                delay(500);//延時0.5秒
        }
}

作者: iofree    時間: 2019-2-22 09:01
本帖最后由 iofree 于 2019-2-22 10:08 編輯
wulin 發表于 2019-2-21 21:28
給你寫一個簡單的按鍵控制流水燈方向的程序參考
#include
#include //此頭文件包含循環左/右移函數

你這按鍵沒有消抖處理吧?
作者: wulin    時間: 2019-2-22 11:38
iofree 發表于 2019-2-22 09:01
你這按鍵沒有消抖處理吧?

多數情況下按鍵是需要消抖,但不是全部,根據應用環境選擇按鍵是否需要消抖和判斷松手。在這個程序中消抖和判斷松手就是多余的贅句。
作者: yzwzfyz    時間: 2019-2-22 12:47
所謂向左向右取決于你的顯示排列方案,給人的感覺上是向左或向右。
預先做一套向左的顯示方案,再做一套向左的方案。
跟根據按鍵決定采用哪個方案就可以了。
作者: iofree    時間: 2019-2-22 14:20
wulin 發表于 2019-2-22 11:38
多數情況下按鍵是需要消抖,但不是全部,根據應用環境選擇按鍵是否需要消抖和判斷松手。在這個程序中消抖 ...

你說得也有道理,這個場景確實不需要消抖,不過大多數按鍵應用都還是需要消抖,給新人建議時順便幫他們建立起這個概念還是有必要的,以后也許能少走不少彎路
作者: wulin    時間: 2019-2-22 16:33
iofree 發表于 2019-2-22 14:20
你說得也有道理,這個場景確實不需要消抖,不過大多數按鍵應用都還是需要消抖,給新人建議時順便幫他們建 ...

你說得有道理,給新人建議時更應該規范些。




歡迎光臨 (http://m.raoushi.com/bbs/) Powered by Discuz! X3.1