找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 2156|回复: 6
打印 上一主题 下一主题
收起左侧

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

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

分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖 顶 踩
回复

使用道具 举报

沙发
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,可以不每次中断切修改输出。
回复

使用道具 举报

5#
ID:162360 发表于 2017-2-4 21:45 | 只看该作者
已解决
回复

使用道具 举报

6#
ID:225076 发表于 2017-10-4 16:11 | 只看该作者
您能把程序分享给我看看么
回复

使用道具 举报

7#
ID:217754 发表于 2017-10-6 22:56 | 只看该作者
厉害。看来还要花更多时间来学才行了
回复

使用道具 举报

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

本版积分规则

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

Powered by 单片机教程网

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