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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 1233|回復: 1
收起左側

Attiny13A單片機+74ls164驅動兩位數碼管不顯示?

[復制鏈接]
ID:163139 發表于 2024-4-4 12:58 | 顯示全部樓層 |閱讀模式
程序如下:
#include <avr/io.h>
#include <util/delay.h>



#define  CLR_BIT(val,bitn)   (val &=~(1<<(bitn)))//位置零
#define  SET_BIT(val,bitn)   (val |= (1<<(bitn))) //位置1


// 數碼管顯示0-9的編碼(共陰數碼管)
const uint8_t Tab[10] = {
    0b11111100, // 0
    0b01100000, // 1
    0b11011010, // 2
    0b11110010, // 3
    0b01100110, // 4
    0b10110110, // 5
    0b10111110, // 6
    0b11100000, // 7
    0b11111110, // 8
    0b11110110  // 9
};

uint8_t DS_data[2];


void separateData(uint8_t dat)
{
        DS_data[0]=dat%10;
        DS_data[1]=dat/10%10;
}
void write_164(uint8_t dat)
{
        uint8_t i;
        for(i=0;i<8;i++)
        {
                CLR_BIT(PORTB,PB1);
                if(dat&0x80)
                {
                        SET_BIT(PORTB,PB0);
                }
                else
                {
                         CLR_BIT(PORTB,PB0);
                 }
                SET_BIT(PORTB,PB1);
                dat<<=1;
        }
}



void display(void)
{

        SET_BIT(PORTB,PB2);
        write_164(Tab[DS_data[0]]);
        _delay_ms(1);
        CLR_BIT(PORTB,PB2);


        SET_BIT(PORTB,PB4);
        write_164(Tab[DS_data[1]]);  
        _delay_ms(1);        
       CLR_BIT(PORTB,PB4);
        
}

void init(void)
{
    // 設置數據和控制引腳為輸出
    DDRB  |= (1 << PB0) | (1 << PB1)| (1 << PB2)| (1 << PB4);
        PORTB |= (1 << PB0) | (1 << PB1)| (1 << PB2)| (1 << PB4);
}

int main()
{
        init();
        separateData(65);
        while(1)
        {
                display();
        }
}

回復

使用道具 舉報

ID:619259 發表于 2024-4-8 20:46 | 顯示全部樓層
1.請確認數碼管是不是共陰
2.數碼管是否有三極管位驅動
3.請上傳電路圖
回復

使用道具 舉報

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

本版積分規則

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

Powered by 單片機教程網

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