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

单片机计时表proteus仿真和源程序

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2019-1-10 06:30 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

EDA365欢迎您登录!

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

x
单片机计时表proteus仿真和源程序
+ U) L. j. I6 n* t/ a) |, s1 M5 V8 \$ z2 D
& Y7 x5 W+ _: `# Q' q  c& r
51单片机源程序:- _/ j# j* B# x, e
//简易计时表,未开始计时时8循环左移,INT0计时开始,INT1计时停止,精确度为0.1s6 ]( b  q  d/ }
//单片机晶振选择12MHZ $ [, [1 K1 T+ R6 P
//收获,定时器计算1us为一个指令周期,可以通过公式直接        求的所需时间) \1 b, z+ z, B2 X$ ^% t
//在数据传输很容易犯错误,因此要注意在草稿纸上演练0 X7 T+ R  ~% e+ I% M8 R$ V" {
//在获得数值与运用数值时,除了必要的数据转化,尽量不要处理,直接运用有利于减少错误8 Q3 c3 b; q# v; d7 ^
#include<reg52.h>, m, d" p5 _, @3 C3 H: _
unsigned char  M[10]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90};- _0 Q& U; e) B* s
void System_Init();# A7 d+ g# ?5 a, }: {
unsigned char flag=0;* m7 f! ?6 T  A8 G
unsigned int Timer,Time;        
& y% ~6 D! y! x3 @5 Funsigned char Dissbuf[3]={0,0,0};     S4 B! I' U# h0 w1 u; x, R
void main()5 B% K3 A1 x/ {
{& P, ^( P- S6 n# r5 B" ?- B- d
  unsigned char i=0;
( k& I8 M8 t; E  System_Init();
; [1 [' h. ?9 E  t# [9 k  while(1)
! {# C6 a  E# C( R% [  {
* p! u( q4 g$ ^( L2 }
0 g6 |( {! n  s/ e8 E. h  if(flag==0)
/ |, ]' a% ^- k6 u4 \4 {: H  {               
' G6 {" Q, M4 Q! ^    i=Time/10;) g$ @5 e; T& N( a3 F; t& _' j4 L) q6 @0 N
    if(i%3==0)& ^' ?; q8 S: c. A( ^( h- S4 f. O
        {P0=0x002=0xff1=0xff;}9 U+ ?  f5 G9 y6 \% w
        if((i+2)%3==0)
- ?, l$ R1 _" i- L        {P0=0xff2=0x00;P1=0xff;}; m2 M3 Q  t0 B3 q9 G# Y- ]
        if((i+1)%3==0)
3 a1 \# C" X# v        {P0=0xff;P2=0xff;P1=0x00;}3 ]6 W6 ~- ^3 B: b* h1 J9 n: @+ \/ I
  }
* t& V8 O3 ^0 J8 R2 ]* C" @1 e& ~  if(flag==1)
* w' o9 d; F' I2 b9 E) q: v1 A0 M  {+ i/ x* [$ g6 Q; F% V
    i=20;
  V: c" p& J" K3 Y/ ^9 z    P0=0xff;! \( F: l- ~$ y
        P2=0xff;8 v( m- i2 T9 Y* |' o
        P1=0xff;
. J4 X1 \! L/ r3 J; R1 Q$ j5 @        while(i--);) C, l9 d9 `, A. _' v0 G3 F
        i=256;
2 {& n( V6 d, K  m  l" `, g    P0=Dissbuf[0];
' H. m& w# C" T( Q' a        P2=Dissbuf[1];
9 F# C: t3 W4 W  C! U        P1=Dissbuf[2];, m# o/ C+ f3 u! ^
        while(i--);' w3 w, l' F- F9 ^0 s6 H
  }
! n2 ^: R" \. F# z; E  }8 }1 D3 ^' Y/ S( B4 i
}' g+ P$ a7 F6 w, ~" `9 l- n4 V, d
7 D* E5 G/ G5 Y& q

& t" H  E) b0 @. q$ j/ [+ I1 d' m& R8 Hvoid System_Init()
/ R& j4 z% V# F. Q3 D    {0 [: X, a6 z$ f4 h
        
7 k5 g0 v) y: J    TMOD = 0x01;0 I( ?0 R* x; F
    TH0 = (65535-50000)/256;1 V. B0 k2 u! X& T# }! N. o
    TL0 = (65535-50000)%256;: N# u# B; O# `1 Z* D% R
    EA = 1;0 S+ ?" j+ [  G" g7 g1 P( J5 M* H
    ET0 = 1;2 y5 [, j, w+ ^+ _, v. }
    TR0 = 1;
! {# o- V8 q1 ^/ v( U; q9 t        IT0=1;5 Y( {! e  }3 I# I: V  W$ ]; Y
        EX0=1;3 H3 {; h/ t2 U
        IT1=1;. q" A8 \6 ^# T8 w
        EX1=1;* i1 [: s$ I* N! \1 A
        }& X6 L4 j/ T2 O, E7 o% }; _6 b
        void into() interrupt 0$ j$ h6 R' s' n  h& k8 h) c
        {
; P) M5 @5 ?4 u) v         flag=1;3 Y, Y8 ^+ y" j/ y1 m# n/ I
         P0=0xff;/ G+ b! Q9 \& S4 l3 c( A
         P2=0xff;+ q1 Y6 U, s3 Y* X' _8 j" ^
         P1=0xff;
% P: Z6 X6 v0 B8 _2 \$ R         Time=0;& ?: i: M. ?; t  h
         TR0=1;
5 s$ x5 j& ^2 w7 ^        }
( f5 |) G2 `' h* k, d        void TIMER0() interrupt 1
% g! j. v. v% M1 [$ c        {- P6 t/ @7 c% L
     TH0 = (65535-50000)/256;1 m8 H* A3 b* {- B" M0 b
     TL0 = (65535-50000)%256;
' I: s7 O4 F( D          Timer++;- I% j9 y0 ^# ?, }" L. w
          if(Timer==2)
) o: c, V8 O- n          {
/ c( j' D/ k1 A" \          Timer=0;9 A, R: R$ W" L4 Q
          Time++;
. ^% e* _: n* ^4 T" X+ I6 [          if(Time==999)3 W: t* V6 l( F' b; |
          {Time=0;}, k, o( t3 u' b
          Dissbuf[0]=M[Time%10];. P/ N2 @7 M4 Q, b6 I
          Dissbuf[1]=M[Time%100/10]-0x80;
7 Y2 z( P- D' x) T/ r; O, @          Dissbuf[2]=M[Time/100];
/ n/ x( L2 }% V7 N2 k9 p5 u          }
) f* Z5 ]  s( L( }3 j" l/ h! J% V# }- t; f/ ?* S9 Z
% ?) f! t* t7 d$ A# h
- _1 T7 u" L6 c2 c- Z
5 l6 X, B3 Y# q8 |1 b; l$ I+ n
…………限于本文篇幅 余下代码请下载附件…………
+ }$ m) e  J, y8 K4 T2 e$ @
6 I$ h% {5 U# b1 ?0 F
, d  r5 M7 @8 b2 x& J: j6 K

/ h6 M- w6 t9 \' T. a5 c/ J0 B" d: t
! c! B# u8 s# C/ @* r2 q; @
单片机计时表仿真工程文件和源码下载:: Y8 t- o+ f2 N  s

! Q1 W* N: @0 ^# o+ r% _; F7 q, v$ `, \" D
游客,如果您要查看本帖隐藏内容请回复
6 i; {  K( Q& o

1 A$ d& ]$ v2 O
  • TA的每日心情
    擦汗
    2025-10-20 15:44
  • 签到天数: 62 天

    [LV.6]常住居民II

    3#
    发表于 2024-8-10 16:52 | 只看该作者
    这个论坛的规则太多了,一个小时内不能发超过两条消息,下点东西要威望值等,真是讨厌啊
    您需要登录后才可以回帖 登录 | 注册

    本版积分规则

    关闭

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

    EDA365公众号

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

    GMT+8, 2025-11-24 20:47 , Processed in 0.171875 second(s), 26 queries , Gzip On.

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

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

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