找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 139|回复: 2
收起左侧

单片机数码管闪烁 总有一个比其他微微亮

[复制链接]
ID:1113963 发表于 2024-4-5 22:52 | 显示全部楼层 |阅读模式
这是数码管显示界面,数码管出现闪烁,总有一个比其他微微亮,求助求助
这是为什么呢,问题在哪里?



void Delay600us(void)        //@12.000MHz
{
        unsigned char data i, j;

        i = 7;
        j = 254;
        do
        {
                while (--j);
        } while (--i);
}
void single_SMG(unsigned char pos,unsigned char dat)
{

         select_channel(6);
         P0=0x01<<pos;
         select_channel(7);
         P0=dat;
         Delay600us();                    //找到最合适的参数  两个都是1ms
   select_channel(6);
         P0=0xff;
         select_channel(7);
         P0=0xff;
         Delay600us();

}
//***************************************************


//**************************************************8                       

void SMG_display()
{
        
        switch(stat)
        {
                case 1:                                   //时间界面
                   single_SMG(7,SMG_nodot[time[0]%16]);
                  
                  single_SMG(6,SMG_nodot[time[0]/16]);
                  
                  single_SMG(5,0xbf);
                  
                  single_SMG(4,SMG_nodot[time[1]%16]);
                  
                  single_SMG(3,SMG_nodot[time[1]/16]);
                  
                        single_SMG(2,0xbf);
                  
                  single_SMG(1,SMG_nodot[time[2]%16]);
                  
                  single_SMG(0,SMG_nodot[time[2]/16]);
                  select_channel(6);
            P0=0xff;
            select_channel(7);
            P0=0xff;
                  
                        
                break;
                case 2:                                       //回显温度界面
                        
                        if(action_n==0)
                        {
                                single_SMG(7,0xff);
                    
                    single_SMG(6,0xff);
                    
                    single_SMG(5,0xff);
                    
                    single_SMG(4,0xff);
                    
                    single_SMG(3,0xff);
                    
                          single_SMG(2,0xff);
                    
                    single_SMG(1,0xff);
                    
                    single_SMG(0,SMG_nodot[12]);             //C
                    

                        }
                        else
                        {
                                single_SMG(7,SMG_nodot[temper_aver%10]);
                    
                    single_SMG(6,SMG_dot[(temper_aver%100)/10]);
              
                                single_SMG(5,SMG_nodot[(temper_aver/100)]);
                    
                    single_SMG(4,0xbf);
                    
                    single_SMG(3,SMG_nodot[temper_max%10]);
                    
                          single_SMG(2,SMG_nodot[temper_max%100/10]);
                    
                    single_SMG(1,0xff);
                    
                    single_SMG(0,SMG_nodot[12]);
                    

                        }
                        
                break;

回复

使用道具 举报

ID:366877 发表于 2024-4-6 21:25 | 显示全部楼层
没有硬件电路说明,怎么分析?
回复

使用道具 举报

ID:276663 发表于 2024-4-7 09:10 | 显示全部楼层
主函数都没有,这程序能跑就很厉害了
回复

使用道具 举报

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

本版积分规则

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

Powered by 单片机教程网

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