51微控制器組合語言程式設計:用定時器控制輸出矩形波
80C51微控制器的時鐘頻率為12MHz,利用定時器T1和P1.0輸出矩形脈衝。
波形只畫出了2段:一段為100us 另一段為50us。
要完全的、完整的、詳細的編寫此程式的過程!謝謝
懸賞分:5 | 解決時間:2011-1-9 15:24
------------------------
最佳答案:
用一個定時器定時50us,也可以達到題目要求。
在我的空間裡面有類似的問題和解答。
ORG 0000H
SJMP START
ORG 001BH ;T1中斷入口.
SJMP T1_INT
START:
MOV TMOD, #20H ;設定T1定時方式2
MOV TH1, #206 ;自動重新裝入方式.
MOV TL1, #206 ;定時時間
MOV IE, #10001000B ;開放總中斷和T1中斷.
SETB TR1 ;啟動T1
MOV R2, #3 ;週期是3×50us
SJMP $ ;等著吧.
T1_INT:
SETB P1.0 ;輸出高.
DJNZ R2, T1_END ;R2-1
CLR P1.0 ;減到0,就輸出低電平.
MOV R2, #3
T1_END:
RETI ;中斷返回.
END ;完.
------------------------
回答時間:2011-1-9 13:05
回答者: 做而論道 | 十四級 採納率:37%
提問者對於答案的評價:謝謝咯 很感謝
原題網址:
===========================================
已知51微控制器系統晶振頻率為12MHz,請利用定時器1工作方式1,中斷方式在P2.3輸出頻率為10Hz的方波。
寫出定時設計過程及完整程式碼
問題補充:用匯編的 麻煩寫一下
懸賞分:10 | 解決時間:2011-1-10 13:58
------------------------
最佳答案:
ORG 0000H
SJMP START
ORG 001BH ;T1中斷入口.
SJMP T1_INT
START:
MOV TMOD, #10H ;設定T1定時方式1
MOV TH1, #(65536-50000) / 256 ;送入初始值.
MOV TL1, #(65536-50000) MOD 256 ;定時
MOV IE, #10001000B ;開放總中斷和T1中斷.
SETB TR1 ;啟動T1
SJMP $ ;等著吧.
T1_INT:
MOV TH1, #(65536-50000) / 256 ;重新送入初始值.
MOV TL1, #(65536-50000) MOD 256 ;定時
CPL P2.3 ;輸出方波.
RETI ;中斷返回.
END ;完.
------------------------
回答時間:2011-1-10 13:47
回答者: 做而論道 | 十四級 採納率:37%
原題網址:
===========================================
微控制器程式設計
選用T0操作模式1用於定時,由P1.7輸出週期為5ms方波的控制程式,設晶振fosc=6MHz。
懸賞分:50 | 解決時間:2011-1-9 14:25
------------------------
最佳答案:
ORG 0000H
MOV TMOD, #01H ;T0方式1定時.
SETB TR0 ;啟動T0
LOOP:
MOV TH0, #(65536-5000/2/2) / 256 ;送入初始值.
MOV TL0, #(65536-5000/2/2) MOD 256 ;定時
JNB TF0, $ ;等待定時完成.
CLR TF0 ;清除標誌.
CPL P1.7 ;輸出方波.
SJMP LOOP ;無限迴圈.
END ;完.
------------------------
回答時間:2011-1-9 10:23
回答者: 做而論道 | 十四級 採納率:37%
提問者對於答案的評價:謝謝
原題網址:
===========================================