【摘 要】本次设计主要是在Keil uVision5软件上编写程序,使之能够在单片机上利用其DAC模块、TIM8模块、DMA模块等达成利用查表法输出多种频率正弦波的功能,单片机选用STM32F103ZET6作为主控芯片,将程序烧录进单片机内,利用示波器观察生成正弦波信号的幅值和频率值。设计目标是正弦波信号的幅值和频率值均可调,通过改变查表数组的数值调整幅值的大小,范围为0~3.3V;通过按键程序调整频率值的大小,范围为1~25KHz。每次调整后,测量示波器上正弦波信号的幅值和频率值判断程序是否满足设计要求。
关键词:STM32单片机; 正弦波; DMA; DAC; TIM8
目录
摘要
Abstract
第1章 绪论-1
1.1 研究背景-1
1.2 研究目的与意义-1
1.3 研究内容与组成结构-1
第2章 单片机与DA芯片的选型与特点-2
2.1 单片机的型号及系统架构-2
2.2 DA芯片的型号及特点-2
第3章 DA转换原理及查表法产生多种频率正弦波-3
3.1 DA转换器的工作原理-3
3.2 查表数组的生成-3
3.3 正弦波信号的幅值和频率值变化-3
第4章 硬件设计-5
4.1 硬件电路-5
4.1.1 单片机部分原理图-5
4.1.2 USB串口-6
4.1.3 JTAG-7
4.1.4 按键-7
4.1.5 LED和测试接口-7
第5章 程序设计-9
5.1 主程序流程图-9
5.2 程序组成部分-9
5.2.1 DMA函数-9
5.2.2 TIM8函数-10
5.2.3 DAC函数-11
5.2.4 按键函数-12
第6章 运行结果分析-13
6.1 软硬件调试-13
6.2 运行结果-13
总结-17
参考文献-18
致谢-19
附件-20