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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

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

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 精品一区二区三区不卡 | 日韩精品一区二区三区四区视频 | 国产免费看| 国产精品一区视频 | 欧美一级二级在线观看 | 亚洲精品电影网在线观看 | 国产精品大片 | 91精品国产91久久久久久 | 久久久久久国产精品久久 | 亚洲精品一区二区网址 | 日韩欧美二区 | 欧美天堂 | 2020天天操| 欧美一级电影免费 | 在线免费观看黄色av | 999视频 | 精品99爱视频在线观看 | 欧美日本在线观看 | 羞羞视频免费观 | 啪一啪在线视频 | 亚洲天堂中文字幕 | 99精品在线 | 久久久性色精品国产免费观看 | 男女免费在线观看视频 | 91精品久久久久久久99 | 亚洲久久一区 | 狠狠草视频 | 久久久国产一区二区三区四区小说 | 91高清在线 | 国产精品美女在线观看 | 成人av免费 | 欧美一级黄 | 人人干97 | 国产小视频在线观看 | 亚洲a视频| 亚洲综合视频 | 懂色一区二区三区免费观看 | 中文字幕第九页 | 精品成人在线视频 | 黄色大片网站 | 久久精品99国产精品 |