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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

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

單片機程序怎么再加個按鍵讓它停止?

[復制鏈接]
跳轉到指定樓層
樓主
ID:918844 發表于 2021-5-11 19:00 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
#include <STC12C5A60S2.H>
#include <intrins.h>
#define uint unsigned int
sbit aj=P3^5;
void delay(uint k)
{
   uint i,j;
        for(i=0;i<k;i++)
        for(j=0;j<121;j++)
        {;}
}
int main(void)
{
                unsigned int i;         
        if(aj==0)               
                {
                P1=0xfe;
              for(i=0;i<41;i++)
                                        {
                                                 delay(500);
                                                  P1=_crol_(P1,1);
                                        }
                                 P1=0x7f;
                                        for(i=0;i<41;i++)
                                        {
                                                 delay(500);
                                                  P1=_cror_(P1,1);
                                        }
                                        P1=0xe7;
                                        for(i=0;i<24;i++)
                                        {
                                                 delay(1000);
                                                  P1=_cror_(P1,3);
                                        }
                                        P1=0xf0;
                                        for(i=0;i<41;i++)
                                        {
                                                 delay(500);
                                                  P1=_crol_(P1,1);
                                        }
                                        P1=0xf0;
                                        for(i=0;i<41;i++)
                                        {
                                                 delay(500);
                                                  P1=_cror_(P1,1);
                                        }
                                        P1=0xf0ff;
                                        for(i=0;i<1;i++)
                                        while(1);
}
}

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

使用道具 舉報

沙發
ID:716656 發表于 2021-5-12 16:22 | 只看該作者
這些函數還沒有進主循環,要按下按鍵停在這?下次按下接著跑?   還是直接跳到while(1)?
回復

使用道具 舉報

板凳
ID:918844 發表于 2021-5-12 19:25 | 只看該作者
壓著我頭發啦 發表于 2021-5-12 16:22
這些函數還沒有進主循環,要按下按鍵停在這?下次按下接著跑?   還是直接跳到while(1)?

按下鍵停住然后再按一下繼續跑
回復

使用道具 舉報

地板
ID:920237 發表于 2021-5-12 19:54 | 只看該作者
停止的話你可以在執行主函數的程序之前加一個if,else按鍵判斷,把你的程序放在else里面,按下的話就執行if,然后沒按執行else,這些都寫在一個while(1)循環里面
回復

使用道具 舉報

5#
ID:883031 發表于 2021-5-13 11:34 | 只看該作者
加while即可,判斷按鍵的翻轉情況。
回復

使用道具 舉報

6#
ID:833444 發表于 2021-5-13 21:58 | 只看該作者
switch()語句 case:也可以
回復

使用道具 舉報

7#
ID:716656 發表于 2021-5-14 09:01 | 只看該作者
在大循環前,處理這樣的暫停,還真沒做過,也有點想不明白。不如把他放在主函數里,if給個變量等于1,執行完一次把這個變量改為2,她就不會執行第二遍了,然后再用case,不停在不同位置給定P1的值
回復

使用道具 舉報

8#
ID:921020 發表于 2021-5-14 09:24 | 只看該作者
加入外部中斷,設置按鍵標志位
回復

使用道具 舉報

9#
ID:577269 發表于 2021-5-14 10:21 | 只看該作者
外加個外部中斷,然后添加按鍵
按鍵觸發后進入中斷,循環判斷按鍵,程序暫停,釋放按鍵中斷返回,程序繼續運行
如果是按一下暫停,再按一下運行的話:
開一個外部中斷,接按鍵
按鍵觸發后進入中斷,循環判斷按鍵,釋放按鍵后,等待按鍵再次觸發,程序暫停,再次觸發并釋放后中斷返回,程序繼續運行
回復

使用道具 舉報

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

本版積分規則

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

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 亚洲精品乱码久久久久久9色 | www国产成人免费观看视频,深夜成人网 | 欧美日韩中文国产一区发布 | 中文字幕免费观看 | 一区二区三区视频在线 | 国产一区二区三区色淫影院 | 中文字幕在线一区 | 在线看av的网址 | 日本精品视频一区二区 | 日韩亚洲视频 | 91久久国产综合久久 | 日韩第一区 | 日本精品一区二区在线观看 | 青青草在线视频免费观看 | 在线观看中文字幕 | 翔田千里一区二区 | 亚洲一区日韩 | 日韩影院在线观看 | 国产美女精品 | 中文字幕三区 | 在线观看中文字幕av | 国产欧美精品在线 | 九九热最新地址 | www.4567| 正在播放一区二区 | 国产高清免费视频 | 性视频一区 | 亚洲性人人天天夜夜摸 | 99re视频精品 | 午夜精品久久久久久久99黑人 | 一区二区三区久久久 | 国产精品久久久久久久久久久免费看 | 成人午夜精品 | 中文字幕日韩欧美一区二区三区 | 羞羞视频免费观看入口 | 精品乱码一区二区 | 国产成人高清视频 | 日韩成人在线观看 | 天天操天天射天天 | 天天干夜夜操 | 久久久久久高潮国产精品视 |