找回密码
 注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

巢课
电巢直播8月计划
查看: 85|回复: 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,用来加倍定时)
4 P5 d- ]5 {# }' ?6 w0 t8 @. `) I0 [. J& l* I  j: H- L1 F% H* [" E4 H
#include <reg52.h>
0 L3 S, k: u" n#define uint unsigned int
$ W- Z- K- q- puint data i = 0;
# o' ?) S  C, \# lvoid time0_init(void)" F6 l* M4 E' R& P' F
{
6 ]3 g+ X8 |' G TMOD = 0x02;8 F. k6 E& N# |& U0 |' {, S
TH0 = (65536-60000)/256;
- R8 A- N; g# }. w: N TL0 = (65536-60000)%256;
- W: X  _: n  p* z) W8 V2 ^( ] EA = 1;1 W. G( n0 p; S. `* w" a& k: A
ET0 = 1;
5 H/ k) J3 j6 S9 G0 G TR0 = 1;
- l) F# J' R6 }2 D; S( n}( \% [( J, y* P
1 Y. P) H! u; q. @9 k$ m
$ M0 G# _4 G; ~0 e  i* r) w$ L9 t# Q
int main()0 i; z' P9 q/ Y6 b
{ $ X1 a3 C) h" s3 n, r
  P1=0xfe;
, p" `, q3 ?  `6 g+ q) C  time0_init();
5 E: ^) j- L+ j/ R) L2 {2 p while(1);2 w& U* k7 S) M; Y2 p; ?# w) t0 ?4 W
}. y/ t% ?, H) L$ x4 w3 B
5 H1 z9 y7 J* O# Q! i' O: k

( n6 p! y* x- F" V/ b4 X/ F1 X+ B, H! {' w, ]
void flash(void) interrupt 13 Q  ^7 n7 g, O' _: S$ T
{   
, Y$ @7 Y1 A5 |- ^   time0_init();
3 c% q1 m+ s% c' R     if(i>9)
6 V: U7 t3 s2 Q! i) y; I2 u9 k  { 7 q8 Q& j, P3 v1 e: U
    if(P1==0x7f)
& X* Q. v7 r, W  f* f       {
# T, c- N! M; E( F1 ~        P1=0xfe;
1 y* a" s  E, @2 X% [. }. e       }
  g, _- B' g- ]5 @; v    else
% s% o* R) |: i! Q6 {! J    {
7 I- I3 x9 y; F8 {        P1<<=1;
; M' t# ?5 R# l; ?4 y3 |- Z3 s: [    P1|=0x01;
# j1 i0 m' b0 S3 k  n    }
3 I4 W. W2 W: G& X0 l! b  q. K   i=0;
7 q5 R+ _4 w3 ?# }4 x0 p! E9 p9 Z  }
8 s+ g8 D6 d1 M- L# G0 @: C. {; |) B; ` else " p9 D! _3 Z* E( @% u9 [* j
  i++;! B5 Y8 m, ~# G  ~0 B
}4 g& O5 Y. R" ~& _

9 O! q! u  H" E0 ], Z+ T% p* t" G6 b2 W( a. U$ a

/ @! D& _: W# V7 }- s" H, C$ [0 i
分享到:  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:36 , Processed in 0.055457 second(s), 35 queries , Gzip On.

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

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

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