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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

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

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

[復制鏈接]
跳轉到指定樓層
樓主
利用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. }
復制代碼

1.png (14.22 KB, 下載次數: 120)

邏輯分析儀頻率

邏輯分析儀頻率

2.png (8.92 KB, 下載次數: 119)

串口輸出頻率

串口輸出頻率

PCA脈沖計數.zip

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

Keil代碼

評分

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

查看全部評分

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

使用道具 舉報

沙發
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的范圍值嗎?

可以的
回復

使用道具 舉報

5#
ID:980937 發表于 2022-12-3 21:32 | 只看該作者
芯片型號 : IAP15W4K58S4-Student,這款單片機可以使用這個程序嗎
回復

使用道具 舉報

6#
ID:980937 發表于 2022-12-4 19:31 | 只看該作者
為什么頻率是這樣算的啊Fre = 1/((65535*over_count+count1)*0.0000000416);
回復

使用道具 舉報

7#
ID:980937 發表于 2023-2-19 11:21 | 只看該作者
怎么現在代碼用不了了
回復

使用道具 舉報

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

使用道具 舉報

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

使用道具 舉報

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

本版積分規則

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

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 日韩视频中文字幕 | 日韩av在线一区 | 国产精品国产成人国产三级 | 国产一二区视频 | 日韩一区在线播放 | 久久tv在线观看 | 99亚洲综合 | 欧美日韩亚洲国产 | 日本小电影网站 | 亚洲国产精品一区二区久久 | 色频 | 操一草 | 成人精品国产一区二区4080 | 在线色网| 欧美精品一区在线观看 | 亚洲一区国产精品 | a级片播放 | www亚洲免费国内精品 | 九九热精| 天天干天天色 | 国产一级在线 | 国内精品一区二区 | 中文字幕在线观看精品 | 国产日韩一区二区 | 日本三级网站在线观看 | 国产日韩欧美在线观看 | 国产精品久久久久久久久婷婷 | 欧美一二三四成人免费视频 | www.亚洲精品 | 成人免费黄色 | 亚洲成年影院 | 久草影视在线 | 2023亚洲天堂| 伊人精品视频 | 国产视频一区二区 | 成人蜜桃av | 欧美一级网站 | 91av在线免费观看 | 91传媒在线观看 | 亚洲三区视频 | 91麻豆精品国产91久久久久久 |