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

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

[复制链接]

该用户从未签到

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

EDA365欢迎您登录!

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

x
制作出来的实物图如下:% A- h) I8 `. ^8 `, Q7 r
& p! y4 i& h0 E0 g. u
altium Designer画的PCB图如下:
8 r4 k+ @! ]( a
2 B, O. `* U: J3 s
& c& y5 r( ?0 i6 I* O8 Q  |% S$ p2 d8 [! D
单片机源程序如下:
& e" ]0 ~2 g% v4 Z2 d4 t5 F( ]; Sinclude "reg51.h"
) j) n; s6 s! u  Z1 ?0 E#include "intrins.h"
- ]% h: J- y, M# \0 _2 g- H0 `3 A7 ]9 k1 e3 Z: N' T: r# h
sfr P5 = 0xC8;( O7 ~" H! t. F1 h8 |
sfr P1M0 = 0X92;" o6 D; h- p4 E) {8 w; _0 H
sfr P1M1 = 0x91;# p, T6 }9 o2 n' ~2 _7 [' I
sfr P3M0 = 0XB2;
% o& a: ^5 w! s/ \4 }- X( _+ W) Usfr P3M1 = 0xB1;; E0 U; |7 B. [; A, |
sfr P5M0 = 0XCA;/ F: T2 d* X/ H7 T
sfr P5M1 = 0xC9;
" G6 s  p3 N6 Z2 B! R* v
8 v4 _5 k" O6 r! M$ m$ H# ]sbit S_RCLK = P1^7;//位移动信号! y1 M' B/ X6 V
sbit L_RCLK = P1^6;//平行输出信号
/ H; O" Z, n+ }( @2 fsbit S_BIT  = P1^5;//位输入% z) S! ?: Y/ h* Z7 h' N
: }& b* S; O) w3 r
//bit ;  //标志位,虚拟的按键8 S* N6 B* H1 G
unsigned char ct;" V3 m* @9 }9 [$ j. M- I' g
//unsigned int  //255 655361 Z( l. s2 S, t; ^& A
unsigned char code SEG_tab[]={0x3f,0x06,0x5b,0x4f,
7 i( V$ V% @- \  K! J8 ]) U                0x66,0x6d,0x7d,0x07,
# ?: t: W5 E2 f                0x7f,0x6f,0x77,0x7c,5 b4 s9 C; k- J; B5 O% p4 C# w
                0x39,0x5e,0x79,0x71,0x40,0x80};+ r- _8 B' `( w( i  G( V
* U1 h, D% ?* A8 q$ t# a
void Send_595(unsigned char x);- U; J8 T) O5 {/ y; g% d  N. R
void Delay1ms();6 |( k5 W3 R+ K

( N1 v1 Y' n+ n- X: p  X% p4 o! M5 L
main(void)
1 x) K3 M& t! _7 {{
# b' J+ a+ V0 l9 K; g    P1M0 = 0X00;
$ F% }4 X+ R1 S- S    P1M1 = 0X00; //0000 00000 F5 f% {% o' n2 e+ t
    P3M0 = 0X00; //0000 10001 \& d  _$ o: R* x7 C
    P3M1 = 0X00;
  Q, Y$ ?4 F0 V% g    P5M0 = 0X00;4 D# [8 M' M6 O# t/ t
    P5M1 = 0X00;" v3 I% W1 u) h# o# c
    L_RCLK = 0;
7 ]4 w9 r" \& o, y: O    S_RCLK = 0;
2 b% D1 O1 m; Y+ o$ @" |# |    S_BIT  = 0;//位输入- z; _2 o: l. k
    while(1)" _: p& c3 X; ?7 T
    {        
3 n8 K5 f* i  `- Z                static unsigned char ct=0;
  k* X# u9 a- H        unsigned int j=0;
4 a1 K  s, O0 P( K        j=~(0x01<<ct);
3 z! F7 A& ^% j4 f9 u: b6 e/ h                Send_595(j>>8);//片选相数码管 位码高8位
& o5 W0 o- D# r5 u/ w        Send_595(j);//片选相数码管 位码低8位
, i! f. c1 \# |% I% s9 F        Send_595(SEG_tab[ct]);//数码管数据  q7 y4 s- z" b2 `2 D3 b$ \1 e
        L_RCLK = 1;
5 g5 `3 X! U/ X: D        L_RCLK = 0;4 W) n3 K6 f" N5 h
        Delay1ms();. E' ]9 K8 D+ `* h
        if(ct<16)# n3 u# g) D7 x/ r; |% S& u# v2 ~
        {: O* {* e8 L9 ]6 _5 U
            ct++;- z& `1 d$ M( |; @( h+ g
        }
) v* n( C6 z( y: P7 ^+ W        else ct=0;
* w7 Y) a1 ]+ I    }! q: u! T7 Y3 [( \
}
) p: Q/ P) i" i* A/ X
, O- k0 N  f1 K; u0 V4 C3 p  A2 g: W
: j, t5 v7 {) E$ F3 ~* yvoid Send_595(unsigned char x)& v; [3 f9 E$ {6 [3 a- J' F! u( I
{
3 ]3 v3 K8 K0 j% O. O: j; ^    unsigned char i;& l% e, K; P3 p2 O4 J% |
    for(i=0;i<8;i++)
5 t" c& b3 ~4 p5 V    {
& Z) n  k1 `+ \+ W) ]# @3 c* ~  M        if(x&0x80) S_BIT = 1;9 e4 B& G" |% K2 E/ g  [# K
        else       S_BIT = 0;
/ Z2 i3 N/ c' V        S_RCLK = 1; - J) h" Q. j; s  F" A# V! P
        S_RCLK = 0;
" H* J! Z6 u3 F& r: _% ?        x = x<<1;3 \0 G, Z9 Q# Z
    }
5 O7 d* k1 t, B- r4 @: [}- f6 L5 g8 h' O- g
' ?; m5 {! t9 i- I( m1 [! h
void Delay1ms()                //@11.0592MHz! {9 @8 O2 X' O; g
{/ W/ F* ?, N6 ]1 F$ B
        unsigned char i, j;5 m8 d  S7 O: y' l( T# W- g/ L2 W3 M1 x
# W( i* @3 ?) E6 d
        i = 15;5 K1 G6 y& O) e: V" g3 p1 n" T
        j = 90;
9 g! v5 G  r  n4 }$ O+ @        do
" }6 j0 C2 n: A- y+ h4 ^        {" {# t. Z) ?/ r$ P
                while (--j);
2 s& Z: o5 M6 x9 O. N* z+ `        } while (--i);4 `( f/ t) @, _& W, W2 u; G
}
+ X' u, X0 X: o$ i) Q/ Q1 U

该用户从未签到

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

该用户从未签到

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

本版积分规则

关闭

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

EDA365公众号

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

GMT+8, 2025-10-30 04:10 , Processed in 0.125000 second(s), 23 queries , Gzip On.

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

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

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