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

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

[复制链接]

该用户从未签到

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

EDA365欢迎您登录!

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

x
单片机计时表proteus仿真和源程序
7 f  s- L3 F+ b) J, L( F% {: {/ N; M( B
' y* T' N" u3 o4 u6 h8 p" _
51单片机源程序:
- l2 o; Y& G. Z/ L1 k//简易计时表,未开始计时时8循环左移,INT0计时开始,INT1计时停止,精确度为0.1s
5 Y% N/ O4 G: R; R5 w4 r, t7 _//单片机晶振选择12MHZ 4 e4 R8 q! i+ o# S9 R. k; T# n
//收获,定时器计算1us为一个指令周期,可以通过公式直接        求的所需时间
& D* z7 B/ r9 N. i//在数据传输很容易犯错误,因此要注意在草稿纸上演练4 L& \# L+ v6 z7 ?$ \
//在获得数值与运用数值时,除了必要的数据转化,尽量不要处理,直接运用有利于减少错误
. Q) M: B& a. H0 U* W3 e#include<reg52.h>1 p" d. w/ @# s# ?+ n
unsigned char  M[10]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90};
$ t% c& d9 O$ B4 V( f9 `. b  ivoid System_Init();. C/ e6 Z( y. L5 d0 g
unsigned char flag=0;3 i) Z0 c9 `* y( z8 |3 d
unsigned int Timer,Time;        
6 q6 @3 D, m: e$ M2 J$ Wunsigned char Dissbuf[3]={0,0,0};   0 [' G! j! s$ f
void main()7 `: h/ A5 n" I8 t8 x, a# A) F
{- G& V& {9 I& _9 X
  unsigned char i=0;
$ @: @4 E& V# Z% l1 k4 `  System_Init();4 O8 i8 V# Y+ ]7 r5 w
  while(1)* X/ T' k0 Z4 x
  {
$ d, {' C6 M- I1 I 5 z5 Y' l6 B  h* q2 w3 d# P
  if(flag==0)5 ^# A) }6 U& x# a! h( E# k0 q
  {               
# U# p! y3 r$ J6 h    i=Time/10;& ]; x( u' S% O7 W9 Y
    if(i%3==0)' g: d) s. v( |, ^6 G% m$ t
        {P0=0x002=0xff1=0xff;}) I8 |+ d8 g4 \* V" u& u
        if((i+2)%3==0)% f( s  v9 q3 u# Y5 I' S4 ^" L6 _
        {P0=0xff2=0x00;P1=0xff;}
7 s3 Y" ~1 C0 ?+ |        if((i+1)%3==0)
. z5 g0 O7 h4 Y; R        {P0=0xff;P2=0xff;P1=0x00;}
4 I3 w+ S2 _& g$ ?0 d  }5 n0 M& V" g( i$ y
  if(flag==1)3 l9 K0 N! `7 p
  {
2 }9 ~- C" e* J% ^# X  Y    i=20;- g' E) v7 m- q2 a" z" i1 |
    P0=0xff;
( {/ C* D' s9 S- ~$ T/ @        P2=0xff;5 l! ^0 s- [. _4 ^
        P1=0xff;
4 K  n' K; R. w& C* K: z6 w        while(i--);$ u; ~- |, Q9 ~- [
        i=256;6 C1 H6 y: b7 O3 D$ J
    P0=Dissbuf[0];
  Z- ]! c: f! F, Y6 s) G        P2=Dissbuf[1];
& ?! w( X" f8 E- d% E% z        P1=Dissbuf[2];& K5 v: T( D8 G+ i) t) J
        while(i--);
) \& A" E1 Z. `  Q9 J  }
* O" a+ g* o7 c- x4 O( t  }
  g8 K$ @" D" p( u) y}
* l0 u3 [3 A0 X6 o- @9 n6 L& I
/ Q' [* ], q2 f* `

) }0 B* F3 W2 G5 v9 k/ ^% ovoid System_Init()
8 Q  ~4 D  p8 i, C0 g    {
1 x7 q9 X$ U0 e, x" z6 y        8 j# I# o( n9 S3 n7 ^1 m
    TMOD = 0x01;
' ~# Q( H/ v5 X9 Z/ V& `* f- x    TH0 = (65535-50000)/256;" I! P) w4 a$ U& _- q
    TL0 = (65535-50000)%256;. T( S' Y5 p/ r5 W" U- g: |
    EA = 1;
0 @% I; F) j& W* N    ET0 = 1;+ ?$ L7 D  J9 e. C$ z
    TR0 = 1;
& E2 k4 R" _5 q! X" D. C        IT0=1;
8 c  U' }* n$ K, X        EX0=1;
9 n) [: M+ S, _' n- g3 {        IT1=1;
5 B6 |4 ?9 A1 s/ A        EX1=1;. f7 l) z7 \" O0 `$ q4 K
        }
1 u4 ]! D; F$ {/ X' y) i6 |# W! S- {        void into() interrupt 0
8 y! p) q  x7 n1 c        {
3 U9 z, M! C$ H) s# R1 J5 Y2 p         flag=1;
3 k$ |5 k) i7 r& u$ Q         P0=0xff;
. I: a* h. H( E         P2=0xff;
: ^! P0 a" Q  v         P1=0xff;
- K4 f- W: ?! n# L# h: ^; s5 r         Time=0;( G2 G+ v3 R. [- Z- f, w/ `
         TR0=1;3 u# {! a# Q' r' {) q
        }6 R0 d& h- X3 `  R4 z8 X4 B
        void TIMER0() interrupt 1
" i' d# S$ f" m& \) ?9 U5 ~        {; n2 A9 z: T5 }4 I. W! z
     TH0 = (65535-50000)/256;" K" C, o: I% }4 Z: a) L" T1 x
     TL0 = (65535-50000)%256;) z+ Z# k8 B: U/ ~$ S+ I
          Timer++;! N1 Z9 L% ?% L- J" @
          if(Timer==2)& ?% @9 p- c: e1 L$ X# r% q
          {) b+ }' R& H! y/ R0 y
          Timer=0;
$ M# g4 w# J& v4 R0 w$ \          Time++;
& E* }9 t/ X0 |8 L, y/ [          if(Time==999)" ?4 _! b& R" r' e
          {Time=0;}
& D- e! w3 n7 j+ y$ \          Dissbuf[0]=M[Time%10];
8 C) n- `1 M! Y) w( z, [          Dissbuf[1]=M[Time%100/10]-0x80;) c( x: O0 u& f6 K- R
          Dissbuf[2]=M[Time/100];( E8 k1 T: z$ L. P, p
          }
4 R! _' s3 I. r% ^8 ^
  ~& [$ @9 A5 |3 H2 |+ `2 K9 l

( I9 j, \8 d6 O0 |! T. l9 i; }9 A- Y! P% \) k: |  o2 I5 T& w2 I

" E( ~0 g: n0 g…………限于本文篇幅 余下代码请下载附件…………
- Z- l% R- _* k7 O9 t4 C% Y9 C) E. U# _+ d& v
- _1 V9 \2 Z; F2 l

1 g5 f* h4 ]7 a5 i% s
* a  \5 r; a3 d% Y3 B
* r# w% O4 Q! m4 w  K$ V单片机计时表仿真工程文件和源码下载:+ i% w) u5 e4 w* {6 V' @: M( y7 z

$ @; U, W6 _0 T  Y2 P0 D6 e) U# N" i* K! L. g3 [
游客,如果您要查看本帖隐藏内容请回复

) p6 P1 t) C- C* p1 z+ Y/ i1 F; i9 I' [9 D* E" G3 `* K1 l
  • 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:30 , Processed in 0.187500 second(s), 27 queries , Gzip On.

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

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

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