51單片機(jī)匯編語(yǔ)言編程:用定時(shí)器控制輸出矩形波
80C51單片機(jī)的時(shí)鐘頻率為12MHz,利用定時(shí)器T1和P1.0輸出矩形脈沖。
波形只畫(huà)出了2段:一段為100us 另一段為50us。
要完全的、完整的、詳細(xì)的編寫(xiě)此程序的過(guò)程!謝謝
------------------------
最佳答案:
用一個(gè)定時(shí)器定時(shí)50us,也可以達(dá)到題目要求。
在我的空間里面有類(lèi)似的問(wèn)題和解答。
ORG 0000H
SJMP START
ORG 001BH ;T1中斷入口.
SJMP T1_INT
START:
MOV TMOD, #20H ;設(shè)置T1定時(shí)方式2
MOV TH1, #206 ;自動(dòng)重新裝入方式.
MOV TL1, #206 ;定時(shí)時(shí)間
MOV IE, #10001000B ;開(kāi)放總中斷和T1中斷.
SETB TR1 ;啟動(dòng)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 ;完.
------------------------
已知51單片機(jī)系統(tǒng)晶振頻率為12MHz,請(qǐng)利用定時(shí)器1工作方式1,中斷方式在P2.3輸出頻率為10Hz的方波。
寫(xiě)出定時(shí)設(shè)計(jì)過(guò)程及完整代碼
問(wèn)題補(bǔ)充:用匯編的 麻煩寫(xiě)一下
------------------------
最佳答案:
ORG 0000H
SJMP START
ORG 001BH ;T1中斷入口.
SJMP T1_INT
START:
MOV TMOD, #10H ;設(shè)置T1定時(shí)方式1
MOV TH1, #(65536-50000) / 256 ;送入初始值.
MOV TL1, #(65536-50000) MOD 256 ;定時(shí)
MOV IE, #10001000B ;開(kāi)放總中斷和T1中斷.
SETB TR1 ;啟動(dòng)T1
SJMP $ ;等著吧.
T1_INT:
MOV TH1, #(65536-50000) / 256 ;重新送入初始值.
MOV TL1, #(65536-50000) MOD 256 ;定時(shí)
CPL P2.3 ;輸出方波.
RETI ;中斷返回.
END ;完.
------------------------
===========================================
單片機(jī)編程
選用T0操作模式1用于定時(shí),由P1.7輸出周期為5ms方波的控制程序,設(shè)晶振fosc=6MHz。
------------------------
最佳答案:
ORG 0000H
MOV TMOD, #01H ;T0方式1定時(shí).
SETB TR0 ;啟動(dòng)T0
LOOP:
MOV TH0, #(65536-5000/2/2) / 256 ;送入初始值.
MOV TL0, #(65536-5000/2/2) MOD 256 ;定時(shí)
JNB TF0, $ ;等待定時(shí)完成.
CLR TF0 ;清除標(biāo)志.
CPL P1.7 ;輸出方波.
SJMP LOOP ;無(wú)限循環(huán).
END ;完.