基于单片机正弦波系统信号发生器

基于单片机正弦波系统信号发生器
基于单片机正弦波系统信号发生器

基于单片机正弦波系统信号发生器

学校:宿州学院

班级:08电气一班

姓名:李伟

指导教师:郑伟

基于单片机正弦波系统

信号发生器

绪论 (2)

第一章系统概述和方案 (3)

1.1引言 (3)

1.2方案选择 (3)

1.3 DDS的理论分析与参数计算 (3)

1.3.1 DDS的基本原理 (3)

1.3.2 参数计算 (4)

1.4 信号发生芯片选择 (4)

第二章系统硬件设计 (6)

2.1系统总体设计 (6)

2.2单片机介绍及与AD9835(DDS)连接电路 (6)

2.2.1AD89S51芯片介绍 (6)

2.2.2 AD9835(DDS)芯片介绍 (7)

2.3 信号发生器 (8)

2.4 低通滤波电路 (9)

2.5 D/A转换及浮动控制电路 (10)

2.6 信号放大器 (10)

2.7 显示电路 (11)

2.8 键盘电路 (12)

2.9 电源电路 (12)

第三章系统软件流程图 (14)

3.1 主程序流程图 (14)

3.2 键盘处理子程序流程图 (14)

3.3 D/A转换子程序流程图 (15)

致谢 (17)

附录 (18)

绪论

基于单片机正弦波系统信号发生器设计,该课题的设计母的是充分运用大学期间所学的专业知识,考察信号发生器的基本功能,完成一个基本的实际系统的设计全过程.通过单片机控制一个有特殊功能的信号发生芯片,可以产生一系列有规律的幅度和频率可调的波形.这样一个信号发生装置在控制领域有相当广泛的应用范围.

直接数字频率合成(DDS)是近年来发展起来的一种新的频率合成技术。其主要有点是相对带宽很宽、频率转换时间极短(可小于20ns)、频率分辨率很高、全数字化结构便于集成、输出相位连续、频率、相位和幅度均可实现控制。因此能够与计算机紧密联系在一起,充分发挥软件的作用。作为应用现在已有DDS 产品用于接收基本振、信号发生器、通信系统,雷达系统、跳频通信系统等。

本文介绍一种由直接数字频率合成芯片AD9835设计的正弦信号发生器,该芯片支持高达50MHZ的时钟频率,可以产生最高达25MHZ 的正弦波形。通过单片机控制完全可以满足设计所要求的正弦波信号的生成。本文主要分六大部分;绪论,系统概述和方案,硬件部分,软件部分,展望和致谢。绪论,首先对课题研究背景和所涉及的相关技术领域进行了介绍;第一章对系统所要完成的功能和可拓展的功能进行概述,确定系统的设计方案主要元器件的选择。第二章对系统的硬件结构和各部分组成做了简单的介绍和讲解。第三部分是软件部分,这部分主要介绍了主程序的流程框图及各个子程序的流程框图,最后对整篇文章进行了总结。

第一章系统概述和方案

1.1引言

信号发生器的实现方法很多,传统的波形发生器通常由晶体管、运放IC等分离原件制成。与此相比,基于集成芯片想波形发生器具有高频信号输出、波形稳定、控制简便等特点,且大多能产出正弦波、矩形板和三角波等多种波形。根据设计要求,又基于DDS芯片AD9835在正弦波产生方面的优良特性,这里提出一种基于DDS AD9835的正弦波信号发生器的设计方案。

本次设计的基于单片机的信号发生器设计就是一个单片机控制系统,对信号发生芯片进行的控制。通过单片机对信号发生芯片经行精密控制,实现对波形的频率和幅度的控制。这些控制可以通过键盘设定,这就要求对选择的信号发生芯片,选用的单片机有初步的了解,并对整个系统的结构有个合理的分配。

1.2方案选择

方案一:直接利用单单片机编程产生正弦波

优点:简化了产生正弦波的硬件和软件,电路结构简单。

缺点:编程复杂,波形失真较大,不能达到要求输出的高频信号。

方案二:利用单片机控制直接数字频率合成芯片DDS产生的正弦波,通过单片机,键盘LED数码显示管显示实现波形的数字控制。

优点:控制简单,波形效果好,频率带宽。

缺点:硬件电路复杂。

为了满足设计要求,取得较好的效果,显然方案二更为合理。

1.3DDS的理论分析与参数计算

1.3.1 DDS的基本原理

DDS的基本原理是:在高速存储器中放入正弦函数——相位数据表格,经过查表操作将读出的数据送到高速DAC产生正弦波。可编程DDS系统原理如图所示:

图1 DDS的基本原理图

DDS系统由频率控制字,相位累加器,正弦查询表,数|模转换器和低通滤波器组成,参考时钟为高位定度饿晶体振荡器,其输出用于同步DDS各组成部分的工作。DDS系统的核心是相位累加器,它由N位相位寄存器构成,类似于一个简单的计算器。没来一个时钟脉冲,相位寄出去的输出就增加一个步长的相位增简单计算器。每来一个时钟脉冲,相位寄存器的输出就增加一个步长的相位增量值,加法器将频率控制数据与累加寄存器输出的累加相位数据相加,把相加结果送至累加寄存器的数据输入端。相位累加器进入线性相位累加,累加至满量程时产生一次计数溢出,这个溢出频率即为DDS的输出频率,正弦查询表是一个可编程只读寄存器PROM,存储的是一相位为地址的一个周期正弦信号的采样编码值,包含一个周期正弦波的数字幅度信息,每个地址对应于正弦波中0-360度范围的一个相位点将相位寄存器的输出与相位控制字相加得到一个数据作为一个地址对正弦查询表进行寻址,查询表把输入的地址相位信息映射成正弦波幅度信号驱动DAC,输出模拟信号。低通滤波器平滑并滤除不需要的取样分量,以便输出频谱纯净的正弦信号。

1.3.2 参数计算

对于计数容量为2n的相位累加器和具有M个相位取样点的正弦波形存储器,若频率控制字为K,输出信号频率为f0,参考时钟频率为fc,则DDS系统输出信

号的频率为F0=(k/2n)fc

输出信号的频率分辨率为△faln=(1/2n)fc

由奈奎斯特采样定理可知,DDS输出的最大频率为fmax=fc/2,频率控制字可由以上公式推出K=f0*2n/fc。

当外部参考时钟频率为50MHZ时系统时钟经过6倍频率,使得fc频率为300MHZ,这样就可利用以上公式计算出DDS的需要设计的控制频率为K=1*2^48/300

1.4信号发生芯片选择

系统采用数字波形合成技术产生任意波形,其基本原理是设法将任意波形的

采样点的值依次通过数模转换器转换成模拟量输出。据图原理如下:首先自定义一个周期波形函数,其值按等距采样四个点,然后进行离散化取值,采样后得到该波形一个周期内四点的波形数据,把它按D/A位数进行取整转换,合成偏移码表存放于单片机数据存储器RAM中,根据波形时间参数值,依次去每个点的偏移码通过I/O输出给D/A转换器。如此循环取值,便可以得到连续的波形信号。

根据设计要求,本系统的设计基于直接数字频率合成技术,采用单片机AT89S51控制DDS芯片AD9835,通过改变AD9835内部编程控制寄存器所选的操作模式,相位累加器的位数,频率控制字和幅度控制字,以产生频率稳定度达10ˉ6,最小频率步进为1HZ,多档可调的正弦信号,在使用可编程控制器对输出电压进行精确控制,在频率范围内能产生二进制PSK,ASK信号。在100KHZ固定频率载波进行二进制控制,二进制基带序列码速率固定为10Kbps,二进制基带序列信号自行产生,能够产生模拟调制AM信号。

正弦波发生器是本设计的核心部分,波形发生器要求能产生模拟AM,FM调制信号和二进制PSK,ASK信号,以及优于10ˉ6的频率稳定度,且在1KHZ-10MHZ 的大范围内进行1hz的步进调整。

采用直接数字频率合成技术,用随机读/写存储器RAM存储器所需波形的量化数据,按照不同频率要求,以频率控制字K为步进对相位增量进行累加,以累加相位值作为地址码读取存放在存储器内的波形数据,经D/A转换和幅度控制,再滤波即可得所需波形了。由于DDS具有相对带宽很宽、频率转换时间极短,频率分辨率高,全数字话结构便于集成等优点以及输出相位连续,频率,相位及幅度均可实现程控,因此,可以完全满足。

第二章系统硬件设计

2.1系统总体设计

图2 总体设计原理图

基于DDS芯片AD9835的正弦波信号发生器主要由AT89S51、DDS芯片AD9835、D/A芯片TLC7524和射频运算放大器AD829组成,如图2所示,单片机AT89S51控制DDS集成电路AD9835,输出所需要的频率正弦波信号。单片机还用于控制输出信号幅值,检测按键,控制LED显示,并与PC通讯接收远程指令。AD9835输出的信号经低通滤波器滤除高频干扰后送至D/A转换器TLC7524,控制其幅值,TLC7524输出后经运算放大器AD829放大,最后输出满足所要的正弦波。

2.2单片机介绍及AD9835(DDS)连接电路

2.2.1 单片机AT89S51介绍

单片机作为系统设计的核心部分,在系统功能实现过程中起到了决定性的作用.AT89S51是高性能CMOS 8位单片机,片内含4k bytes的可反复可搽写的只读程序存储器PEROM和128 bytes的随机存取数据存储器RAM,片内置通用8位中央处理器CPU和Flash存储单元。AT89S51中有一个用于内部振荡器的高增益反向放大器,引脚XTAL1和XTAL2分别是该放大器的输入端和输出端,这个放大器与作为反馈元件的片外石英晶体或陶瓷谐振器一起构成自激振荡器。外接石英晶体及电容C1,C2接在放大器的反馈回路中构成并联振荡电路。它能影响振荡器的稳定性。我们选电容值为30pF。AT89S51有强大的I/O口分别是PO.O-PO.7,--P3.O-P3.7。构成了4个并行I/O接口,完成数据的传送和控制。具有丰富的I/O口内置定时计数器和终端系统

单片机的引脚分别和功能如下:

本设计采用AD9835的P3口的部分I/O口的第二功能P3.3,RXD,TXD分别与AD9835的FSYNC,SDATA,SCLK连接。

2.2.2AD983芯片介绍

AD9835芯片主要技术指标如下:

频率范围: 0.1HZ-10MHZ

频率分辨率:0.1HZ

频率稳定度:1*10ˉ7

输出幅度:0-±10v可调

AD9835的相位累加器为32位,取其高十二位为读取余弦波形存储器的地址。每一次,时钟使相位累加器的输出也即余弦ROM寻址地址递增频率设定数据K,对应的波形相位变化为

△P=2^n *K/232

因此,改变相位累加器设定值K,就可以改变相位值△P,从而改变合成信号频率f。计算公式:

f=K*fmc/232

式中fmc=50MHZ,用高稳定度晶体振荡器获得。1

2.3信号发生电路

作为系统设计的核心部分,信号发生电路是由AD9835和单片机构成。接口如下:

AD9835与AT89S51通过三个引脚相连:如图所示。AT89S51串行口工作在方式0。

由于AD9835接受的大部分命令和参数为16位,而AT89S51每次只能发送一字节数据,因此FSYNC应在AT89S51串行口连续发送2个字节的过程中保持低电平。AT89S51从串行口输出数据时地位先发出,而AD9835首先接收高位。AD9835接收到的16位数据中,最高4位是命令码,接下来的四位是地址码,低8位是数据码。为了保证AD9835按这个次序接收数据,在软件设计中将要传输的命令码,地址码和数据码逆序编码从AT89S51串行口发出。

波形的输出时间参数是指输出波形中每两点的时间间隔。单片机程序中设定寄存器TO是定时器T1是计算器,他们串联起来使用,满足定时时间要求。当计算出C≤65536时,CPU只使用定时器TO,当计算出C>65536时,CPU将把T0.T1结合起来使用,将C开平方后的值给T0,T1作为初值,8位的DAC0832单位周期最多输出最多含有256个点,系统的晶振频率f0:25MHZ。f0是4位数字组合成的频率值。T0,T1被调用以后,开始计算,当定时器T0计数溢出时,产生中断信号,给P3.5写一个脉冲信号,T1用于计数该脉冲信号,当T1产生中断以后,总定时时间到,输出一个点,反复循环,从而可在一个周期内输出一个完整波形。

2.4 低通滤波电路

低通滤波电器是直接数字频率合成器的重要组成部分,其性能的优劣直接影响到整个直接数字合成器的特性。在整个DDS实现过程中,低通滤波器除了滤掉高频信号之外,还有除去杂散的作用。DDS的杂散主要来源于以下三方面:一:ROM幅值量化误差

二:相位截断误差

三:DAC的转换误差

本系统中采用具有较窄过度带特性的椭圆滤波器,并采用7阶椭圆低通滤波以降低干扰。

a)椭圆低通滤波器的电路图如下:

图2-4 低通滤波电路

2.5 D/A转换及浮动控制电路

D/A转换器的基本功能是将一个二进制表示的数字量转化为相应的模拟量。AD9835最后输出的是数字量电流,为了实现对其经行控制,需将其转换成模拟量,由单片机控制模拟量进而控制波形实现正弦波的频率和幅度调节。这里我们介绍一种D/A转换器TLC7524。AD9835输出信号经滤波放大,送入D/A转换器TLC7524,单片机控制TLC7524实现幅值调节。其中TLC7524采用直通方式,8位数字量一旦达到D7-D0输入端,便进行D/A转换,从而实现256级幅值调节。TLC7524采用电流工作方式,外接一片运算放大器AD829将电流电压转换为模拟电压输出。

2.6 信号放大电路

放大器的作用:能把输入讯号的电压或功率放大的装置,由电子管或晶体管、电源变压器和其它电器元件组成。其原理是高频功率放大器用于发射机的末级,作用是将高频已调波信号进行功率放大,以满足发送的要求,然后经过天线

将其辐射到空间,保证在一定区域内的接收机可以接收到满意的信号电平,并且不干扰相邻信道的通信,高频功率放大器是通信系统中发送装置的重要组件。运算放大器原理:它是一种直流耦合,差模输入,通常为单端输出的高增益电压放大器。一个运算放大器模组包括一个正输入端,一个负输入端和一个输出端。使用时一般将反向输入端与输出端连接起来形成负反馈以保证电路的稳定运作。下图为电压放大模块电路,采用反比例放大,其增益为R1/R2,C1电容有效滤除杂波。

图2-6 信号放大电路

2.7 显示电路

显示电路选用LED数码管作为显示器件,且采用动态显示方式。

图2-7 LED显示电路

如图所示采用三级管对数码管进行驱动,本电路采用的是共阴极数码显示,当有三级管导通时,数码管的一端相当于接地,数码管就显示了,RP1为排阻,相当

于八个电阻并联在一起。

2.8 键盘电路

本设计选用独立式按键,因为按键数量不多。独立式按键的硬件特点是每个按键均独立的占用一条I/O接口线,单片机识别I/O接口线电平的高低就能识别出是否有按键按下及哪个按键按下。独立式按键硬件结构及软件设计均较简单,一般用于按键较少或I/O接口线资源有空闲的场合。本设计键盘从上往下依次为KEY0-KEY3,键盘为按下时I/O端口经上拉电阻接+5伏电压,输入的是高电平:键盘按下时,I/O端口由于接地,输入的是低电平。

KEY0键功能:接P1.0,选定信号的频率控制。

KEY1键功能:接P1.1口,选定信号的幅度控制

KEY2键功能:接P1.2口,选定的控制对象步进量增

KEY3键功能:接P1.3口,选定的控制对象步进量减

2.9 电源电路:

电源电压为输出电压+5伏,输出电流1.5安的稳压电源。它由电源变压器

T,桥式整流电路D1-D4,滤波电容C1、C3,防止自激电容C2、C3,和一只固定式三端稳压器7805极为简洁方便的搭成的。

220伏交流市电通过电源变压器变换成交流低压,在经过桥式整流电路D1-D4和滤波电容的滤波和整流在固定式三端稳压器7805的VIN和GND两端行成一个并不十分稳定的直流电压。此直流电压经过7805的稳压和C3的滤波便在稳压电源的输出端产生了精度高、稳定度好的直流输出电压。三端稳压器是一种标准化、系列化的通用线性稳压集成电路。

第三章系统软件流程图

3.1主程序流程图

在主程序流程中,系统上电复位后,开始进行模块初始化,然后调显示子程序显示数据,再调键盘扫描子程序,若有按键按下,则调相应的键功能程序,若无键按下,则循环调用显示程序。

3.2 键盘处理子程序流程图

图3-2 键盘处理子程序流程图

系统调用键盘扫描程序开始后,检查按键是否按下,执行延时程序,用来实现软件去抖动,消除抖动的影响,并且扫描按键,准确判断按键的键值,进而转向相应的程序处理字程序,实现各按键的功能。具体原理如下:按下K0键则显示波形频率,按下K1键显示波形幅值,按下K2键显示所选频率或幅值的步进加,按下K3键显示所选频率或幅值的步进减。

3.3 D/A转换子程序流程图

D/A转换程序的设计思路是:电路接通时D/A转换器开始采集数据,并进行数据转换,判断转换是否结束,结束的话就把数据传输给单片机,再通过单片机对数码管的控制,显示所需要的数据。

致谢

感谢电气工程系的老师,他们严谨细致,一丝不苟的作风一直是我学习生活中的榜样,他们循循善诱的教导和不拘一格的思路给了我无尽的启迪。感谢我的论文指导老师,在论文设计过程中给了我无限的帮助和指导,最终使得我的论文得以完成。最后还要感谢给予过我帮助的同学和朋友,你们的热情、无私令我倍感鼓舞,这将是我以后工作学习的不竭动力!

附录

单片机课程设计产生三角波、正弦波、方波

STC89C51单片机产生正弦波、方波、三角波LED显示频率源程序 #include #include #define uchar unsigned char #define uint unsignedint sbit LATCH1=P2^6;//定义锁存使能端口段锁存 sbit LATCH2=P2^7;// 位锁存 unsigned char TempData[8]; //存储显示值的全局变量 unsigned char code DuanMa[10]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f};// 显示段码值0~9 unsigned char code DuanMa2[10]={0xbf,0x86,0xdb,0xcf,0xe6,0xed,0xfd,0x87,0xff,0xef};// 显示段码值0~9 unsigned char code DuanMa1[3]={0x77,0x7c,0x39}; unsigned char code WeiMa[]={0xfe,0xfd,0xfb,0xf7,0xef,0xdf,0xbf,0x7f};//分别对应相应的数码管点亮,即位码 #define DataPort P0 sbitkeyA=P3^3; sbitkeyB=P3^4; sbitkeyC=P3^5; sbitwc=P1^0; sbitscl=P1^1; sbitsda=P1^2; sbit scl1=P1^3; sbit sda1=P1^4; sbit p5=P1^5; sbit p6=P1^6; sbit p7=P1^7; uintsign,ad; uchar temp[10], temp1[3];//定义显示区域临时存储数组

基于单片机正弦信发生器












专业班级:
学生姓名:
指导教师(签名):
一、课程设计(论文)题目
正弦波信号发生器设计
二、本次课程设计(论文)应达到的目的
本次课程设计是自动化专业学生在学习了《单片机原理及应用》课程 及《模拟电子线路》、《数字电子线路》等专业基础课程之后进行的一次综 合训练,其主要目的是加深学生对单片机软硬件技术和相关理论知识的理 解,进一步熟悉 51 单片机系统设计的基本理论、方法和技能;掌握工程 应用的基本内容和要求,力争做到理论与实际的统一;同时培养学生分析 问题、解决问题的能力和独立完成系统设计的能力,并按要求编写相关的 技术文档和设计报告等。
三、本次课程设计(论文)任务的主要内容和要求(包括原始数据、技 术参数、设计要求等)
1.设计内容
(1)选择 51 单片机,晶振采用 12MHz。
(2)设计一个能产生 0 至 50HZ 正弦波信号。通过 0832D/A 芯片完成 数模转换。

(3)频率值由键盘输入。 (4)将频率值由 LED 数码管上显示(两位)。 2.设计要求 (1)按照任务书的要求完成系统分析及方案设计。 (2)完成硬件原理图的设计,并选择相关元器件。 (3)完成控制软件流程图的设计,编写相应的单片机控制程序。 (4)撰写设计报告。 四、应收集的资料及主要参考文献: 1.李建忠.单片机原理及应用.西安电子科技大学出版社,2008 2.杨居义.单片机课程设计指导.清华大学出版社,2009 3.李海滨等.单片机技术课程设计与项目实例.中国电力出版社,2009 以及与 51 系列单片机相关的文献及教材。 五、审核批准意见
教研室主任(签字) 正弦信号发生器设计方案框图

基于51单片机的波形发生器的设计讲解

目录 1 引言 (1) 1.1 题目要求及分析 (1) 1.1.1 示意图 (1) 1.2 设计要求 (1) 2 波形发生器系统设计方案 (2) 2.1 方案的设计思路 (2) 2.2 设计框图及系统介绍 (2) 2.3 选择合适的设计方案 (2) 3 主要硬件电路及器件介绍 (4) 3.1 80C51单片机 (4) 3.2 DAC0832 (5) 3.3 数码显示管 (6) 4 系统的硬件设计 (8) 4.1 硬件原理框图 (8) 4.2 89C51系统设计 (8) 4.3 时钟电路 (9) 4.4 复位电路 (9) 4.5 键盘接口电路 (10) 4.7 数模转换器 (11) 5 系统软件设计 (12) 5.1 流程图: (12) 5.2 产生波形图 (12) 5.2.1 正弦波 (12) 5.2.2 三角波 (13) 5.2.3 方波 (14) 6 结论 (16) 主要参考文献 (17) 致谢...................................................... 错误!未定义书签。

1引言 1.1题目要求及分析 题目:基于51单片机的波形发生器设计,即由51单片机控制产生正弦波、方波、三角波等的多种波形。 1.1.1示意图 图1:系统流程示意图 1.2设计要求 (1) 系统具有产生正弦波、三角波、方波三种周期性波形的功能。 (2) 用键盘控制上述三种波形(同周期)的生成,以及由基波和它的谐波(5次以下)线性组合的波形。 (3) 系统具有存储波形功能。 (4) 系统输出波形的频率范围为1Hz~1MHz,重复频率可调,频率步进间隔≤100Hz,非正弦波的频率按照10次谐波来计算。 (5) 系统输出波形幅度范围0~5V。 (6) 系统具有显示输出波形的类型、重复频率和幅度的功能。

(完整word版)基于单片机的信号发生器开题报告

内蒙古工业大学本科生毕业设计(论文)开题报告

注:表格根据所填内容可进行调整,可多页。 一、设计总体方案 利用AT89S52 单片机采用程序设计方法产生锯齿波,正弦波,矩形波,方波四种波形,再通过D/A 转换器DAC0832将数字信号转换成模拟信号,滤波放大,最终由示波器显示出来,通过键盘来控四种波形的类型,频率变化,最终输出显示其各自的类型及数值

图4.1 硬件原理框图 二.硬件各单元电路方案设计与选择 1、单片机的选择 方案一:AT89S52芯片中只有一路模拟输出或几路模拟信号非同步输出,这种情况下CPU对DAC0832 执行一次写操作,则把一个数据直接写入DAC寄存器,DAC0832的输出模拟信号随之对应变化。输出波形稳定,精度高,滤波好,抗干扰效果好,连接简单,性价比高。 方案二:C8051F005单片机是完全集成的混合信号系统级芯片,具有与8051兼容的微控制器内核,与MCS-51指令集完全兼容。除了具有标准8052的数字外设部件,片内还集成了数据采集和控制系统中常用的模拟部件和其他数字外设及功能部件,而且执行速度快。但其价格较贵 方案三:采用单片机编程的方法来实现。该方法可以通过编程的方法来控制信号波形的频率和幅度,而且在硬件电路不变的情况下,通过改变程序来实现频率的变换。此外,由于通过编程方法产生的是数字信号,所以信号的精度可以做的很高。 以上两种方案综合考虑,选择方案一 2.键盘设计方案比较 方案一:矩阵式键盘。矩阵式键盘的按键触点接于由行、列母线构成的矩阵电路的交叉处。当键盘上没有键闭合时,所有的行和列线都断开,行线都呈高电平。当某一个键闭合时,该键所对应的行线和列线被短路。 方案二:独立式键盘。独立式键盘具有硬件与软件相对简单的特点,其缺点是按键数量较多时,要占用大量口线。 以上两种方案综合考虑,选择方案二。 3、D/A转换部分

基于单片机的信号发生器(完整电路_程序)资料

电子与信息工程学院综合实验课程报告 实验名称:基于单片机的信号发生器的设计与实现班级:10电工2班 学号:20101851046 姓名:李俊 指导教师: 时间:

摘要 本文以STC89C51单片机为核心设计了一个低频函数信号发生器。信号发生器采用数字波形合成技术,通过硬件电路和软件程序相结合,可输出自定义波形,如 正弦波、方波、三角波、三角波、梯形波及其他任意波形,波形的频率和幅度在一定范围内可任意改变。波形和频率的改变通过软件控制,幅度的改变通过硬件实现。介绍了波形的生成原理、硬件电路和软件部分的设计原理。本系统可以产生最高频率798.6HZ的波形。该信号发生器具有体积小、价格低、性能稳定、功能齐全的优点。 关键词:低频信号发生器;单片机;D /A转换; 1设计选题及任务 设计题目:基于单片机的信号发生器的设计与实现 任务与要求: 设计一个由单片机控制的信号发生器。运用单片机系统控制产生多种波形,这些波形包括方波、三角波、锯齿波、正弦波等。信号发生器所产生的波形的频率、幅度均可调节。并可通过软件任意改变信号的波形。 基本要求: 1. 产生三种以上波形。如正弦波、三角波、矩形波等。 2.最大频率不低于500Hz。并且频率可按一定规律调节,如周期按1T,2T,3T,4T 或1T,2T,4T,8T变化。 3.幅度可调,峰峰值在0——5V之间变化。 扩展要求:产生更多的频率和波形。 2系统概述 2.1方案论证和比较 2.1.1总体方案: 方案一:采用模拟电路搭建函数信号发生器,它可以同时产生方波、三角波、正弦波。但是这种模块产生的不能产生任意的波形(例如梯形波),并且频率调节很不方便。 方案二:采用锁相式频率合成器,利用锁相环,将压控振荡器(VCO)的输出频率锁定在所需频率上,该方案性能良好,但难以达到输出频率覆盖系数的要求,且电路复杂。

单片机产生正弦波

单片机产生正弦波 一要求 采用单片机map430g2553和运算放大器lmv358产生正弦波,周期1秒。 二思路 可通过单片机产生PWM,调节参数寄存器的值,产生不同占空比的PWM信号。若占空比的变化规律是正弦的,则滤波后可得到所需正弦波形。 其中,PWM(Pulse Width Modulation)控制——脉冲宽度调制技术是通过对一系列脉冲的宽度进行调制,来等效地获得所需要波形(含形状和幅值)。图1为用PWM波代替正弦半波的例子。(单片机输出图1b,滤波后得到图1a) 图1 用PWM波代替正弦半波

三实践 1 PWM周期计算 正弦波周期1秒,需要采用多少个周期的PWM信号去表示?数目过少,则波形不完整(极端状况只有1个周期的PWM);数目过多,则增加了单片机的计算量,并对速度有要求。这里取N=200个。 则PWM信号的周期为T=1/200秒=5毫秒。 2 PWM参数计算 PWM由定时器TimerA产生,参数主要包括:定时器时钟,周期计数,高电平计数三个。 ●定时器时钟:定时器时钟来源有4个,两个内部的(辅助时钟ACLK、子系统主时钟 SMCLK),两个外部的。这里采用内部时钟。没有外部晶体时,ACLK由内部时钟源VLOCLK(低频时钟源,12K赫兹)产生,SMCLK由内部数字时钟DCOCLK(默认1M赫兹)产生。这里建议采用较高频率的。部分代码如下: BCSCTL1 |= DIVA_0; // ACLK = VLO BCSCTL2 |= SELM_0 + DIVM_0 + DIVS_0; // MCLK = DCO, SMCLK = DCO // Configure TimerA TACTL = TASSEL1 +MC_1; // Source: SMCLK, UP mode 其中,ACLK可配置成VLOCLK的1,2,4,8分频,这里设置为1分频,即ACLK = VLO;第二行中,SELM_0的作用是选择MCLK的时钟源为DCOCLK,DIVM_0设置为MCLK = DCO,DIVS_0设置为SMCLK = DCO(默认时钟源)。 TASSEL1将定时器时钟设置为SMCLK(若为TASSEL0则选择ACLK),且未分频。模式选择MC_1为上升模式。采用上述方法设置 定时器时钟= SMCLK = DCO = 1M赫兹。 ●周期计数:上升模式表明定时器由0递增到一个上限值CCR0。CCR0需设置。 因为周期T=1/200秒,而定时器时钟= SMCLK = DCO = 1M赫兹,定时器周期t=1微秒,所以CCR0=T/t=5000,即5毫秒。 ●高电平计数:定时器由0递增到一个上限值CCR0过程中,需设置脉宽CCR1。 并且K= CCR1/ CCR0的数值每个周期(5毫秒)都变化一次,变化趋势满足正弦变化,200个5毫秒构成一个正弦变化周期。 为获得CCR1值,在matlab中输入: t=0:pi/100:2*pi; k=(sin(t)+1)/2; CCR1=round(4999*k); 可获得201个CCR1值。上式中,第一行设置了201个数,均匀分布在0-2pi 之间,第一个和最后一个分别对应0弧度和2pi弧度;第二行计算201个正弦值,偏置为0.5,全幅度为1的正弦波幅度,如图2所示:

单片机制作简易正弦波信号发生器(DAC0832)

调试时,电源的质量需要较高,不然的话,波形不易观察看清楚。 //河北工程大学信电学院自动化系 //设计调试成功 ***************将DA输出的 0V ~ -5V范围扩展成 -5V ~ +5V范围,电路如下图:*************** 如若VO2输出更平滑一些,可以在VO2处接一个小电容,滤掉高频。 (一)过程分析计算如下: ?第一级运放出来的V o1=-N*V ref/256。当V ref为+5V时,V o1=0~ -5V。 其中,V ref为参考电压,N为8位数字量输出到DAC0832 ?并结合第二级运放,是否可以推出来如下式子: V o2=-(2*V o1+V ref)=-(2*-N*V ref/256+V ref) =-(-2N*V ref/256+V ref) =2N*V ref/256-V ref 当参考电压V ref=5V时,V o2=10N/256-5。 由于要求输出的是正弦波xsinθ,幅值x不定,下面考虑幅值x分别取5和1的情况: ●当输出波形为5 sinθ时:5 sinθ=V o2 =2N*V ref/256-V ref =10N/256-5 //此时V ref=+5V 得sinθ=2N/256-1

●当输出波形为sinθ时:sinθ=V o2 =2N*V ref/256-V ref =10N/256-5 //此时V ref=+5V 得sinθ=10N/256-5 最后可以考虑输出波形的频率问题。例如要求输出特定频率的正弦波。 (二)针对输出的不同幅值波形 ?当输出波形为5 sinθ时:得sinθ=2N/256-1 这里我们要求进步为一度。具体到进步大小,和内存RAM或者ROM有关,即和你存放数据表的空间有关。放到哪个空间都可以。(这里周期采样最多256个点,步数可以为1、2、5等,自己视情况而定,这里由于是360度,256个采样点,故步的大小360/256=1.4=△θ,由此算的前三个 θ=0,1.4,2.8……,对应N为0x80,0x83,0x86……) 通过sinθ的特征和计算部分数据发现规律: 0~90度与90~180度大小是对称的;181~270度与270~359度是对称的。 故,不是所有数据都是计算的。

基于51单片机的函数信号发生器的设计

龙源期刊网 https://www.360docs.net/doc/9d3501250.html, 基于51单片机的函数信号发生器的设计 作者:朱兆旭 来源:《数字技术与应用》2017年第02期 摘要:本文所设计的系统是采用AT89C51单片机和D/A转换器件DAC0832产生所需不 同信号的低频信号源,AT89C51 单片机作为主体,采用D/A转换电路、运放电路、按键和LCD液晶显示电路等,按下按键控制生成方波、三角波、正弦波,同时用LCD显示相应的波形,输出波形的周期可以用程序改变,具有线路简单、结构紧凑、性能优越等特点。 关键词:51单片机;模数转换器;信号发生器 中图分类号:TP391 文献标识码:A 文章编号:1007-9416(2017)02-0011-01 1 前言 波形发生器,是一种作为测试用的信号源,是当下很多电子设计要用到的仪器。现如今是科学技术和设备高速智能化发展的科技信息社会,集成电路发展迅猛,集成电路能简单地生成各式各样的波形发生器,将其他信号波形发生器于用集成电路实现的信号波形发生器进行对比,波形质量、幅度和频率稳定性等性能指标,集成电路实现的信号波形发生器都胜过一筹,随着单片机应用技术的不断成长和完善,导致传统控制与检测技术更加快捷方便。 2 系统设计思路 文章基于单片机信号发生器设计,产生正弦波、方波、三角波,连接示波器,将生成的波形显示在示波器上。按照对作品的设计研究,编写程序,来实现各种波形的频率和幅值数值与要求相匹配,然后把该程序导入到程序存储器里面。 当程序运行时,一旦收到外界发出的指令,要求设备输出相应的波形时,设备会调用对应波形发生程序以及中断服务子程序,D/A转换器和运放器随之处理信号,然后设备的端口输出该信号。其中,KEY0为复位键,KEY1的作用是选择频率的步进值,KEY2的作用是增加频 率或增加频率的步进值,KEY3的作用是减小频率或减小频率的步进值,KEY4的作用是选择三种波形。103为可调电阻,用于幅值的调节。自锁开关起到电源开关的作用。启动电源,程序运行的时候,选择正弦波,红色LED灯亮起;选择方波,黄色LED灯亮起;选择三角波,绿色LED灯亮起。函数信号发生器频率最高可达到100Hz,最低可达到10Hz,步进值0.1- 10Hz,幅值最高可到3.5V。系统框图如图1所示。 3 软件设计

单片机定时1器控制产生10Hz正弦波信号

#include #define uchar unsigned char #define uint unsigned int sbit cs=P3^5; sbit wr=P3^6; uchar j; uchar code tosin[256]={ 0x80,0x83,0x86,0x89,0x8d,0x90,0x93,0x96,0x99,0x9c,0x9f,0xa2, 0xa5,0xa8,0xab,0xae,0xb1,0xb4,0xb7,0xba,0xbc,0xbf,0xc2,0xc5, 0xc7,0xca,0xcc,0xcf,0xd1,0xd4,0xd6,0xd8,0xda,0xdd,0xdf,0xe1, 0xe3,0xe5,0xe7,0xe9,0xea,0xec,0xee,0xef,0xf1,0xf2,0xf4,0xf5, 0xf6,0xf7,0xf8,0xf9,0xfa,0xfb,0xfc,0xfd,0xfd,0xfe,0xff,0xff, 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfe,0xfd, 0xfd,0xfc,0xfb,0xfa,0xf9,0xf8,0xf7,0xf6,0xf5,0xf4,0xf2,0xf1, 0xef,0xee,0xec,0xea,0xe9,0xe7,0xe5,0xe3,0xe1,0xde,0xdd,0xda, 0xd8,0xd6,0xd4,0xd1,0xcf,0xcc,0xca,0xc7,0xc5,0xc2,0xbf,0xbc, 0xba,0xb7,0xb4,0xb1,0xae,0xab,0xa8,0xa5,0xa2,0x9f,0x9c,0x99, 0x96,0x93,0x90,0x8d,0x89,0x86,0x83,0x80,0x80,0x7c,0x79,0x76, 0x72,0x6f,0x6c,0x69,0x66,0x63,0x60,0x5d,0x5a,0x57,0x55,0x51, 0x4e,0x4c,0x48,0x45,0x43,0x40,0x3d,0x3a,0x38,0x35,0x33,0x30, 0x2e,0x2b,0x29,0x27,0x25,0x22,0x20,0x1e,0x1c,0x1a,0x18,0x16, 0x15,0x13,0x11,0x10,0x0e,0x0d,0x0b,0x0a,0x09,0x08,0x07,0x06, 0x05,0x04,0x03,0x02,0x02,0x01,0x00,0x00,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x00,0x01,0x02,0x02,0x03,0x04,0x05, 0x06,0x07,0x08,0x09,0x0a,0x0b,0x0d,0x0e,0x10,0x11,0x13,0x15, 0x16,0x18,0x1a,0x1c,0x1e,0x20,0x22,0x25,0x27,0x29,0x2b,0x2e, 0x30,0x33,0x35,0x38,0x3a,0x3d,0x40,0x43,0x45,0x48,0x4c,0x4e, 0x51,0x55,0x57,0x5a,0x5d,0x60,0x63,0x66 ,0x69,0x6c,0x6f,0x72, 0x76,0x79,0x7c,0x80 };/*正弦波码 */

基于51单片机函数信号发生器设计

摘要:本系统利用单片机AT89S52采用程序设计方法产生锯齿波、正弦波、矩形波三种波形,再通过D/A转换器DAC0832将数字信号转换成模拟信号,滤波放大,最终由示波器显示出来,能产1Hz—3kHz的波形。通过键盘来控制三种波形的类型选择、频率变化,并通过液晶屏1602显示其各自的类型以及数值,系统大致包括信号发生部分、数/模转换部分以及液晶显示部分三部分,其中尤其对数/模转换部分和波形产生和变化部分进行详细论述。 关键词:单片机AT89S52、DAC0832、液晶1602 Abstract: this system capitalize on AT89s52,it makes use of central processor to generate three kinds of waves, they are triangle wave, and use D/A conversion module, wave generate module and liquid crystal display of 1602, it can have the 1Hz-3KHz profile. In this system it can control wave form choosing, frequency, range,can have the sine wave, the square-wave, the triangular wave. Simultaneously may also take the frequency measurement frequency,and displays them through liquid crystal display of 1602.this design includes three modules. They are D/A conversion module, wave generate module and liquid crystal display of LED module. In this design, the wave generator into wave form module and D/A conversion module are discussed in detail. key word: AT89S52, DAC0832, liquid crystal 1602.

基于51单片机的信号发生器设计报告

基于51单片机的信号发生器设计报告 二零一四年十二月十一日

摘要 根据题目要求以及结合实际情况,本文采用一种以AT89C51单片机为核心所构成的波形发生器,可产生方波、三角波、正弦波、锯齿波等多种波形,波形的频率可用程序改变,并可根据需要选择单极性输出或双极性输出,具有线路简单、结构紧凑、性能优越等特点。本设计经过测试,性能和各项指标基本满足题目要求。 关键词:信号发生器 DAC0832芯片 LM358运放 89C51芯片

目录 摘要...................................................................... 目录...................................................................... 第一章绪论................................................................. 1.1单片机概述........................................................... 1.2信号发生器的概述和分类.............................................. 1.3问题重述及要求....................................................... 第二章方案的设计与选择................................................... 2.1方案的比较........................................................... 2.2设计原理 ............................................................. 2.3设计思想 ............................................................. 2.4实际功能 ............................................................. 第三章硬件设计............................................................ 3.1硬件原理框图......................................................... 3.2主控电路 ............................................................. 3.3数、模转换电路....................................................... 3.4按键接口电路......................................................... 3.5时钟电路 ............................................................. 3.6显示电路 ............................................................. 第四章软件设计............................................................ 4.1程序流程图........................................................... 参考文献.................................................................... 附录1 电路原理图 .......................................................... 附录2 源程序............................................................... 附录3 器件清单......................................................

信号发生器 (正弦波,方波,三角波)51单片机 C语言代码

/**************************************/ /* 信号发生器(正弦波,方波,三角波) */ /*************************************/ #include #include #define uchar unsigned char #define uint unsigned int sbit cs=P2^0; //tlc5615片选端口 sbit clk=P2^1; //tlc5615时钟线 sbit din=P2^2; //tlc5615传输端口 sbit key1=P1^0; sbit key2=P1^1; //按键的单片机接口 uchar keydat; uchar flag; //波形发生终止信号的标志位一旦被置零立马停止发信号

uchar flagsqu; //方波高低电平控制为(运用定时器1中断控制) uchar m,num; uchar dat=0xff; uchar code tosin[141]={ //正弦波的编码 0x00,0x01,0x02,0x02,0x03,0x04,0x05,0x06,0x07,0x08, 0x09,0x0a,0x0b,0x0d,0x0e,0x10,0x11,0x13,0x15,0x16, 0x18,0x1a,0x1c,0x1e,0x20,0x22,0x25,0x27,0x29,0x2b, 0x2e,0x30,0x33,0x35,0x38,0x3a,0x3d,0x40,0x43,0x45, 0x48,0x4c,0x4e,0x51,0x55,0x57,0x5a,0x5d,0x60,0x63, 0x66,0x69,0x6c,0x6f,0x70,0x71,0x72,0x73,0x74,0x75, 0x76,0x77,0x78,0x79,0x7a,0x7b,0x7c,0x7d,0x7e,0x7e, 0x7f,0x80,0x7f,0x7e,0x7e,0x7d,0x7c,0x7b,0x7a,0x79, 0x78,0x77,0x76,0x75,0x74,0x73,0x72,0x6f,0x6c,0x69, 0x66,0x63,0x60,0x5d,0x5a,0x57,0x55,0x51,0x4e,0x4c, 0x48,0x45,0x43,0x40,0x3d,0x3a,0x38,0x35,0x33,0x30, 0x2e,0x2b,0x29,0x27,0x25,0x22,0x20,0x1e,0x1c,0x1a, 0x18,0x16,0x15,0x13,0x11,0x10,0x0e,0x0d,0x0b,0x0a, 0x09,0x08,0x07,0x06,0x05,0x04,0x03,0x02,0x02,0x01, 0x00};

51单片机制作的波形发生器

51单片机制作的波形发生器 相信很多朋友都可能接触到一个波型发生器的制作,可能刚刚入门,做的东西也不会说是很复杂。可能就一 个矩形波,或者是三角波。但是网上的很多资料是忽悠 人的,就此,我也提供一个比较完整的波型发生器 C51 原代: 该系统的软件比较典型:包括键盘的应用,显示的 应用和 DA 转换器的应用。本设计中,输出的波形有三种:正弦波,方波,三角波。 方波的输出最为简单,只要按照设定的周期值将输 出的电压改变即可。 三角波的输出也比较简单,单片机的输出只要完成 数字量递增和递减交替进行即可。、 正弦波的输出最麻烦,如果在软件中计算出输出的 各点电压值,将会浪费很多的 CPU 时间,以至于无法满足频率的要求。通常最简单的方法是通过手动的方法计 算出输出各点的电压值,然后在编写程序时以数组的方 式给出。当需要时,只要按照顺序进行输出即可。这种 方法比运算法速度快且曲线的形状修改灵活。在本设计 中将 360 度分为 256 个点,则每两个点之间的间隔为1.4 度,然后计算出每个点电压对应的数字量即可。只

要反复输出这组数据到 DAC0832, 就可以在系统输出端得到想要的正弦波。 具体程序如下: #include ; #define uchar unsigned char #define uint unsigned int #define DAdata P0 uchar code Sinetab[256]= { 0x80,0x82,0x84,0x86,0x88,0x8a,0x8c,0x8e, 0x90,0x92,0x94,0x96,0x98,0x9a,0x9c,0x9e, 0xa0,0xa2,0xa4,0xa6,0xa8,0xaa,0xab,0xad, 0xaf,0xb1,0xb2,0xb4,0xb6,0xb7,0xb9,0xba, 0xbc,0xbd,0xbf,0xc0,0xc1,0xc3,0xc4,0xc5, 0xc6,0xc8,0xc9,0xca,0xcb,0xcc,0xcd,0xce, 0xce,0xcf,0xd0,0xd1,0xd1,0xd2,0xd2,0xd3, 0xd3,0xd3,0xd2,0xd2,0xd1,0xd1,0xd0,0xcf, 0xce,0xce,0xcd,0xcc,0xcb,0xca,0xc9,0xc8, 0xc6,0xc5,0xc4,0xc3,0xc1,0xc0,0xbf,0xbd, 0xbc,0xba,0xb9,0xb7,0xb6,0xb4,0xb2,0xb1, 0xaf,0xad,0xab,0xaa,0xa8,0xa6,0xa4,0xa2, 0xa0,0x9e,0x9c,0x9a,0x98,0x96,0x94,0x92,

单片机制作电视信号发生器

单片机制作电视信号发生器 早期制作的电视信号发生器基本上是由分频器和门电路构成,所用元器件较多、电路复杂,自制起来相当麻烦,要想增加显示图像的种类或改变信号的时序就更困难了。高速单片机的出现给信号发生器的设计制作带来了极大的方便,不但能根据需要灵活地设计软件,而且芯片的外围电路也简单得多,体积可以做得非常小巧。本信号发生器使用AVR系列的AT90S2313-10芯片,价格低廉,大部分指令的执行时间仅为0.1μs,可以产生棋盘格、横条、竖条、方格四种图像和一路音频信号。 硬件电路如附图所示,输出信号使用了PB口的PB0、PB4、PB7三个端子,图像输出端置1时为白色电平,清0时为黑色电平。各端口的输出电平是相等的,为了满足同步电平低于消隐电平的要求,在视频输出与复合同步之间串接了一个开关二极管,使同步电平总是低于消隐电平0.6V,同时二极管又具有较小的动态电阻,比串联电阻具有更好的频率响应,经对比度电位器适当衰减后基本接近标准的电视信号。图像类型的转换是由复位键完成的,接通电源时每按动一次复位键转换一种图像,四种图像循环显示。 因为 图像是相对静止的几何图形,为了简化软件,程序没有采用奇偶隔行扫描,每帧图像由312行组成,源程序见本刊网站,程序中用Z寄存器作为行扫描计数器。从第1行至26 行为场消隐,其中第2、3行为场同步,剩余的286行分为13段,每段22行。场消隐结束时设定场图像初始值,然后场图像值逐段取反,直至扫描正程

结束,产生13条宽度相同黑白相间的横条图像,周而复始。本程序设计的垂直、水平图像的条数均为奇数,这样扫描正程开始和结束前的图像相同,设置为白色,调整幅度时便于与消隐电平区分。 主程序的顺序就是行扫描周期的时序,场图像是由若干行组成的。行场扫描的图像初始值以及场消隐、场同步的起止时间判断与执行都是在行同步和行消隐其间完成的。为了产生精确的行时序信号,满足电视制式的要求,程序结构以时间为编程标准,不可能完全按照结构化程序设计,理解起来稍难一些。除非完全熟悉程序结构,否则改动任何一条指令都可能会改变行扫描周期。本程序设定的行消隐宽度为12μs,行同步宽度为4.7μs,行周期为64μs。在行消隐结束时设置行图像初始值,每隔3μs行图像的值取反,产生17条宽度相同黑白相间的竖条图像。 棋盘格是行、场图像异或运算产生的。为了使图像转换简单,在异或运算中令场图像的值始终为0输出行图像(竖格)。同样当行图像的值始终为0时,则输出值为场图像(横格)。方格是由行、场图像执行或运算产生的。每按动一次复位键图像类型寄存器加1,再屏蔽其高6位,这样寄存器的值只能在0至3范围内变化,主程序则根据图像类型寄存器的值判断执行相应的子程序改变图像类型。图像长宽之比为17/13,基本与屏幕一致。 音频信号是行频16分频得到的,用寄存器作为音频计数器,音频计数器逐行加1,屏蔽高4位,当寄存器值为0或8时分别向音频输出端写0或1,所以音频频率为976Hz。 在本网站提供的源程序是在AVR Studio 3.56环境下编写、编译、调试,并附有源程序和编译后的hex 文件,供不同要求的读者参考。

基于单片机正弦波有效值的测量

基于单片机正弦波有效值的测量 一.简介 本作品以单片机STC12C5A60S2为主控芯片并以此为基础,通过二极管1N5819实现半波整流,使用单片机内部自带10位AD对整流后的输入信号进行采样,从而实现对峰值的检测;同时通过运放LM837对输入信号进行放大,之后通过施密特触发器,将原始信号整形成可被单片机识别的标准脉冲波形,之后配合内部计数器(定时器)达到测量其频率的目的;这样,整流和AD采样实现对输入信号峰值的检测;通过放大、整形实现对输入信号频率的检测。 二.基本功能与技术指标要求 (1)输入交流电压:1mV~50V,分五档: ①1mV~20mV,②20mV~200mV,③200mV~2V,④2V~20V,⑤20v~50V。 (2)正弦频率;1Hz~100kHz; (3)检测误差:≤2%; (4)具有检测启动按钮和停止按钮,按下启动按钮开始检测,按下停止按钮停止检测; (5)显示方式:数字显示当前检测的有效是,在停止检测状态下,显示最后一次检测到的有效值; (6)显示:LCD,显示分辨率:每档满量程的0.1%; 三.理论分析 本文要求输入交流信号,通过电路测量其峰值,频率,有效值以

及平均值,因为输入的交流信号为模拟信号,而一般处理数据使用的主控芯片单片机处理的是数字信号,所以我们选择使用数模转换器AD(Analog to Digital Converter)将输入的模拟信号转换为数字信号,并进行采样;由于要求输入交流信号电压峰峰值Vpp为 50mV~10V,所以如果我们采用AD为8位,则最小采样精度为 ,因此会产生78.4%的误差,并且题目要求输入交流信号的频率范围为40Hz~50kHz,所以为了保证对高频率信号的单周期内采样个数,我们需要选择尽量高速度的AD; 因此我们选用使用单片机STC12C5A60S2,其内部自带AD为8路10位最高速度可达到250KHz,所以我们可以将最小采样精度缩小到 ,并且在输入交流信号频率最大时(50KHz)在单个周期内可采集5个点,因此可保证测量精度。 由于该AD只能接受0~5V的模拟信号输入,所以当我们直接输入一个双极性信号时可能损坏AD,因此当信号进入AD之前我们要进行半波整流,为此我们设计了整流电路,在交流信号通过整流电路输入AD 后,由AD实时输出对应模拟信号大小的二进制数,并存入变量MAX 中,随着信号的不断输入MAX中只保存AD输出过的最大值,这样既 可测出输入信号的峰值;由交流信号有效值表达式 可知检波器应当首先把输入的瞬时电压平方, 然后在一定平均时间内取平均值再开方。即可得到交流信号的有效值,然后通过比较峰值

设计并实现频率可控的正弦波信号发生器 单片机课设

1Proteus软件简介 Proteus ISIS是英国Labcenter公司开发的电路分析与实物仿真软件。它运行于Windows 操作系统上,可以仿真、分析(SPICE)各种模拟器件和集成电路,该软件的特点是:①实现了单片机仿真和SPICE电路仿真相结合。具有模拟电路仿真、数字电路仿真、单片机及其外围电路组成的系统的仿真、RS232动态仿真、I2C调试器、SPI调试器、键盘和LCD系统仿真的功能;有各种虚拟仪器,如示波器、逻辑分析仪、信号发生器等。②支持主流单片机系统的仿真。目前支持的单片机类型有:68000系列、8051系列、A VR系列、PIC12系列、PIC16系列、PIC18系列、Z80系列、HC11系列以及各种外围芯片。③提供软件调试功能。在硬件仿真系统中具有全速、单步、设置断点等调试功能,同时可以观察各个变量、寄存器等的当前状态,因此在该软件仿真系统中,也必须具有这些功能;同时支持第三方的软件编译和调试环境,如Keil C51 uVision2等软件。④具有强大的原理图绘制功能。总之,该软件是一款集单片机和SPICE分析于一身的仿真软件,功能极其强大。 特点:支持ARM7,PIC ,A VR,HC11以及8051系列的微处理器CPU模型,更多模型正在开发中; 交互外设模型有LCD显示、RS232终端、通用键盘、开关、按钮、LED等; 强大的调试功能,如访问寄存器与内存,设置断点和单步运行模式; 支持如IAR、Keil和Hitech等开发工具的源码C和汇编的调试; 一键“make”特性:一个键完成编译与仿真操作; 内置超过6000标准SPICE模型,完全兼容制造商提供的SPICE模型; DLL界面为应用提供特定的模式; 14种虚拟仪器:示波器、逻辑分析仪、信号发生器、规程分析仪等; 高级仿真包含强大的基于图形的分析功能:模拟、数字和混合瞬时图形;频率;转换;噪声;失真;付立叶;交流、直流和音频曲线; 模拟信号发生器包括直流、正旋、脉冲、分段线性、音频、指数、单频FM;数字信号发生器包括尖脉冲、脉冲、时钟和码流; 集成PROTEUS PCB设计形成完整的电子设计系统。 Protues软件与Keil uVision的结合 对于初次使用Protues软件的人可能还不知道如何设置,现在把设置步骤简介如下,仅供参考(本文章只讨论在单机上结合,在两个联网机器使用由于篇幅限制不在此讨论):设置

51单片机-波形发生器

单片机课程设计报告 题目波形发生器 专业电子信息科学与技术 班级 2008级1班 学生姓名 ***** 学号 3080422*** 指导老师 ***** 2011年 7 月 8 日

目录 一、设计目的……………………………………………………错误!未定义书签。 二、设计的主要内容和要求……………………………………错误!未定义书签。 2.1基本内容和要求…………………………………………………………错误!未定义书签。 2.2创新部分…………………………………………………………………错误!未定义书签。 三、整体设计思路………………………………………………错误!未定义书签。 3.1设计思路…………………………………………………………………错误!未定义书签。 3.2元件选型…………………………………………………………………错误!未定义书签。 3.3功能原理图………………………………………………………………错误!未定义书签。 四、方案论证…………………………………………………… - 3 - 五、硬件电路设计……………………………………………… - 4 - 5.1硬件连线图………………………………………………………………错误!未定义书签。 5.2主要芯片介绍……………………………………………………………错误!未定义书签。 六、软件设计………………………………………………………错误!未定义书签。 6.1正弦波的产生过程………………………………………………………错误!未定义书签。 6.2方波产生过程……………………………………………………………错误!未

定义书签。 6.3锯齿波的产生过程……………………………………………………错误!未定义书签。 6.4三角波的产生过程……………………………………………………错误!未定义书签。 6.5通过开关实现波形切换和调频…………………………………………错误!未定义书签。 6.7附程序代码………………………………………………………………错误!未定义书签。 七、调试与仿真……………………………………………………错误!未定义书签。 八、总结……………………………………………………………错误!未定义书签。 九、参考文献……………………………………………………错误!未定义书签。 波形发生器 一、设计目的 (1)利用所学单片机机的理论知识进行软硬件整体设计,锻炼学生理论联系实际、提高我们的综合应用能力。 (2)我们这次的课程设计是以单片机为基础,设计并开发能输出多种波形(正弦波、三角波、锯齿波、方波、梯形波等)且频率、幅度可变的波形发生器。 (3)掌握各个接口芯片(如0832等)的功能特性及接口方法,并能运用其实现一个简单的单片机应用系统功能器件。 (4)在平时的学习中,我们所学的知识大都是课本上的,在机房的练习大家也都是分散的对各个章节的内容进行练习。因此,缺乏一种系统的设计锻炼。在课程所学结束以后,这样的课程设计十分有助于学生的知识系统的总结到一起。 (5)通过这几个波形进行组合形成了一个波形发生器,使得我对系统的整个框架的设计有了一个很好的锻炼。这不仅有助于大家找到自己感兴趣的题目,更可以

相关文档
最新文档