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

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

[复制链接]

该用户从未签到

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

EDA365欢迎您登录!

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

x
学文历史的,最近迷上了弄单片机,自己学了一段时间尝试写了个倒计时器(已经尽力了),在proteus上运行的很好。特地找了朋友焊上了但是一开电数码管没有显示,打开那个P3^1/TXD那个端口就亮了,但是很亮,数字也变成相同的了。已经查了很多次资料,单片机也废了好几个了,真心求教,真的对单片机感兴趣。
2 V- u& z& \0 f" m, F& @# k+ |4 H$ v) {  M  e' _; F
单片机代码:
. O, a$ J3 y. [#include<reg51.h>% i& B6 i  V* S8 T0 {/ C) T" O! S
#include <intrins.h>
7 [" [$ T/ l' P2 Y7 T6 z' k#define uchar unsigned char
& V% w& M  |, O8 r" p1 {* a#define uint unsigned int
: s' e1 \$ b, j9 Psbit one_place=P2^1;
5 b+ i, K- f7 F2 `2 b7 Jsbit ten_place=P2^0;
, }! d8 N. \9 ysbit features1=P1^0;//star开始/ R- B% h1 S  t: L$ j7 ~; C
sbit features2=P1^1;//stop停止, B# T/ J9 }1 y0 T& t3 y! d1 Z8 X
sbit features3=P1^2;//reset复位
: t- Q& ^6 j) V; c3 |1 ssbit beep=P3^0;: h. b6 S1 P+ d" q+ U
sbit aa=P3^1;//蜂鸣器停止
* e9 k. v( {8 uuchar code table[]=
/ J; `8 O5 c# p5 u{0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90};
$ s9 i! B9 J7 {8 b8 iuchar num,num1=11,num2,ten,one;9 t& a6 r2 e) |" ^
void timer_init(void)
2 s# @1 |/ \3 B5 u{9 K  Y# L6 g/ e0 T; F
TMOD=0x01;: v5 o4 K1 X  g  n! ?7 j
EA=1;
8 g/ Y5 g) {$ L# T# nET0=1;
7 w  z4 d+ {/ CTR0=0;
1 r# f/ j5 V1 h' o6 ]1 v. e}
; X/ }3 m% p4 vvoid delay(uint n)
/ f/ w) I' T" \{while(n--);
  ?+ s( F* h' @) {, ]. ~}& ~$ ]) _2 ^( K/ H! q* i
void check()6 V8 c" o' ^$ U& a( R0 W5 G
{1 |2 O# M! X; Q- ^8 V2 W

/ p3 y. R5 U( L# G. X! ^' l( g   if(aa==0){beep=1;}, Y9 @0 x5 i* X+ ^) Q; o
   if(features1==0){TR0=1;}
; F& e: M: r+ p: t* U8 f2 }   if(features2==0){TR0=0;}
$ A, t; ?/ q' w1 k; V   if(features3==0){TR0=0;TH0=(65536-50000)/256;                        
8 W/ h. C  }, O" _( H. g9 k/ I* e                          TL0=(65536-50000)%256;num1=11;}
4 b8 ?( y& E% n0 c  j           
; x: z4 w4 C- ?}+ a8 h7 M+ t( Q# B5 F5 c. \
void display()
3 k  V$ x8 T0 A' H) b2 u+ H4 f. y{
& }. Q- A$ m# k/ aP2=0xff;
; o8 j6 X5 f. ?$ CP0=0xff;
. a# D+ r; A8 x, a2 F}
. j- e6 W( |  x% \7 Tvoid main(void)
* `# [( T8 J6 J) j# q3 d8 y# w# A{
0 K1 ]% b! G5 S( m5 Wbeep=1;: P' G  |2 |4 x) J" `: ]& n
timer_init();
3 G, [7 h6 h- _4 d) jdisplay();, A- ]1 q9 j3 C  v
if(features1==1){TR0=0;}
4 n( b3 O; W* Vwhile(1)8 R0 l7 a& {, _
{
, ?' O0 k0 Y* hcheck();' q' i& r# a. B( J7 @
one_place=1;
* m  s0 e' Q6 L5 S+ b1 u) H! MP0=table[one];# Z: x6 o6 S. X9 \
delay(100);; {% W/ z) ]- v
one_place=0;
5 Y6 p9 x1 W  K0 G# {; i) ^delay(100);
) B" w' U' ~5 [( K6 ]ten_place=1;, |: _) q- I  `. |- p2 D
P0=table[ten];. \9 ~/ c0 o9 P. P3 F/ j* d
delay(100);6 _( H* D, e% z, V! g- ]1 P, P
ten_place=0;
2 V5 S# T+ Y& C1 jdelay(100);8 O' }/ K2 X6 }( z3 T; I3 F
}
5 @5 `' z" M+ `) W4 I' R/ X1 h}
2 i0 h: D9 g) p7 i* s6 k' g' x5 I7 f( }  nvoid Timer0()interrupt 1                          * _) }% n3 \, Z# B
{7 H$ ?7 R6 H; P, y9 S5 J, U! s
0 P6 L7 U6 a' C# M9 ^
TH0=(65536-50000)/256;                        
1 v; d  _+ R! ]6 H! ITL0=(65536-50000)%256;
8 G/ C" e' m; Z0 vnum++;. f* q3 r' h: p' p3 U
if(num==20)                                            
" b- l0 r- @( z6 W; h; t: d/ S$ i{3 E( j- [, q2 ]$ t/ {
   num=0;                                                
+ K6 E: v4 U+ [. b3 l3 V   num1--;                                                
, E% f8 O# s) e! _8 \% O: ~. `   if(num1==0)
5 i) H2 d9 k+ u: u/ X    {TR0=0;  {4 W! T, l& I' @) ?/ L6 C2 q
    beep=0;}. |/ H1 \3 i- p# M
   ten=num1/10;9 g3 c& P( C2 K  Q  m/ g; Z
   one=num1%10; 5 D# y) s& m4 X- G

% }" E/ I3 Q% N+ J3 q' I: P}
1 r4 L4 a% M  }7 \: U; ]0 N* {' q}
4 u9 N( ^$ d0 P, a# j1 z4 D2 }# m( Z( _( f, W# H+ S
2 H. {1 T! K% o' A: P' o- E7 z" Z
' J2 a, |: o7 G7 i

" G1 u/ \/ \1 R. J6 y
+ e6 _8 A4 R) I& {, [! ?% W7 U

该用户从未签到

2#
发表于 2019-12-9 13:37 | 只看该作者

8 Z* Q- R& \2 }图中P0到LCD之间要串接8个510欧左右限流电阻,否则有烧P0口的风险。Q1、Q3的C、E极接反了,R2、R3改1~3K为宜。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

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

EDA365公众号

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

GMT+8, 2025-7-26 21:07 , Processed in 0.125000 second(s), 27 queries , Gzip On.

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

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

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