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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 2881|回復: 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 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 日韩中文字幕久久 | 在线观看 亚洲 | 久久精品国产99国产 | 日日操操操 | 丁香五月网久久综合 | 一区二区在线免费观看视频 | 午夜电影网站 | 精品久久影院 | 毛片一区 | 在线观看亚洲精品视频 | 亚洲三区视频 | 一本一道久久a久久精品综合 | 在线不卡视频 | 亚洲精品在线免费观看视频 | 欧美成年网站 | 雨宫琴音一区二区在线 | 成人精品毛片 | 国产视频一区二区在线观看 | 国产精品久久久久一区二区三区 | 自拍视频国产 | 999精品视频 | 国产一区二区影院 | 精品国产第一区二区三区 | 毛片99 | 男人的天堂在线视频 | 性网站免费 | 精品一区国产 | 久久精品国产免费一区二区三区 | 精品伦精品一区二区三区视频 | 欧美一区二区在线播放 | 久久国产精品一区二区 | 精品一区二区三区四区 | 色毛片| 手机看黄av免费网址 | 欧美精品片| 久久人人爽人人爽 | 国产电影精品久久 | 亚洲福利一区 | 国产在线精品一区二区 | 国产免费拔擦拔擦8x高清 | 宅女噜噜66国产精品观看免费 |