矿石收音机论坛

 找回密码
 加入会员

QQ登录

只需一步,快速开始

搜索
查看: 2603|回复: 9

中断法使用定时器,是不是不用清进位标志

[复制链接]
     
发表于 2018-1-17 16:56:00 | 显示全部楼层 |阅读模式
提示: 作者被禁止或删除 内容自动屏蔽
     
发表于 2018-1-17 17:03:38 | 显示全部楼层
那要看你定时器有没有溢出。键盘消抖可以用定时器,也可以不用定时器,这要根据你自己的算法需求来决定。
回复 支持 1 反对 0

使用道具 举报

     
 楼主| 发表于 2018-1-17 17:25:58 | 显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽
回复 支持 反对

使用道具 举报

     
发表于 2018-1-17 17:30:28 | 显示全部楼层
你应该清楚你自己的程序在发生中断时,究竟有没有进位的可能。中断处理程序是根据发生中断的程序的性质来决定如何操作标志位的。
回复 支持 反对

使用道具 举报

     
发表于 2018-1-17 18:45:24 | 显示全部楼层
印象中是有些芯片需要而大部分是不需要的,方便起见,程序里都清除吧,只是多写一行TFx=0或者CLR TFx就行。查询法一定要清除溢出标志位。
回复 支持 反对

使用道具 举报

     
 楼主| 发表于 2018-1-17 23:15:20 | 显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽
回复 支持 反对

使用道具 举报

     
 楼主| 发表于 2018-1-17 23:16:21 | 显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽
回复 支持 反对

使用道具 举报

     
发表于 2018-1-18 06:22:18 | 显示全部楼层
aojieage 发表于 2018-1-17 23:15
已经发生进位了,这时,查询法需要软件清零进位标志。中断法却没看到有清零。

如果算法本身需要检测标志位,那么在中断处理程序中也可能需要查询标志位的,这其实跟采用什么方法没关系。
回复 支持 反对

使用道具 举报

     
发表于 2018-1-18 08:57:02 | 显示全部楼层
aojieage 发表于 2018-1-17 23:16
抽空试试,清与不清有没有区别。

中断法也是要清计时器标志位的,这个标志位是处理器判断是否出现了计时器中断事件的标志,如果不清会一直在中断程序循环。大部分芯片清标志位的方法是依赖于中断处理硬件机制自动清除,少数芯片不带硬件自动清除机制,需要在程序代码里加上清除语句。如果使用查询法,显然不会触发硬件自动清除机制,必须要使用程序代码清除。
回复 支持 反对

使用道具 举报

     
发表于 2018-1-18 09:13:38 | 显示全部楼层
其实汇编真的好难,虽然学过,其实真不知道考试时候怎么过的。
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 加入会员

本版积分规则

小黑屋|手机版|矿石收音机 ( 蒙ICP备05000029号-1 )

蒙公网安备 15040402000005号

GMT+8, 2025-4-30 19:53

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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