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

 找回密碼
 立即注冊(cè)

QQ登錄

只需一步,快速開(kāi)始

搜索
查看: 3738|回復(fù): 12
收起左側(cè)

單片機(jī)74hc595數(shù)碼管顯示程序問(wèn)題

[復(fù)制鏈接]
ID:635978 發(fā)表于 2021-2-2 23:50 | 顯示全部樓層 |閱讀模式
各位大佬,2個(gè)595驅(qū)動(dòng)八位數(shù)碼管動(dòng)態(tài)顯示,為什么不加延時(shí)一樣可以正常顯示呢?用兩個(gè)573的時(shí)候每位之間應(yīng)該是有5ms的延時(shí),我理解是在程序執(zhí)行移位等操作的時(shí)候消耗了一定時(shí)間,已經(jīng)起到了延時(shí)的作用,這樣理解正確嗎?還是有其它的解釋?zhuān)勘救顺鯇W(xué),小白都算不上,請(qǐng)各位指導(dǎo),萬(wàn)分感謝。

1.png

單片機(jī)源程序如下:

#include <reg52.h>

#define uchar unsigned char
#define uint unsigned int

unsigned char code fseg[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90};//段選碼表
unsigned char code segbit[]={0x01,0x02,0x04,0x08,0x10,0x20,0x40,0x80};//位選碼表
unsigned char  disbuf[8]={0,0,0,0,0,0,0,0};

sbit Dio=P1^0;
sbit Rclk=P1^1;
sbit Sclk=P1^2;
uint num;
uchar i;

//void delay(uchar z)
//{
//        uchar x,y;
//        for(x=114;x>0;x--)
//                for(y=z;y>0;y--);
//}
//發(fā)數(shù)據(jù),段8位,位8位
void SendByte(uchar wei,uchar duan)
{
        uchar a,b;
        a=fseg[duan];
        b=segbit[wei-1];
        for(i=0;i<8;i++)
        {
                Sclk=0;
                if(a&0x80)
                        Dio=1;
                else
                        Dio=0;
                Sclk=1;
                a<<=1;
        }
        
        for(i=0;i<8;i++)
        {
                Sclk=0;
                if(b&0x80)
                        Dio=1;
                else
                        Dio=0;
                Sclk=1;
                b<<=1;
        }
        Rclk=0;
        Rclk=1;
}

void main ()
{
        while(1)
        {
                SendByte(1,1);
                SendByte(2,2);
                SendByte(3,3);
                SendByte(4,4);
                SendByte(5,5);
                SendByte(6,6);
                SendByte(7,7);
                SendByte(8,8);
        }
}


回復(fù)

使用道具 舉報(bào)

ID:568565 發(fā)表于 2021-2-3 06:33 來(lái)自觸屏版 | 顯示全部樓層
595數(shù)據(jù)手冊(cè)上面寫(xiě)了數(shù)據(jù)保持時(shí)間最小只需要十幾ns,所以算下來(lái)也就是單片機(jī)再執(zhí)行一條語(yǔ)句的時(shí)間,加上延時(shí)當(dāng)然更好,不加的話也能響應(yīng)的
回復(fù)

使用道具 舉報(bào)

ID:332444 發(fā)表于 2021-2-3 08:25 | 顯示全部樓層
可以那樣理解
回復(fù)

使用道具 舉報(bào)

ID:332444 發(fā)表于 2021-2-3 08:27 | 顯示全部樓層
操作2片595可以直接寫(xiě)在同一個(gè)循環(huán)內(nèi)完成操作,這樣延時(shí)就會(huì)減少,可通過(guò)觀察引腳察看延時(shí)時(shí)間.
回復(fù)

使用道具 舉報(bào)

ID:654028 發(fā)表于 2021-2-3 09:11 | 顯示全部樓層
這東西不是延時(shí)越久顯示越不正常嗎?容易閃。我猜你這是一個(gè)函數(shù)運(yùn)行時(shí)間可能長(zhǎng)點(diǎn)。我自己做過(guò),1ms延時(shí)去刷新數(shù)據(jù)管都閑慢,還會(huì)出現(xiàn)閃動(dòng)
回復(fù)

使用道具 舉報(bào)

ID:320306 發(fā)表于 2021-2-3 09:11 | 顯示全部樓層
說(shuō)明單片機(jī)的頻率比較低,執(zhí)行一條語(yǔ)句的時(shí)間周期比較長(zhǎng),類(lèi)似有延時(shí)的效果了。
回復(fù)

使用道具 舉報(bào)

ID:844772 發(fā)表于 2021-2-3 09:23 | 顯示全部樓層
你查595手冊(cè)啊,上面有最大頻率限制,一般都4MHz,你要是用12Mhz的晶體,你最快也就1MHz,當(dāng)然用不著延時(shí)了。
回復(fù)

使用道具 舉報(bào)

ID:879809 發(fā)表于 2021-2-3 13:06 | 顯示全部樓層
你用的是8位單片機(jī),如果用573鎖存段碼和位碼,一定不可能做到完全同步。①輸出段碼,②鎖存,③輸出位碼,④鎖存,可以看到段碼和位碼之間us級(jí)別的不同步,執(zhí)行②之后,顯示的是上一段的位碼,是錯(cuò)的!所以要用5ms穩(wěn)定時(shí)間掩蓋1us(數(shù)量級(jí)對(duì),具體時(shí)間不爭(zhēng)論)的錯(cuò)誤輸出。5000倍的時(shí)間差異是看不出有什么問(wèn)題的。

對(duì)于595來(lái)說(shuō),OE接地,移位的時(shí)候輸出毫無(wú)變化,都是在內(nèi)部完成的,只有12腳RCLK給個(gè)脈沖才把內(nèi)部移位的結(jié)果發(fā)送到輸出端,你的原理圖上兩個(gè)RCLK是并聯(lián)的,那么就是說(shuō)段碼和位碼是同步輸出的,自然不用考慮掩蓋錯(cuò)誤的問(wèn)題,你唯一需要考慮的是,每一個(gè)段碼有效的時(shí)間必須一致,否則每個(gè)7段LED的輸出亮度會(huì)不一致。
回復(fù)

使用道具 舉報(bào)

ID:635978 發(fā)表于 2021-2-3 15:53 | 顯示全部樓層
chenyinhu 發(fā)表于 2021-2-3 06:33
595數(shù)據(jù)手冊(cè)上面寫(xiě)了數(shù)據(jù)保持時(shí)間最小只需要十幾ns,所以算下來(lái)也就是單片機(jī)再執(zhí)行一條語(yǔ)句的時(shí)間,加上延 ...

多謝指點(diǎn)
回復(fù)

使用道具 舉報(bào)

ID:635978 發(fā)表于 2021-2-3 15:56 | 顯示全部樓層
xianfajushi 發(fā)表于 2021-2-3 08:27
操作2片595可以直接寫(xiě)在同一個(gè)循環(huán)內(nèi)完成操作,這樣延時(shí)就會(huì)減少,可通過(guò)觀察引腳察看延時(shí)時(shí)間.

多謝指點(diǎn)
回復(fù)

使用道具 舉報(bào)

ID:635978 發(fā)表于 2021-2-3 16:12 | 顯示全部樓層
glinfei 發(fā)表于 2021-2-3 09:23
你查595手冊(cè)啊,上面有最大頻率限制,一般都4MHz,你要是用12Mhz的晶體,你最快也就1MHz,當(dāng)然用不著延時(shí)了 ...

多謝指點(diǎn),我認(rèn)真看一下手冊(cè)
回復(fù)

使用道具 舉報(bào)

ID:635978 發(fā)表于 2021-2-3 16:13 | 顯示全部樓層
zsyzdx 發(fā)表于 2021-2-3 09:11
說(shuō)明單片機(jī)的頻率比較低,執(zhí)行一條語(yǔ)句的時(shí)間周期比較長(zhǎng),類(lèi)似有延時(shí)的效果了。

多謝指點(diǎn)
回復(fù)

使用道具 舉報(bào)

ID:390416 發(fā)表于 2021-2-3 21:17 | 顯示全部樓層
你好,關(guān)于兩個(gè)595驅(qū)動(dòng)數(shù)碼管  你可以看看 人人學(xué)會(huì)單片機(jī)的視頻教程,用的就是和你一樣的電路
回復(fù)

使用道具 舉報(bào)

本版積分規(guī)則

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

Powered by 單片機(jī)教程網(wǎng)

快速回復(fù) 返回頂部 返回列表
主站蜘蛛池模板: 中文字幕av亚洲精品一部二部 | 精品视频成人 | 久久99精品国产自在现线小黄鸭 | 一区二区精品 | 精品国产91久久久久久 | 日日摸天天添天天添破 | 国产在线观看一区 | 日本成人中文字幕 | 日韩欧美亚洲 | 成人小视频在线 | 国产精品射| 欧美一级黄色网 | 亚洲一区二区三区在线播放 | 四虎影 | 日本中文字幕一区 | 国产精品国产三级国产aⅴ原创 | 久久国产精品一区二区三区 | 黄色男女网站 | 欧美另类日韩 | 亚洲夜夜爽 | 91在线免费视频 | 亚洲第1页 | 国产伦精品一区二区三区四区视频 | 国产精品久久久久一区二区三区 | 中文字幕在线视频精品 | 五月婷婷导航 | 欧美在线成人影院 | 日韩中文在线观看 | 午夜精品一区二区三区免费视频 | 亚洲精品3| 国产精品久久久久久久久久尿 | 日韩在线一区二区三区 | 久久精品国产一区二区三区不卡 | 一级片免费视频 | 色婷婷综合久久久久中文一区二区 | 日韩在线观看 | 综合二区 | jlzzjlzz欧美大全 | 欧美日本一区 | 日韩欧美一区二区在线播放 | 亚洲精品v日韩精品 |