找回密码
 立即注册

QQ登录

只需一步,快速开始

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

求助大佬,51单片机用按键控制输出pwm波

[复制链接]
跳转到指定楼层
楼主
ID:707446 发表于 2020-4-4 09:28 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
构想是四个按键控制四个输入口。其中俩个按键分别控制两档不同的频宽,而且这两个按键不能同时被按下。另外俩个按键控制俩档不同的时间间隔,这俩个按键也不能同时按下。但是控制频宽和控制时间间隔的按键之间可以任意组合。 接触单片机不久,希望大家给点提示。
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖 顶 踩
回复

使用道具 举报

沙发
ID:213173 发表于 2020-4-4 21:54 | 只看该作者
给你一个按键思路
void keyscan()       
{
        static bit sign=0;        //按键自锁标志
        static unsigned char count=0;//消抖计数变量       
        num=P1&0x0f;//P1.0~P1.3为4个按键
        if(num!=0x0f)
        {
                if(++count=250&&sign==0)
                {
                        count=1;
                        switch(num)
                        {
                                case 0x0e: /*任务1*/ break;//单键
                                case 0x0d: /*任务2*/ break;//单键
                                case 0x0b: /*任务3*/ break;//单键
                                case 0x07: /*任务4*/ break;//单键
                                case 0x05: /*任务5*/ break;//组合键
                                case 0x0a: /*任务6*/ break;//组合键
                                default: break;
                        }
                }
                else
                {
                        count=0;
                        count=0;
                }
        }
}
回复

使用道具 举报

板凳
ID:707311 发表于 2020-4-6 21:42 | 只看该作者
wulin 发表于 2020-4-4 21:54
给你一个按键思路
void keyscan()       
{

为何else那里写了2次count = 0?
回复

使用道具 举报

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

本版积分规则

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

Powered by 单片机教程网

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