Lifar 发表于 2023-12-6 11:10:20

关于用PWM定时器产生随机数的问题


        MOV        P_SW2,#0x80
PWMA_INIT:       
        MOV        DPTR,#PWMA_PSCRH
        MOV        A,#0
        MOVX        @DPTR,A
        INC        DPTR
        MOVX        @DPTR,A
        MOV        DPTR,#PWMA_ARRH
        MOV        A,#0xFF
        MOVX        @DPTR,A
        INC        DPTR
        MOVX        @DPTR,A
        MOV        A,#0x1
        MOV        DPTR,#PWMA_CR1
        MOVX        @DPTR,A
我用的单片机是8H4K64TL,我想开启pwmA,然后读取计数器的低八位,用做随机数,我用了上面的代码,但是没有开启,另外也找不到这方面的详细一点的说明,请教各位老师,哪里还有问题?

gentleman 发表于 2023-12-6 11:22:45


参考例程 看看pwm开启成功了吗{:4_165:}


Lifar 发表于 2023-12-6 12:06:37

gentleman 发表于 2023-12-6 11:22
参考例程 看看pwm开启成功了吗

谢谢!我先试试

Lifar 发表于 2023-12-6 19:46:53

本帖最后由 Lifar 于 2023-12-6 20:26 编辑

问题已解决,程序修改如下:
PWMA_INIT:
      MOV      DPTR,#PWMA_PSCRH
      MOV      A,#0
      MOVX      @DPTR,A
      INC      DPTR
      MOV      A,#10
      MOVX      @DPTR,A
      MOV      DPTR,#PWMA_ARRH
      MOV      A,#0xFF
      MOVX      @DPTR,A
      INC      DPTR
      MOVX      @DPTR,A
      MOV      DPTR,#PWMA_CR1
      MOV      A,#0x1
      MOVX      @DPTR,A
经过多次试验PWMA_PSCR的值必须>=10才会运行,不知是什么原因
页: [1]
查看完整版本: 关于用PWM定时器产生随机数的问题