找回密码
 注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

巢课
电巢直播8月计划
查看: 87|回复: 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,用来加倍定时)
+ U0 P0 U2 S# H5 G3 G5 N, f" n+ f- ]; ~
#include <reg52.h>
9 b+ Z5 `! O5 d* p& N3 g#define uint unsigned int* {- c6 e  {3 L3 ~
uint data i = 0;
+ c3 C+ D! E: @9 l- d, E- k5 `void time0_init(void)6 i; c; D1 h* e( g$ H) ^2 z
{
& P' s3 g, S0 V% D1 `, p TMOD = 0x02;8 z; s0 w6 {9 X; C/ G
TH0 = (65536-60000)/256;
7 F4 x$ x  w, k6 N7 F3 |9 i+ \ TL0 = (65536-60000)%256;- I# N. A% n9 f
EA = 1;7 V( E: t( G, C: o' U4 |* ^( S
ET0 = 1;3 q: y. u7 r) j
TR0 = 1;- i5 }5 c+ y$ q9 w( O$ W2 X$ c
}8 ~" }- x# x' q% Z; x7 @% M' @( Y

7 @4 C0 o* K! E% Q
* E1 J' @& d+ p. Aint main()1 L* c- \$ n& [* X6 s7 Y8 j; L
{ # n. H  v5 l# p9 F! b( j6 e- w7 m* w' B
  P1=0xfe;5 ?8 Z5 L1 Q# d2 ^4 `. t& r
  time0_init();3 h; ^3 ?9 j" n4 c1 |" Y. B
while(1);
9 I) n/ a* g! r) Y; t. b. f}
, q$ Z6 p9 S2 a5 [$ H; @+ {; a8 ^  O' c0 u1 Q$ z# M! ]

$ A" ?7 \" X7 ~% ?' Z8 z0 X3 E) s4 |1 |
void flash(void) interrupt 1/ d4 Q3 d9 J4 ~, ~
{   
  m! K, U/ o: |7 i$ O9 E! B; l   time0_init();( f; G0 ~$ I; X+ t) e
     if(i>9). x* o& x0 p3 s* d! Q, s" o
  {
  K( P0 @" {# \7 l  r0 \& P/ K    if(P1==0x7f)* V: S# d* H$ j/ \
       {; u. O+ n+ v% H% g
        P1=0xfe;1 M; X  a4 a1 X% R# z/ F
       }
8 ^4 H& E) H* u: U    else
! L" U" W9 a; C    {) ^% ~8 \  ]; {0 r
        P1<<=1;0 j7 t4 y! M6 v7 f
    P1|=0x01;
0 i1 I4 j& F5 _1 B! ?. u. B    }1 V+ U! d, v9 a$ Z
   i=0;' o- a2 ~& K) Z
  }
& {: @- k5 ~! [5 N5 X9 R else
  L0 V8 c& z* b/ W! k- X& E" x  i++;( B% u. g  a+ ^4 F
}0 E, J4 f' P: l

$ v; ~: m8 `7 c7 L9 L4 M9 u
! I: Z+ Q0 c# j$ m3 E) ~; I
3 I. w% j- @9 U' H3 n: s
分享到:  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-21 05:19 , Processed in 0.057347 second(s), 34 queries , Gzip On.

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

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

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