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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

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

用2ms定時器處理按鍵消隱問題

[復制鏈接]
跳轉到指定樓層
樓主
ID:138343 發表于 2016-9-27 14:55 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
使用stc15w404as單片機,定時器2做中斷源,定時器測試過確定有效。

定時器中斷處理,定時器間隔2ms
void timer2_int (void) interrupt 12
{
    static unsigned char keybuf = 0xFF;
    keybuf = (keybuf << 1) | key;
    if (keybuf == 0x00)
    {
        key_state = 0;
    }
    else if (keybuf == 0xff)
    {
        key_state = 1;
    }
}

在main中掃描key_state狀態
void main(void)
{
    while (1)
    {
      if (key_state != key_backup)
      {
          key_backup = key_state;
          if (key_state == 0)
              mode = !mode;
      }

       if (mode == 1)
         P21=1;
       else
         P21=0;
    }
}

按測試目的應該是按一次就切換燈開關,但不起作用,請大家幫忙看看。

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

使用道具 舉報

沙發
ID:138343 發表于 2016-9-27 19:41 | 只看該作者
問題已經解決了,問題出在定時器上

由于使用stc的庫函數進行定時器的初始化,沒有在最后置EA=1導致定時器中斷不會觸發。
大家如果同樣使用stc15庫進行開發中如果一樣使用定時需要注意以下幾點:
1、定時器的數量,如stc15w404as只有兩個定時器分別為0和2,而stc15庫時支持的定時器不止這兩個,要注意,否則比如在404as上用定時器1是無論如何也沒有結果的
2、庫的示例有關定時器初始化Timer_config中沒有把EA=1幫你寫好,在函數末尾自己手動加一下,否則會出和我一樣的問題,測試stc的示例時定時器ok,自己寫的時候沒有注意到原來示例在main里多了一句EA=1
3、關于定時器的精度,由于stc15系列內置有晶振,通過isp軟件可以檢測到晶振的參數,在設置定時器時注意自己使用的芯片內部晶振參數,如404as用的是11059200,需要手動修改stc15庫的MAIN_Fosc定義達到高精度
4、最后說一下stc的isp軟件帶有定時器計算工具非常好用,stc的isp工具用好了就是百寶箱啊

回復

使用道具 舉報

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

本版積分規則

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

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 久久久精品影院 | 成人在线播放 | 成人福利在线 | 涩爱av一区二区三区 | 桃色五月 | 免费在线一区二区 | 日韩精品一区二区三区在线观看 | 国产一区二区三区在线免费观看 | 欧美成人精品激情在线观看 | 日韩在线不卡 | 伊人久久免费 | 国产高清在线精品一区二区三区 | 一区二区三区免费 | 久久久性| 日韩精品一区二区三区中文在线 | 日韩av免费在线观看 | 少妇精品亚洲一区二区成人 | 久久亚洲欧美日韩精品专区 | www312aⅴ欧美在线看 | 秋霞在线一区 | 国产精品视频播放 | 久久av网站 | 我想看国产一级毛片 | 久草网址| 一二三区在线 | 久操福利| 美女一区| 最近中文字幕免费 | 一区二区视频 | 中文字幕亚洲一区二区三区 | 久久中文字幕一区 | 国产免费一区二区三区免费视频 | 日韩精品一区二区三区中文在线 | 亚洲性视频网站 | 精品亚洲一区二区三区四区五区高 | 中文字幕 亚洲一区 | 欧美精品一区二区在线观看 | 午夜国产一级片 | 宅女噜噜66国产精品观看免费 | 亚洲成人播放器 | 毛片视频免费观看 |