欧美极品高清xxxxhd,国产日产欧美最新,无码AV国产东京热AV无码,国产精品人与动性XXX,国产传媒亚洲综合一区二区,四库影院永久国产精品,毛片免费免费高清视频,福利所导航夜趣136

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索

單片機控制兩個級聯74HC595驅動數碼管的消影問題

查看數: 8079 | 評論數: 11 | 收藏 2
關燈 | 提示:支持鍵盤翻頁<-左 右->
    組圖打開中,請稍候......
發布時間: 2019-1-30 17:18

正文摘要:

新手用單片機開發板上的2個74HC595級聯的芯片驅動數碼管。目的是顯示0~7.代碼寫好后結果成了這樣: 數碼管不斷地閃爍,但依稀可見數字。 自己也放慢觀察過亂碼的現象,覺得是當第一次段選位選都輸出后, ...

回復

ID:417194 發表于 2019-2-25 14:48
找到問題了,是板子的問題。板子上的控制寄存器的P34P35被短接了,拔掉短接片就OK了
ID:417194 發表于 2019-2-25 14:47
tusanyou 發表于 2019-2-12 01:04
595的問題!八個輸出之間純在擊穿!595特別容易靜電擊穿!做了一個全彩光立方!開始采用的595!換的頭痛 ...

哈哈,595是不好用。不過我終于找到問題了,問題出在我的板子上。我的板子P3.4,P3.5管腳被短接了,把短接片拔掉就ok了。自己太粗心了哈哈
ID:475798 發表于 2019-2-12 01:04
Nimaby 發表于 2019-1-31 16:40
我也覺得是我硬件的問題。

595的問題!八個輸出之間純在擊穿!595特別容易靜電擊穿!做了一個全彩光立方!開始采用的595!換的頭痛!就放棄595了!
ID:417194 發表于 2019-1-31 16:40
wsxujn 發表于 2019-1-31 11:52
和硬件電路有關,做一個產品,595做列驅動鬼影嚴重,換成138好了

我也覺得是我硬件的問題。
ID:186249 發表于 2019-1-31 11:52
和硬件電路有關,做一個產品,595做列驅動鬼影嚴重,換成138好了
ID:417194 發表于 2019-1-31 10:58
ssk7793 發表于 2019-1-31 10:37
調整延時時間試試

試過了,沒用
ID:424598 發表于 2019-1-31 10:37
調整延時時間試試
ID:417194 發表于 2019-1-31 10:14
HC6800-ES-V2.0 發表于 2019-1-31 08:58
下面的程序,是你這個板子的資料,你看看吧!
程序一:不用譯碼器的
/********************************* ...

謝謝,這種我是曉得的。但是我的目的是要用的是板子上2個級聯的595來驅動數碼管。你第一個程序的消影方法我把他在我的程序里試過,沒有效果,所以發論壇來了。
ID:164602 發表于 2019-1-31 08:58
下面的程序,是你這個板子的資料,你看看吧!
程序一:不用譯碼器的
/*******************************************************************************
*                 
*                                        普中科技
--------------------------------------------------------------------------------
* 實 驗 名                 : 動態數碼管顯示試驗
* 實驗說明       : 8位數碼管顯示0~7
* 連接方式       : 見連接圖
* 注    意                 :
*******************************************************************************/

#include<reg51.h>

//--定義使用的IO口--//
#define GPIO_DIG   P0        //段選
#define GPIO_PLACE P1        //位選

//--定義全局變量--//
unsigned char code DIG_PLACE[8] = {
0xfe,0xfd,0xfb,0xf7,0xef,0xdf,0xbf,0x7f};//位選控制   查表的方法控制
unsigned char code DIG_CODE[17] = {
0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,
0x7f,0x6f,0x77,0x7c,0x39,0x5e,0x79,0x71};
//0、1、2、3、4、5、6、7、8、9、A、b、C、d、E、F的顯示碼
unsigned char DisplayData[8];
//用來存放要顯示的8位數的值

//--聲明全局函數--//
void DigDisplay(); //動態顯示函數

/*******************************************************************************
* 函 數 名         : main
* 函數功能                   : 主函數
* 輸    入         : 無
* 輸    出         : 無
*******************************************************************************/

void main(void)
{
        unsigned char i;

        for(i=0; i<8; i++)
        {
                DisplayData[i] = DIG_CODE[i];       
        }
        while(1)
        {
                DigDisplay();
        }                               
}

/*******************************************************************************
* 函 數 名         : DigDisplay
* 函數功能                   : 使用數碼管顯示
* 輸    入         : 無
* 輸    出         : 無
*******************************************************************************/

void DigDisplay()
{
        unsigned char i;
        unsigned int j;

        for(i=0; i<8; i++)
        {
                GPIO_PLACE = DIG_PLACE[i];         //發送位選
                GPIO_DIG = DisplayData[i];     //發送段碼
                j = 10;                                                 //掃描間隔時間設定
                while(j--);       
                GPIO_DIG = 0x00;//消隱
        }
}
程序二:用譯碼器的
/*******************************************************************************
*                 
*                                        普中科技
--------------------------------------------------------------------------------
* 實 驗 名                 : 動態數碼管顯示試驗
* 實驗說明       : 8位數碼管顯示0~7
* 連接方式       : 見連接圖
* 注    意                 :
*******************************************************************************/

#include<reg51.h>

//--定義使用的IO--//
#define GPIO_DIG P0

sbit LSA=P2^2;
sbit LSB=P2^3;
sbit LSC=P2^4;

//--定義全局變量--//
unsigned char code DIG_CODE[17]={
0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,
0x7f,0x6f,0x77,0x7c,0x39,0x5e,0x79,0x71};
//0、1、2、3、4、5、6、7、8、9、A、b、C、d、E、F的顯示碼
unsigned char DisplayData[8];
//用來存放要顯示的8位數的值

//--聲明全局函數--//
void DigDisplay(); //動態顯示函數
/*******************************************************************************
* 函 數 名         : main
* 函數功能                   : 主函數
* 輸    入         : 無
* 輸    出         : 無
*******************************************************************************/
void main(void)
{
        unsigned char i;
        for(i=0;i<8;i++)
        {
                DisplayData[i]=DIG_CODE[i];       
        }
        while(1)
        {
                DigDisplay();
        }                               
}
/*******************************************************************************
* 函 數 名         : DigDisplay
* 函數功能                   : 使用數碼管顯示
* 輸    入         : 無
* 輸    出         : 無
*******************************************************************************/
void DigDisplay()
{
        unsigned char i;
        unsigned int j;
        for(i=0;i<8;i++)
        {
                switch(i)         //位選,選擇點亮的數碼管,
                {
                        case(0):
                                LSA=0;LSB=0;LSC=0; break;//顯示第0位
                        case(1):
                                LSA=1;LSB=0;LSC=0; break;//顯示第1位
                        case(2):
                                LSA=0;LSB=1;LSC=0; break;//顯示第2位
                        case(3):
                                LSA=1;LSB=1;LSC=0; break;//顯示第3位
                        case(4):
                                LSA=0;LSB=0;LSC=1; break;//顯示第4位
                        case(5):
                                LSA=1;LSB=0;LSC=1; break;//顯示第5位
                        case(6):
                                LSA=0;LSB=1;LSC=1; break;//顯示第6位
                        case(7):
                                LSA=1;LSB=1;LSC=1; break;//顯示第7位       
                }
                GPIO_DIG=DisplayData[i];//發送段碼
                j=10;                                                 //掃描間隔時間設定
                while(j--);       
                GPIO_DIG=0x00;//消隱
        }
}
ID:123289 發表于 2019-1-31 08:04
在切換掃描數據數據時,做到先關,再改數據,再開,就可以了。
ID:454000 發表于 2019-1-30 19:52
來學習下,大家踴躍發言咯!

評分

參與人數 3黑幣 +60 收起 理由
站著說話不腰疼 + 15
shuisheng60 + 10
jinsheng7533967 + 35 贊一個!

查看全部評分

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

Powered by 單片機教程網

快速回復 返回頂部 返回列表