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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

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

[疑問]STC15F104W單片機 紅外控制LED,已成功,但是有BUG

[復制鏈接]
跳轉到指定樓層
樓主
ID:222772 發表于 2017-8-7 10:31 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
經過一番的查找資料,在51論壇找到了相關資料,而且通過修改代碼,能夠實現紅外遙控LED的亮滅。
但是,有一些疑問和BUG,想請教一下大家:
判斷代碼如下,全部代碼在附件
  1.                         switch(IRcord[2])
  2.                         {
  3.                                 case 0x0c: led1=0;break;//按1,LED1亮
  4.                                 //case 0x18: led1=1;break;//按2,LED1滅,注釋1
  5.                                 case 0x5e: led2=0;break;//按3,LED2亮
  6.                                 //case 0x08: led2=1;break;//按4,LED2滅,注釋2
  7.                                 case 0x1c: led3=0;break;//按5,LED3亮
  8.                                 //case 0x5a: led3=1;break;//按6,LED3滅,注釋3
  9.                                 case 0x42: led4=0;break;//按7,LED4亮
  10.                                 case 0x52: led4=1;break;//按8,LED4滅
  11.                                 case 0x4a: led5=0;break;//按9,LED5亮
  12.                                 case 0x16: led5=1;break;//按0,LED5滅
  13.                                 case 0x45:
  14.                                         led1=1;
  15.                                         led2=1;
  16.                                         led3=1;
  17.                                         led4=1;
  18.                                         led5=1;
  19.                                         break;//全部滅
  20.                         }
復制代碼
如果按照上面的代碼,按相對應的按鈕會達到相應的效果,例如按7,LED4會亮,按8,LED4會滅,如果只是按7,LED4只會亮,不會滅
問題來了:
1)如果把注釋1,2,3其中一個注釋取消,當我按7,LED4會亮,但是連續按兩下7,LED4竟然會滅。。。。。這是什么情況?
2)另外有個問題,我想把代碼寫成
case 0x42: led4=~led4;break;//按7,LED4亮,目的就是取反,按同一個鍵,就達到開和關。但是實際情況,不行啊。。。。為什么
3)怎樣用KEIL聯機調試debug 紅外接收信號。不是虛擬調試。我想跟蹤實際接收到紅外的信號編碼。

紅外遙控器編碼.png (11.86 KB, 下載次數: 151)

紅外遙控編碼

紅外遙控編碼

51HeiRedCtrlLED.zip

28.69 KB, 下載次數: 108

紅外遙控LED

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

使用道具 舉報

沙發
ID:222772 發表于 2017-8-7 11:37 | 只看該作者
啊~~~~~沒有人來嗎?
回復

使用道具 舉報

板凳
ID:96072 發表于 2017-8-7 13:27 | 只看該作者
這個非常簡單啦
回復

使用道具 舉報

地板
ID:222772 發表于 2017-8-7 13:37 | 只看該作者
問題終于審核通過了。。。
回復

使用道具 舉報

5#
ID:167440 發表于 2017-8-7 14:23 | 只看該作者
IAP15W4K58S4這款片子可以在線調試,對了我一開始用這個片子時發現對keill的版本有要求,有的不可以在線仿真調試

新建位圖圖像.jpg (107.73 KB, 下載次數: 138)

新建位圖圖像.jpg

新建位圖圖像.jpg (101.39 KB, 下載次數: 144)

新建位圖圖像.jpg
回復

使用道具 舉報

6#
ID:167440 發表于 2017-8-7 14:36 | 只看該作者
這樣就能解決你的問題了,如果不能我們繼續討論
void main()
{
        EX0init();//Enable GlobaI Interrupt Flag
        TIM0init();
        while(1)
        {
                if(irok)
                {
                        Ircordpro();
                        irok=0;
                }
                if(irpro_ok)//遙控成功接收
                {

                        switch(IRcord[2])
                        {
                                case 0x0c: led1=0;break;//按鍵1,燈1亮
                                case 0x18: led1=1;break;//按鍵1,燈1滅
                                case 0x5e: led2=0;break;//按鍵2,燈2亮
                                case 0x08: led2=1;break;//按鍵2,燈2滅
                                case 0x1c: led3=0;break;//按鍵1,燈1亮
                                case 0x5a: led3=1;break;//按鍵1,燈1滅
                                case 0x42: led4=0;break;//按鍵1,燈1亮
                                case 0x52: led4=1;break;//按鍵1,燈1滅
                                case 0x4a: led5=0;break;//按鍵1,燈1亮
                                case 0x16: led5=1;break;//按鍵1,燈1滅
                                case 0x45:
                                                  led1=1;
                                                  led2=1;
                                                  led3=1;
                                                  led4=1;
                                                  led5=1;
                                                  break;//按鍵關機,燈全滅
                        }
                       irpro_ok=0;     //加上這條語句
                }
        }
}

新建位圖圖像.jpg (26.4 KB, 下載次數: 148)

新建位圖圖像.jpg

評分

參與人數 1黑幣 +5 收起 理由
stc0079 + 5 回帖助人的獎勵!

查看全部評分

回復

使用道具 舉報

7#
ID:222772 發表于 2017-8-8 09:22 | 只看該作者
浮云騎士 發表于 2017-8-7 14:36
這樣就能解決你的問題了,如果不能我們繼續討論
void main()
{

謝謝,我試一下。
回復

使用道具 舉報

8#
ID:222772 發表于 2017-8-8 09:27 | 只看該作者
浮云騎士 發表于 2017-8-7 14:23
IAP15W4K58S4這款片子可以在線調試,對了我一開始用這個片子時發現對keill的版本有要求,有的不可以在線仿 ...

網上找到這個文章 用KEIL實現聯機調試的步驟
但是不知道那個FLIP程序是什么東東。
回復

使用道具 舉報

9#
ID:222772 發表于 2017-8-8 09:48 | 只看該作者
浮云騎士 發表于 2017-8-7 14:36
這樣就能解決你的問題了,如果不能我們繼續討論
void main()
{

可以了,謝謝。。。
這個是大概是什么原因? 紅外信號沒有清除嗎?
回復

使用道具 舉報

10#
ID:167440 發表于 2017-8-8 10:01 | 只看該作者
stc0079 發表于 2017-8-8 09:48
可以了,謝謝。。。
這個是大概是什么原因? 紅外信號沒有清除嗎?

紅外信號按著不松也在發信號,但,不是按鍵信號,至于具體是什么信號我還沒查到,以前用示波器看到過。那句話是防止重復對switch語句一直重復執行
回復

使用道具 舉報

11#
ID:222772 發表于 2017-8-8 11:40 | 只看該作者
浮云騎士 發表于 2017-8-8 10:01
紅外信號按著不松也在發信號,但,不是按鍵信號,至于具體是什么信號我還沒查到,以前用示波器看到過。那 ...

即使紅外發射不是按鍵信號,重復執行switch語句,但是不等于 0x0c這些鍵值,也不會執行led1=0這句代碼啊?所以不明白。
回復

使用道具 舉報

12#
ID:72796 發表于 2018-10-25 10:32 | 只看該作者
學習一下,正在找這方面的資料.
回復

使用道具 舉報

13#
ID:89515 發表于 2018-10-25 16:38 來自手機 | 只看該作者
stc0079 發表于 2017-8-8 09:48
可以了,謝謝。。。
這個是大概是什么原因? 紅外信號沒有清除嗎?

標志不清除,怎么判定按鍵次數
回復

使用道具 舉報

14#
ID:80372 發表于 2019-8-7 15:04 | 只看該作者
謝謝 樓主
回復

使用道具 舉報

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

本版積分規則

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

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: av网站免费观看 | 国产视频三区 | 欧美一区二区在线 | 亚洲视频免费在线观看 | 一区二区亚洲 | 国产精品久久精品 | 久久久久久黄 | 日韩一区中文字幕 | 国产精品久久久久影院色老大 | 久草免费在线视频 | 亚洲电影中文字幕 | 岛国二区| 亚洲午夜精品一区二区三区他趣 | 免费在线一区二区 | 欧美日韩亚洲视频 | 国产精品成人久久久久 | 一区二区三区av | 欧美精品一区二区三区蜜桃视频 | 国产精品久久一区 | 99热精品在线观看 | 中文字幕视频在线 | 中文字幕免费视频 | 特黄色一级毛片 | 亚洲色图综合 | 久久综合99| 精品久久视频 | 伊人91在线 | 日韩久久综合网 | 天堂中文在线播放 | 精品欧美一区二区三区久久久 | 一级做a爰片性色毛片 | 日韩在线一区视频 | 性欧美精品一区二区三区在线播放 | 国产区在线观看 | 天天色天天色 | 草比av| 国产视频观看 | 国产高清精品一区二区三区 | 国产精品亚洲精品 | 中国人pornoxxx麻豆 | 日韩欧美视频 |