回覆列表
  • 1 # 使用者9511985992372

    delay1000ms:(HT46R65的微控制器)(注意不要開啟計時中斷允許位)

    mov a,10000111b (設定頻率和記數方式)(上升記數還是下降記數)

    mov tmr0c,a (tmr0c 計數器的控制暫存器)

    mov a,low(65536-31250) (設定的頻率就是1S上升31250)因此是DELAY1S mov TMR0L,a (計數器的賦予初始值的低位暫存器)

    mov a,high(65536-31250) mov TMR0h,a(計數器的賦予初始值的高位暫存器)

    set tmr0c.4 (開啟記數)

    snz intc0.6 (是否有中斷請求標誌)(有就跳過)

    jmp $-1 (退回一步)

    clr tmr0c.4 (關閉記數)

    clr intc0.6 (清除中斷標誌)

    ret

  • 2 # 麼的錄影片

    如果是11.0592MHz的晶振,那麼程式是:void delay(uint xms){ int i,j; for(int i=xms;i>0;i--) for(j=148;j>0;j--);}delay(1)是延時1ms,所以延時一秒就是delay(1000);還有不懂的可以繼續問

  • 中秋節和大豐收的關聯?
  • 家裡ppr管道過橋彎壞了,怎麼換?