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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 4156|回復: 8
收起左側

利用STC15單片機的PCA進行脈沖計數程序,計算頻率

[復制鏈接]
ID:739692 發表于 2022-7-3 17:22 | 顯示全部樓層 |閱讀模式
利用STC15的PCA進行脈沖計數,計算頻率

單片機源程序如下:
  1. /********************************************************
  2. *
  3. * 平臺:keil5 + STC154K58S4
  4. *
  5. * 頻率:24MHz
  6. *
  7. * 功能:使用PCA模塊的捕獲功能,判斷脈沖個數,計算頻率,使用串口輸出
  8. *
  9. * 作者: 李鐵
  10. *
  11. * 時間:2022年7月3日
  12. *
  13. ***********************************************************/
  14. #include "config.h"
  15. #include <stdio.h>
  16. #include "bsp_pca.h"
  17. #include "bsp_uart.h"
  18. #include "delay.h"
  19. #define uchar unsigned char
  20. #define uint unsigned int

  21. void Delay10ms();                //@24.000MHz

  22. sbit LED = P0^0;       //輸出脈沖端口

  23. bit flag;
  24. uint count;//脈沖數
  25. uchar count_L,count_H;
  26. uint over_count; //PCA計數器溢出次數
  27. float Fre;
  28. uint count1;
  29. void main()
  30. {
  31.         UART_InitConfig();
  32.         TI = 1; //使用printf()函數時,TI必須為1
  33.         PCA_InitConfig();
  34.         EA = 1;
  35.         while(1)
  36.         {
  37.                 LED = ~LED;
  38. //                printf("hello,world!\n\r");
  39.                 printf("脈沖數:%d\n\r",count);
  40.                 printf("溢出數:%d\n\r",over_count);
  41.                 printf("頻率:%fHz\n\r",Fre);
  42.                 delay_ms(100);
  43.         }
  44. }

  45. void PCA(void) interrupt 7
  46. {
  47.         if(CCF0 == 1)
  48.         {
  49.                 CCF0 = 0;
  50.                 CCAP0H = 0;
  51.                 CCAP0L = 0;
  52.                 flag = 1;
  53.                 count++;
  54.                 if(flag)
  55.                 {
  56.                  flag = 0;
  57.                  count_H = CCAP0H;
  58.                  count_L = CCAP0L;
  59.                  count1 = count_H;
  60.                  count1 = (count1<<8)|count_L;
  61.                  Fre = 1/((65535*over_count+count1)*0.0000000416);
  62.                  over_count = 0;
  63.                 }
  64.                
  65.         }
  66.         if(CF == 1)
  67.         {
  68.                 CF = 0;
  69.                 over_count++;
  70.         }
  71. }
復制代碼

邏輯分析儀頻率

邏輯分析儀頻率

串口輸出頻率

串口輸出頻率

PCA脈沖計數.zip

68.66 KB, 下載次數: 90, 下載積分: 黑幣 -5

Keil代碼

評分

參與人數 1黑幣 +50 收起 理由
admin + 50 共享資料的黑幣獎勵!

查看全部評分

回復

使用道具 舉報

ID:65956 發表于 2022-7-4 10:20 | 顯示全部樓層
你的程序能測到0.999997---1.000003Hz的范圍值嗎?
回復

使用道具 舉報

ID:739692 發表于 2022-7-4 10:40 | 顯示全部樓層
aking991 發表于 2022-7-4 10:20
你的程序能測到0.999997---1.000003Hz的范圍值嗎?

我沒試,你可以試試,輸入口在P1.1
回復

使用道具 舉報

無效樓層,該帖已經被刪除
ID:980937 發表于 2022-12-3 21:24 | 顯示全部樓層
aking991 發表于 2022-7-4 10:20
你的程序能測到0.999997---1.000003Hz的范圍值嗎?

可以的
回復

使用道具 舉報

ID:980937 發表于 2022-12-3 21:32 | 顯示全部樓層
芯片型號 : IAP15W4K58S4-Student,這款單片機可以使用這個程序嗎
回復

使用道具 舉報

ID:980937 發表于 2022-12-4 19:31 | 顯示全部樓層
為什么頻率是這樣算的啊Fre = 1/((65535*over_count+count1)*0.0000000416);
回復

使用道具 舉報

ID:980937 發表于 2023-2-19 11:21 | 顯示全部樓層
怎么現在代碼用不了了
回復

使用道具 舉報

ID:387957 發表于 2023-5-5 13:08 | 顯示全部樓層
你好,15W404AS,用了你的例程,一直無法測出穩定的輸入頻率,用廠家的例程也是,不知道問題出在哪里,能指導一下嗎,V18913989589
回復

使用道具 舉報

ID:387957 發表于 2023-5-5 13:08 | 顯示全部樓層
你好,15W404AS,用了你的例程,一直無法測出穩定的輸入頻率,用廠家的例程也是,不知道問題出在哪里,能指導一下嗎,V18913989589
回復

使用道具 舉報

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

本版積分規則

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

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 国产馆 | 欧美大片一区 | 一区在线播放 | 欧美中文字幕一区二区三区亚洲 | 综合久久一区 | 精品一区国产 | 欧美aaaaa| 天天夜干 | 欧美亚洲在线 | 欧美五月婷婷 | 综合激情av | 精品日韩一区二区 | 久久久久久艹 | 国产精品99久久久久久动医院 | 99爱视频 | 最新国产精品视频 | 国产精品久久久久久久模特 | 亚洲精品黄色 | 在线观看亚洲专区 | 国产精品99久久久久久久vr | 久久久久国色av免费观看性色 | 神马影院一区二区三区 | 精品在线观看入口 | 亚洲精品免费在线观看 | 国产黄色av电影 | 午夜激情在线 | 国产黄色小视频在线观看 | 日韩国产一区二区 | 欧美日韩国产高清视频 | 成人三级视频在线观看 | 国产欧美精品区一区二区三区 | 久久精品 | 欧美激情久久久 | 中文字幕在线观看第一页 | 欧美影院 | 日韩精品一区二区三区四区视频 | 精品国产乱码久久久久久闺蜜 | 日韩一区二区福利视频 | 人人性人人性碰国产 | 99精品视频一区二区三区 | 在线看亚洲 |