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

8*8点阵和数码管显示proteus仿真原理图与单片机代码

[复制链接]

该用户从未签到

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

EDA365欢迎您登录!

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

x
8*8点阵和数码管显示proteus仿真原理图与单片机代码
. f. |. o( k. e. L; o8 x* |& W) @7 ?: J8 n
6 _( q; k& P2 R" Q0 z; [
8*8点阵proteus仿真与数码管原理图如下:! w! a& E$ X3 [9 p) y
# K" ~% _- ~; U9 Q& Q
6 w, z/ u5 ?7 B
单片机源程序
#include <reg52.h>
7 D1 h2 S6 R# n" _: O; z/ z# i0 r. d- I! F! ^
) ?* a% }8 z/ M4 T0 H9 M& w
//此表为 LED 的字模, 共阴数码管 0-9  -
( N/ [; x6 L7 t( [2 A9 ^( G8 Aunsigned char code   Disp_Tab[] = {0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x40};  //段码控制
8 P" g- @8 k7 I; u  j. K4 }4 f
, Q. N1 R( z5 U9 P//此表为8个数码管位选控制, 共阴数码管 1-8个  -
) {/ E" h9 q- u! l9 l( R0 p5 L6 ~unsigned char code   dispbit[8]={0xfe,0xfd,0xfb,0xf7,0xef,0xdF,0xbF,0x7F};    //位选控制   查表的方法控制) s4 P. B# ~( F  \$ g7 w  @2 C5 M
3 [. h0 M7 P; m$ L9 x* E0 i
unsigned char led_buffer0[8]={0x01,0x03,0x07,0x0f,0x1f,0x3f,0x7f,0xff};* E$ ?/ E1 M/ s. Y' J# m4 G5 f

2 [3 @8 U" q2 Y" X7 J/ V8 Uunsigned char code led_buffer[]={+ i# }0 t4 A9 g: A6 F" E- ]  Y
/*--  调入了一幅图像:C:\Users\Administrator\Pictures\numb.bmp  --*/' U0 d. ]4 Y# M. ~
/*--  宽度x高度=80x8  --*/4 m$ f" d: K" s; P. J' k9 J+ r
0x00,0x00,0x3E,0x51,0x49,0x45,0x3E,0x00,
" e* G0 f/ l" ], A5 a* p) d0x00,0x00,0x00,0x42,0x7F,0x40,0x00,0x00,. z* k6 q% f8 O$ j) n3 t! _
0x00,0x00,0x62,0x51,0x49,0x45,0x42,0x00,
& K# j8 P$ ^$ \3 @8 _0x00,0x00,0x22,0x49,0x49,0x49,0x36,0x00,6 w6 C% @/ n3 [, D8 k* U
0x00,0x00,0x18,0x14,0x12,0x7F,0x10,0x00,* d# M0 ]* Z$ j
0x00,0x00,0x2F,0x49,0x49,0x49,0x31,0x00,- @2 L) c+ r6 U9 |/ l# ~. n
0x00,0x00,0x3E,0x49,0x49,0x49,0x32,0x00,+ @2 X- O1 a8 ^7 k" ?+ b# ~
0x00,0x00,0x01,0x01,0x79,0x05,0x03,0x00,
; i# Y1 i% a9 _6 q, [0x00,0x00,0x36,0x49,0x49,0x49,0x36,0x00,
: ^1 L& }" Z* _- S0x00,0x00,0x26,0x49,0x49,0x49,0x3E,0x00,
6 u$ e7 c  m# m* c. j0 Y1 C$ \1 f0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,' _- J- K1 o3 r2 {
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,* W  S/ Q1 `" [
};
) I8 G8 r8 {2 L% K0 i# @( b- d
) E5 d( Z: y2 q' t$ z4 U/ ?0 Junsigned char disp_count=0,numb=0;1 K8 y. x$ \2 T) }# T. a1 b3 s3 I+ A
unsigned char hour=23,min=45,sec=58;
' Q1 P0 S$ U$ T2 b3 J9 ounsigned int count=0;
- r5 d& {1 O) Q& V5 sbit flash=0;# Q" c- y; b6 S0 T2 V1 Z" n! j

0 u5 D! O& ]+ N5 |7 vvoid delay(long dly)
! L$ f( t* q8 Z: u6 b{* A7 O, s/ q5 T* a
        while(dly--);7 m* W; B% z& b* [9 n
}. f% e- C' j# J+ _/ w8 s: C& u' r( k

0 j6 v% t5 B% c: E9 X( H
) `3 ?3 ]/ n% {+ f4 C2 P3 j( J, Q6 J8 y3 B
void main()
3 k7 C; {* v+ j# I. y( V5 @% A{9 n5 k8 U! \5 I# g5 {& H5 m
        unsigned  char i;
7 L, N+ l9 b% ~# S. t        TMOD=0X01;/ G. A0 ?; |' |8 @4 R( o9 u
        TH0=(65536-1000)/256;
" ~: A; Z# s) x9 P5 ?/ N2 E0 {        TL0=(65536-1000)%256;
" J* B: Q& y9 ]) i; v( `( l        TR0=1;( B1 Z. F! i; F5 Q: k: V5 ^
        ET0=1;
  d" ~% E/ U; G; s) n- X- z        EA=1;, n' _# F' b5 J; ^4 ]0 N
' X7 ^$ o+ [* B8 m& J
        while(1)9 A2 N* P5 T$ k. T1 H
         {0 s3 n6 D. f7 B+ m- ^
//            get_clock();/ v( U, N  G, r9 D- _" t
                delay(3000);
8 j: c. J  P2 [' H$ E                numb++;" ]9 l( C& i% u( W3 ~
                if(numb>79)
5 h8 o( H; u! D/ `# k# g                {
- O( z) E" W! Q6 J2 i* M+ j9 b5 T% A                        numb=0;, n0 J& [, F; b6 w+ t
                }
* V/ |2 O$ X4 H         }
, @8 E! _0 k0 c# I& _}& T2 H3 s! }* g* p5 ^) B

: c! i5 D( s0 xvoid TIMER0_ISR(void) interrupt 1
5 p. ], s: I& {8 ]: a{
% V% z- s# O. d/ X( N; f        P2=0x00;% D3 r) S' q, W. |& Q
        TH0=(65536-1000)/256;
. J" @: F7 f4 l" v0 [        TL0=(65536-1000)%256;
6 h8 {) e: e5 G+ m& f
" X$ S7 I& T, W        P0=~led_buffer[numb+disp_count];* h( x! U6 j6 d' B4 q  N
        P3=~led_buffer[numb+8+disp_count];. B) [0 m7 o4 d$ l
        P2=~dispbit[disp_count];* F* Y# o3 t$ V

" @' b* N7 ]& \$ L* c        disp_count++;
$ o  ?9 d. F6 ~' j/ W0 U) ^" T        if(disp_count>7)7 r5 H( |* d4 z. P# i: o( P
        {
1 M; x1 |+ n, D# w, Z  B                disp_count=0;$ x2 x+ a3 f# `# E3 G& Q0 x! ]
        }
. w$ g9 g  ?  z$ `# }/ P3 q        count++;
% S" z6 r1 G, W0 h/ S8 r        if(count>249)  h* U! R% d+ a' P9 A" X* e: F
        {
* M2 b& N5 B2 k! i            count=0; " E. @( Q& w/ w7 E# z
            flash=!flash;
4 p: u1 Q* y9 a/ h" L* @        }9 n4 @5 F+ {+ P  j
}! h/ F; N+ B) z7 y2 }
游客,如果您要查看本帖隐藏内容请回复

4 s0 r) P# E& Q- Q" G' G# I
8 {8 Z2 ^1 @4 [9 V8 B" `

该用户从未签到

2#
发表于 2018-12-4 13:39 | 只看该作者
分享是心得 回帖是美德
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

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

EDA365公众号

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

GMT+8, 2025-6-17 09:51 , Processed in 0.078125 second(s), 26 queries , Gzip On.

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

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

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