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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索

求助 兩個判斷,需要一直檢測,不用定時器可以實現嗎?

查看數: 2982 | 評論數: 16 | 收藏 0
關燈 | 提示:支持鍵盤翻頁<-左 右->
    組圖打開中,請稍候......
發布時間: 2020-11-6 17:37

正文摘要:

該怎么寫程序?想實現按下開/關按鈕后,之后進行一直判斷加減速按鈕的檢測。謝啦!

回復

ID:213173 發表于 2020-11-8 13:04
除了搶答器之類要求按鍵及時響應外,其它按鍵控制電路沒有這么高要求,20ms響應根本感覺不出來。所以按鍵掃描程序放在主循環中不會有什么問題。給你寫個示例,基本邏輯關系一看就明白。
#include <reg51.H>
#define uchar unsigned char
#define uint  unsigned int

sbit key1=P1^0;
sbit key2=P1^1;
sbit key3=P1^2;

uchar PWM=0;

void key_scan()
{
        static uchar count=0;
        static bit key_sign=0;
        static bit flag=0;
        if(!key1||!key2||!key3)
        {
                if(++count>=10 && key_sign==0)//消抖
                {
                        key_sign=1;
                        if(!key1)                        //開關
                        {
                                flag=~flag;
                                if(flag==1)
                                        PWM=50;                //初速
                                else PWM=0;                //停止
                        }
                        if(!key2 && flag==1)//加速
                        {
                                if(PWM<100)
                                        PWM++;
                        }
                        if(!key3 && flag==1)//減速
                        {
                                if(PWM>10)
                                        PWM--;
                        }
                }
        }
        else
        {
                count=1;
                key_sign=0;
        }
}
void main()
{
        while(1)
        {
                key_scan();
//                其它任務;
        }
}
ID:595380 發表于 2020-11-8 11:13
shiwowo 發表于 2020-11-8 10:52
按鍵掃描中斷  我也是這個建議

嗯嗯  嗯嗯
ID:595380 發表于 2020-11-8 11:10
123456czst 發表于 2020-11-8 00:16
還是用中斷的辦法好,畢竟單片機有5個中斷源呢

兩個定時器給了串口與PWM
ID:595380 發表于 2020-11-8 11:09
xqleft 發表于 2020-11-7 13:46
來來來 ,你告訴我中斷被什么用了? 其他的都不能用中斷?

串口通信與PWM
ID:840485 發表于 2020-11-8 10:52
按鍵掃描中斷  我也是這個建議
ID:278179 發表于 2020-11-8 10:51
if(bt0){}//開關
else if(b0){ }//加速
else if(b1){ }//減速
ID:278179 發表于 2020-11-8 10:48
if(bt0){}
ID:420836 發表于 2020-11-8 09:24
使用按鍵掃描中斷
ID:836364 發表于 2020-11-8 00:16
還是用中斷的辦法好,畢竟單片機有5個中斷源呢
ID:836364 發表于 2020-11-8 00:15
但是查詢的辦法有點不好,會特別耗費單片機的系統內部資源
ID:836364 發表于 2020-11-8 00:15
用查詢的辦法,用if語句判斷B0和B1的狀態while(1){if(b0 > 0)......,if(b1>0)....}
ID:548551 發表于 2020-11-7 13:46
51_users 發表于 2020-11-6 20:34
51 中的 兩個中斷已被占用

來來來 ,你告訴我中斷被什么用了? 其他的都不能用中斷?
ID:654028 發表于 2020-11-6 20:49
delay延時,死等
ID:68468 發表于 2020-11-6 20:40
很簡單呀,把加減速按鈕檢測放在主函數中不就一直檢測嗎?
ID:595380 發表于 2020-11-6 20:34

51 中的 兩個中斷已被占用
ID:466505 發表于 2020-11-6 18:50
用中斷唄

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

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 爱操影视| www.亚洲.com| 欧美成人精品一区二区男人看 | 九九久久精品视频 | 日批免费在线观看 | 久久99精品视频 | 国产精品久久久久久中文字 | 国产福利久久 | 成人三级网址 | 国产成人精品av | 国产婷婷色综合av蜜臀av | 亚洲精品视频一区二区三区 | 欧美日韩免费视频 | 午夜日韩 | 免费在线成人 | 深夜爽视频 | 亚洲a一区 | 欧美freesex黑人又粗又大 | 成人性视频免费网站 | 高清国产午夜精品久久久久久 | 久久久久久综合 | 午夜在线视频 | 狠狠狠色丁香婷婷综合久久五月 | 国产精品美女www爽爽爽视频 | 国产视频91在线 | 亚洲久久| 国产一区二区欧美 | 免费三级av | 免费精品一区 | 国产三级精品三级在线观看四季网 | 岛国av在线免费观看 | 日韩在线播放一区 | 国产欧美一级二级三级在线视频 | 我想看国产一级毛片 | 9久久| 国产麻豆乱码精品一区二区三区 | 国产高清精品在线 | 精品久久久久久亚洲精品 | 中文字幕第十页 | 99热精品在线观看 | 欧美一区二区三区日韩 |