打印

新学单片机一个多月,请教各位大侠;

[复制链接]
2248|14
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
sonic245|  楼主 | 2012-3-1 10:09 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
如何用51单片机的IO口给50Hz的方波计数。
我用的是高低电平判断的方法,IO口连到按键上计数没有问题,
可连到方波上,数字就是不跳啊。
电路也应该没有错误,用中断来计数也没有问题。
请各位大侠给点帮助,小弟只会写C语言。。。

相关帖子

沙发
ayb_ice| | 2012-3-1 10:22 | 只看该作者
查询也可以,中断也可以,计数也可以

使用特权

评论回复
板凳
墨羽谨年| | 2012-3-1 10:34 | 只看该作者
也许是一个电平的判断问题吧,你要看你的单片机是把多少伏以上的判断为高电平,多少伏以下的电平算低电平。(个人愚见,有误莫怪)

使用特权

评论回复
地板
墨羽谨年| | 2012-3-1 10:34 | 只看该作者
也许是一个电平的判断问题吧,你要看你的单片机是把多少伏以上的判断为高电平,多少伏以下的电平算低电平。(个人愚见,有误莫怪)

使用特权

评论回复
5
墨羽谨年| | 2012-3-1 10:34 | 只看该作者
也许是一个电平的判断问题吧,你要看你的单片机是把多少伏以上的判断为高电平,多少伏以下的电平算低电平。(个人愚见,有误莫怪)

使用特权

评论回复
6
sonic245|  楼主 | 2012-3-1 10:53 | 只看该作者
5# 墨羽谨年

应该不是电压的问题,电压我刚刚量过了

使用特权

评论回复
7
sonic245|  楼主 | 2012-3-1 10:54 | 只看该作者
2# ayb_ice
能细说说么,谢谢

使用特权

评论回复
8
sonic245|  楼主 | 2012-3-2 09:02 | 只看该作者
还是没有解决

使用特权

评论回复
9
ayb_ice| | 2012-3-2 09:14 | 只看该作者
本帖最后由 ayb_ice 于 2012-3-2 09:18 编辑

unsigned long counter;

void io_counter(void)
{
    bit new,old;

    new = old = io;

    while(1){
        new = io;

        if(new != old){
            counter++;
            old = new;
        }
    }
}

使用特权

评论回复
10
liang7143| | 2012-3-2 09:49 | 只看该作者
LZ 是不是 用的 delay() 这类阻塞的延时函数 进行的 去抖啊?
把这些 都干掉吧
查询用ls的  哈哈
最好用中断 和 计数

使用特权

评论回复
11
rtgchym| | 2012-3-2 10:20 | 只看该作者
用定时器定时输出一个高电平和低电平

使用特权

评论回复
12
sonic245|  楼主 | 2012-3-2 17:10 | 只看该作者
先对楼上提供帮助的几位朋友表示感谢  
出结果之后再来:)

使用特权

评论回复
13
sonic245|  楼主 | 2012-3-2 18:28 | 只看该作者
调试成功,不过问题是出在电路上,该了就解掉啦
同样感谢

使用特权

评论回复
14
q553178245| | 2012-3-9 15:56 | 只看该作者
最好是用中断

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

1

主题

10

帖子

1

粉丝