发明名称 一种用ARM单片机产生快速指数型脉冲输出方法
摘要 本发明公开了一种用ARM单片机产生快速指数型脉冲输出方法,包括以下步骤:(1)定时器设置:(2)输入所要输出脉冲序列的必要参数;(3)计算指数曲线并将每个点的值保存于数组中;(4)在定时器的中断更新周期中执行下列步骤,实现将已计算完成的曲线数组输出。本发明提供了一种用ARM单片机产生快速指数型脉冲输出的方法;实现了指数曲线的计算,并保存在数组中;实现了用定时器对曲线的快速输出;实现了指数曲线的加减速的对称输出。
申请公布号 CN105375904A 申请公布日期 2016.03.02
申请号 CN201510835332.6 申请日期 2015.11.26
申请人 深圳市思榕科技有限公司 发明人 王伟程;罗永明
分类号 H03K4/00(2006.01)I;H02P8/14(2006.01)I 主分类号 H03K4/00(2006.01)I
代理机构 深圳力拓知识产权代理有限公司 44313 代理人 龚健
主权项 一种用ARM单片机产生快速指数型脉冲输出方法,其特征在于,包括以下步骤:(1)定时器设置:1.1初始化定时器硬件,使其工作在脉冲调宽模式,占空比设为50%;1.2开通定时器周期更新中断功能,将脉宽比较器设为最大值;1.3使定时器开始计时工作,并允许ARM单片机可以响应定时器的周期中断信号;1.4使定时器处于系统周期中断状态,此状态没有脉冲输出;输入所要输出脉冲序列的必要参数;计算指数曲线并将每个点的值保存于数组中;循环执行以下步骤,循环次数等于总脉冲数:3.1计算最终频率与步骤3.3的计算结果(首次计算时取启始频率值)的差值;3.2将步骤3.1的计算结果加步骤3.5的计算结果(首次计算时取0值)再除以加速时间;3.3将步骤3.2的计算结果取整;3.4将步骤3.3的计算结果保存入数组中备用;3.5将步骤3.2的计算结果取余数;3.6若步骤3.2的计算结果与最终的频率相等则退出循环,完成计算;在定时器的中断更新周期中执行下列步骤,实现将已计算完成的曲线数组输出:4.1清除相关的中断标志位;4.2判断曲线计算已完成,在本次脉冲序列的首次输出时,执行步骤4.3,否则跳过步骤4.3,执行步骤4.4;4.3将定时器的更新中断周期设置为启始频率,定时器的比较器值设置为更新周期的一半;4.4对输出脉冲进行计数;4.5如果步骤4.4的结果等于脉冲序列的总数时,设置定时器的比较器为最大值,使脉冲输出停止;4.6如果步骤4.4的结果小于脉冲序列的总数的一半,从预先计算的数组中,从头开始顺序取出元素值,每次只取一个,将定时器的更新中断周期设置为元素值,将定时器的比较器值设置为更新周期的一半;4.7将步骤4.4的结果大于或等于脉冲序列的总数的一半,从预先计算的数组中,从尾部开始倒序取出元素值,每次只取一个,将定时器的更新中断周期设置为元素值,将定时器的比较器值设置为更新周期的一半。
地址 518000 广东省深圳市龙华新区龙华办事处清湖居清湖村委卫东龙工业区7号厂房1至3层