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

单片机倒计时器无显示,请求大佬们指点

[复制链接]

该用户从未签到

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

EDA365欢迎您登录!

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

x
学文历史的,最近迷上了弄单片机,自己学了一段时间尝试写了个倒计时器(已经尽力了),在proteus上运行的很好。特地找了朋友焊上了但是一开电数码管没有显示,打开那个P3^1/TXD那个端口就亮了,但是很亮,数字也变成相同的了。已经查了很多次资料,单片机也废了好几个了,真心求教,真的对单片机感兴趣。3 M. F9 h* p  Y6 s$ v1 M
5 z2 Q& Y/ Y4 d
单片机代码:5 B  I( O9 ?( @3 Q
#include<reg51.h>+ U# R  l; }/ Q$ P7 ?
#include <intrins.h>
$ X2 K1 W7 L! V  V#define uchar unsigned char% H2 _7 o2 O8 T/ W
#define uint unsigned int' J7 m& {4 t# _, m) ?: l+ e$ X
sbit one_place=P2^1;# \$ k& p5 G& H. q) x, H- \
sbit ten_place=P2^0;" r+ r' s, p0 K- q3 e0 j! m0 O3 c
sbit features1=P1^0;//star开始2 G" W# \5 _+ d3 f7 X+ c% r5 q1 f
sbit features2=P1^1;//stop停止
, P. L( v  i6 N" Tsbit features3=P1^2;//reset复位
7 E/ A3 V" a# x; isbit beep=P3^0;
; z. ?# l7 r% v6 y- ~sbit aa=P3^1;//蜂鸣器停止
; y5 b: _0 }. v% I: }  o7 \  guchar code table[]=
( x1 Q. _6 \6 p, y$ _) @, V{0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90};. `& _) J  W6 F# }" T+ ?# O# K
uchar num,num1=11,num2,ten,one;
# z& d! I( Q- ^1 c9 _$ Z/ fvoid timer_init(void)/ Y' p& |! F$ l# J, X
{. W2 L, P5 K4 z! N4 H6 c- @2 J
TMOD=0x01;
8 p4 s, f5 c& q# vEA=1;# Z6 z' Z  L, A4 Q* |! ?
ET0=1;
# _; h3 k1 s" F7 T9 B6 k# ~( L+ cTR0=0;0 Z7 m1 c: o! X
}* |" Q5 U; o; B' O. Y; ^8 d
void delay(uint n) * V. t( w4 a' ^) ~
{while(n--);) n2 ?- d; f: J& e
}
  Y  W0 i; _& _. E1 r0 c3 Yvoid check()1 o7 X) w# U) q* b3 J/ l+ Z
{  n0 {3 u' ^2 C! u
. w2 m" i8 K( k0 m4 G" s
   if(aa==0){beep=1;}8 L1 O3 ~& i, S5 F5 a
   if(features1==0){TR0=1;}
; K0 }9 W4 k6 c   if(features2==0){TR0=0;}
- I8 V, S. O2 Q2 \2 N- s   if(features3==0){TR0=0;TH0=(65536-50000)/256;                        
2 j  K! F2 l9 |# v  e                          TL0=(65536-50000)%256;num1=11;}% ^* I3 ?% x5 k7 ?: e! q* O: P) R
           
( k  M5 T  U3 C  a5 O+ f' b* r  L}
4 t: X) n6 y0 @* b, M# Uvoid display()
* O6 j& Y6 ~2 p. T{
& E- T9 `3 |: p* W6 B8 mP2=0xff;& `: S/ v6 @) w3 Q
P0=0xff;' I) r7 s9 Z' i4 D8 q
}- j. S' [% m' K6 l
void main(void)
; |8 G1 }0 h/ B0 I! S{ 3 }, C, h8 S+ j! `
beep=1;3 G% }- ?& x5 F0 t# w
timer_init();
1 k0 G+ S) \. Ddisplay();( x( L: `( [  ]: |
if(features1==1){TR0=0;}" O, p# A7 Z- i
while(1)
/ }. y/ u( ]9 q, f{1 K4 d  M! N+ f- J# N( k7 f2 {
check();9 W: R: [* z2 e& F: a! T& e. W
one_place=1;
( _) c  u" T0 a4 Y9 G& _- w" CP0=table[one];8 v4 }# d5 Q: Y, Y" a* o! ^. ^
delay(100);
: w' I/ D! r# I# [' }; h% j, s5 Bone_place=0;- O0 j5 ~  j$ C) s$ z" y% |
delay(100);
$ j( P( L: G- ^3 A; }ten_place=1;
1 v$ Y5 C- |3 M. H  N6 KP0=table[ten];. Y. [- B6 J+ r
delay(100);
1 ^" b; P3 K9 A$ rten_place=0;
% I' T+ Y+ h7 ]1 o0 o9 O: B+ f: bdelay(100);
+ Q; D6 e. C: J3 e* R}
' r+ ~/ t/ B# T( C}
+ c/ g% ~: a  r+ Gvoid Timer0()interrupt 1                          
/ @" q- C6 e5 A& x% n{2 k5 a0 p* E" i8 t  [' ^( ?2 C

2 r5 {7 h4 {! L2 `, T& ~' \TH0=(65536-50000)/256;                        
) S/ e" m) j4 T0 W; e/ vTL0=(65536-50000)%256;4 v( I, i& q5 \7 H' z4 l2 ~
num++;
" x- B" {% r% N# `2 ~% bif(num==20)                                            
# r! o4 s  y5 F{
$ b( e! P3 I5 O' \. Q) F0 Z   num=0;                                                
9 z7 e7 Y  P0 K3 @2 E   num1--;                                                 ! v% K8 B6 c3 i) R
   if(num1==0)9 w2 L! G$ J9 Y/ S' }
    {TR0=0;
6 y" i$ {0 Z7 L. F) D$ @" I. \) l    beep=0;}! }) \* ]  c$ i* \2 A, w( P+ f
   ten=num1/10;
% K0 l* j- A7 F1 K6 ~0 h; e   one=num1%10; . H+ h, m/ J" e
! {) k2 F8 b  C1 l
}
& `/ B2 u* N* t! K# j}
8 Z$ Q# a) }% n% j2 `" K5 {1 N8 f% {2 g8 L- C2 C" H6 s. N
1 C4 g7 }+ s: Q( D( R

+ x: e7 t- L+ Q) r! T$ _6 F  K9 j, h, f3 d
% _( V5 L' |- b2 E

该用户从未签到

2#
发表于 2019-12-9 13:37 | 只看该作者
- j& G( x- c" D7 u$ g" D
图中P0到LCD之间要串接8个510欧左右限流电阻,否则有烧P0口的风险。Q1、Q3的C、E极接反了,R2、R3改1~3K为宜。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

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

EDA365公众号

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

GMT+8, 2025-10-11 07:18 , Processed in 0.140625 second(s), 26 queries , Gzip On.

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

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

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