找回密码
 立即注册

QQ登录

只需一步,快速开始

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

单片机数码管显示不全还乱闪,感觉代码没错啊?

[复制链接]
回帖奖励 5 黑币 回复本帖可获得 5 黑币奖励! 每人限 1 次
跳转到指定楼层
楼主
ID:1058641 发表于 2023-9-21 16:35 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
程序2楼
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖 顶 踩
回复

使用道具 举报

沙发
ID:1058641 发表于 2023-9-21 16:49 | 只看该作者
#include <reg52.h>
#include "LCD7290.h"

sbit S1=P3^0;
sbit S2=P3^1;
sbit S3=P3^2;
sbit S4=P3^3;

code unsigned char SMGcode[18]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90,0x88,0x80,0xc6,0xc0,0x86,0x8e,0xbf,0xff};
unsigned int s=0;
unsigned int s0_1=0;
unsigned int s1=0;
unsigned int m=0;

void selectHC573(unsigned char n)
{
        switch(n)
        {
                case 5: P2=(P2 & 0x1f) | 0xa0;break;
                case 6: P2=(P2 & 0x1f) | 0xc0;break;
                case 7: P2=(P2 & 0x1f) | 0xe0;break;
        }
}

void displySMG(unsigned char pos,unsigned char value)
{
        selectHC573(6);
        P0=0x01<<pos;
        selectHC573(7);
        P0=value;       
}

void delay_dingshi(unsigned int n)
{
        while(n--);
}

void delay()
{
        unsigned char i;
        i = 350;
        while (i--);
}

void init()
{
        TMOD=0x01;
        TH0=(65535-50000)/256;
        TL0=(65535-50000)%256;

        ET0=1;
        EA=1;
        TR0=1;
}

void dinshi() interrupt 1
{
        TH0=(65535-50000)/256;
        TL0=(65535-50000)%256;
       
        s++;
        if(s == 20)
        {
                s0_1++;
                s=0;
                if(s0_1 >= 59)
                {
                        s1++;
                        s0_1 = 0;
                        if(s1 >= 59)
                        {
                                m++;
                                s1=0;
                        }
                        if(m >= 24)
                    m=0;
                }                       
        }               
}

void RunningSMG()
{
        displySMG(7,SMGcode[s0_1%10]);
        delay();
        displySMG(6,SMGcode[s0_1/10]);
        delay();
        displySMG(5,SMGcode[17]);
        delay();
        displySMG(4,SMGcode[s1%10]);
        delay();
        displySMG(3,SMGcode[s1/10]);
        delay();
        displySMG(2,SMGcode[17]);
        delay();
        displySMG(1,SMGcode[m%10]);
        delay();
        displySMG(0,SMGcode[m/10]);
        delay();       
}

void scan()
{
        if(S1 == 0)
        {
                delay_dingshi(50);
                if(S1 == 0)
                {
                        while(S1==0);
                        TR0=~TR0;       
                }
        }
        if(S2 == 0)
        {
                delay_dingshi(50);
                if(S2 == 0)
                {
                        while(S2==0);
                        if(++s0_1 >= 59)
                                s0_1=0;
                }
        }
        if(S3 == 0)
        {
                delay_dingshi(50);
                if(S3 == 0)
                {
                        while(S3==0);
                        if(++s1 >= 59)
                                s1=0;
                }
        }
        if(S4 == 0)
        {
                delay_dingshi(50);
                if(S4 == 0)
                {
                        while(S4==0);
                        if(++m >= 24)
                                m=0;
                }
        }
}

int main()
{
        init();
        LCD_Init();
        LCD_Disp_String(0,1,"³ÂÌÎ");
        LCD_Disp_String(1,1,"2021441811");
        LCD_Disp_String(3,0,"ÖÇÄÜÒÇÆ÷");
        while(1)
        {       
                scan();
                RunningSMG();
        }
}
回复

使用道具 举报

板凳
ID:213173 发表于 2023-9-21 20:37 | 只看该作者
ZLG7290.PDF (292.96 KB, 下载次数: 12) 内有范例程序
回复

使用道具 举报

地板
ID:1093026 发表于 2023-9-21 21:14 | 只看该作者
频率问题
回复

使用道具 举报

5#
ID:1094181 发表于 2023-9-22 14:30 | 只看该作者
延时问题
回复

使用道具 举报

6#
ID:161164 发表于 2023-9-22 16:02 | 只看该作者
没消影
  1. void displySMG(unsigned char pos, unsigned char value)
  2. {
  3.         P0 = 0xff;//消影
  4.         selectHC573(6);
  5.         P0 = 0x01 << pos;
  6.         selectHC573(7);
  7.         P0 = value;
  8. }
复制代码



回复

使用道具 举报

7#
ID:1058641 发表于 2023-10-17 21:43 | 只看该作者

解决了,谢谢大佬
回复

使用道具 举报

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

本版积分规则

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

Powered by 单片机教程网

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