搜索

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

[复制链接]
510|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这个函数最后加个延时应该就可以正常显示了。不然频繁切换,就会看着闪烁,还不怎么亮。

使用特权

评论回复
| 2020-5-26 21:21 | 显示全部楼层
259625ecd17c7699c7.png

使用特权

评论回复
| 2020-5-26 21:22 | 显示全部楼层
点亮后延时10ms

使用特权

评论回复
| 2020-5-26 21:24 | 显示全部楼层
https://bbs.21ic.com/icview-2584416-1-1.html
看看这个贴,就用延时了。

使用特权

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

使用特权

评论回复
| 2020-5-26 23:13 | 显示全部楼层
先上延时函数看看缓解没。

使用特权

评论回复
| 2020-5-26 23:56 | 显示全部楼层
最明显的问题就是没有延时。

使用特权

评论回复
扫描二维码,随时随地手机跟帖
您需要登录后才可以回帖 登录 | 注册

本版积分规则

我要发帖 投诉建议 创建版块 申请版主

快速回复

您需要登录后才可以回帖
登录 | 注册
高级模式

论坛热帖

在线客服 快速回复 返回顶部 返回列表