注册 登录
电子工程世界-论坛 返回首页 EEWORLD首页 频道 EE大学堂 下载中心 Datasheet 专题
dahaidhl的个人空间 https://home.eeworld.com.cn/space-uid-95986.html [收藏] [复制] [分享] [RSS]
日志

关于定时算法经典总结

已有 804 次阅读2009-2-11 14:28

关于定时器、计数器、中断的一些关键点:

 

MODE0的定时设定:

 

TLx的值应为计数值COUNT除以32的余数,即:

 

TLx=COUNT  MOD(%)  32

 

THx的值应为计数值除以32的商,即:

 

THx=COUNT32

 

以设计时间为8000微秒为例:

 

TLx=(8192-8000)%32=00

 

THx=(8192-8000)32=06

 

设定方式0的步骤:

 

1、MOV TMOD,#00H (T0)定时器(内部输入)

 

 MOV TMOD,#00H (T1)定时器(内部输入)

 

 MOV TMOD,#04H(计数器T0)

 

  MOV TOMD,#40H(计数器T1)

 

2、SETB TRx启动定时器

 

3、MOV TLx,#(8192-COUNT)%32

 

   MOV   THx,#(8192-COUNT)32

 

4、检查TFx是否溢出JBC  TFx

 

MODE1的定时设定:

 

1、MOV TMOD,#01H (T0)定时器(内部输入)

 

 MOV TMOD,#10H (T1)定时器(内部输入)

 

 MOV TMOD,#05H(计数器T0)

 

  MOV TOMD,#50H(计数器T1)

 

2、SETB TRx启动定时器

 

3、MOV TLx,#(65536-COUNT)%256

 

   MOV  THx,#(65536-COUNT)256

 

4、检查TFx是否溢出JBC  TFx

 

MODE2的定时设定:

 

1、MOV TMOD,#02H (T0)定时器(内部输入)

 

 MOV TMOD,#20H (T1)定时器(内部输入)

 

 MOV TMOD,#06H(计数器T0)

 

  MOV TOMD,#60H(计数器T1)

 

2、SETB TRx启动定时器

 

3、MOV TLx,#(256-COUNT)

 

   MOV  THx,#(256-COUNT)

 

4、检查TFx是否溢出JBC  TFx

 

外部中断设定:

 

1、ORG 03H(13H)  INT0(INT1)外部中断起始地址

 

2、JMP  ZHONGDU中断时跳至中断子程序ZHONGDU

 

3、MOV  IE,#81H   INT0中断使能

 

MOV  IE,#84H   INT1中断使能

 

4、MOV  IP,#01H   INT0中断优先

 

MOV  IP,#04H   INT1中断优先

 

5、MOV  TCON,#00H(设定/INT0为电平触发)

 

MOV  TCON,#01H(设定/INT0为下降沿触发)

 

MOV  TCON,#00H(设定/INT1为电平触发)

 

MOV  TCON,#04H(设定/INT1为下降沿触发)

 

T0和T1中断要求:

 

1、设定中断起始地址

 

2、设定工作方式

 

3、设定计数值

 

4、设定中断使能

 

评论 (0 个评论)

facelist doodle 涂鸦板

您需要登录后才可以评论 登录 | 注册

热门文章