维修网

 找回密码
 注册

QQ登录

只需一步,快速开始

微信扫码 , 快速开始

查看: 336|回复: 2

STC单片机用内部振荡定时器中断不起控附C原程序

[复制链接]

classn_11

发表于 2010-1-29 21:12:06 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

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

x
在下载实验上可以起控(带晶振),在自已做的电路板上时间到不能起控(内部RC振荡),其它功能一切正常难道用RC振荡就不能用定时器中断吗?各位大哥帮帮忙了。
8 _2 V& y/ O: S        + V8 C/ R: ?: Y' J
% Z7 k0 e( ]$ A2 \& _; B0 t, A
        & \7 K+ m) @% a- S( f2 s* N' I
% m8 G$ n5 w6 S9 B& j2 h
          _/ S: D7 Y& C1 b
#include<reg51.h>' G. b' t8 b2 X& f
#define uchar unsigned char
8 \; b- }* G+ m4 l) k#define uint unsigned int9 k1 E$ ~2 w8 H# s0 L
uchar a;
: k4 v6 t( L/ ^6 xuchar miao,fen;
& ~1 A' N3 v& U/ |0 \        + P/ ?1 I* o- N; B  s. w
' L" Y4 n3 s5 l8 U) Y; m
sbit P17=P1^7;
* R, T/ s1 ]# I       
9 Y9 R% ?$ a% M# @$ I
' N: C# j" V6 r2 @2 M9 L6 v       
  r" P3 f" j' f' @void chushiT1() //初始化T1
! _8 c- o% d: [* t{
  O5 n' L# V7 w# V( L- }9 \1 L TMOD=0x10;//定时器1 方式2
7 R3 S8 U: g% i' I; A+ g2 b TH1=(65536-50000)/256; //50ms初值
! {4 ^+ ~; V4 k( p( ?- j TL1=(65536-50000)%256;6 N3 K2 E0 Q; X8 g) L* \6 U! a6 I
EA=1; //总中断开
; g1 [. b- O3 ^8 T8 H! o5 e. }7 T ET1=1; //允许T1中断! J+ R  o  D4 T: l; i8 U
TR1=1; //开定时器T1
$ u' x9 r/ x' x# A1 G. x' s}
6 [: e3 Z) {7 `6 f1 o        2 H8 [' U; l# {; f5 B& W2 U
void zhongduan() interrupt 3 //T1的中断程序
& |/ B% f" D+ @3 B{
4 t. w; X: \: M' U( y; R TH1=(65536-50000)/256; //重装50ms初值5 {; Z$ A* P* u" w$ y0 s
TL1=(65536-50000)%256;
* r* `1 H* D: H1 p a++;2 \; d, A6 V6 X( ?) c
if(a==20) //1秒钟到了
( L" `* i) I8 Y; O2 t {( o+ Z$ [$ u  q2 K7 l
a=0;3 Q$ W, t3 r. b; [: E$ c+ V+ t( J
miao++;- Z. S. d4 E: G3 p& y# i( D9 k- C
if(miao==60)
# Q# D& i+ W$ ]2 r {
  {, t8 c' a- \. j: ~ miao=0;
) ?2 y/ k4 C, A8 D4 B fen++;
! {8 k2 Q6 ~0 A5 |. W5 d3 t4 N if(fen==2)
3 k9 V8 R+ Q: D9 j9 ^ {
/ j/ q+ m9 S, q2 u( i fen=0;
1 i0 q  P4 j7 L% o6 e: N& g" x+ @/ W 3 R5 W8 a4 A2 X$ y& p4 ^
}5 O8 c4 S- D3 e1 e$ O
} % }' e# X, ^. ?0 n
}( D' Q, h1 t% ?4 a% B3 G" b* F
}
1 n" f4 [; v# [; s1 s        ' Q6 D$ C. U9 u

7 y" L# T0 r! v7 h. f       
& E; K0 l0 J  n8 Jvoid main()! N. {3 ?, k7 A, I+ v. y
{ chushiT1(); //初始化T1
# X. p" Z4 _9 T! q9 Q/ m while(1)/ x2 C1 V5 P3 Y! y0 @& _4 s2 B: W
{
* a/ Q' y; J: U P17=0;
5 i( x+ p8 G; C- r if(fen>=1)
3 o- ~: Q) u. R5 c( k3 z {
0 p$ v+ O7 j# U# `2 b- ] while(1)
0 D  ~% n$ y9 S {; B$ H/ b6 m1 h" g
P17=1: T" i* i6 ?5 J" v: ?( e+ A
       
# x/ v! ^8 s9 f, a+ x( ` }
( Z( C, D2 W7 _" R# [ }
* j. i) `+ X, a( j6 \" i5 \9 D }3 q7 ~# O1 R5 F& M9 f, X: D& r$ ^
       
1 w/ m/ g+ M2 K6 t! H0 B; j7 d }

手机扫码浏览

classn_11

发表于 2010-1-29 21:12:07 | 显示全部楼层
在下载实验上可以起控(带晶振)说明程序无事.内部RC振荡与外部晶振频率相同吗?自已做的电路板线路连接正常没有?

classn_11

发表于 2010-1-29 21:12:08 | 显示全部楼层
还是有示波器看一下信号同,可能是幅度不够,不行的话加一级信号放大电路
*滑块验证:
您需要登录后才可以回帖 登录 | 注册

本版积分规则

QQ|申请友链|手机版|小黑屋|最新贴|维修网 ( 粤ICP备09047344号

GMT+8, 2024-5-5 13:18 , Processed in 0.744285 second(s), 30 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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