DSP技术目前已经被广泛的应用在了集成芯片的设计研发之中,且其应用范围在最近几年中明显扩大。在昨天的文章中,我们为大家提供了一种应用了DSP技术的正弦波发生器方案,并在文章中为大家分享了其主要硬件部分的设计思路。今天我们将会就昨天所分享的这一正弦波信号发生器方案中的软件程序设计,展开简要介绍。

在这一应用了DSP技术集成芯片的正弦波信号发生器方案中,为了简化程序,本系统的软件可以按照模块化设计思想来编写,其主要程序涵盖有主程序、常数计算程序、占空比计算程序和相应的一些功能子程序。其中,主程序用于调用各功能子程序、初始化变量、查询键盘、判断显示数据是否需要刷新、同时判断一个脉冲是否完成发送等工作。本方案中具体所设计的软件程序流程图,图下图图1所示。

软件流程图

在本方案的软件程序设计和编写过程中需要注意的一个问题是,我们应在第N-1个脉冲周期里计算占空比,并在第N个脉冲周期里输出波形,这就要求我们在进行主程序设计时,要控制在一个脉冲周期内完成计算。此时如果选用20MHz的晶振,那么在一倍频下,执行一条执行只需50ns,若输出400Hz的正弦波,即每一个周期要输出200个脉冲,这样,也就是说,一个脉冲需要12.5μs,相当于12500/50=250条指令。而执行一个占空比的计算程序只需要几十条指令,这种算法从软件开销上考虑是可以实现的。

下面是我们依据这一基于DSP技术集成芯片所设计的正弦信号发生器设计要求,所设计的软件程序清单:

在本方案的软件程序编写过程中,sinx和cosx的程序设计是比较重要的,在本方案中,我们所设计的sinx和cosx的参数值计算程序如下:

主体部分的结束程序设计如下:

以上就是本文所分享的基于DSP技术的正弦波发生器方案的软件程序设计,希望通过本文的分享,对各位新人工程师的设计工作有所帮助。

dsp正弦波信号发生器c语言编程实例,应用DSP技术的正弦波发生器方案之程序设计...相关推荐

  1. dsp正弦波信号发生器c语言编程实例,DSP实验三 正弦波信号发生器

    代码片段和文件信息 属性            大小     日期    时间   名称 ----------- ---------  ---------- -----  ---- 目录        ...

  2. dsp正弦波信号发生器c语言编程实例,毕业设计基于DSP的正弦波信号发生器的设计与实现整理版V3.1...

    <[毕业设计]基于DSP的正弦波信号发生器的设计与实现(整理版).doc>由会员分享,可免费在线阅读全文,更多与<毕业设计基于DSP的正弦波信号发生器的设计与实现(整理版)(V3.1 ...

  3. c语言二级编程实例,二级c语言编程 -实例

    二级c语言编程 -实例 编程实例1. 题目:有 1.2.3.4个数字,能组成多少个互不相同且无重复数字的三位数?都 是多少? 1.程序分析:可填在百位.十位.个位的数字都是 1.2.3.4.组成所有的 ...

  4. c语言编程 目录,C语言编程实例简介,目录书摘

    内容简介: <C语言编程实例>将蓝牙小车作为教学组织引领,开展各章节.模块的教学,在教学的过程中把C语言编程.VC++软件操作.单片机外围电路搭建与调试.CAD机械制图.激光切割零件制作等 ...

  5. vhdl计算机语言,vhdl语言编程实例.doc

    vhdl语言编程实例 实现各种逻辑功能: LIBRARY IEEE; USE IEEE.STD_LOGIC_1164.ALL; USE IEEE.STD_LOGIC_UNSIGNED.ALL; ENT ...

  6. c++ c语言编程实例

    c++ c语言编程实例 2,求和 #include using namespace std; int main( { int a=2,b=0,n; cout<<"输入一个数:&q ...

  7. c语言编程实例下载,C语言编程实例.doc

    C语言编程实例.doc 第 3 章 请 你参考前请修改下,或者至少看明白, 2 include "string.h" include "stdio.h" mai ...

  8. MongoDB的C语言编程实例

     下面讲述在Linux平台下MongoDB的C语言编程实例 假设已经安装好了MongoDB. 1. 下载MongoDB的C语言驱动并安装 这里下载的MongoDB的C语言驱动是 mongo-c-d ...

  9. plc 编程 c语言编程实例,PLC面向对象编程和梯形图编程,谁OUT了?

    在工业自动化领域,梯形图逻辑仍然是最常用的编程语言之一,但对于更加复杂的控制对象,面向对象编程不失为一种高效率的方式.下面先来谈谈面向对象编程: 面向对象编程是计算机高级语言的一种先进的编程模式,在工 ...

  10. mysql 小球_c语言编程实例——小球跳动

    1.预备知识 1.1 相关头文件 "#include"是c语言中用以申明所需调用的库函数或自定义函数的头文件路径及文件名.#include ""和#includ ...

最新文章

  1. Ping命令 参数介绍!
  2. TCP三次握手在linux内核中的实现
  3. 李沐《动手学深度学习》新增PyTorch和TensorFlow实现,还有中文版
  4. dataframe两个表合并_R语言读取多个excel文件后合并:rbind/merge/cmd合并
  5. lvs工作在第几层_LVS 原理(调度算法、四种模式、四层负载均衡和七层 的区别)...
  6. ECCV18 Oral | CornerNet目标检测开启预测“边界框”到预测“点对”的新思路
  7. 【C++笔记】变量和基本类型
  8. ScrollView 收录
  9. tensorflow画损失函数的代码_使用TensorFlow编写您的第一个神经网络
  10. java项目收获总结_java开发项目收获心得
  11. npm install 报错 @1.0.0 dev: `webpack-dev-server --inline --progress --config build/webpack.dev.conf..
  12. u深度重装系统详细教程_u深度u盘安装win10系统教程
  13. win10锁屏c语言,Win10锁屏状态怎么设置打开任意应用程序?
  14. PHP实现常用设计模式之观察者模式
  15. Python数据分析高薪实战第四天 构建国产电视剧评分数据集
  16. Tapestry5自定义组件
  17. python绘制图形沙漏_sandglass(沙漏)——一个让人解脱的python时间处理库
  18. workbench设置单元坐标系_ansys workbench中新建坐标系的问题,求高人指点。
  19. 财务管理html,财务管理.html
  20. 不均匀光照文本图像的二值化

热门文章

  1. STM32跑html协议,STM32移植SBUS协议
  2. 联通机顶盒显示网络服务器超时,中国联通机顶盒验证失败一开启就这样该怎么办...
  3. 用ANSYS画矩形_ANSYS软件使用的几点建议
  4. Matpower疑惑解答
  5. SM3算法对大文件做摘要
  6. java rsa密钥转pkcs8_openssl RSA密钥格式PKCS1和PKCS8相互转换
  7. 基于SNMP的网络管理软件设计方案和实现
  8. vcpkg 简明教程
  9. 【VM】Win10虚拟机安装Mac OS
  10. DB2数据库错误代码大全