找回密码
 立即注册
查看: 561|回复: 7

8H8K64U生成方波输出的问题| 已解决

[复制链接]
  • 打卡等级:偶尔看看I
  • 打卡总天数:17
  • 最近打卡:2024-09-17 10:21:00

8

主题

21

回帖

169

积分

注册会员

积分
169
发表于 2024-8-18 23:31:53 | 显示全部楼层 |阅读模式
本帖最后由 i_zw 于 2024-9-1 20:19 编辑

各位大家好,使用8H8K64U能生成多高评率的方波输出呢,在ISP工具里面,只有 33M频率 1us的定时器,计算下来最快能生成500KHz的波形,如果要生成1MHz或1.2MHz的波形应该怎么做
试过提高评率,选择到40M系统频率的时候,输出信号的评率搞了一些,但是选择到 48MHz,系统频率的时候,输出信号频率又降下来了。

如果要产生 500K,600K,700K,800K,900K这样到1500KHz的方波,用这个芯片可以吗,或者需要选用其他什么型号的芯片才能实现

使用代码

void Timer1_Init(void)                //1微秒@33.1776MHz
{
        AUXR |= 0x40;                        //定时器时钟1T模式
        TMOD &= 0x0F;                        //设置定时器模式
        TMOD |= 0x20;                        //设置定时器模式
        TL1 = 0xDF;                                //设置定时初始值
        TH1 = 0xDF;                                //设置定时重载值
        TF1 = 0;                                //清除TF1标志
        TR1 = 1;                                //定时器1开始计时
}


回复

使用道具 举报 送花

  • 打卡等级:以坛为家II
  • 打卡总天数:469
  • 最近打卡:2025-06-17 09:09:48
已绑定手机

79

主题

5137

回帖

9134

积分

超级版主

DebugLab

积分
9134
发表于 2024-8-19 00:13:38 | 显示全部楼层

主时钟分频后输出
截图202408190013236614.jpg
DebugLab
回复 支持 2 反对 0

使用道具 举报 送花

  • 打卡等级:以坛为家II
  • 打卡总天数:422
  • 最近打卡:2025-06-17 08:44:16

26

主题

117

回帖

898

积分

高级会员

积分
898
发表于 2024-8-19 07:01:42 | 显示全部楼层
为啥不适用PWM
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:初来乍到
  • 打卡总天数:6
  • 最近打卡:2025-05-09 14:06:13

5

主题

186

回帖

1405

积分

金牌会员

积分
1405
发表于 2024-8-20 09:39:43 | 显示全部楼层
本帖最后由 jmg 于 2024-8-20 09:42 编辑

using just the timers, this is possible

截图202408200942304517.jpg
You pick /1 on SYSCLK and each overflow toggles via T0CLKO, possible are all of   Fo = SysCLK/(2*N)  


You ask for

33M/500k = 66 = OK  SysCLK/33/2
33M/600k = 55 Not 2N  nearest is Possible is 33M/27/2 = 611111Hz
33M/700k  = 47.14285714 nearest is 687500Hz
33M/800k = 41.25  nearest is 785714Hz
33M/900k = 36.66666667 nearest is 916667Hz
33M/1500k = 22 = OK SysCLK/11/2
You have all the choices of 33 to 11 clocks per toggle, for 500kHz to 1.5MHz  


Or, if you enable the PLL and use the PWM as mentioned above, the CLOCK used can be higher and finer resolution is possible.




回复 支持 反对

使用道具 举报 送花

  • 打卡等级:偶尔看看I
  • 打卡总天数:17
  • 最近打卡:2024-09-17 10:21:00

8

主题

21

回帖

169

积分

注册会员

积分
169
发表于 2024-8-22 20:16:16 | 显示全部楼层
jm*** 发表于 2024-8-20 09:39
using just the timers, this is possible

谢谢你的提示和建议
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:偶尔看看I
  • 打卡总天数:17
  • 最近打卡:2024-09-17 10:21:00

8

主题

21

回帖

169

积分

注册会员

积分
169
发表于 2024-8-22 20:19:07 | 显示全部楼层
Debu*** 发表于 2024-8-19 00:13
主时钟分频后输出

谢谢你的提示和建议
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:偶尔看看I
  • 打卡总天数:17
  • 最近打卡:2024-09-17 10:21:00

8

主题

21

回帖

169

积分

注册会员

积分
169
发表于 2024-8-22 20:19:23 | 显示全部楼层

学习文档研究下PWM
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:偶尔看看I
  • 打卡总天数:17
  • 最近打卡:2024-09-17 10:21:00

8

主题

21

回帖

169

积分

注册会员

积分
169
发表于 2024-9-1 20:13:03 | 显示全部楼层
jm*** 发表于 2024-8-20 09:39
using just the timers, this is possible

用timer产生方波,需要执行io口的0,1赋值,当评率达到 860K的时候,就上不去了,估计是timer  isr 服务占用了时间。通过pwm 产生了需要的频率可以达到1M。

void PWM_init()
{
          P_SW2 |= 0x80;
          PWMA_PS=0x10;                               //select PWMA3Pin P:P24,N:P25 -useP24
    PWMA_CCER2 = 0x00;                          // before update CCMRx ,reset CCERx to close PWMA/B channel, clear
    PWMA_CCMR3 = 0x60;                          //set PWMA channel,mode 1
    PWMA_CCER2 = 0x01;                          //config PWMA channel enable OUT,PWMA3P ,
    PWMA_CCR3 = 14;//PWM_DUTY;                       // occupation count
    PWMA_ARR = 28;//PWM_PERIOD;                      // period count
    PWMA_ENO = 0x10;                            //ennabe OUT.PWMA3P
    PWMA_BKR = 0x80;                            //enable main OUT
    PWMA_CR1 = 0x01;                            //start counter       
}
只是又遇到一个问题,用PWM产生的方波频率,在定时timer中通过PWMA_CR1 =0x00和0x01 启动和停止后,不确定是停止在高电平还是低电平,请问这个有方法控制吗

微信图片_20240901201013.png

回复 支持 反对

使用道具 举报 送花

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

本版积分规则

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

GMT+8, 2025-6-17 22:05 , Processed in 0.173941 second(s), 94 queries .

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

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