找回密码
 立即注册
楼主: liuyu8087

5616AD如何精确产生1us的计时

[复制链接]

19

主题

46

回帖

210

积分

中级会员

积分
210
发表于 2024-9-4 15:54:32 | 显示全部楼层
ok,非常感谢
回复 支持 反对

使用道具 举报 送花

19

主题

46

回帖

210

积分

中级会员

积分
210
发表于 2024-9-4 15:55:27 | 显示全部楼层
ok,非常感谢
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:以坛为家I
  • 打卡总天数:396
  • 最近打卡:2025-05-03 11:16:14

16

主题

702

回帖

2478

积分

金牌会员

积分
2478
发表于 2024-9-5 09:03:05 | 显示全部楼层
wnag*** 发表于 2024-9-4 13:28
1us定时,频率就是1M,你的主频怎么着也得50M,才能有实用价值,中断函数语句还不能太多 ...

这是实际问题
回复 支持 反对

使用道具 举报 送花

19

主题

46

回帖

210

积分

中级会员

积分
210
发表于 2024-9-9 14:37:32 | 显示全部楼层
Lkck*** 发表于 2024-9-4 10:00
STC12C5616AD有PCA/PWM模块
可以用定时器的1us溢出来作时钟源
那就不用频繁进出中断

我把这个代码复制到项目里,但没有产生出PWM信号。
我现在需要一个频率是10KHz占空比50%的PWM信号。
在5616AD的P3.5口输出。可否帮忙給个完整的代码?非常谢谢!

点评

我是新人,占空比 50%的信号就是 方波 ?也就是你要时钟输出 ?  详情 回复 发表于 2024-9-9 15:34
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:以坛为家I
  • 打卡总天数:294
  • 最近打卡:2025-03-06 09:25:41

8

主题

318

回帖

1835

积分

金牌会员

积分
1835
发表于 2024-9-9 15:11:41 | 显示全部楼层
liuyu*** 发表于 2024-9-9 14:37
我把这个代码复制到项目里,但没有产生出PWM信号。我现在需要一个频率是10KHz,占空比50%的PWM信号。在56 ...
  1. /*------------------------------------------------------------------*/
  2. /* --- STC MCU Limited ---------------------------------------------*/
  3. /* --- STC12C56xx Series MCU PCA module output PWM wave Demo -------*/
  4. /* --- Mobile: (86)13922805190 -------------------------------------*/
  5. /* --- Fax: 86-0513-55012956,55012947,55012969 ---------------------*/
  6. /* --- Tel: 86-0513-55012928,55012929,55012966----------------------*/
  7. /* --- Web: www.STCMCU.com -----------------------------------------*/
  8. /* --- Web: www.GXWMCU.com -----------------------------------------*/
  9. /* If you want to use the program or the program referenced in the  */
  10. /* article, please specify in which data and procedures from STC    */
  11. /*------------------------------------------------------------------*/
  12. #include <STC12C5630AD.H>
  13. #include "intrins.h"
  14. #define FOSC    11059200L
  15. typedef unsigned char BYTE;
  16. typedef unsigned int WORD;
  17. void Timer0_Init(void)                //0.333微秒@12.000MHz
  18. {
  19.         AUXR |= 0x80;                        //定时器时钟1T模式
  20.         TMOD &= 0xF0;                        //设置定时器模式
  21.         TMOD |= 0x02;                        //设置定时器模式
  22.         TL0 = 0xFC;                                //设置定时初始值
  23.         TH0 = 0xFC;                                //设置定时重载值
  24.         TF0 = 0;                                //清除TF0标志
  25.         TR0 = 1;                                //定时器0开始计时
  26. }
  27. void main()
  28. {
  29.         Timer0_Init();
  30.     CCON = 0;                       //Initial PCA control register
  31.                                     //PCA timer stop running
  32.                                     //Clear CF flag
  33.                                     //Clear all module interrupt flag
  34.     CL = 0;                         //Reset PCA base timer
  35.     CH = 0;
  36.     CMOD = 0x04;                    //Set PCA timer clock source as Timer0 overflow
  37.                                     //Disable PCA timer overflow interrupt
  38.     CCAP1H = CCAP1L = 0x7f;         //PWM1 port output 50% duty cycle square wave
  39.                                                                         //修改这个值控制PWM输出
  40.     PCA_PWM1 = 0x00;
  41.     CCAPM1 = 0x42;                  //PCA module-1 work in 8-bit PWM mode and no PCA interrupt
  42.     CR = 1;                         //PCA timer start run
  43.     while (1);
  44. }
复制代码
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:偶尔看看III
  • 打卡总天数:56
  • 最近打卡:2025-05-03 10:05:34

718

主题

1万

回帖

1万

积分

管理员

积分
15648
发表于 2024-9-9 15:34:35 | 显示全部楼层
liuyu*** 发表于 2024-9-9 14:37
我把这个代码复制到项目里,但没有产生出PWM信号。
我现在需要一个频率是10KHz,占空比50%的PWM信号。
在5 ...

我是新人,占空比 50%的信号就是 方波 ?
也就是你要时钟输出
截图202409091538479533.jpg
管脚兼容的 12H1K16-36I-TSSOP20/28, SOP20/28, LQFP32
在 P3.5上可以T0CLKO, 用T0对主时钟分频输出时钟,无需中断干预
截图202409091542069004.jpg
截图202409091550009391.jpg


截图202409091538036310.jpg

截图202409091537175579.jpg


截图202409091536313251.jpg






回复 支持 反对

使用道具 举报 送花

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|手机版|小黑屋|深圳国芯人工智能有限公司 ( 粤ICP备2022108929号-2 )

GMT+8, 2025-5-4 04:12 , Processed in 0.225128 second(s), 88 queries .

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

快速回复 返回顶部 返回列表