51单片机的应用——利用定时器控制输出占空比不为50%的周期矩形脉冲

       假设单片机的晶振是12MHz,利用T0和P1.6输出矩形脉冲,波形图如下

 分析:假设高电平维持时间是 td=40μs,低电平维持时间是5td,则可设置一个基本定时单元td,实现占空比不为50%的周期矩形脉冲输出。

        选择T0模式0,13位定时器,初值X=8152=1111 1110 11000,高八位送TH0,低5位送TL0,TL0高三位默认0,故TH0 = #0FEH,TL0 = 18H

程序实现:

MAIN:MOV R5,#05H;输出5次低电平
     MOV TMOD,#00H;定时器初始化
     MOV TH0,#0FEH
     MOV TL0,#18H
     SETB TR0;定时器启动
     CLR P1.6;初始输出为低电平
     CLR 20H.0;输出低电平标志位

CONT:JBC  TF0,OVFL;等待查询,此时波形输出中
     AJMP CONT

OVFL:MOV TH0,#0FEH;定时器重装
     MOV TL0,#18H
     JB 20H.0,LOW;若20H.0=1,跳转到LOW输出5次低电平
     SETB P1.6;否则输出1次高电平,置20H.0=1,使得下次跳转到LOW
     SETB 20H.0

LOW:CLR P1.6;输出5次低电平
    DJNZ R5,CONT
    MOV R5,#05H;记得重装寄存器
    CLR 20H.0

GOON:SJMP CONT

总结 :占空比不是一半,可设置基本定时单元,控制高低电平输出的时间。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值