51单片机汇编程序编写方波输出程序
已知51单片机系统晶振为6MHZ,请利用定时器1工作方式1,软件查询方式在P1.1输出频率为10HZ的方波,写出定时设计过程和完整的汇编程序。...
已知51单片机系统晶振为6MHZ,请利用定时器1工作方式1,软件查询方式在P1.1输出频率为10HZ的方波,写出定时设计过程和完整的汇编程序。
展开
展开全部
ORG 0000H
LJMP START
ORG 001BH
LJMP Timer1Interrupt
START:
MOV SP,#60H
LCALL InitTimer1
LOOP:
;主循环 添加其他代码
LJMP LOOP
InitTimer1:
MOV TMOD,#10H
MOV TH1,#9EH
MOV TL1,#58H
SETB EA
SETB ET1
SETB TR1
RET
Timer1Interrupt:
PUSH DPH
PUSH DPL
PUSH ACC
MOV TH1,#9EH
MOV TL1,#58H
CPL P1.1//对P1.1进行取反
POP ACC
POP DPL
POP DPH
RETI
END
LJMP START
ORG 001BH
LJMP Timer1Interrupt
START:
MOV SP,#60H
LCALL InitTimer1
LOOP:
;主循环 添加其他代码
LJMP LOOP
InitTimer1:
MOV TMOD,#10H
MOV TH1,#9EH
MOV TL1,#58H
SETB EA
SETB ET1
SETB TR1
RET
Timer1Interrupt:
PUSH DPH
PUSH DPL
PUSH ACC
MOV TH1,#9EH
MOV TL1,#58H
CPL P1.1//对P1.1进行取反
POP ACC
POP DPL
POP DPH
RETI
END
更多追问追答
追问
MOV TH1,#9EH
MOV TL1,#58H
计数初值是怎么计算出来的。他的它是周期多少微秒的方波。
追答
6MHz 一个周期是2us
10Hz的波形就是100ms一个周期
0占50%1占50%
那么0的时间就是50ms
1的时间也是50ms
组合起来就是100ms的周期
计算延时的方法就是
65536-延时时间(us)/2
50ms就是50000/2=25000
65536-25000=40536=9E58H
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询