[問題] 8051 輸出方波
大家好 我是正在學習8051的新手
我想請教各位版友
我買了一個市售的8051模組 機械周期為1微秒
我要使用這個模組輸出一個頻率為3Hz且可調整Duty Cycle的方波
頻率3Hz週期為1/f=333333.333微秒
若duty cycle值為0.2% 則方波on的時間為333333.333*0.2%=666.666微秒
方波off的時間為333333.333-666.666=332666.667微秒
所以on時間須執行667次機械周期
off時間須執行332666次機械周期而,我程式理設定執行300000微秒)
因為計時/計數器最大的計數值僅有2^16=65536
所以我設計讓off每次跑10000微秒 總共跑30次
只是寫完總是覺得怪怪的
以下是我的程式碼 懇請各位版友幫幫我看哪裡有問題!
ORG 00H
SJMP START
START:
MOV TMOD,#01H
SETB TR0
LOOP:
CLR P1.0 ;on 的周期開始
MOV TH0,#>(65536-667)
MOV TL0,#<(65536-667)
S1: JBC TF0,S3
SJMP S1
S3: R6,#30
pint0:
CPL P1.0 ;off 的周期開始
CLR TF0
MOV TH0,#>(65536-10000)
MOV TL0,#<(65536-10000)
S2: JBC TF0,S4
S4:
CLR TF0
DJNZ R6,pint0
SJMP LOOP
END
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 140.113.153.86
※ 編輯: kittysan 來自: 140.113.253.119 (02/24 17:34)
推
02/24 17:25, , 1F
02/24 17:25, 1F
※ 編輯: kittysan 來自: 140.113.253.119 (02/24 17:55)
ASM 近期熱門文章
PTT數位生活區 即時熱門文章