设单片机的晶振频率为6MHz,编程用定时器T0,在P1.0产生一个50Hz的方波。

用汇编语言!谢谢!

f=50Hz,T=0.02s=20ms,所以每10ms中断一次,P1.0取反若选用工作方式1,则计数初值为EC78H ORG 0000H
LJMP START
ORG 000BH
LJMP Timer0Interrupt;定时器中断START:
MOV SP,#60H SETB P1.0
LCALL InitTimer0LOOP: NOP
;这可以加另外的代码 LJMP LOOPInitTimer0://定时器初始化
MOV TMOD,#01H
MOV TH0,#0ECH
MOV TL0,#78H
SETB EA
SETB ET0
SETB TR0
RETTimer0Interrupt:
PUSH DPH
PUSH DPL
PUSH ACC
MOV TH0,#0ECH
MOV TL0,#78H
CPL P1.0;输出方波
POP ACC
POP DPL
POP DPH
RETIEND
温馨提示:答案为网友推荐,仅供参考
相似回答