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

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

[复制链接]

该用户从未签到

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

EDA365欢迎您登录!

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

x
8*8点阵和数码管显示proteus仿真原理图与单片机代码/ v8 _  G2 k7 ]
$ F2 P" B5 ^# n* b- ]% J

' R, N- x/ `5 ?; M, F6 w1 F
8*8点阵proteus仿真与数码管原理图如下:
& i0 y" `- @" W1 p& K0 p- G 7 ?2 x$ z# i% d  f" \  m' y' H

/ U3 z9 p' U- X  X* H单片机源程序
#include <reg52.h> , b- @- u/ R# V! k
, ^( d* T/ _6 Q; E$ v* s
" J. ~; |2 k- f# _5 ^, }' F
//此表为 LED 的字模, 共阴数码管 0-9  - 7 G5 D# k/ h' i. r' O2 P" F( V' z
unsigned char code   Disp_Tab[] = {0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x40};  //段码控制
2 \8 B7 ?& y' v( G5 h9 q8 c) j1 [
" v+ G# D3 ?4 y, @//此表为8个数码管位选控制, 共阴数码管 1-8个  - 1 d+ u$ g2 w; H/ C% F
unsigned char code   dispbit[8]={0xfe,0xfd,0xfb,0xf7,0xef,0xdF,0xbF,0x7F};    //位选控制   查表的方法控制% Q; j5 l# f  u% T
* V  l4 a/ _- g( x- h1 ^
unsigned char led_buffer0[8]={0x01,0x03,0x07,0x0f,0x1f,0x3f,0x7f,0xff};
: n# B4 L5 k, v2 K7 ?% r0 S- a4 W* i
% ^# x; d5 }3 R3 i" U. |- @unsigned char code led_buffer[]={
) X( ~$ ~3 A6 m; _% ]# R/*--  调入了一幅图像:C:\Users\Administrator\Pictures\numb.bmp  --*/% h7 w4 ^1 C2 R$ k2 z  U- A  a
/*--  宽度x高度=80x8  --*/
$ y# f" E5 l. V, {: L- i0x00,0x00,0x3E,0x51,0x49,0x45,0x3E,0x00,
7 }& S* }$ P# h  P& ?  B: k: t0x00,0x00,0x00,0x42,0x7F,0x40,0x00,0x00,
+ ]9 \# A/ \- P! n% m+ m& i2 T( P7 j0x00,0x00,0x62,0x51,0x49,0x45,0x42,0x00,
0 z- N+ b. B  n* }1 t  E0x00,0x00,0x22,0x49,0x49,0x49,0x36,0x00,
. Q2 `# c/ o! R$ t8 H0x00,0x00,0x18,0x14,0x12,0x7F,0x10,0x00,8 d5 v$ e5 d5 k, }8 a
0x00,0x00,0x2F,0x49,0x49,0x49,0x31,0x00,( B1 b! G5 P. C8 O
0x00,0x00,0x3E,0x49,0x49,0x49,0x32,0x00,
: Q5 N& m4 X) d# r8 v. {$ w0x00,0x00,0x01,0x01,0x79,0x05,0x03,0x00,. y* [+ K& {9 p, b
0x00,0x00,0x36,0x49,0x49,0x49,0x36,0x00,
1 T! c  v% H! X9 D! D# J# r2 O- R3 j0x00,0x00,0x26,0x49,0x49,0x49,0x3E,0x00,
) Y2 V1 \0 h8 ~* R9 J3 I0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
; X7 _5 _; K3 b+ Y( G$ v$ y5 {' y0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,1 u, }+ I3 B* q# N/ x  D
};' h! m9 _0 z# ^4 k3 R) W8 ~

. `+ `3 a. M. J! _2 Ounsigned char disp_count=0,numb=0;- d5 I: w/ x( V" \. ^! W8 l
unsigned char hour=23,min=45,sec=58;
7 j2 K0 w! v+ s/ Nunsigned int count=0;
/ i( m( Z/ E$ Ubit flash=0;6 d- n  u6 }9 p! @$ b8 K# z- R
( Z2 k+ f3 `  |* T7 u
void delay(long dly)4 K# B  J+ o9 b
{2 V" C$ g% m9 M$ V& S7 }8 @+ |$ |/ W
        while(dly--);
/ m( h% w7 u- E4 ~4 x; o2 h5 ~# ^}
' \( n9 ~) E9 n- D- _
8 G) j$ Z( Z$ }, L+ U1 {* Z7 {/ b- r7 T% ], Z2 a8 O% V
% C, g6 t% ~3 T9 z, K
void main()
* `/ ~% w* I/ R; {8 S  y2 R% x* m{
* k( Y+ d+ r, W& ^; T: g  t        unsigned  char i;, H, B: F7 C" b! [
        TMOD=0X01;& G, i6 n$ Y5 d; K- z7 Q* T& i) Z
        TH0=(65536-1000)/256;9 D* m6 A2 t3 N& b
        TL0=(65536-1000)%256;
$ \. m8 u- r0 j+ p: h0 `$ E        TR0=1;
3 q5 \2 {; y2 q/ a# t        ET0=1;! x9 P& R7 u& X4 @
        EA=1;
0 q1 b1 ~! k" i4 y% Z! @+ a
# b+ X& Z- g. X& s2 H+ h5 g        while(1)- z% O3 b2 A3 A, e' m& ]# q' T5 |
         {5 f5 ~5 m5 h$ ^/ f1 w
//            get_clock();' G$ O% Y5 T& d/ X  f
                delay(3000);
8 U5 h* T5 d6 u1 j  h$ v                numb++;# {2 i+ |" Z$ T
                if(numb>79)) t0 N8 Q  w: }+ m; X
                {
7 K- h8 ^( \3 V' S! o                        numb=0;( t' e, d% z4 L
                }& R# P1 a4 Q+ J
         }2 ]- R' F" Q  _3 e
}- c, v2 x7 z1 m3 G& p1 m+ r
5 W2 e. a) Z; R# J, s5 m! o: C
void TIMER0_ISR(void) interrupt 1
2 y/ d6 u3 S& y# u/ U4 I& Z{, A0 j( h! U8 e1 P
        P2=0x00;; i. ?8 r8 Y) h- x
        TH0=(65536-1000)/256;; u: U& H$ r8 M7 F: G* ^
        TL0=(65536-1000)%256;
$ L1 g, v9 s. E" I
3 l, o  D0 }  |! Z) z) |        P0=~led_buffer[numb+disp_count];- T7 y& d. p$ e. U( k) \
        P3=~led_buffer[numb+8+disp_count];
% D; o+ `/ Y. V, _: B: D        P2=~dispbit[disp_count];* A" M/ O* D* V* m+ u* t
2 n+ G0 `; a9 r" }
        disp_count++;, ^  \- W5 U; f0 B
        if(disp_count>7)4 E+ G8 N8 l6 W$ b9 x$ L. h
        {" t4 `1 @- z& o* }  s2 {5 g
                disp_count=0;. F% e  ]8 ?8 o6 n- j* l/ n
        }
# d5 o5 ^/ ]9 F3 m! y        count++;
- `/ ?: {$ }$ P. l# F        if(count>249)
2 r! W  l0 ^8 c6 i9 F        {
5 q1 ]' g% \$ A) U            count=0; $ {# o. h2 a# t0 J+ U1 i
            flash=!flash;6 K* h3 I  ?. Y! H
        }
% L4 X$ Y, _8 X* P6 o' K. U}
6 X+ _3 _) ^5 _1 z2 d3 Z& [# c! n
游客,如果您要查看本帖隐藏内容请回复
) I% z4 b; U; ~7 K' y

& {0 G4 b# w( f( F

该用户从未签到

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

本版积分规则

关闭

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

EDA365公众号

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

GMT+8, 2025-7-22 06:50 , Processed in 0.125000 second(s), 26 queries , Gzip On.

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

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

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