单片机课程设计信号发生器
单片机原理及应用课程设计--信号发生器
武汉纺织大学单片机原理及应用课程设计姓名:向彬彬学号: 1103751068班级:光电1102班指导教师:邹崇涛所在院系:电子与电气工程学院2013年12月精选文档目录1 设计目的及要求 (3)1-1 设计目的 (3)1-2 设计要求 (3)2 方案设计 (3)2-1 总体方案设计 (3)2-1.1 系统原理分析 (3)2-2 硬件电路设计 (4)2-2.1 主要芯片介绍 (4)2-3 软件设计 (7)2-3.1 软件程序流程图 (7)2-3.2 发送数据子程序 (8)2-3.3 波形产生过程 (8)3 Protues仿真......................................................... . (9)4 调试及实验结果 (10)5 实验中遇到的问题 (12)5-1 错误 (12)5-2 不足 (12)6 心得体会 (12)7 参考文献 (13)附录程序清单......................................................... . (14)精选文档基于STC89C52的信号发生器课程设计报告1设计目的及要求1-1 设计目的(1) 掌握各个接口芯片(如DAC0832等)的功能特性及接口方法,并能运用其实现一个简单的微机应用系统功能器件。
(2) 以单片机为基础,设计并开发能输出多种波形(正弦波、三角波、方波等)且频率可变的函数发生器。
(3) 利用所学单片机的理论知识进行软硬件整体设计,锻炼我们理论联系实际、提高我们的综合应用能力。
(4) 通过运用相关芯片实现信号发生器的功能,从而达到熟练掌握各种器件的目的,同时,锻炼动手能力及编程调试能力,更深地理解课上所学的单片机的知识,增加电子电路知识,提升作为一个电子信息工程专业学生的专业素养1-2 设计要求(1)用单片机加之DAC芯片等器件,实现能产生方波,三角波,正弦波且频率可变的信号发生器。
单片机课程设计2——数控低频正弦信号发生器
单片机课程设计2 高精度数控低频正弦信号发生器余水宝信息科学与工程学院2005年6月高精度数控低频正弦信号发生器任务书一、任务设计一款基于AT89C51单片机和锁相技术的高精度数控低频正弦信号发生器。
二、设计要求1、基本要求⑴采用DDFS(直接数字频率合成)和锁相技术, 实现1Hz~1KHz变化的正弦信号。
⑵通过面板键盘控制输出频率,频率最小步进1Hz。
⑶输出双极性。
⑷用LED数码管实时显示波形的相关参数。
⑸写出详细的设计报告,给出全部电路和源程序。
2、发挥部分⑴不改变硬件设计,将上限频率扩展到10KHz。
⑵不改变硬件设计,扩展实现三角波和方波信号。
⑶可通过PC机上的“虚拟键盘”,实现频率等参数的控制。
⑷实现对幅度的控制。
高精度数控低频正弦信号发生器函数信号发生器作为一种常用的信号源,广泛应用于电子电路、自动控制和科学研究等领域[7]。
它是一种为电子测量和计量工作提供符合严格技术要求的电信号设备,因此是电子测试系统的重要部件,是决定电子测试系统性能的关键设备。
它与示波器、电压表、频率计等仪器一样是最普通、最基本的,也是得到最广泛应用的电子仪器之一。
1总体方案论证与设计数字式函数信号发生器的实现方案很多,主要有如下几种:方案一:采用微处理器和数模转换器直接合成的数字式函数信号发生器。
这种信号发生器具有价格低,在低频范围内可靠性好,体积小,功耗低,使用方便等特点,它输出的频率是由微处理器向数模转换输出数据的频率和信号在一个周期内的采样点数(N)来决定的,因此受单片机的时钟频率的限制很大,如果单片机的晶振取12MHz,则单片机的工作频率为1MHz,若在一个周期内输出360个数据,则输出信号的频率理论上最高只能达到2777Hz。
实际上单片机完成一次数据访问并输出到D/A电路,至少要5个机器周期,因此实际输出信号的频率只有500Hz 左右。
即使增大晶振频率,减小一个周期内输出数据个数,在稍高的频率下输出的波形频率误差也是很大的,而且计算烦琐,软件编程麻烦,控制不方便。
基于单片机制作高频DDS信号发生器
基于单片机制作高频DDS信号发生器在现代科学和电子技术的不断进步下,数字信号发生器(DDS)已经成为了频率控制和生成的重要工具。
尤其是高频DDS信号发生器,其在雷达、通信、电子对抗等领域的应用具有不可替代的地位。
本文将介绍如何使用单片机制作高频DDS信号发生器。
一、DDS技术概述DDS,全称Direct Digital Synthesizer,即直接数字合成器,其工作原理是将数字信号通过数模转换器(DAC)转换成模拟信号。
DDS 技术的核心是相位累加器,它将输入的数字信号的相位进行累加,从而生成新的频率信号。
二、硬件设计1、单片机选择:本设计选用具有高速、低功耗、高集成度的单片机,如STM32F4系列。
2、频率控制字:通过设置频率控制字(FCW),可以控制输出信号的频率。
频率控制字由一个16位二进制数组成,表示了相位累加的步进大小。
3、存储器:使用Flash存储器存储预设的频率波形数据。
4、DAC:数模转换器将存储器中的波形数据转换成模拟信号。
本设计选用具有高分辨率、低噪声、低失真的DAC芯片。
5、滤波器:使用LC滤波器对DAC转换后的信号进行滤波,以得到更加纯净的信号。
三、软件设计1、相位累加器:相位累加器是DDS的核心,它将输入的数字信号的相位进行累加,从而生成新的频率信号。
2、波形查找表:将所需的波形数据存储在波形查找表中,通过查表的方式获取波形数据,可以大大提高DDS的工作效率。
3、控制逻辑:控制逻辑负责处理输入的控制信号,如启动、停止、频率控制字等。
4、通信接口:为了方便远程控制,需要设计通信接口,如SPI、I2C 等。
四、性能测试1、频率范围:测试DDS输出信号的频率范围是否满足设计要求。
2、频率分辨率:测试DDS输出信号的频率分辨率是否达到设计要求。
3、信号质量:测试DDS输出信号的信噪比、失真度等指标是否满足设计要求。
4、稳定性:长时间运行后,测试DDS输出信号的频率是否稳定。
5、远程控制:测试通信接口是否正常工作,可以通过计算机或者其他控制器对DDS进行远程控制。
单片机简易信号发生器课程设计
单片机简易信号发生器课程设计
本课程设计旨在介绍如何使用单片机制作简易信号发生器。
通过本课程的学习,学生将学习如何设计和实现基本的信号发生器电路,了解单片机的基本原理和编程方法,掌握调试和测试信号发生器的方法。
本课程设计包括以下主要内容:
1. 信号发生器的基本原理和电路设计。
学生将学习如何使用电容、电感、振荡器等元件构建基本的信号发生器电路,并了解不同类型的信号发生器的特点和应用。
2. 单片机的基本原理和编程方法。
学生将学习单片机的基本原理和编程方法,包括汇编语言和C语言编程。
通过编程实现信号发生器的各种功能,如不同频率和波形的输出。
3. 调试和测试信号发生器。
学生将学习如何使用示波器和信号分析仪等测试工具对信号发生器进行调试和测试,以确保其输出信号的准确性和稳定性。
通过本课程的学习,学生将掌握基本的电路设计和单片机编程技能,为日后的电子设计和开发打下坚实的基础。
同时,通过实现信号发生器的过程,学生将深入了解信号处理和控制的基本原理,为日后的学习和研究提供帮助。
- 1 -。
基于单片机DDS信号发生器的硬件设计
基于单片机DDS信号发生器的硬件设计单片机DDS信号发生器是一种利用数字直接频率合成技术(Direct Digital Synthesis, DDS)来生成高精度信号波形的设备。
它通过调用存储在单片机中的频率、幅度和相位数据,实时更新波形,从而实现高速、高分辨率和低失真的信号发生器功能。
在本文中,将简要介绍单片机DDS信号发生器的设计流程以及其硬件实现。
设计流程:1.确定需求和规格:首先需要明确所需信号的频率范围、分辨率、输出幅度和失真要求等基本参数,以确定设计的方向和重点。
2.硬件选型:根据需求确定适合的单片机型号和外围器件,如振荡器、滤波器、放大器等。
3.硬件连接:根据单片机的引脚功能和外部器件的连接方式设计电路图,将各模块连接起来。
4.编程开发:编写单片机控制程序,实现DDS算法和信号波形生成,并将其烧录到单片机中。
5.调试和优化:通过实际调试和测试,不断优化硬件和软件设计,使其符合设计要求。
硬件实现:1.单片机选择:选择一款适合的高性能单片机作为控制核心,如STM32系列、PIC系列等,具有较高的计算性能和丰富的功能模块。
2.时钟源部分:基于晶振或者DDS芯片提供的时钟信号作为主时钟源,保证信号发生器稳定输出。
3.数字与模拟部分:DDS信号发生器的核心是DDS芯片,它与单片机通过SPI接口通信,实现信号波形的生成和调试。
4.输出功率放大器:将DDS芯片输出的信号通过功率放大器放大至所需的幅度,以驱动外部电路工作。
5.滤波器设计:为了消除输出信号中的高次谐波和噪声干扰,需要设计合适的低通滤波器,保证输出信号的纯净度和稳定性。
6.电源管理:为各个模块提供稳定可靠的电源,充分考虑信号发生器的功耗和稳定性要求。
7.外部控制:设计合适的用户接口和控制按钮,方便用户操作和调节信号波形的参数。
总结:单片机DDS信号发生器的硬件设计涉及到信号生成、时钟同步、数字模拟转换、输出功率放大和滤波等多个方面,需要综合考虑各个模块的性能和需求,以实现高质量、高稳定性的信号输出。
单片机课程设计报告(信号发生器)
单片机课程设计报告系部:电子通信工程系专业:电子信息工程课程设计报告前言:本文以8051f410单片机为核心设计了一个低频函数信号发生器。
信号发生器采用数字波形合成技术,通过硬件电路和软件程序相结合,可输出自定义波形,如正弦波、方波、锯齿、三角波、及其他任意波形,波形的频率和幅度在一定范围内可任意改变。
波形和频率的改变通过软件控制,幅度的改变通过硬件实现。
介绍了波形的生成原理、硬件电路和软件部分的设计原理。
本系统可以产生最高频率99999HZ的波形。
该信号发生器具有体积小、价格低、性能稳定、功能齐全的优点。
设计报告:一、工作原理数字信号可以通过数/模转换器转换成模拟信号,因此可通过产生数字信号再转换成模拟信号的方法来获得所需要的波形。
8051f410单片机本身就是一个完整的微型计算机,具有组成微型计算机的各部分部件:中央处理器CPU、随机存取存储器RAM、只读存储器ROM、I/O接口电路、定时器/计数器以及串行通讯接口等,只要将8051f410再配置键盘及、及波形输出、放大电路等部分,即可构成所需的波形发生器。
经过考虑,我们确定方案如下:利用F410单片机采用程序设计方法产生锯齿波、三角波、正弦波、方波四种波形,再通过D/A转换器将数字信号转换成模拟信号,滤波放大,最终由示波器显示出来,通过键盘来控制四种波形的类型选择、频率变化,最终输出显示其各自的类型以及数值。
1.1、设计要求1)、利用单片机采用软件设计方法产生四种波形2)、四种波形可通过键盘选择3)、波形频率可调4)、需显示波形的种类及其频率二、主程序思路主程序先是进行一些初始化的工作,然后根据波形标志代码的值,使其形成多个数组,每个数组都是一个波形代码。
这样写的好处是输出的波形频率也可以有定时常数决定,找到定时常数和输出频率的关系。
在按键设置波形转换状态的循环中,波形的转换状态在按键上可以一一看出,把四种波形设置成0、1、2、3、在数码管的最高位设置成循环显示,然后把每个波形的代码值通过单片机自带的AD 转换赋给输出的数据口,确定每个数组然后确定数组的列是否为数组中最后行的一个元素,若是则运行下一行的元素(另一个波形),并通过端口输出P0.0。
基于单片机的函数信号发生器设计设计
基于单片机的函数信号发生器设计设计基于单片机的函数信号发生器是一种能够产生各种波形信号的电子设备。
它利用单片机控制并产生不同频率、幅度和相位的信号,可以应用于实验室教学、科研实验、电子设备测试等领域。
本文将详细介绍基于单片机的函数信号发生器的设计原理、硬件实现、软件设计和功能实现等方面。
设计原理函数信号发生器的基本原理是使用振荡电路产生基准信号,再通过放大和滤波电路得到所需频率和幅度的信号。
传统的信号发生器采用模拟电路实现,如RC振荡器和多谐振荡器等。
而基于单片机的信号发生器则利用单片机高度集成的特点,通过软件控制实现信号的产生。
硬件实现振荡电路可以采用单片机内部的定时器/计数器模块来实现。
通过合理设置定时器的工作模式、时钟频率和计数值,可以产生所需的频率信号。
放大和滤波电路用于将振荡电路产生的小幅度信号放大到所需的幅度,并进行滤波处理,消除杂散和谐波。
AD转换电路用于将模拟信号转换为数字信号,以供单片机进行处理和输出。
可以采用单片机内部的ADC模块或外部的ADC芯片来实现。
软件设计单片机的驱动程序用于初始化相关外设,如定时器、IO口和ADC等,并提供相应的读写函数接口。
信号发生器的控制程序通过设置定时器的工作模式和时序控制,生成不同频率和波形的信号。
通过ADC转换获得外部设置的幅度参数,并通过PWM输出产生所需的幅度信号。
功能实现波形选择功能通过软件控制输出不同类型的波形信号,如正弦波、方波、三角波、锯齿波等。
频率调节功能通过改变定时器的工作模式和时钟频率,实现信号频率的调节。
可以设置不同的频率范围和分辨率,满足不同应用的需求。
幅度调节功能通过ADC转换获取外部设置的幅度参数,并通过PWM输出产生所需的幅度信号。
可以设置不同的幅度范围和分辨率,实现信号幅度的调节。
相位调节功能通过改变定时器的时序控制,实现信号相位的调节。
可以设置不同的相位范围和分辨率,满足不同实验或测试的需求。
总结基于单片机的函数信号发生器是一种功能强大、灵活性高的电子设备。
基于单片机的信号发生器设计
基于单片机的信号发生器设计
基于单片机的信号发生器是一种能够产生不同频率、幅度和波形的信号的设备。
它在电子实验、通信系统测试和音频设备调试中起到重要作用。
本文将介绍信号发生器的工作原理、设计要点以及一些应用案例。
信号发生器的核心部分是单片机,它是一种集成了处理器、存储器和输入输出接口的微型计算机。
单片机通过程序控制产生不同频率的脉冲信号,并通过数模转换器将数字信号转换为模拟信号输出。
为了保证信号的准确性和稳定性,还需要使用精密的时钟电路和滤波电路。
在设计信号发生器时,需要考虑以下几个要点。
首先是频率范围和分辨率的选择。
不同的应用场景需要不同的频率范围,而分辨率则决定了信号的精度。
其次是波形的选择和产生方式。
常见的波形有正弦波、方波、三角波等,可以通过查表、数学模拟或直接输出等方式产生。
此外,还需要考虑信号的幅度调节和输出阻抗匹配等问题。
信号发生器在实际应用中有着广泛的用途。
在电子实验中,它可以用来测试电路的频率响应、相位特性和失真情况。
在通信系统测试中,它可以模拟各种信号场景,用来验证系统的性能和稳定性。
在音频设备调试中,它可以生成各种音频信号,用来测试音响设备的音质和效果。
基于单片机的信号发生器是一种功能强大的设备,它能够产生多种频率、幅度和波形的信号,用于电子实验、通信系统测试和音频设备调试等领域。
通过合理的设计和实现,可以满足不同应用场景的需求,并提高工作效率和准确性。
希望本文对读者理解信号发生器的工作原理和设计要点有所帮助。
信号发生器的课程设计
信号发生器的课程设计一、课程目标知识目标:1. 学生能够理解信号发生器的原理与功能,掌握其基本组成部分和使用方法。
2. 学生能够描述信号发生器在不同波形下的特点,如正弦波、方波、三角波等。
3. 学生能够运用信号发生器进行简单的信号生成与处理。
技能目标:1. 学生能够独立操作信号发生器,进行基本信号的产生和调整。
2. 学生能够通过信号发生器完成简单的实验,如观察波形、测量频率等。
3. 学生能够运用所学知识解决实际电路中与信号发生相关的问题。
情感态度价值观目标:1. 学生培养对电子技术实验的兴趣,增强实践操作的自信心。
2. 学生形成良好的团队合作意识,能够在实验过程中相互协作、共同进步。
3. 学生认识到信号发生器在电子技术领域的重要性,激发对相关学科的学习热情。
分析课程性质、学生特点和教学要求:本课程为电子技术实验课程,以信号发生器为核心,结合教材内容,使学生掌握信号发生器的原理、使用方法及在实际电路中的应用。
针对高中年级学生,课程注重理论与实践相结合,培养学生动手操作能力和实验技能。
教学要求明确、具体,注重培养学生的实际操作能力和解决问题的能力。
课程目标分解:1. 知识目标:通过课堂讲解、实验演示和课后复习,使学生掌握信号发生器的相关知识。
2. 技能目标:通过分组实验、课后练习和实际操作,提高学生的动手能力和实验技能。
3. 情感态度价值观目标:通过课程学习,激发学生对电子技术的兴趣,培养良好的团队合作意识和学习态度。
二、教学内容本课程教学内容以教材中信号发生器相关章节为基础,涵盖以下方面:1. 信号发生器原理:介绍信号发生器的工作原理、基本组成部分及其功能。
2. 信号发生器种类:分析不同类型的信号发生器,如模拟信号发生器、数字信号发生器等。
3. 波形生成与调整:讲解正弦波、方波、三角波等常见波形的生成原理,以及如何使用信号发生器进行波形的调整。
4. 信号发生器应用:介绍信号发生器在实际电路中的应用,如模拟信号源、时钟信号发生等。
基于单片机的函数信号发生器的设计与实现
基于单片机的函数信号发生器的设计与实现首先,我们需要确定信号发生器的基本功能和要支持的信号类型。
常见的信号类型包括正弦波、方波、三角波和锯齿波等。
我们可以设计一个菜单界面,通过按键或旋钮选择需要生成的信号类型。
选择信号类型后,用户可以调节频率、幅度和相位等参数,生成相应的信号。
接下来,我们需要设计硬件电路。
基于单片机的函数信号发生器需要一个DA转换芯片来实现数字信号到模拟信号的转换。
我们可以选择常用的模数转换芯片,比如R-2R电阻网络型DA转换芯片。
通过电阻网络的调节,我们可以将单片机输出的数字信号转换为对应的模拟信号。
另外,我们还需要考虑信号的放大和滤波问题。
常见的做法是使用运放作为信号的放大器,通过运放的增益调节,我们可以将信号放大到合适的幅度。
同时,我们还需要滤波电路来去除高频噪声和谐波,以保证输出信号的质量。
在硬件设计完成后,我们需要进行软件编程。
我们可以选择一种合适的单片机,根据其开发环境和编程语言进行开发。
常见的单片机包括51单片机、AVR单片机和STM32等。
我们可以使用C语言或汇编语言编写程序,通过定时器和IO口控制输出信号的频率和幅度。
在软件编程中,我们需要实现信号类型的选择、频率、幅度和相位的调节,以及信号输出的控制。
可以根据用户的选择,生成对应的数字信号,并通过DA转换芯片转换成模拟信号。
同时,我们还可以在程序中添加一些附加功能,比如保存设置、显示当前参数等。
最后,我们需要进行整体调试和测试。
我们可以通过示波器来观察输出信号的波形和频谱,以验证信号发生器的功能和性能。
如果有问题,我们可以通过调整电路和程序进行调试和优化。
总之,基于单片机的函数信号发生器的设计与实现是一个相对复杂和庞大的项目。
它需要我们对单片机的原理和编程有一定了解,同时还需要具备一定的电路设计和调试能力。
但是,通过这个项目的实践,我们可以提高我们的技术能力和创新能力,在电子领域中取得更多的成就。
基于单片机的函数信号发生器毕业设计完整版
基于单片机的函数信号发生器毕业设计完整版本毕业设计旨在设计一个基于单片机的函数信号发生器,以满足工程实践需求。
设计的信号发生器将具有以下特点:能够输出多种波形、具备可调频率和幅度的功能、具备稳定性和高精度等。
首先,信号发生器的硬件设计包括信号源、滤波电路、放大电路和输出电路。
信号源负责产生基本的信号波形,可以通过设置单片机的IO口电平高低来控制信号的波形。
滤波电路和放大电路主要负责对信号进行滤波和放大处理,以确保输出的波形质量和幅度稳定性。
输出电路则是将放大后的信号输出到外部设备上。
其次,信号发生器的软件设计主要是通过编程控制单片机的IO口来实现波形的生成和调节。
编程方面,可以使用C语言或者汇编语言来编写程序,实现波形的输出、频率和幅度的调节等功能。
在程序的运行过程中,需要通过控制IO口电平的高低来控制信号的形状。
同时,可以使用按键或旋钮等外部输入设备来实现对频率和幅度的调节,以满足用户的实际需求。
最后,在设计的过程中需要注意信号发生器的稳定性和精度。
稳定性主要包括信号的频率稳定性和幅度稳定性。
频率稳定性可以通过使用高精度的时钟源和精确的频率分频电路来实现。
幅度稳定性可以通过使用高精度的放大电路和自动增益控制电路来实现。
精度方面,则可以通过使用高精度的模拟数字转换芯片和时钟源来实现。
总的来说,基于单片机的函数信号发生器在工程实践中具有重要意义。
本设计旨在结合硬件和软件技术,实现一个功能完善、稳定性好、精度高的信号发生器。
通过合理的设计和优化,该信号发生器能够满足工程实践的需求,为相关领域的研究提供信号源支持。
基于单片机的信号发生器的设计
基于单片机的信号发生器的设计设计一个基于单片机的信号发生器,需要考虑以下几个方面:硬件电路设计、软件设计、功能实现等。
1.硬件电路设计在硬件电路设计方面,我们可以使用一个单片机作为控制核心,外接一块DAC芯片来实现信号输出。
DAC芯片可以将数字信号转换为模拟信号,并输出到外部设备。
我们还需要考虑信号发生器的输入和输出接口,这些接口可以用来接收外部信号或者将信号输出到其他设备上。
2.软件设计在软件设计方面,我们需要编写固件程序来控制单片机的工作。
首先,我们需要编写一个初始化程序,在该程序中,我们可以初始化单片机和外接设备。
然后,我们需要编写一个主程序来控制信号生成的方式和参数。
在该程序中,我们可以通过键盘或者触摸屏等方式来输入信号的频率、幅度和波形等参数。
最后,我们需要编写一个输出程序,该程序将信号输出到DAC芯片,并通过其他接口输出到外部设备。
3.功能实现信号发生器可以实现多种功能,如正弦波、方波、三角波、齿轮波等各种波形信号的生成。
根据输入的参数,单片机可以根据对应的算法生成相应的波形信号,并将信号输出到DAC芯片上。
此外,信号发生器可以支持多个输入通道,用户可以选择不同的通道来生成不同的信号。
还可以设置信号的扫描频率和扫描范围等功能。
在设计完成后,我们需要对信号发生器进行测试和优化。
测试可以输出一系列标准信号,比较输出信号与标准信号的差异,以检测发生器的准确性和稳定性。
在优化方面,我们可以考虑改进信号发生器的性能,增强其功能。
例如,可以添加自动扫描功能,支持外部控制信号输入等功能。
总结:基于单片机的信号发生器的设计需要考虑硬件电路设计、软件设计、功能实现等方面。
通过合理的设计和编程,可以实现信号发生器的各种功能,以满足用户的需求。
同时,我们还可以通过测试和优化来提高信号发生器的性能和稳定性。
基于单片机的函数信号发生器设计
基于单片机的函数信号发生器设计引言函数信号发生器是一种能够产生各种类型的电信号的仪器。
在电子学、通信工程等领域,函数信号发生器被广泛应用于信号测试、频率测量、波形生成等实验和工程应用中。
本文将介绍一种基于单片机的函数信号发生器设计方案。
一、设计目标本设计的目标是实现一个功能齐全、稳定可靠的函数信号发生器。
主要功能包括产生常见的波形,如正弦波、方波、三角波等;能够调节频率和幅度,以满足不同的实验需求;具备稳定性好、误差小等特点。
二、硬件设计1.单片机选择单片机作为该设计的核心,需要选择性能稳定、功能强大的型号。
常用的单片机型号有AT89C51、ATmega328P等。
选择单片机时,需要考虑到其定时器、ADC等外设功能是否满足要求,以及是否能够方便地编程和调试。
2.信号输出电路设计信号输出电路是函数信号发生器的重要组成部分。
一种常见的设计方案是使用DAC芯片将数字信号转换为模拟信号输出。
选择合适的DAC芯片时,需要考虑其分辨率、采样率、失真度等参数,以及是否支持SPI或I2C等通信接口。
除此之外,还需要考虑输出电路的放大和滤波设计,以确保信号质量。
3.控制电路设计函数信号发生器需要能够通过按键或旋钮控制参数,如频率、幅度等。
因此,设计中需要考虑如何选择合适的控制器件,如按钮开关、数码旋钮或触摸屏等,并设计相应的电路以实现参数调节功能。
4.电源设计函数信号发生器需要一个稳定可靠的电源供电。
一种常见的选择是使用交流电源适配器提供稳定的直流电源。
此外,还需要考虑到功耗问题,选择适当的电源容量以满足整个系统的工作需求。
三、软件设计1.程序框架设计函数信号发生器的软件设计需要考虑到以下几个方面:初始化、参数设置、波形生成和输出等。
程序的框架设计可以遵循一般的流程,如初始化硬件、获取用户输入、生成波形、输出信号等。
2.参数设置功能函数信号发生器需要具备参数设置功能,用户可以通过按键或旋钮调节频率、幅度等参数。
因此,在软件设计中需要考虑到相应的数值输入和显示界面设计。
基于单片机的信号发生器设计
基于单片机的信号发生器设计一、本文概述随着现代电子技术的飞速发展,单片机因其高集成度、低成本和易于编程等特点,在信号处理和控制领域得到了广泛应用。
本文旨在探讨基于单片机的信号发生器设计,该设计在电子工程、自动化控制、信号处理等领域具有重要的应用价值。
本文将首先介绍单片机的基本概念、特点及其在信号发生器设计中的应用优势。
随后,将详细阐述信号发生器的设计原理、系统架构以及关键模块的设计方法,包括信号生成模块、放大模块、滤波模块等。
本文还将探讨单片机编程技术在信号发生器中的应用,包括程序设计、调试与优化等方面。
通过实验验证所设计信号发生器的性能,并对其在实际应用中的可行性进行评估。
本文的研究成果将为相关领域的研究人员和技术人员提供一定的理论指导和实践参考。
二、单片机概述单片机(Microcontroller Unit,MCU)是一种集成电路芯片,是将中央处理器(CPU)、随机存取存储器(RAM)、只读存储器(ROM)、输入输出(IO)端口、定时计数器以及中断系统等主要计算机功能部件集成在一块芯片上的微型计算机。
单片机以其体积小、功能强、性价比高、可靠性高、控制灵活、易于扩展等优点,被广泛应用于各种控制系统和智能化产品中。
单片机通常按照数据总线宽度、内部程序存储器容量、IO端口数量等参数进行分类。
其内部逻辑电路主要包括CPU、存储器、IO接口电路、定时计数器、中断控制逻辑等模块。
CPU是单片机的核心,负责执行指令、处理数据和进行逻辑运算存储器用于存储程序和数据IO接口电路负责单片机与外部设备的连接和通信定时计数器用于实现定时和计数功能中断控制逻辑则用于响应和处理外部中断事件。
在信号发生器设计中,单片机作为核心控制单元,负责产生和控制各种信号波形,如正弦波、方波、三角波等。
通过编程控制单片机的IO端口,可以产生不同频率、不同幅度的信号,从而实现信号发生器的功能。
同时,单片机还可以通过与其他电路模块的配合,实现信号调理、功率放大、显示输出等功能,使信号发生器具有更高的性能和更广泛的应用范围。
基于MSP430单片机的信号发生器设计
基于MSP430单片机的信号发生器设计信号发生器是一种用于产生各种波形信号的仪器,常用于电子实验、通信测试等领域。
本文将基于MSP430单片机设计一个简单的信号发生器,并介绍其原理、硬件电路和软件设计过程。
一、设计原理MSP430是德州仪器(TI)推出的一款低功耗微控制器,具有丰富的外设和易用的开发环境,适合用于嵌入式系统设计。
通过MSP430的数字模拟转换器(DAC)和PWM输出功能,我们可以实现一个基本的信号发生器。
本设计基于MSP430G2553单片机,通过PWM输出产生不同频率的方波,并通过DAC输出控制方波的幅度,从而生成正弦、三角和方波等不同波形的信号。
二、硬件电路设计硬件电路主要包括MSP430G2553单片机、DAC芯片、PWM输出电路和运放放大电路。
1.MSP430G2553单片机MSP430G2553单片机具有16位的定时器,可产生必要的时序信号,以及8位的数字模拟转换器(DAC),可用于控制信号幅度。
2.DAC芯片DAC芯片用于将MSP430的数字信号转换为模拟信号,并控制信号的幅度。
常用的DAC芯片有MAX523和TLV5620等。
3.PWM输出电路PWM输出电路用于产生不同频率和占空比的方波信号。
我们可以利用MSP430的定时器功能或使用外部PWM芯片,如L293D或ULN2803A。
4.运放放大电路运放放大电路用于放大DAC输出的信号,以得到更高的输出幅度。
我们可以选择常见的运放芯片,如LM324或OPA2134三、软件设计过程软件设计主要包括定时器配置、PWM输出配置和DAC控制等模块。
1.定时器配置首先,我们需要配置MSP430的定时器,以产生所需的频率。
通过设定定时器的计数周期和分频系数,可以设置定时器的频率。
2.PWM输出配置接下来,我们需要配置PWM输出。
通过设定PWM期间和占空比,可以产生不同频率和占空比的方波信号。
3.DAC控制最后,我们需要利用MSP430的DAC输出控制信号的幅度。
单片机课程设计---信号发生器资料
课程设计信号发生器学生姓名:安小鹏学号:131001201学院:理学院专业:应用物理指导教师:任世伟刘天山2016年 06月28日信号发生器摘要:本文以 STC89C51单片机为核心设计了一个低频函数信号发生器。
信号发生器采用数字波形合成技术 , 通过硬件电路和软件程序相结合 , 可输出自定义波形 , 如正弦波、方波、三角波、锯齿波、波形的频率和幅度在一定范围内可任意改变。
波形和频率的改变通过软件控制,幅度的改变通过硬件实现。
介绍了波形的生成原理、硬件电路和软件部分的设计原理。
关键词:单片机,信号发生器,D/A 转换一、设计要求利用单片机的控制及编程能力,采用查询法设计一个函数发生器,要求能够产生方波、正弦波,分析采样点数量与频率之间的关系。
二、设计原理向单片机输入所需要的程序并通过扩展 D/A 转换接口就可以方便地产生正弦信号。
正弦波的产生比较特殊,它不是由单片机直接产生波形的 , 它只能产生连续的阶梯波来向正弦波不断地逼近。
很显然,在一个周期内阶梯波的阶梯数目越多,单片机输出的波形也就越接近正弦波。
如图所所示一般而言, 计算机要形成正弦波信号的最简便办法就是使用D/A 转换器, 因计算机可以隔一定时间向D/A 转换器输出一个数字量, 而输出的该数字量为相应时刻的函数值 , 则在 D/A 转换器输出端就可以得到一个相应的函数信号。
D/A 转换器形成的函数信号实际上是一个阶梯状波。
所以用D/A 转化器形成的正弦波信号除了正弦基频分量( 所需要的信号 ) 外,还包含了各种高次谐波与余弦基频分量。
因而形成的正弦波信号只能是一逼近的正弦波信号。
为了正弦信号的数字量逼近,可以有多种方案。
而逼近一个正弦函数的精确程度是和正弦波信号的细分度 N和 D/A 转换器的分辨率直接有关。
细分度 N 越大产生的正弦信号就越精确,但是这要求计算机速度也相应的高; D/A 转化器的分辨率越高产生的正弦信号也就越精确,但是 D/A 转化器的分辨率受其价格和计算速度以及字长的制约,不宜过高,应取一个合理的分辨率。
单片机技术课程设计说明书智能信号发生器
P1.0-P1.7
通用I/0口
P2
21-28
P2.0-P2.7
通用I/0口
A8-A15
地址总线(高位)
P3
10
P3.0
通用I/0口
RXD
串行通信发送口
11
P3.1
TXD
串行通信接收口
12
P3.2
INT0
外部中断0
13
P3.3
INT1
外部中断1
14
P3.4
T0
计数器0输入端口
15
P3.5
T1
计数器1输入端口
第一章
1.1
采用单片机和DAC0832数模转换器生成波形,由于是软件滤波,所以不会有寄生的高次谐波分量,生成的波形比较纯净。它的特点是价格低、性能高,在低频范围内稳定性好、操作方便、体积小、耗电少。可充分发挥其优势,电路简单,易控制,性价比较高,所以采用该方案。
1.2
AT89S52单片机是一种高性能8位单片微型计算机。它把构成计算机的中央处理器CPU、存储器、寄存器、I/O接口制作在一块集成电路芯片中,从而构成较为完整的计算机。
单缓冲方式具有适用于只有一路模拟信号输出或几路模拟信号非同步输出的情形的优点,但是电路线路连接比较简单。而双缓冲方式适用于在需要同时输出几路模拟信号的场合,每一路模拟量输出需一片DAC0832芯片,构成多个DAC0832同步输出电路,程序简单化,但是电路线路连接比较复杂。根据以上分析,我选择了单缓冲方式使用方便,程序简单,易操作。
P3口:P3口管脚是8个带内部上拉电阻的双向I/O口,可接收输出4个TTL门电流。当P3口写入“1”后,它们被内部上拉为高电平,并用作输入。作为输入,由于外部下拉为低电平,P3口将输出电流(ILL)这是由于上拉的缘故。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
单片机课程设计实验报告电子信息工程学院指导教师:***08年6月30日单片机课程设计实验报告一.系统总体介绍1)题目意义:这次课程设计的题目我选择的是信号发生器,我之所以选择这个题目的原因有三个①它是一个DA转换的实验,在前不久的市电子大赛中,我们做的是AD的转换,所以想将模数/数模都熟悉一遍,为今后可能遇到的接口实验打下坚实的基础;②另外一个原因是用到的芯片是MAX518,该芯片是串行数模转换,运用I2C总线,通过这个实验可以更好的运用串行通信,同时能够学习I2C总线的协议,掌握了一门新的总线,我觉得比其他实验收获更大;③MAX518的时序比较复杂,通过练习针对时序的编程可以更好的提高自己读PDF资料的能力和编程的能力。
2)本人所做的工作这个实验从始至终都是自己完成的。
①程序的编写,程序的编写是我结合MAX518的时序图编写出来的,编程的重点在于对与MAX518的编程,在编程的过程中对于应答信号的理解和处理是整个程序的核心,在单步调试中能够很明显的观测到SDA和SCL信号线上电平的变化;②四种波形的表格数据的建立。
表格的建立是通过MATLAB函数产生的。
其函数分别为:正弦波y=round(127*sin(0:2*pi/256:2*pi))+127锯齿波y=round(0:1:255)三角波y=round(0:2:255)Y=round(255:2:0)方波直接是0和255由于MATLAB产生的数据之间含有回车和空格,不符合汇编语言的语法规则,所以要用WORD对所得的数据进行处理,利用WORD的查找替换同能讲回车和空格替换为英文的逗号,其中回车的表示方法为^p③学习KEIL和SSTFlashFlex51.exe的使用④元器件的购买和焊接⑤实验报告的完成3)系统的主要功能该系统能够产生正弦波,锯齿波,三角波和方波四种波形,同时能够产生16HZ,12HZ,10HZ,8HZ四种频率,也就是可以产生4*4=16种信号,通过8个按键开关来选择,同时有八个发光二极管来指示产生信号的频率和波形,形象直观。
经过改进后增加了双路输出的功能,按下双波形选择键,可以同时发出两路波形,波形的种类由按下的两个波形选择开关决定。
定义位于左边的按键优先级高,右边的优先级低,优先级高的波形将由通道0输出,优先级低的将由通道1输出。
单路输出时功能同前所述。
二.硬件电路设计及描述本电路由SST89E58单片机,开关(10个),放光二极管(8个),11.0592M晶振,电容电阻组成。
为保证单片机能正常工作,首先将电源和地接好,将EA/VPP接到+5V;P1.4~P1.7,P3.0~P3.3口作为开光控制端口,用10K电阻上拉到+5V,通过开关控制是否接地;P1.1和P1.2作为SCL和SDA线,与MAX518通信;MAX518的AD0和AD1接地,地址为00,模拟信号由OUT0输出,由于MAX518的参考电压由电源电压提供,不用外接参考电压;三.软件设计流程及描述;首先是检测频率按键和波形按键,如果没有键按下就循环等待,选择好波形和频率后就进入主程序循环发送数据。
先发送MAX 518地址58H,然后发送控制信号00H,再发送数据,重复上述过程256次发送完一个周期的波形,再发送下一个周期,循环往复四.程序代码及源注释SDA EQU P1.2SCL EQU P1.1ORG 0000HAJMP FQ0 ;跳转到频率查询程序ORG 0100HFQ0: JB P1.7,FQ1 ;查询1.7口是否为低电平,高电平的话继续查询1.6口MOV R5,#02H ;延迟2usSETB P0.0 ;灭0.0口指示灯SETB P0.1 ;灭0.1口指示灯SETB P0.2 ;灭0.2口指示灯CLR P0.3 ;亮0.3口指示灯AJMP SS ;跳转到波形查询程序FQ1: JB P1.6,FQ2 ;查询1.6口是否为低电平,高电平的话继续查询1.5口MOV R5,#22H ;延迟34usSETB P0.0SETB P0.1SETB P0.3CLR P0.2 ;亮0.2口指示灯AJMP SS ;跳转到波形查询程序FQ2: JB P1.5,FQ3 ;查询1.5口是否为低电平,高电平的话继续查询1.4口MOV R5,#42H ;延迟66usSETB P0.0SETB P0.2SETB P0.3CLR P0.1 ;亮0.1口指示灯AJMP SS ;跳转到波形查询程序FQ3: JB P1.4,FQ0 ;查询1.7口是否为低电平,高电平的话继续查询1.6口MOV R5,#62H ;延迟98usSETB P0.1SETB P0.2SETB P0.3CLR P0.0 ;亮0.0口指示灯AJMP SS ;跳转到波形查询程序SS: MOV R0,#00H ;R0保存是单数循环还是双数循环JB P1.0,SIN ;没有按下开关时是单路输出,跳到SINAJMP LOPSIN: JB P3.0,JUCHI ;查询3.0口是否为低电平,高电平则查询3.1口MOV DPTR,#TABSIN ;DPTR指针指向正弦波数CLR P0.4 ;亮0.4口指示灯SETB P0.5 ;灭0.5口指示灯SETB P0.6 ;灭0.6口指示灯SETB P0.7 ;灭0.7口指示灯AJMP ST ;跳转到主程序JUCHI: JB P3.1,SANJIAO ;查询3.0口是否为低电平,高电平则查询3.1口MOV DPTR,#TABJUCHI ;DPTR指针指向锯齿波数据CLR P0.5 ;亮0.5口指示灯SETB P0.4SETB P0.6SETB P0.7AJMP ST ;跳转到主程序SANJIAO:JB P3.2,FANGBO ;查询3.0口是否为低电平,高电平则查询3.1口MOV DPTR,#TABSANJIAO;DPTR指针指向三角波数据CLR P0.6 ;亮0.6口指示灯SETB P0.4SETB P0.5SETB P0.7AJMP ST ;跳转到主程序FANGBO:JB P3.3,SIN ;查询3.0口是否为低电平,高电平则查询3.1口MOV DPTR,#TABFANGBO ;DPTR指针指向方波数据CLR P0.7 ;亮0.7口指示灯SETB P0.4SETB P0.5SETB P0.6AJMP ST ;跳转到主程序LOP: MOV R7,#255 ;R7存放每个波形的取样点数MOV R0,#00H ;R0保存是单数循环还是双数循环SETB P0.7SETB P0.6SETB P0.5SETB P0.4SENDA:JB P1.0,ST ;单输出的时候跳到ST正常输出MOV A,R7 ;ANL A,#01H ;判断是单数还是双数循环JNZ SINGLE ;单数的话跳到SINGLEMOV R0,#01H ;双数的话将R0赋1WAVE0: JB P3.3,WAVE1 ;倒序判断,从2通道输出MOV DPTR,#TABFANGBO ;DPTR指针指向方波数据CLR P0.7 ;亮0.7口指示灯AJMP STWAVE1: JB P3.2,WAVE2MOV DPTR,#TABSANJIAO ;DPTR指针指向三角波数据CLR P0.6 ;亮0.6口指示灯SETB P0.7 ;灭0.7口指示灯AJMP STWAVE2: JB P3.1,WAVE3MOV DPTR,#TABJUCHI ;DPTR指针指向锯齿波数据CLR P0.5 ;亮0.5口指示灯SETB P0.7 ;灭0.7口指示灯SETB P0.6 ;灭0.6口指示灯AJMP STWAVE3: JB P3.0,WAVE0MOV DPTR,#TABSIN ;DPTR指针指向正弦波数CLR P0.4 ;亮0.4口指示灯SETB P0.5 ;灭0.5口指示灯SETB P0.6 ;灭0.6口指示灯SETB P0.7 ;灭0.7口指示灯AJMP STSINGLE:MOV R0,#00HWAVE4: JB P3.0,WAVE5MOV DPTR,#TABSIN ;DPTR指针指向正弦波数CLR P0.4 ;亮0.4口指示灯AJMP STWAVE5: JB P3.1,WAVE6MOV DPTR,#TABJUCHI ;DPTR指针指向锯齿波数据CLR P0.5 ;亮0.5口指示灯SETB P0.4 ;灭0.7口指示灯AJMP STWAVE6: JB P3.2,WAVE7MOV DPTR,#TABSANJIAO ;DPTR指针指向三角波数据CLR P0.6 ;亮0.6口指示灯SETB P0.4 ;灭0.4口指示灯SETB P0.5 ;灭0.5口指示灯AJMP STWAVE7: JB P3.3,WAVE4MOV DPTR,#TABFANGBO ;DPTR指针指向方波数据CLR P0.7 ;亮0.7口指示灯SETB P0.4 ;灭0.4口指示灯SETB P0.5 ;灭0.5口指示灯SETB P0.6 ;灭0.6口指示灯AJMP STST: SETB SDA ;起始信号SETB SCLCLR SDAMOV A,#58H ;发送地址MOV R6,#08H ;每个字节有8位LOP0: CLR SCLRLC A ;左移一位,将最高位移至C寄存器MOV SDA,C ; 写入地址线SETB SCLDJNZ R6,LOP0 ;没发送完8为则继续发送CLR SCLJB SDA,$ ;应答信号,SDA为高点平则等待SETB SCLJB SDA,$ ;SCL置成高电平后继续查询SDA是否为低电平CLR SCLMOV A,R0 ;发送控制命令,过程同上MOV R6,#08HLOP1: CLR SCLRLC A ;左移一位MOV SDA,C ; 写一位SETB SCLDJNZ R6,LOP1CLR SCLJB SDA,$ ;应答信号,同上SETB SCLJB SDA,$CLR SCLLOP2: JB P1.0,SINGL ;发送数据MOV A,#0FFHSUBB A,R7MOVC A,A+DPTR ;将DPTR指向单元中的送入A中AJMP BSENDSINGL: MOV A,#00HMOVC A,A+DPTR ;将DPTR指向单元中的送入A中BSEND: MOV R6,#08H ;1字节8位LOP3: CLR SCLRLC A ;左移一位MOV SDA,C ;写一位SETB SCLDJNZ R6,LOP3INC DPTRCLR SCLJB SDA,$ ;应答信号SETB SCLJB SDA,$CLR SCLCLR SDA ;结束信号SETB SCLSETB SDAMOV A,R5 ;延时,用来控制波形的频率MOV R4,ADLY_MS:DJNZ R4,DLY_MSDJNZ R7,ZJT ;设置一个中间跳转,因为超出了DJNZ的跳转围AJMP FQ0ZJT: LJMP SENDA ;是否发送完256个数,发送完则进入下一个周期TABSIN:DB 127,130,133,136,139,143,146,149,152,155, 158,161,164,167,170,173,176,178,181,184DB187,190,192,195,198,200,203,205,208,210,212,215,217,219,221,223,225 ,227,229,231DB233,234,236,238,239,240,242,243,244,245,247,248,249,249,250,251,252 ,252,253,253DB253,254,254,254,254,254,254,254,253,253,253,252,252,251,250,249,249,248, 247,245DB244,243,242,240,239,238,236,234,233,231,229,227,225,223,221,219,217,215, 212,210DB208,205,203,200,198,195,192,190,187,184,181,178,176,173,170,167,164,161, 158,155DB152,149,146,143,139,136,133,130,127,124,121,118,115,111,108,105,102,99,9 6,93,90DB87,84,81,78,76,73,70,67,64,62,59,56,54,51,49,46,44,42,39,37,35,33,31,29,27, 25DB23,21,20,18,16,15,14,12,11,10,9,7,6,5,5,4,3,2,2,1,1,1,0,0,0,0,0,0,0,1,1,2,2,3 DB4,5,5,6,7,9,10,11,12,14,15,16,18,20,21,23,25,27,29,31,33,35,37,39,42,44,46,4 9,51,54DB56,59,62,64,67,70,73,76,78,81,84,87,90,93,96,99,102,105,108,111,115,118,12 1,124,127TABJUCHI:DB0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28, 29,30,31,32,33DB34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58, 59,60,61,62,63DB64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88, 89,90,91,92,93DB94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,11 3,114,115,116DB117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133 ,134,135,136,137DB138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155, 156,157,158DB159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175 ,176,177,178,179DB180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200DB201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217 ,218,219,220,221DB222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238 ,239,240,241,242DB 243,244,245,246,247,248,249,250,251,252,253,254,255 TABSANJIAO:DB0,2,4,6,8,10,12,14,16,18,20,22,24,26,28,30,32,34,36,38,40,42,44,46,48,5 0,52,54,56,58,60,62DB64,66,68,70,72,74,76,78,80,82,84,86,88,90,92,94,96,98,100,102,104,106,108, 110,112,114DB116,118,120,122,124,126,128,130,132,134,136,138,140,142,144,146,148,150, 152,154,156DB158,160,162,164,166,168,170,172,174,176,178,180,182,184,186,188,190,192, 194,196,198DB200,202,204,206,208,210,212,214,216,218,220,222,224,226,228,230,232,234, 236,238,240DB242,244,246,248,250,252,254,255,253,251,249,247,245,243,241,239,237,235, 233,231,229DB227,225,223,221,219,217,215,213,211,209,207,205,203,201,199,197,195,193, 191,189,187DB185,183,181,179,177,175,173,171,169,167,165,163,161,159,157,155,153,151, 149,147,145DB143,141,139,137,135,133,131,129,127,125,123,121,119,117,115,113,111,109, 107,105,103DB101,99,97,95,93,91,89,87,85,83,81,79,77,75,73,71,69,67,65,63,61,59,57, 55,53,51,49,47DB 45,43,41,39,37,35,33,31,29,27,25,23,21,19,17,15,13,11,9,7,5,3,1 TABFANGBO:DB 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 DB 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0DB 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0DB0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,255,255, 255,255DB255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255, 255,255DB255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255, 255DB255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,2 55,255DB255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,2 55,255DB255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,2 55,255DB255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255, 255END五.课程设计体会这是实验从电路的设计到程序的编写和调试是我自己独立完成的,这本身就是一个极大的锻炼,经过了无数次的失败最终产生了完美的波形。