找回密码
 注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

巢课
电巢直播8月计划
查看: 84|回复: 2
打印 上一主题 下一主题

51单片机定时器中断函数内能不能重置该定时器

[复制链接]

100

主题

419

帖子

2424

积分

四级会员(40)

Rank: 4Rank: 4Rank: 4Rank: 4

积分
2424
跳转到指定楼层
1#
发表于 2017-7-22 14:47 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

EDA365欢迎您!

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

x
51单片机模式1为16为定时计数器,1、在定时器模式1的中断函数内重置该定时器,能否实现自动重装的效果?2、自己以流水灯为例试了一下,好像不可以,大家帮忙看一下程序有没有问题。(定时器定时10s,变量i,用来加倍定时)( F7 Q# }: J8 I" g/ L; `
% j" G6 F* x$ z( K  {% w
#include <reg52.h>
: s% W- D3 c7 y5 e#define uint unsigned int9 R$ Q' O/ ]1 T# ^  S% N  Z$ P
uint data i = 0;: T7 p( T3 b9 j& u) s1 y; z! n
void time0_init(void); m# B+ x  Q7 T. R! t* \
{
& g' x8 p4 r4 Q/ K6 s3 v TMOD = 0x02;# S, @5 O$ \; R8 z# b- P
TH0 = (65536-60000)/256;
; n+ z1 g/ i5 [ TL0 = (65536-60000)%256;
- b3 q$ P. H% u; \: A7 q EA = 1;
; U5 R. p$ W, v8 t5 s- N ET0 = 1;, b5 P4 U  b) {4 j7 A- P
TR0 = 1;
4 n% X- O( G, h}
& h" a1 x5 [4 a! k( P+ X5 b. m! M" G
1 r% W2 [! @' x8 i: W. f, C2 ~3 K8 [/ q9 M8 y
int main()
$ R8 `; T" h1 j$ o  X  y{ . H' q3 Z0 \# B! D- Z& c
  P1=0xfe;, b, Y$ S' I) n! J+ I! G  T
  time0_init();( v/ t9 y! m% p. _0 r8 r. _8 B
while(1);/ f( h+ T6 ^5 R7 q) B6 \
}! k6 U9 f, _7 P, [7 L" v: A2 I0 X, U

0 Z, E/ ^! `) |; i6 x. R5 R- l3 X  s* f1 E. i4 \7 v9 i

4 g3 c, o3 {0 t( C' M$ F  w9 Rvoid flash(void) interrupt 1
& |% C) W: M# E- L% [{   
4 P2 p# V+ S+ S  H8 x   time0_init();
0 G1 |" O: T$ l( T2 @1 q     if(i>9)
; b3 i* J7 P  o. g8 k: X+ w  {
& ^( t  b& k8 g5 G! T) \" O7 ]( f5 |    if(P1==0x7f)$ O5 w5 }/ K. i- ~3 A
       {" B8 v7 r7 W% r; u, n/ o8 D
        P1=0xfe;- d9 P: ]% G: S
       }* q( P3 O6 L0 y, D/ l0 A
    else
7 C- `4 U& U% U: b* y0 `    {
7 c+ V2 d* h6 G. L2 |6 D7 ?4 h        P1<<=1;
/ |7 s4 H; ]" G1 r    P1|=0x01;
! S. z5 j" [% ^* X7 R6 U    }
7 Z# f- ^, a, ]* W4 _, [& q2 E   i=0;9 _9 X0 N) ^0 u/ b
  }
4 k9 Z$ K5 ~: U! K- b else
4 `" b$ Y, j: E2 e' B* G+ ^  i++;3 `- J. o. S, ?- P; R
}
" a9 H& z4 c- V9 _* Y4 \) L. v6 T8 M" a+ R6 U

0 N- D7 G$ K% U8 Y' |) o
/ @# @8 ]& _( o  y
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友 微信微信
收藏收藏 支持!支持! 反对!反对!

0

主题

2

帖子

146

积分

二级会员(20)

Rank: 2Rank: 2

积分
146
2#
发表于 2017-7-25 12:54 | 只看该作者
定时器方式2是8位自动重装的定时计数器,通过设置TMOD来设置M1M0选择方式二,这样定时比较精确。初值的计算会有些不同。自己参考一下资料吧
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

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

巢课

技术风云榜

关于我们|手机版|EDA365 ( 粤ICP备18020198号 )

GMT+8, 2025-2-19 10:26 , Processed in 0.056311 second(s), 34 queries , Gzip On.

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

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

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