找回密码
 注册
关于网站域名变更的通知
查看: 225|回复: 2
打印 上一主题 下一主题

三个74HC595控制16位数码管显示0~F单片机程序PCB

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2022-9-13 09:58 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

EDA365欢迎您登录!

您需要 登录 才可以下载或查看,没有帐号?注册

x
制作出来的实物图如下:- Z6 ?% B7 @7 x, t$ o) b
2 w% ]% b4 i# [' Q" g" b- @) r  D
altium Designer画的PCB图如下:+ }: F. w( P: e( x& S  o4 u3 ?
9 v$ s" \2 w8 {% u

; o+ b% R/ i6 q- z" N$ t: J* Q# x, ^- b2 }2 f7 {! u
单片机源程序如下:& d0 ^; Q3 a& F$ v: x+ g; T
include "reg51.h"; d% a, z; D& D, p4 s: J' x0 y; E- m
#include "intrins.h"
3 `. w9 f4 p8 R- j- C% a5 w& [- X% r2 G4 D. E
sfr P5 = 0xC8;
; {7 W; p8 D0 d, y9 b! e! D% Ksfr P1M0 = 0X92;
, v4 _6 G6 ]2 Ysfr P1M1 = 0x91;
7 c- c% y3 x+ {2 n  j+ U- C, ksfr P3M0 = 0XB2;
! F% t2 O8 _- l+ Ssfr P3M1 = 0xB1;7 g9 g. J; M! h% g  b7 E5 L/ q1 S
sfr P5M0 = 0XCA;
, |- e) }3 e- p9 Bsfr P5M1 = 0xC9;
& R2 h$ v0 p. P# D4 X% @2 S" C. w( @, ], h$ C. Y9 L3 ]
sbit S_RCLK = P1^7;//位移动信号
1 X6 Q8 p7 n* k7 ?0 x8 asbit L_RCLK = P1^6;//平行输出信号
7 ]  U9 x4 J3 Z% ?% [1 S+ I, wsbit S_BIT  = P1^5;//位输入( S9 s; G  i; H8 [

. r; b& A% A+ k2 D) V+ k//bit ;  //标志位,虚拟的按键7 f% d+ T) _* \" M
unsigned char ct;
" O5 R; |2 P  G: ]5 c! `1 @2 N//unsigned int  //255 65536
8 `0 t3 A* ]) f( ]unsigned char code SEG_tab[]={0x3f,0x06,0x5b,0x4f,9 i) F1 ~# e1 h9 ]3 y" y) ?. b  f1 E
                0x66,0x6d,0x7d,0x07," _" y/ m5 ]6 F1 N( E% V3 ^
                0x7f,0x6f,0x77,0x7c,8 E' }% u! ?$ c: }8 o
                0x39,0x5e,0x79,0x71,0x40,0x80};* O" s5 v) S! f% S* i4 M

2 h! Z" C& |) jvoid Send_595(unsigned char x);, `, ]7 m' v  I7 Z3 g" u' N0 }! o
void Delay1ms();
2 D& p2 \7 ], b  {/ g$ d, B9 }& O; c. p

# Y4 L- A% M4 Q& _main(void)* ]0 Q- c! m$ s1 S, Y
{8 R4 P* Z) |& ?8 I4 J" I( D5 P7 _, F
    P1M0 = 0X00;
' F6 [4 t  J* K& S/ D* N    P1M1 = 0X00; //0000 0000
, L9 s) Y) S6 f    P3M0 = 0X00; //0000 1000
1 i$ K  m# b5 A1 [* x% o+ o( m    P3M1 = 0X00;( j% @0 E, i: r* v% L$ \
    P5M0 = 0X00;; ^3 |% T% t. f) s# v$ @, _
    P5M1 = 0X00;# S: g# c: C8 W8 H) `: C& C' R
    L_RCLK = 0;7 \" N, l( K5 R# c0 W) F
    S_RCLK = 0;
8 w$ c* ~+ N! @  m3 D; q* q    S_BIT  = 0;//位输入; I4 J: v0 \7 f
    while(1)
1 Y6 \. s" v9 |/ \' R+ V; F# z    {        
2 G5 H0 D* _  _. |; o+ e& i' ?                static unsigned char ct=0;
/ D/ [3 Q6 ~0 o+ |, H& f        unsigned int j=0;
1 V- f" l5 {/ e; n% |. [" k        j=~(0x01<<ct);9 D# [/ h1 Z# _! i8 h4 @2 t
                Send_595(j>>8);//片选相数码管 位码高8位   t$ b8 [+ d3 a% Q
        Send_595(j);//片选相数码管 位码低8位 , Z9 q; L5 r0 ]- G3 s1 J/ o
        Send_595(SEG_tab[ct]);//数码管数据& y2 p5 o6 U( e; F
        L_RCLK = 1;7 ^) Y! e/ I0 ]- r4 H
        L_RCLK = 0;
" e+ d, `2 i8 u8 Z; ~4 V/ R, j        Delay1ms();
/ ^# j2 K& I8 v1 ?3 j; c        if(ct<16)
- p. Y+ f1 ^: |1 A        {4 C1 c+ r- Y8 v9 I0 I
            ct++;
* V4 q2 N+ h, K$ {6 U$ ]- F  u        }$ ]- W9 j3 l- e' \' y- a
        else ct=0;* \. `* `! f* S. |
    }
7 A) p, a9 i: z* r}
' c9 B3 j3 N. O* \2 g1 b3 z! ~' Q7 t# ~* d- ]% p9 n% [9 {

+ [; }. @; y6 @" X7 G$ j3 {void Send_595(unsigned char x)
9 m+ C  ]! B$ j6 D{1 M3 Y+ J8 Z  G! U# ]
    unsigned char i;4 k$ R( v0 ^# v8 F- W* J. }
    for(i=0;i<8;i++)
9 r9 |1 l1 W* o$ J; _* g0 e0 ]    {) j. P. x2 N( M2 h) \0 h. X
        if(x&0x80) S_BIT = 1;
' y$ ^7 h! g, q/ T- }% h        else       S_BIT = 0;
6 {& |3 x% S/ {& u$ W) Q1 \: `$ z        S_RCLK = 1;
, U) I0 b  w1 T# t) {        S_RCLK = 0;
" e7 V' @3 N* W        x = x<<1;
* A3 x' J9 p( e) q0 ~    }$ S* p$ L+ ^5 I; L6 b
}1 v+ u3 n4 e3 d4 K7 J7 E2 X8 P

& h$ l7 s2 v- N; ?void Delay1ms()                //@11.0592MHz
0 N# j( z6 {7 C{
( d" U7 U" P( i' W7 U        unsigned char i, j;9 U, f4 `/ U0 Q

! P1 p# X4 |/ K( a) F        i = 15;
* M5 \4 b' h; v/ f        j = 90;
+ a/ y0 h9 |- A+ O& y        do
- w- d! A* y  Z3 n9 B( e        {
& n7 j8 r1 c( N+ L5 `  `$ @                while (--j);* @6 T/ p8 P6 {' {2 M0 m
        } while (--i);4 R5 d+ M  T, r
}
, ^% Y$ n- `% y: t, @

该用户从未签到

2#
发表于 2022-9-13 10:46 | 只看该作者
很厉害,用心做开发无私分享,与他人交流分享的大佬。

该用户从未签到

3#
发表于 2022-9-13 15:02 | 只看该作者
一个良好的学习环境和氛围,有利于大家的快速成长。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

推荐内容上一条 /1 下一条

EDA365公众号

关于我们|手机版|EDA365电子论坛网 ( 粤ICP备18020198号-1 )

GMT+8, 2025-7-4 13:21 , Processed in 0.062500 second(s), 23 queries , Gzip On.

深圳市墨知创新科技有限公司

地址:深圳市南山区科技生态园2栋A座805 电话:19926409050

快速回复 返回顶部 返回列表