打印
[技术问答]

新人请教 出现一个状况 数码管会一直闪烁 但是没有做动态扫描

[复制链接]
929|8
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
味愚|  楼主 | 2020-5-26 20:09 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式
这是我代码

#include "N76E003.h"
#include "SFR_Macro.h"
#include "Function_define.h"
#include "Common.h"
#include "Delay.h"
sbit Px7= P1^2;
sbit Px6= P1^5;
sbit Px5= P0^4;
sbit Px4= P1^1;
sbit Px3= P1^0;
sbit Px2= P3^0;
sbit Px1= P0^3;
sbit Px0= P0^1;
void LED_Data(unsigned char da)
{
Px7 = (bit)(da&0x80);
Px6 = (bit)(da&0x40);
Px5 = (bit)(da&0x20);
Px4 = (bit)(da&0x10);
Px3 = (bit)(da&0x08);
Px2 = (bit)(da&0x04);
Px1 = (bit)(da&0x02);
Px0 = (bit)(da&0x01);
}
void main (void)
{
        Set_All_GPIO_Quasi_Mode;                                        // Define in Function_define.h
      
  while(1)
  {
                clr_P17;
    clr_P05;
                clr_P06;
                clr_P00;
        LED_Data(0x7f);
  }
}

使用特权

评论回复
沙发
天灵灵地灵灵| | 2020-5-26 20:24 | 只看该作者
要延时啊。你没有延时。一直在切换。你要给每个状态一点时间。比如给20ms

使用特权

评论回复
板凳
天灵灵地灵灵| | 2020-5-26 20:25 | 只看该作者
LED_Data这个函数最后加个延时应该就可以正常显示了。不然频繁切换,就会看着闪烁,还不怎么亮。

使用特权

评论回复
地板
xinxianshi| | 2020-5-26 21:21 | 只看该作者

使用特权

评论回复
5
xinxianshi| | 2020-5-26 21:22 | 只看该作者
点亮后延时10ms

使用特权

评论回复
6
xinxianshi| | 2020-5-26 21:24 | 只看该作者
https://bbs.21ic.com/icview-2584416-1-1.html
看看这个贴,就用延时了。

使用特权

评论回复
7
xyz549040622| | 2020-5-26 22:29 | 只看该作者
还有可能,单片机不停的重启,我一般开机号启动串口,输出固定的字符串进行检测。还碰到过一种情况,不停的进去中断,比如看门狗,低电压中断。

使用特权

评论回复
8
643757107| | 2020-5-26 23:13 | 只看该作者
先上延时函数看看缓解没。

使用特权

评论回复
9
598330983| | 2020-5-26 23:56 | 只看该作者
最明显的问题就是没有延时。

使用特权

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

本版积分规则

1

主题

5

帖子

0

粉丝