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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

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

利用單片機定時器定時頻率自增

[復制鏈接]
跳轉到指定樓層
樓主
ID:254747 發表于 2021-10-23 10:28 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
我想寫一個頻率自增的程序 一開始我是這樣寫的 如下
void  PIN_LV_ZI_JIA()
{
      unsigned int i;
      for(i=500;i<=1000;i++)      // 頻率從500HZ自加到1KHZ
       {
         PIN_LV_UPDETE(i);        //頻率改變函數
         delayms(100;               //延時函數  每加一次所用的時間;

       }
}
按照上面寫的這樣不方便調節時間于是我就改成定時器來寫 可是我寫了很多次都不行 寫法如下

  1. void  PIN_LV_ZI_JIA()
  2. {
  3.       unsigned int i;
  4.       for(i=500;i<=1000;i++)               // 頻率從500HZ自加到1KHZ
  5.        {
  6.            if(COUNT>=50)                  //count是來自定時器的值 50次就是50ms
  7.               {
  8.                    COUNT = 0;                   //count清零
  9.                    PIN_LV_UPDETE[i];      //頻率改變函數

  10.                }
  11.        }
  12. }
復制代碼

這樣無法工作  請教大家一下  該怎么改啊     
要求就是要用定時器方便 控制時間  
頻率變化還是用 PIN_LV_UPDETE(i);  這個函數
分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享淘帖 頂 踩
回復

使用道具 舉報

沙發
ID:401564 發表于 2021-10-23 11:51 | 只看該作者
TH1=(65535-COUNT)/256;        
TL1=(65535-COUNT)%256;
COUNT為全局變量,改變COUNT就可以改變頻率,占空比只能是50%
回復

使用道具 舉報

板凳
ID:254747 發表于 2021-10-23 13:31 | 只看該作者
Y_G_G 發表于 2021-10-23 11:51
TH1=(65535-COUNT)/256;        
TL1=(65535-COUNT)%256;
COUNT為全局變量,改變COUNT就可以改變頻率,占空比只能 ...

不不 你可能沒有明白我的意思  我的頻率直接調用 PIN_LV_MODE()就可以改變    我的頻率是通過PCA產生的 我是封裝好了的    我的意思非常簡單 就是通過定時器設置間隔時間讓這個 PIN_LV_MODE()傳遞的變量“i”每次加一這樣就可以輸出頻率了  
回復

使用道具 舉報

地板
ID:94031 發表于 2021-10-23 13:45 | 只看該作者
改成定時器來寫 ,但沒顯示定時器里怎么寫的,還是應該把程序全發出來。
回復

使用道具 舉報

5#
ID:624769 發表于 2021-10-23 17:03 來自手機 | 只看該作者
不將就123 發表于 2021-10-23 13:31
不不 你可能沒有明白我的意思  我的頻率直接調用 PIN_LV_MODE()就可以改變    我的頻率是通過PCA產生的  ...

估計,沒人能明白你的意思。

就說你改好的程序吧:
你for循環里判斷 count是否大于50,這個過程很快,所以for從500到1000,這個循環過程,count根本到不了50,也就是說一次作用都起不了。
回復

使用道具 舉報

6#
ID:972853 發表于 2021-10-23 17:21 | 只看該作者
如果要求快速變化就直接在定時中斷里改下個周期時間,如果需要慢速變化就用自動重裝載定時器用于輸出,另一定時器(或其它周期中斷)去定時改變輸出定時器的重載值
回復

使用道具 舉報

7#
ID:401564 發表于 2021-10-23 23:52 | 只看該作者
不將就123 發表于 2021-10-23 13:31
不不 你可能沒有明白我的意思  我的頻率直接調用 PIN_LV_MODE()就可以改變    我的頻率是通過PCA產生的  ...

PCA就是PCA,你又說定時器
每隔一段時間改一下PCA的初值不就行了
回復

使用道具 舉報

8#
ID:161164 發表于 2021-10-24 00:07 | 只看該作者
你弄錯了嵌套次序了
而且不要用For
  1. void  PIN_LV_ZI_JIA()
  2. {
  3.         static unsigned int i = 500;// 頻率從500HZ自加到1KHZ
  4.         if(COUNT>=50)                  //count是來自定時器的值 50次就是50ms
  5.         {
  6.                 COUNT = 0;                   //count清零
  7.                 PIN_LV_UPDETE(i);      //頻率改變函數
  8.                 i++;
  9.                 if(i>1000)i=500;
  10.         }
  11. }
復制代碼
回復

使用道具 舉報

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

本版積分規則

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

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 一级毛片视频免费观看 | 一区二区三区四区五区在线视频 | 免费人成激情视频在线观看冫 | 中文字幕精品一区久久久久 | 国产成人午夜精品影院游乐网 | 久久久久免费 | 久久精品亚洲成在人线av网址 | 国产精品久久久久久久久久久久午夜片 | 高清国产一区二区 | 国产日产精品一区二区三区四区 | 国产免费观看视频 | 在线国产一区二区 | 中文字幕精品一区二区三区在线 | 97日日碰人人模人人澡分享吧 | 亚洲va欧美va天堂v国产综合 | 人人爽人人草 | 亚洲国产成人精品女人 | 亚洲精品9999 | 毛片在线看片 | 亚洲一区二区三区在线播放 | 欧美亚洲国产一区 | 色婷婷久久综合 | 久久视频免费观看 | 拍拍无遮挡人做人爱视频免费观看 | 国产精品久久久久久久7777 | 超碰91在线 | 国产免费福利 | 国产精品一区二区视频 | 国产精品一区二区欧美黑人喷潮水 | 九色91视频 | 欧美精三区欧美精三区 | 在线播放国产一区二区三区 | 成人高清在线 | 99精品在线| 国产高清一区二区三区 | 国产二区视频 | 久久精品国产一区二区三区不卡 | 日本精品一区二区三区视频 | 在线成人 | 久久国产成人精品国产成人亚洲 | 一级黄色短片 |