您现在的位置: 主页 > MCU > 单片机技术应用 > 使用定时器1以方式0产生周期为500us的方波连续脉冲 -
本文所属标签:
为本文创立个标签吧:

使用定时器1以方式0产生周期为500us的方波连续脉冲 -

来源: 网络用户发布,如有版权联系网管删除 2018-09-07 

[导读]
设单片机晶振频率为6MHz,要求使用定时器1以方式0产生周期为500us的等宽正方波连续脉冲,并由P1.0输出,以查询方式完成。求单片机高手帮忙!;-------------------------------------------------------

设单片机晶振频率为6MHz,要求使用定时器1以方式0产生周期为500us的等宽正方波连续脉冲,并由P1.0输出,以查询方式完成。
求单片机高手帮忙!
;----------------------------------------------------------------
分析:
方式0,求初始值时,稍麻烦点。
按照题目要求,需要定时250us。
因为晶振频率为6MHz,指令周期就是2us,那么计数值就是125。
因为方式0的最大计数值是 2^13,于是有:
    初始值 = 8192-125 = 8067 = 1111 1100 00011
使用方式0,要求把1111110000011,分成高8位和低5位,故有:
    1111 1100 '000'00011
;----------------------------------------------------------------
程序如下:
MOV TMOD, #00H
MOV TH1, #11111100B
MOV TL1, #00000011B
SETB TR1
LOOP:
JNB TF1, $
MOV TH1, #11111100B
MOV TL1, #00000011B
CPL P1.0
CLR TF1
SJMP LOOP
END
;----------------------------------------------------------------
经过用 PROTEUS 实验发现,P1.0输出方波频率稍有误差。
如果把TL1赋值指令改为:MOV TL1, #00000101B,可将频率控制为2016Hz。

本文引用地址: http://www.21ic.com/app/mcu/201806/764334.htm



              查看评论 回复



嵌入式交流网主页 > MCU > 单片机技术应用 > 使用定时器1以方式0产生周期为500us的方波连续脉冲 -
 

"使用定时器1以方式0产生周期为500us的方波连续脉冲 -"的相关文章

网站地图

围观()