久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 2821|回復: 7
收起左側

51單片機74HC164芯片驅動數碼管顯示不全

[復制鏈接]
ID:898834 發表于 2021-7-31 11:42 | 顯示全部樓層 |閱讀模式
使用164芯片時,仿真能完全實現,但是實際電路上會出現顯示不全現象,求指導為什么會出現在這情況?


1.png
回復

使用道具 舉報

ID:161164 發表于 2021-7-31 15:05 來自手機 | 顯示全部樓層
有沒有加消隱?
回復

使用道具 舉報

ID:898834 發表于 2021-7-31 15:39 | 顯示全部樓層
我的程序如下,放到仿真上 是可以正常運行的
#include<regx51.h>
typedef unsigned char u8;
typedef unsigned int u16;

u8 code smgduan[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f}; //共陰數碼管
//u8 code smgduan[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90}; //共陽數碼管

u8 smgbuff[]={0x00,0x00,0x00,0x00,0x00,0x00};   
u16 i,j,k,m,s,f,n,num;

sbit DAT=P3^0;
sbit CLK=P3^1;

void delay(u16 i)
{
        while(i--);
}

void Timer0Init()
{
        TMOD=0x01;       
        TL0=0x67;               
        TH0=0xFC;         //定時1ms
        EA=1;                       
        TR0=1;       
        ET0=1;       
}

void main()
{
        Timer0Init();
        while(1)
        {
                for(i=0;i<8;i++)
                {
                        num=smgbuff[i];
                        for(j=0;j<8;j++)
                        {
                                CLK=0;
                                DAT=num&0x01;
                                CLK=1;
                                num>>=1;
                        }
                }
                delay(50000);
        }       
}

void Timer0() interrupt 1
{
        TL0=0x67;               
        TH0=0xFC;
        k++;
        if(k>=1000)
        {       
                k=0;       
                if(m<60)
                {
                        m++;
                }
                if(m>=60)
                {       
                        m=0;
                        f++;
                }
                if(f>=60)
                {
                        s++;
                        f=0;
                }
        }
        switch(n)
        {
                case(0):
                        smgbuff[0]=smgduan[m%10];n++;break;
                case(1):
                        smgbuff[1]=smgduan[m/10%10];n++;break;
                case(2):
                        smgbuff[2]=smgduan[f%10];n++;break;
                case(3):
                        smgbuff[3]=smgduan[f/10%10];n++;break;
                case(4):
                        smgbuff[4]=smgduan[s%10];n++;break;
                case(5):
                        smgbuff[5]=smgduan[s/10%10];n=0;break;
                default:break;       
        }                       
}
回復

使用道具 舉報

ID:898834 發表于 2021-7-31 15:39 | 顯示全部樓層
lkc8210 發表于 2021-7-31 15:05
有沒有加消隱?

應該沒有加,用164芯片驅動的數碼管動態顯示消隱我不清楚如何加
回復

使用道具 舉報

ID:332444 發表于 2021-7-31 17:35 | 顯示全部樓層
回復

使用道具 舉報

ID:161164 發表于 2021-7-31 23:07 | 顯示全部樓層
zqz1345444061 發表于 2021-7-31 15:39
我的程序如下,放到仿真上 是可以正常運行的
#include
typedef unsigned char u8;

仿真圖或接線圖?
定時中斷中的Switch有什么意義?不可以一起做嗎?
段選接口呢?
回復

使用道具 舉報

ID:507641 發表于 2021-8-1 21:44 | 顯示全部樓層
數碼管型號腳位是否一樣?
回復

使用道具 舉報

ID:934353 發表于 2021-8-2 10:28 | 顯示全部樓層
我沒有看到你對n的定義啊,那你的Switch函數有何用處呢,n初始值為0,也就是說只會執行switch(0),這樣寫的話,顯示肯定會出問題的
回復

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規則

手機版|小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術交流QQ群281945664

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 国产精品欧美一区二区三区 | 欧美日韩在线视频一区二区 | 日韩看片 | 国产探花在线精品一区二区 | 水蜜桃久久夜色精品一区 | 欧美日韩三区 | 99精品在线观看 | 日韩精品一区二区三区中文字幕 | 欧美性猛交一区二区三区精品 | 一级国产精品一级国产精品片 | 欧美 日韩精品 | 久久久久国产精品一区三寸 | 亚洲日本激情 | 国产在线麻豆精品入口 | 亚洲久久在线 | 午夜国产 | 久久久久久久久久久久久久av | 天天操天天玩 | 91精品久久久久久久久久入口 | 午夜影院视频 | 国产成人高清在线观看 | 欧美日韩国产三级 | 国产探花在线精品一区二区 | 欧美精品综合在线 | 免费国产黄网站在线观看视频 | 亚洲午夜精品一区二区三区他趣 | 成人久久一区 | 日韩第一夜 | 综合国产第二页 | 国产日韩一区二区 | 国产高清一区二区三区 | 五月网婷婷 | 99精品视频在线 | 国产精品1区 | 国产日韩免费视频 | 日韩av在线免费 | 国产在线精品一区二区三区 | 欧美日韩国产精品一区 | 自拍偷拍中文字幕 | 中文字幕第7页 | 国产精品午夜电影 |