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

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

[复制链接]

该用户从未签到

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

EDA365欢迎您登录!

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

x
本帖最后由 kinidrily 于 2018-11-27 09:41 编辑 ! _/ e" \7 s0 r; L

5 A' B& D9 N. H5 v, O2 F
单片机数码管显示数值,按键设置数值 源码加proteus仿真

' A9 X2 c1 a7 W% u; a
单片机源程序:
  #include<reg52.h>
9 [; k* H% z# X, E* @  #define uchar unsigned char) S0 y- \1 \8 B; ?
  #define uint unsigned int0 ^6 p. X9 T3 Z4 x- d/ |, `
  sbit key1=P3^4;
+ `( [3 y# Y" ~% ~  sbit key2=P3^5;
/ G. e9 L; f8 e( m) [# _9 f/ ~  sbit wei4=P2^0;4 \" q5 r+ j9 ^0 K8 Z- g# j
  sbit wei3=P2^1;8 L- ]5 {: L  h1 ^
  uchar code table[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x77};
4 Q4 V5 U5 t' p) g: s/ T2 g" p  h  void delayms(uint);
/ x; L: Q. Z# H" _9 h  uchar numt0,num,flat;9 D9 {# |) f6 u" o9 i; P, F* _
   void delayms(uint xms)* k7 Z! E: Z. {% A, K% `
   {   
  w" `4 i* _: I' |; A       uint i,j;) S% p( J: J8 U5 E. z; @& z
           for(i=xms;i>0;i--)
' |/ {& m" r  W             for(j=110;j>0;j--);7 P; C2 h' z" r+ q
          }) @& ^7 Y9 t" M- _
   void display(uchar numdis)
" P) J8 @- P, E4 j9 b( B* e! h  {
6 i8 \6 _# ]" t3 f' ^( e7 ^% D0 `    uchar shi,ge;6 X, w0 _% Q3 g& K9 ?
         shi=numdis/10;: Q: v: l2 [% I' T0 }+ |, _; G
        ge=numdis%10;
7 T, d% ]# `7 c0 D7 Y( B        wei4=1;
2 d/ p1 K4 Z2 u- b0 E+ `# x0 W+ L# T        wei3=1;
4 |0 ]; j8 b  G4 r        P1=table[shi];- K) Q% d: {" O/ {+ e, y
        wei4=1;8 e' g- o2 M9 h& i7 m$ T
        wei3=0;
9 g- E- z+ k" P9 a+ J        delayms(5);. k3 w! R, \7 n" W
        wei4=1;
& L) ]2 {' w7 g; W. Z$ i6 h: ^        wei3=1;& q3 v# Z) G: W4 a
        P1=table[ge];
% ~) @7 M" ^+ P; v: g# G        wei4=0;
: r( ^, y- e3 C7 \' x% n        wei3=1;
; n: t. c0 \' S& o1 X6 Q        delayms(5);
2 f$ S" N) c9 p3 o" o        }
2 I5 `& A6 z8 U* H2 k0 A* F+ V        void init()- }% l& l, X7 }' }/ k
        {
: P' D# b& s# Z- k( c( h       TMOD=0x01;8 a6 a1 V  [5 W. ]; g" A- A# E) |
           TH0=(65536-45872)/256;
3 ?. O0 T* a( [5 L           TL0=(65536-45872)%256;
+ q( y4 ~5 S" P- `           EA=1;3 p; D. R; R! @! T' n1 O: y/ C1 L
           ET0=1;6 G7 H7 A; `% k9 J
           }  z7 k% i. P8 p$ @* {
   void keyscan()
# N& z7 Q# n5 |  i8 i, \   {
1 E: X9 ?$ }2 g7 ?6 M: d3 Q      if(key1==0)
7 z8 E8 S2 R9 Q. B7 h- e          { 9 {6 l( a3 i, _  [( ?
            delayms(10);* p$ f: E6 h# t! j
                if(key1==0)1 u/ Y5 E0 W+ B1 B
                {
  K- M+ b$ Y! ]2 b             num++;" Z' j; T- v' t% ?& |, B
                 flat++;3 G2 z; [8 P* P* {9 m" |; E
                 if(num==99)! B  O1 Z% s0 P. n% a" C
                     num=0;) {: \- f- X# @  F1 S% `# Y9 @
                while(!key1);
# X+ s4 T5 k0 F1 C. G2 ?2 |3 M          }: X" Z& ~7 M; u2 G! @$ g0 V
        }
6 v2 e4 Q8 @" W+ J" d   if(key2==0);0 Z0 @( ?* ~" C
   { " l7 H# o+ {& }2 i9 Z
      delayms(10);) ]8 }, H) A, q
          if(key2==0)
( A* Y# A5 \4 u  e) Y& u4 u+ s          {
5 e( c; D6 j2 p             if(num==0)6 I- O5 V9 C) ]9 M$ W; r3 D
                   num=99;+ f+ l2 ^8 v4 ^3 K
                   flat=99;! l# F2 O# u5 z
                   flat--;% i2 j( j9 G, g3 c$ N: T2 \
                   num--;% Z8 d* `$ B5 o- ~  N3 k) f
                   while(!key2);. r7 [0 \& q. x
                   }
! g1 z" @# ^. e% u, H, b1 f: k        }$ E( |+ f* h5 C
  }
7 F& F* E" T! Z8 F% @  void main()+ O- w3 n1 @0 r" ?* c1 E5 Y( p- w$ I) ^) F
  {init();
( O. d- P* i* [+ j( {. I0 V+ y   while(1)
# t+ r, b: p8 _   {  O: a4 N. A8 _; j6 x5 ]
     keyscan();
7 H) O; }, k/ X1 X7 c6 s9 n) s3 I$ g         display(num);
5 K' A1 ?/ a$ _6 G1 j         }}
9 U  q" [( x! t9 ~" }- n5 z5 ?        void T0_time() interrupt 1
' H2 w! l# p/ L8 k9 x$ b9 J: B0 u) R        {TH0=(65536-45872)/256;, N$ [1 O) o* G* P. X# u5 G0 q
         TL0=(65536-45872)%256;
, Z$ R+ B2 j; Q         numt0++;( ]$ m# ~! I" q% n; _1 u2 B
         if(numt0==20)
- n7 Z5 c* g2 u! Q         {numt0=0;
) ~& c3 c1 i- d5 y/ M5 w         num++;
7 A; y  _/ ]; ?         if(num==60)8 k1 c2 J$ `. i/ H  V
            num=0;
…………限于本文篇幅 余下代码请从论坛下载附件…………
游客,如果您要查看本帖隐藏内容请回复

+ W6 t- j( g2 [& i9 G

该用户从未签到

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-13 20:13 , Processed in 0.078125 second(s), 26 queries , Gzip On.

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

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

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