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

单片机数码管显示数值,按键设置数值 源码加proteus仿真

[复制链接]

该用户从未签到

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

EDA365欢迎您登录!

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

x
本帖最后由 kinidrily 于 2018-11-27 09:41 编辑 : |* X% q3 _/ x; i. i: {/ F7 U3 N# b; }
7 A# R3 c0 h5 e+ ~( K" U
单片机数码管显示数值,按键设置数值 源码加proteus仿真

( Z9 i+ U4 X/ A1 \
单片机源程序:
  #include<reg52.h>
% ^. z0 e6 u! _$ |1 X+ [4 k  #define uchar unsigned char) ~' W5 Z* j: k
  #define uint unsigned int# ^9 Z. B; e; L+ }3 i$ ~
  sbit key1=P3^4;6 w0 b6 _3 M7 z' |" i# w
  sbit key2=P3^5;. w/ R% i7 I* q4 Q; F) a' x
  sbit wei4=P2^0;
5 z5 ^* j0 k* P4 Q  sbit wei3=P2^1;
$ t5 Z5 M  d5 y# l  uchar code table[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x77};
3 H+ s4 V2 Q9 s; {  void delayms(uint);
7 x: L  c( F( o# J; J& A5 `$ b! b  uchar numt0,num,flat;
9 V( k1 V2 r, S2 b  g$ l1 ?   void delayms(uint xms)+ c% M2 C* a- n5 k
   {   
6 a7 F& c4 `9 L# x8 ~& E       uint i,j;$ d, L& B5 V( M3 r8 S6 z
           for(i=xms;i>0;i--)2 Q) e+ K1 x. a
             for(j=110;j>0;j--);
) i  a8 E" T6 G4 v8 @          }
6 O* o7 X1 {5 b6 T4 S   void display(uchar numdis)7 I# ^# B% @  O8 A% ]
  {3 N$ u. U: p  j2 k, U9 N- I6 y3 J
    uchar shi,ge;
. d+ N( y. @7 j         shi=numdis/10;% g$ z% L1 R9 s) ~0 v8 b3 }: w
        ge=numdis%10;
+ O' C. {; B* ^" k" a- C; f        wei4=1;
/ ^. x: ~2 V) b2 L( f        wei3=1;
9 ^. I8 a/ ]& |5 N! v% a& p2 A- j        P1=table[shi];  G. ~3 x0 M7 {
        wei4=1;5 \) S. P" n4 u9 z+ f( W/ V6 Q
        wei3=0;: i" _& x% X) ?2 Y! x6 ^6 Z3 c! n
        delayms(5);
) t3 M3 z8 d9 r: G7 I! _% G        wei4=1;  q& ?) F" y. _6 n* B; e; e( j
        wei3=1;6 C! u  |5 W' V2 ^
        P1=table[ge];
+ ?6 f" c/ \# ]! v        wei4=0;& s, k8 S2 o7 P$ a: r- k
        wei3=1;+ @4 P" h8 O' p% S% d. u5 o' }
        delayms(5);. z! E; u, b2 c. M1 X: B+ }$ @
        }* N+ a8 g9 F8 B: n2 \8 u& c7 b# }
        void init()
1 z7 x1 _5 ^3 ]4 i        {
7 ^; b/ \/ h' N7 z1 w: I       TMOD=0x01;. a9 l, N/ R( h# f) W
           TH0=(65536-45872)/256;
5 M2 D0 V& E2 H- x; f0 z           TL0=(65536-45872)%256;2 d) x( ?7 q" c  [) ?7 j
           EA=1;/ Q7 n3 `$ j. ~
           ET0=1;; P5 f" \/ o* j& h; ^! F; n& i) M
           }
6 u4 i) t8 {/ v  t& p   void keyscan()
" X5 H6 v7 C/ V6 O   { " o6 u) W! j& O, |$ G) W
      if(key1==0)
3 p6 D& l; J/ x4 e: B; ?- \2 [          { " q9 E( i4 \; q1 e8 X/ f1 d
            delayms(10);. z/ o4 B! z2 [5 ~, t3 |
                if(key1==0)
5 V% m2 i5 I4 l( L                {, p6 |+ R  R1 }( w
             num++;9 G; s8 ]( m: G3 Q1 [3 h
                 flat++;% t) R1 R6 i$ L5 E, l
                 if(num==99)# H! o: B+ D$ G8 R3 a6 I
                     num=0;
9 |- D8 G# |* j4 p: b% X( a                while(!key1);' w- B" U& ~0 Q; p
          }
4 m! o, Y. J+ b7 z7 R6 ]! D5 |        }0 n  X; ]7 n" Q, f% p, _
   if(key2==0);0 q# g) T2 W: H; F7 n. v' Q) }
   { # \3 |: A* n1 E* W/ ~/ q
      delayms(10);
' w( H6 J! {) v6 `2 A( l+ j          if(key2==0)
% ]3 g( s6 a* }( O          {
8 q7 w! `3 X8 E1 n/ e, R+ e) ^             if(num==0)
! v2 k( w# y" t, w- y( b" i8 @                   num=99;/ z: D6 s9 B5 `* N" G. P; [0 g! J$ S: _
                   flat=99;- t2 b  Y' n# \/ |% }
                   flat--;
% F: i$ l+ w& L4 R' ?/ D5 ^' o' b: @                   num--;" w, H' @  O9 f+ A5 R, ~
                   while(!key2);
- d. V, F* e3 L6 ^4 p# u: B; S                   }
* ^, [  `& h  X, o. q        }; n: R' q- Q* P& z
  }
$ k  o% D8 Q9 e4 S; F; w$ ?  void main()% ]8 V, c5 n- R) p
  {init();2 V" `4 z8 J$ N- S
   while(1)
! L9 g. {9 o$ T   {( L/ E) G9 t  Q  V* E6 B3 N
     keyscan();' F" G' ~: \- ~3 ~* q% z
         display(num);+ K" A+ H4 {& _
         }}( l9 o1 @& T9 m3 ^
        void T0_time() interrupt 1
( T5 S8 ~+ c, F        {TH0=(65536-45872)/256;* t* V  b/ b- D( J
         TL0=(65536-45872)%256;- v% Q9 z) r, r5 P; I
         numt0++;3 F1 W, c5 B$ T) W$ i+ ^
         if(numt0==20)7 S; R0 }' M5 e$ L& y+ ^; ~* r
         {numt0=0;, A) M+ \9 I" p; i
         num++;
, ~! `% o) }* j$ t0 \) p         if(num==60)
4 \: t7 i$ x+ U7 {9 b* u- ^& D            num=0;
…………限于本文篇幅 余下代码请从论坛下载附件…………
游客,如果您要查看本帖隐藏内容请回复
* A$ \! K5 c$ r% W3 @0 D

该用户从未签到

3#
发表于 2019-2-28 17:53 | 只看该作者
看看楼主的代码和原理图

该用户从未签到

5#
发表于 2019-6-19 01:59 | 只看该作者

该用户从未签到

6#
发表于 2019-12-8 22:40 | 只看该作者
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

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

EDA365公众号

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

GMT+8, 2025-6-19 19:12 , Processed in 0.093750 second(s), 26 queries , Gzip On.

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

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

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