| 搞明白了怎么显示了,先写个显示的demo显示数字0,为了便于仿真,不停输出,实际使用的时候,是可以锁在的,不改变数字时,不用写入,然后再用proteus仿真一下,因为proteus里没有SAA1060这个元件,要不可直接看数码管显示,现在只能看虚拟仪器里的时序了,代码附后,代码写得效率可能不是很好,但看仿真的结果应该是没有问题。 & @- k& R9 N) m6 V+ Y% J1 I
 , ~$ @: S1 K3 f3 U( E- T$ ?: e2 L
 6 ~) N/ f3 H9 E$ E7 \/ P+ U
   $ Z+ P# m% M; s4 h
 " I" E$ O5 y' F+ h, P% R: K5 y* U7 |( H3 |0 t: w; c4 ]0 s* \, I
 ; q1 P1 _# v' \& d7 h/ K+ L/ ]8 n
 demo 的代码在这里
 $ d& g0 G. P( O; J% n/ z* Q, _/ d+ ^6 \0 M" z
 
 0 F7 ]" e4 o2 C* w( }# b) ?. Z3 a#include "reg52.h"    //此文件中定义了单片机的一些特殊功能寄存器2 d  M/ C: U: U5 X9 l: T0 b
 6 v; {0 H# y" A  V3 S
 sbit yData = P2^0;' t% H6 a3 Z4 u& |% s9 {, R: j
 sbit yDLEN  = P2^2;
 / @% I# B2 H! V; K& _sbit yCLK = P2^1;( E$ N6 M) Z# H3 l9 J
 const int   dailyCount = 200;( z7 u% i1 z9 d1 S
 # M( y# G9 T1 L, ~* Y
 
 9 U: a5 r9 R* F/ V( V. Q% x4 I% B6 o' x# h6 [2 G8 M
 void delay(unsigned int i)
 . W8 Z' W' \* p{
 " K4 A* w! r) c        while(i--);        $ v. ?! o8 R0 B0 F( o  B
 }: F: q; G+ a1 S3 [$ ?
 
 6 ]/ w1 B' v( k! Z! M' b/ L1 F7 \1 a/ a- ~, n4 a. E
 void disp(unsigned int num )- e! Z* h8 L6 `
 {0 i: B$ ?! U* Z5 ]
 unsigned char i ;
 # K& P$ W2 l: E9 {/ C2 e$ a3 V1 K4 n& _' r* R
 unsigned char dispA[20];) A4 [7 V5 k: M1 J
 unsigned char dispB[20];7 ?$ p4 E& a2 H* y
 8 G4 K" k( v/ ~0 v+ ?+ i9 _" T/ t
 unsigned char num1;
 7 C& @9 q: B& J& L* G        unsigned char num2;
 6 O$ j. R5 q, |' f) l, r* G( u        unsigned char num3;
 + L" t2 f$ U8 s! N% o        unsigned char num4;0 e8 [  c. D$ T5 Q# i
 unsigned char segR[10]   ;  //右
 & a1 Y, s) G5 D           unsigned char segL[10];         //左* m7 J3 b2 W/ M, Y+ m# ^+ N
 
 % I$ k' j: T2 }7 _) E; `* X- }- A7 c        //左
 . P* x$ B% k! D  k# r* w! x                 segL[0] = 0x12;
 * ^" |, K( M3 c7 J. W. e- n                 segL[1] = 0xFA;
 . I4 }$ h* k8 E6 }                 segL[2] = 0x0E;9 }/ l7 c9 K) i8 z
 segL[3] = 0x2A;4 n) y( R! N+ L% J  J! {
 segL[4] = 0xE2;& M# {. ^1 R/ W: m
 segL[5] = 0x63;
 ) r: q. z3 v8 {1 ^/ n: i/ ?4 P                 segL[6] = 0x2A;* }3 F- v- w" G) P9 s6 q2 {
 segL[7] = 0x7A;
 9 D) ?: [# B0 b* D+ I4 U; n8 G                segL[8] = 0x02;
 2 y5 P5 @1 n4 J6 T                segL[9] = 0x22;
 6 U, p+ j, P! e. x, @2 s. ^& v        3 O& D, {  {- j* n$ w
 
 . @9 B' a) O; u& P7 s; ?        3 v# c. F- |$ [4 W# U
 //右$ Y. @) @3 M" e$ B# g# P
 segR[0] = 0x88;2 u) [* T7 \/ @5 h
 segR[1] = 0xEB;4 L  a8 @6 }! m, v+ ]& F
 segR[2] = 0x85;
 5 K8 v" h. [8 s7 t; r% V; G                 segR[3] = 0x83;% F8 Z# g8 g+ d2 w0 O/ g2 l
 segR[4] = 0xE2;- @+ n# J  A; Q- |+ B1 v" m# }
 segR[5] = 0x92;! S% @3 b" w! Y& x8 G  o
 segR[6] = 0x90;$ T5 V' a+ B8 F( ?# |- F' l9 b* @
 segR[7] = 0xCB;
 - k) Z7 H5 x+ U                segR[8] = 0x80;/ f* {) n$ p/ P# q! Q" @1 K
 segR[9] = 0x82;7 d+ @" O! X( X; n4 s: {+ k
 / h- n/ a+ N+ E+ H" s
 * T2 x# H& b9 m( l
 num1=num /1000;
 - d& L6 z+ I  E/ O$ K        num2=(num /100)%10;;" V- V/ Y/ D9 x& ^! n0 v
 num3=(num /10)%100;;;
 $ D- I  |* T4 n+ b6 y         num4=num%10;, x+ d- }. f0 {. H$ r# G1 r
 8 E- q5 z. n' Z* _$ I6 |
 + F" n7 n3 j  S4 N# F
 
 ) r, a0 O# I0 i' W% E1 B! J# _4 K, |$ m9 D$ y3 B
 dispA[0] = 0;
 , X/ s6 E! A# u4 @: D' r5 ^        dispB[0] = 0;. i5 x3 ~( V7 M, y* J/ [' B
 
 ) A+ l+ ]. `; u4 r% Z/ p0 J
 & `- _; i1 w( E        for (i=0;i<8;i++)
 6 g9 q& }7 j( Y: h        {
 . P9 h. L' o4 T* p  s6 B8 M9 l# s                dispA[i+1] =  (segR[num2]>>i)&0x01;
 : M, {. @; y5 H8 x$ h9 E8 a5 \+ Y                dispB[i+1] =  (segR[num1]>>i)&0x01;        # f) h9 q1 S8 E9 d# K
 
 ( i6 l0 F4 c. w& K4 M2 x                dispA[i+9] =  (segL[num4]>>i)&0x01;8 }7 {# C3 u. t, h  K) A) e
 dispB[i+9] =  (segL[num3]>>i)&0x01;7 k" n" H" S# Q. y! K4 m
 }
 . t9 M4 S& b1 F) X  A) a
 : d7 q- O* ^8 k) q& L" L; W7 S) ]9 f  Q
 
 ' a9 Y6 f/ G8 o6 `        dispA[17] = 1;
 ) `7 v( m  K: k  R        dispB[17] = 0;$ f8 X6 j: X+ V4 A( ?1 m- U1 C! _) Q
 ; m) a4 i+ [0 P7 J3 n) i6 ?1 b
 dispA[18] = 0;8 Q! d0 t0 E4 n6 I5 ^" [
 dispB[18] = 0;& H  o1 o3 ?1 @% B; @  D9 h
 5 N# L) y  P0 c5 A" Z
 dispA[19] = 0;
 $ z$ x6 X0 f, z; Y+ S* A        dispB[19] = 0;
 ! L  o  y9 H% H! @6 z$ v' G# p# d3 j$ s9 z+ m6 M: ]
 yCLK = 1;
 3 T6 J0 Y- c& s% y  P) g/ R% g% N- W
 ' k" [' R5 N" X6 H: V9 {
 6 V# S+ @' A6 T$ l% U: u" \6 M; Z% X+ w& u- y3 i
 for (i = 0;i<20;i++)4 n: m8 ?$ u: [+ S; f" K
 {
 / S( [6 y! D" S- ~% Y$ k  i: j                yCLK = 1;
 - V. G$ L2 i! M1 k5 C                yData = dispA;
 7 h: U' r* A6 C                delay(2);/ O1 f% x  Z2 T7 k6 e5 H/ T
 if(i>17)2 i5 i2 n5 J& L+ u# k, i0 ]
 {yDLEN=0;}2 R, y; e. G6 S" ~, m
 else# L; F& X0 O3 K
 {yDLEN=1;}
 . F) @" |# j5 N+ h" C% O) x0 U' j5 N/ t$ ^
 delay(dailyCount);
 " N5 y0 q8 r" q2 Q                yCLK = 0 ;
 ' X5 j4 f; I, G8 V* z( J$ F  {/ g! P                delay(dailyCount);
 8 H+ e, C3 q; Q9 E$ N        }
 ; p9 l6 f1 W, ^( F: O( X1 Z
 7 O% B/ W& Y5 `# P* ~% J. V, }  s        yCLK=0;
 # R9 B5 P9 C, ~0 ~3 N1 I6 P' w        yData=0;
 6 A% q' V2 _7 j2 O$ J        yDLEN=0;  w" x$ M6 ^0 y9 j
 delay(dailyCount*10);
 ; G% }: P( o! k" a& d/ ^
 - j9 o# P8 C; Q* A' ^/ ]$ ]1 F& H
 5 U" v0 [5 S4 ]: ?- n
 for (i = 0;i<20;i++)! e3 E8 P* i+ u: [( N6 w: \! ~/ ^
 {# n* g& z1 }; S$ C
 yCLK = 1;
 * f; Y" ]( X5 M: y                yData = dispB;
 . b" d) `, c& K( ?' z                delay(dailyCount/10);3 S! x4 ?# o8 @% O7 j* |
 if(i>17)  {+ S. U/ [( A! F
 {yDLEN=0;}! i$ N! l1 b' ^+ ~/ I- j" a
 else
 3 i$ M$ o. q. d% G1 q/ ~- R) K                {yDLEN=1;}  m1 m1 d% r( Y; v" n! K( p
 
 6 M# K2 }/ D% |; R& K                delay(dailyCount);& g/ c+ i; _: C# `+ `' p, N- Z
 yCLK = 0 ;
 * H2 B! m+ i; R" g- V" Y' u                delay(dailyCount);
 ) V2 u+ |% K1 j# @/ m! n, p' O        }$ c0 O* a, i# ~8 j" a$ `5 ~( q
 ' B0 m* V$ a1 s5 R: @
 yCLK=0;9 u& S$ Z; `, K. t
 yData=0;
 ! m2 {" L. S( s5 X! s        yDLEN=0;
 2 S, o( O/ b7 z/ O        delay(dailyCount*10);
 5 {3 M: F8 U$ L5 l}8 B+ r4 Y1 N2 q& q2 W7 y4 s6 u+ ]2 K
 + p0 V* p- U# G) {: A: L
 
 ! W  j/ e% m+ k7 X$ @* O6 X; ]4 @2 r$ |$ ^8 G9 o
 
 0 ~$ T: `/ n+ ^" J5 fvoid main()
 ! E6 r7 Z, I$ M9 o& p5 ~6 \; a{
 , q! ~# y; A* c        while(1). J" a2 [4 F, V
 {# l2 W) b" E. n9 G' Y
 delay(4000);
 ( Q$ Y' \9 |) Y* s& t                  disp(0);
 ! D4 |% W$ V6 E# x" H0 z: F        }
 " C# T( A, ]  O) c1 W}4 v8 L7 p% \0 K: ?( `0 C! V) D
 ; Q! f1 |8 S1 {% ?+ A& U5 Q6 I
 1 V/ ?* i5 z/ P+ s, c
 
 |