標(biāo)題: 三個(gè)74HC595控制16位數(shù)碼管顯示0~F單片機(jī)程序PCB,非常感謝熱心大哥教導(dǎo) [打印本頁(yè)]

作者: shengzhen2007    時(shí)間: 2022-5-5 18:05
標(biāo)題: 三個(gè)74HC595控制16位數(shù)碼管顯示0~F單片機(jī)程序PCB,非常感謝熱心大哥教導(dǎo)
制作出來(lái)的實(shí)物圖如下:

Altium Designer畫的PCB圖如下:(51hei附件中可下載工程文件)



單片機(jī)源程序如下:
include "reg51.h"
#include "intrins.h"

sfr P5 = 0xC8;
sfr P1M0 = 0X92;
sfr P1M1 = 0x91;
sfr P3M0 = 0XB2;
sfr P3M1 = 0xB1;
sfr P5M0 = 0XCA;
sfr P5M1 = 0xC9;

sbit S_RCLK = P1^7;//位移動(dòng)信號(hào)
sbit L_RCLK = P1^6;//平行輸出信號(hào)
sbit S_BIT  = P1^5;//位輸入

//bit ;  //標(biāo)志位,虛擬的按鍵
unsigned char ct;
//unsigned int  //255 65536
unsigned char code SEG_tab[]={0x3f,0x06,0x5b,0x4f,
                0x66,0x6d,0x7d,0x07,
                0x7f,0x6f,0x77,0x7c,
                0x39,0x5e,0x79,0x71,0x40,0x80};

void Send_595(unsigned char x);
void Delay1ms();


main(void)
{
    P1M0 = 0X00;
    P1M1 = 0X00; //0000 0000
    P3M0 = 0X00; //0000 1000
    P3M1 = 0X00;
    P5M0 = 0X00;
    P5M1 = 0X00;
    L_RCLK = 0;
    S_RCLK = 0;
    S_BIT  = 0;//位輸入
    while(1)
    {        
                static unsigned char ct=0;
        unsigned int j=0;
        j=~(0x01<<ct);
                Send_595(j>>8);//片選相數(shù)碼管 位碼高8位
        Send_595(j);//片選相數(shù)碼管 位碼低8位
        Send_595(SEG_tab[ct]);//數(shù)碼管數(shù)據(jù)
        L_RCLK = 1;
        L_RCLK = 0;
        Delay1ms();
        if(ct<16)
        {
            ct++;
        }
        else ct=0;
    }
}


void Send_595(unsigned char x)
{
    unsigned char i;
    for(i=0;i<8;i++)
    {
        if(x&0x80) S_BIT = 1;
        else       S_BIT = 0;
        S_RCLK = 1;
        S_RCLK = 0;
        x = x<<1;
    }
}

void Delay1ms()                //@11.0592MHz
{
        unsigned char i, j;

        i = 15;
        j = 90;
        do
        {
                while (--j);
        } while (--i);
}

PCB文件下載: HC595_Digital_Tube_2022-04-21.PcbDoc_2022-05-05.zip (16.59 KB, 下載次數(shù): 29)
595原理圖.pdf (284.1 KB, 下載次數(shù): 33)
seg802.zip (821 Bytes, 下載次數(shù): 29)

作者: hhh402    時(shí)間: 2022-5-6 12:32
單純的顯示有什么意義?按鍵呢?
作者: kz0018    時(shí)間: 2022-5-8 21:04
好像沒(méi)什么實(shí)際意義,用處不大
作者: hi等你    時(shí)間: 2022-5-9 10:42
看是控制很多,其實(shí)不難,一片595控制筆畫,兩片595控制位選,單片機(jī)要不停的伺候這個(gè)大爺,干不了大事,只能學(xué)習(xí)用
作者: dyx811    時(shí)間: 2022-9-12 10:22
595驅(qū)動(dòng)能力有這么強(qiáng)嘛?會(huì)不會(huì)遇到同時(shí)輸出幾位的情況?

作者: yyzf998    時(shí)間: 2022-9-12 12:19
兩個(gè)595就可以解決了,為什么還要用3個(gè)呢?
作者: baobao125    時(shí)間: 2022-9-12 17:00
數(shù)碼管刷新放定時(shí)器中斷里刷新,你在While里刷新,你在干點(diǎn)其它事數(shù)碼管就會(huì)閃爍。




歡迎光臨 (http://www.torrancerestoration.com/bbs/) Powered by Discuz! X3.1