找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 2469|回复: 9
收起左侧

51单片机外部中断问题求大佬指点

[复制链接]
ID:861260 发表于 2021-5-8 10:39 | 显示全部楼层 |阅读模式
10黑币
我想做一个频率计。使用外部中断采样,定时器定时。然后用74hc595配合数码管显示。但是当频率过高时,外部中断一直打断主函数,导致数码管不能正常显示。请问该如何解决这个问题.

最佳答案

查看完整内容

外部中断默认的是高优先级,也就是说有外部中断的时候,先响应外部中断。做频率计,你可以在外部中断产生的时候,单片机其它的资源都让位给中断程序,主程序休息,全部资源都用来响应外部中断计数,到规定的时长后,强制关断外部不断,让主程序进行计算和显示,显示完成后,再次打开外部中断,这样就能解决问题,不过要注意,用单片机做频率计,不能超过单片机的最高工作能力,否则会出错。
回复

使用道具 举报

ID:593706 发表于 2021-5-8 10:39 | 显示全部楼层
外部中断默认的是高优先级,也就是说有外部中断的时候,先响应外部中断。做频率计,你可以在外部中断产生的时候,单片机其它的资源都让位给中断程序,主程序休息,全部资源都用来响应外部中断计数,到规定的时长后,强制关断外部不断,让主程序进行计算和显示,显示完成后,再次打开外部中断,这样就能解决问题,不过要注意,用单片机做频率计,不能超过单片机的最高工作能力,否则会出错。
回复

使用道具 举报

ID:332214 发表于 2021-5-8 11:07 | 显示全部楼层
那就把显示在中断里 只不过 这就会影响中断采集 高频上限,主要看 你那边采集最高的频率是多少 ,根据需求去调试。
回复

使用道具 举报

ID:814525 发表于 2021-5-8 11:16 | 显示全部楼层
启用单片机计数器功能吧
回复

使用道具 举报

ID:917457 发表于 2021-5-8 11:21 | 显示全部楼层
可以把显示放到终端里试一试
回复

使用道具 举报

ID:917457 发表于 2021-5-8 11:22 | 显示全部楼层
把显示放到终端里呀,应该不会影响什么了
回复

使用道具 举报

ID:887371 发表于 2021-5-8 11:40 | 显示全部楼层
低频时用外中断计时测量
高频时关闭外中断,用计数测量。
回复

使用道具 举报

ID:861260 发表于 2021-5-8 11:42 | 显示全部楼层
啊哈哈123 发表于 2021-5-8 11:07
那就把显示在中断里 只不过 这就会影响中断采集 高频上限,主要看 你那边采集最高的频率是多少 ,根据需求 ...

用52单片机 最高是要实现99khz
回复

使用道具 举报

ID:390416 发表于 2021-5-8 12:13 | 显示全部楼层
不建议用595 ,如果非要用 那么 595用位操作发送字节 比移位操作要快很多
回复

使用道具 举报

ID:922247 发表于 2021-5-16 17:51 | 显示全部楼层
单片机中断和Java、Android中的线程有些像。中断的使用:首先要声明、设置中断服务,在此以外部中断0和1作解。首先要设置中断的触发方式,再设置中断的开启,最后再设置中断的总开关。IT0=1和IT1=1分别设置外部中断0的触发方式低电平触发也就是下降沿触发,同理IT1的触发方式也是如此。EX0=1和EX1=1是设置外部中断0和外部中断1都开启。EA=1是设置开启中断的所有开关。 ———————————————— 版权声明:本文为CSDN博主「AIOT魔法师」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。 原文链接:https://blog.csdn.net/weixin_41967600/article/details/83021306
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

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