OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 4569|回复: 7

51单片机实现10hz-2khz范围可调方波

[复制链接]

6

主题

36

帖子

0

精华

初级会员

Rank: 2

积分
160
金钱
160
注册时间
2016-4-2
在线时间
33 小时
发表于 2016-4-26 00:46:58 | 显示全部楼层 |阅读模式
1金钱
功能:频率步进可任意选择,程序默认步进是1hz,通过2个按键接到2个外部中断引脚上来实现频率可调。
经验:之前直接将按键接到普通引脚上,用按键扫描法检测程序中频率步进值,结果频率要么不可调,要么频率超调,后来在网上看到有人把按键接到外部中断上,利用2个外部中断的下降沿触发来实现频率增加减少量检测,经验证可行。
遗憾:频率范围目前我也只能做到10hz-2khz可调了,频率再大误差就很大了,本来理论上,定时器中断时间最小可达到1us,也就是说输出频率最大可有500k,但是不知为什么很少有人用51单片机输出方波能达到50khz以上,所以希望大神能帮我分析下程序的问题。


QQ截图20160426002455.png
QQ截图20160426004413.png

51单片输出频率可调方波.zip

83.21 KB, 下载次数: 834

最佳答案

查看完整内容[请看2#楼]

老的51单片机在12MHz,指令周期为1us,整个中断包括保护现场进入中断,中断程序,岀栈退出中断程序返回原来程序,这些都是指令执行啊,所以一个中断执行时间C语言很难衡量,特别是us级时,只能通过汇编精确。
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

8

主题

47

帖子

1

精华

高级会员

Rank: 4

积分
675
金钱
675
注册时间
2014-9-17
在线时间
89 小时
发表于 2016-4-26 00:46:59 来自手机 | 显示全部楼层
老的51单片机在12MHz,指令周期为1us,整个中断包括保护现场进入中断,中断程序,岀栈退出中断程序返回原来程序,这些都是指令执行啊,所以一个中断执行时间C语言很难衡量,特别是us级时,只能通过汇编精确。
回复

使用道具 举报

17

主题

587

帖子

0

精华

论坛元老

Rank: 8Rank: 8

积分
4467
金钱
4467
注册时间
2013-6-27
在线时间
565 小时
发表于 2016-4-30 14:47:37 | 显示全部楼层
可以使用单片机PCA模块输出高速方波。按键肯定要去斗处理,用中断会导致系统中断处理很乱,莆田管脚+去斗就行了。
让我们的思维驾驭在电的速度之上!
回复

使用道具 举报

6

主题

36

帖子

0

精华

初级会员

Rank: 2

积分
160
金钱
160
注册时间
2016-4-2
在线时间
33 小时
 楼主| 发表于 2016-4-30 20:22:19 | 显示全部楼层
按键去抖了,但是用单片机定时器输出的方波,用普通按键加频率还是不准确啊
回复

使用道具 举报

6

主题

36

帖子

0

精华

初级会员

Rank: 2

积分
160
金钱
160
注册时间
2016-4-2
在线时间
33 小时
 楼主| 发表于 2016-5-1 10:35:28 | 显示全部楼层
火透 发表于 2016-5-1 07:38
老的51单片机在12MHz,指令周期为1us,整个中断包括保护现场进入中断,中断程序,岀栈退出中断程序返回原来 ...

哦哦,中断服务程序执行时间不确定的原因吗
回复

使用道具 举报

36

主题

249

帖子

0

精华

高级会员

Rank: 4

积分
680
金钱
680
注册时间
2015-12-13
在线时间
243 小时
发表于 2016-5-2 11:56:57 | 显示全部楼层
我经常用51来做逆变器,有时候频率100多K 还带死区的!! !
回复

使用道具 举报

36

主题

249

帖子

0

精华

高级会员

Rank: 4

积分
680
金钱
680
注册时间
2015-12-13
在线时间
243 小时
发表于 2016-5-2 12:16:43 | 显示全部楼层
88888888.JPG 66666666666666.JPG


这就是51单片机做的PWM控制板!!
2路推挽方波带死区 29.3KHZ,PID控制占空比……
还有5路PWM做后级的正弦波逆变和控制散热风扇的转速等等……
2路10位差分ADC输入 1路24位高精度ADC  2路高压隔离采样,
一路峰值电流检测,一个触摸彩屏接口,3路DS18B20

还有控制外部硬件的接口  
还有串口可以升级程序 或者和上位机通信!!
回复

使用道具 举报

6

主题

36

帖子

0

精华

初级会员

Rank: 2

积分
160
金钱
160
注册时间
2016-4-2
在线时间
33 小时
 楼主| 发表于 2016-5-2 14:55:41 | 显示全部楼层
HER107 发表于 2016-5-2 12:16
这就是51单片机做的PWM控制板!!
2路推挽方波带死区 29.3KHZ,PID控制占空比……
还有5路PWM做后 ...

比我做的强太多了,
回复

使用道具 举报

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

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2024-11-23 16:51

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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