找回密码
 注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

巢课
电巢直播8月计划
查看: 89|回复: 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,用来加倍定时)
( z5 _# F+ U( J2 w: F5 V6 G( \) c* `! A! c- e# M8 J- o; G
#include <reg52.h>- |/ T/ _0 V4 P3 ^1 M/ u" O. [
#define uint unsigned int% L" F/ @3 ~1 J8 k- X
uint data i = 0;. R, }0 @. N1 Y8 [
void time0_init(void)
; L! v( `4 a( w1 Y/ H% ^" Y' @7 g{! k, o: W% p! _2 u% h/ A8 G+ d  o
TMOD = 0x02;
7 w4 o+ [! W, Y: W TH0 = (65536-60000)/256;8 O( R7 \9 g, E9 \: l
TL0 = (65536-60000)%256;) a( A, F& g( D% p+ R1 @
EA = 1;. Z  m6 K1 }) I( |5 {" \
ET0 = 1;
/ U  J  b( e  G2 X5 C0 W" F TR0 = 1;, P2 j  P2 V2 Q- W3 [1 {
}3 E$ W* Q( C# t% b( T* p

/ J* z) ?+ v3 w/ T' Y1 `. O1 g& h2 ?6 a
int main()% f, p5 [0 Z4 L2 Z7 q& B3 A& X1 a
{
- T2 ]7 ^7 a" `9 P" S: ~, r" d  P1=0xfe;
! w; M7 T% b* L7 B% N  time0_init();- G* V" ?& g" A0 Y
while(1);
9 U  }9 E- R) s}: n( h% w1 ~7 _- Q) M
: s/ x: D' i1 i. Q) s
% F2 z8 H( y) o* `; N/ T

( k8 [9 V- U# o) lvoid flash(void) interrupt 1
# ~* z( l+ c3 I7 V: a/ _/ |{   
" {. [& R" G/ f/ G2 Q: t0 S# \   time0_init();: D" w8 `' G: ^6 [3 }9 j
     if(i>9)
4 W! a1 C! ]5 j# E( n3 o$ w# ?  {
) [! [6 N4 I2 Q  O" j$ M+ U* b4 X    if(P1==0x7f)
. u" l" A( e% c9 |: _       {( ]+ r( ^3 I: L! X
        P1=0xfe;* y9 S( j( B2 S# w, @3 A1 q, p
       }
" o7 h' W4 r5 X( d; g    else
! ]% V6 ^  v8 q% M    {
2 L3 a' i5 |8 P        P1<<=1;" j0 x% N4 N7 w0 R
    P1|=0x01;. }1 {/ s  N/ L. e, r$ E% q
    }
+ m* k: ?0 _7 w( m& t   i=0;
- Q5 c& @1 [3 \  }
- Z! y8 @9 }8 ?5 C$ [) r7 a  i else
0 a9 {( ^( G0 `5 Z# l  i++;
% p8 |  o. x& y; x3 U* k5 j/ G' `* _}  z% G3 ]3 ^) G9 K  _

8 D1 `' Q) _) }. c# w! R- \
/ u) }* u" {8 W+ U3 J' c; v: }- s. I% L/ l% h) U9 M/ {2 N8 B
分享到:  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:24 , Processed in 0.054442 second(s), 35 queries , Gzip On.

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

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

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