找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 3429|回复: 6
收起左侧

大神进来看看 用定时器输出可调方波,可调范围为0%——99%(精度1%)

[复制链接]
ID:162360 发表于 2017-1-31 15:21 | 显示全部楼层 |阅读模式
50黑币
用定时器输出可调方波,可调范围为0%——99%(精度1%)。在外部中断0,和外部中断1分别接一个按键。
  其中一个按键控制方波占空比加,另一个控制其减。在P1口接两个BCD数码管,显示占空比的值
请教大神如何编写。

回复

使用道具 举报

ID:123289 发表于 2017-2-2 15:41 | 显示全部楼层
本帖最后由 yzwzfyz 于 2017-2-2 15:45 编辑

1、设两个寄存器:H和L,其中放任意一个<=99的数,但保持H+L=100.
2、按增加键时将H+1,L-1。H=99时不再+。
3、按减少键时将H-1,L+1。H=0时不再-。
4、再设两个计数器:JH和JL,初始、重复位时让JH=H,JL=L。
5、做一个定时中断,时间常数你可以任意定。每次中断时做如下事:
5.1、如果JH>0,就从P口输入出1,反之输出0(JH=0时)。
5.2、如果JH>0,就将JH-1,反之将JL-1(JH=0,JL>0)。
5.3、如果JH=0且JL=0。就做重复位:让JH=H,JL=L。
如此达成题目。
回复

使用道具 举报

ID:123289 发表于 2017-2-2 15:42 | 显示全部楼层
显示时,只要将JH中的数据进行译码显示即可。
回复

使用道具 举报

ID:123289 发表于 2017-2-2 15:48 | 显示全部楼层
以上方案可以改进,由楼主自己行考虑:提示可以省去L,可以不每次中断切修改输出。
回复

使用道具 举报

ID:162360 发表于 2017-2-4 21:45 | 显示全部楼层
已解决
回复

使用道具 举报

ID:225076 发表于 2017-10-4 16:11 | 显示全部楼层
您能把程序分享给我看看么
回复

使用道具 举报

ID:217754 发表于 2017-10-6 22:56 | 显示全部楼层
厉害。看来还要花更多时间来学才行了
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表