单片机定时1器控制产生10Hz正弦波信号
89C51单片机设计多功能低频函数信号发生器,能产生方波、正弦波、三角波等信号波形
波形发生器是一种常用的信号源,广泛地应用于电子电路、自动控制系统和教学实验等领域。
本次课程设计使用的AT89S51 单片机构成的发生器可产生锯齿波、三角波、正弦波等多种波形,波形的周期可以用程序改变,并可根据需要选择单极性输出或双极性输出,具有线路简单、结构紧凑等优点。
在本设计的基础上,加上按钮控制和LED显示器,则可通过按钮设定所需要的波形频率,并在LED上显示频率、幅值电压,波形可用示波器显示。
二、系统设计波形发生器原理方框图如下所示。
波形的产生是通过AT89S51 执行某一波形发生程序,向D/A转换器的输入端按一定的规律发生数据,从而在D/A转换电路的输出端得到相应的电压波形。
在AT89S51的P2口接5个按扭,通过软件编程来选择各种波形、幅值电压和频率,另有3个P2口管脚接TEC6122芯片,以驱动数码管显示电压幅值和频率,每种波形对应一个按钮。
此方案的有点是电路原理比较简单,实现起来比较容易。
缺点是,采样频率由单片机内部产生故使整个系统的频率降低。
1、波形发生器技术指标1)波形:方波、正弦波、锯齿波;2)幅值电压:1V、2V、3V、4V、5V;3)频率:10HZ、20HZ、50HZ、100HZ、200HZ、500HZ、1KHZ;2、操作设计1)上电后,系统初始化,数码显示6个…-‟,等待输入设置命令。
2)按钮分别控制“幅值”、“频率”、“方波”、“正弦波”、“锯齿波”。
3)“幅值“键初始值是1V,随后再次按下依次增长1V,到达5V后在按就回到1V。
4)“频率“键初始值是10HZ,随后在按下依次为20HZ、50HZ、100HZ、200HZ、500HZ、1000HZ循环。
三、硬件设计本系统由单片机、显示接口电路,波形转换(D/A)电路和电源等四部分构成。
电路图2附在后1、单片机电路功能:形成扫描码,键值识别、键处理、参数设置;形成显示段码;产生定时中断;形成波形的数字编码,并输出到D/A接口电路和显示驱动电路。
单片机课程设计 正弦信号发生器 (嵌入式系统基础)
嵌入式系统基础课程设计题目:正弦信号发生器班级:通信0701姓名学号:同组人:一、设计题目正弦信号发生器二、设计要求1.功能要求(1)设计一个正弦信号发生器,可实现双极性输出,频率可变的正弦信号。
(2)可通过面板键盘控制输出频率。
(3)用LED数码管实时显示波形的相关参数。
2.参数要求(1)产生的正弦信号频率在范围在1Hz—1KHz之间。
(2)用键盘控制频率变化,最小步进为1KHz三、方案论证经查阅相关资料,实现正弦信号发生器的方法有很多,列举以下几种并分析:1.使用专用函数发生电路,如ICL8038 或MAX038,通过D/A转换调整函数发生器控制电压实现频率的控制,这种方案可以使频率连续可调,省却了波形转换电路,但控制电压与频率的变化不是严格的线性关系,如果不加频率负反馈则频率无法稳定准确,加上频率负反馈将使电路大大复杂,稳定度也会下降,而且如果要实现比较大的带宽,就需要不断更换振荡电容,电路复杂程度进一步增加。
调试困难,没有采用这种方案。
2.采用微处理器和数模转换器直接合成的数字式函数信号发生器。
这种信号发生器具有价格低,在低频范围内可靠性好,体积小,功耗低,使用方便等特点,它输出的频率是由微处理器向数模转换输出数据的频率和信号在一个周期内的采样点数(N)来决定的,因此受单片机的时钟频率的限制很大,如果单片机的晶振取12MHz,则单片机的工作频率为1MHz,若在一个周期内输出360个数据,则输出信号的频率理论上最高3.只能达到2777Hz。
实际上单片机完成一次数据访问并输出到D/A电路,至少要5个机器周期,因此实际输出信号的频率只有500Hz左右。
即使增大晶振频率,减小一个周期内输出数据个数,在稍高的频率下输出的波形频率误差也是很大的,而且计算烦琐,软件编程麻烦,控制不方便。
4.利用DSP处理器,根据幅值,频率参数,计算产生高精度的信号所需数据表,经数模转换后输出,形成需要的信号波形。
这种信号发生器可实现程控调幅,调频。
一种10MHz数字频率计设计电路与工作原理
电子技术与软件工程Electronic Technology & Software Engineering电子技术Electronic Technology一种10M Hz数字频率计设计电路与工作原理欧小东(郴州综合职业中专学校湖南省郴州市423000 )摘要:本文针对本、专科院校的数字电路实训项目,设计并制作了一种完全符合设计要求的10M H z数字频率计,可以实现频率范围 为1Hz ~ 9. 99999M H z的正弦波、锯齿波、方波等波形频率的测量,具备数码显示、量程选择等功能,该设计电路具有性能完善、可靠性高、实用性强的特点,非常适合本、专科院校的理论与实训制作教学。
关键词:数字频率计;振荡与分频器;锁存控制;计数器频率是电工、电子课程中最重要的基本参量之一,数字频率计是电子测量与仪表中最基础的一种测量并显示单位时间内的脉冲个 数的数字仪表,由于其使用十进制数显示,测量迅速,显示直观,所以是计算机、通讯设备、音频视频等科研生产领域不可或缺的测 量仪器。
频率计的设计方案很多,或基于数字电路,或基于单片机 系统。
本文公开的是一种基于数字电路来设计的数字频率计。
1数字频率计的脉冲计数原理数字频率计脉冲个数计数原理方框图m如图1所示。
工作原理:测量前先将计数器复位(清零),然后将待测脉冲 和12+=15的阐门脉冲一起加到电控与门(阐门)。
在12〜1,期间,阐门开通并输出被测信号脉冲,此脉冲送至计数器计数,计数值就 是12〜^期间被测脉冲个数N。
根据频率和周期的定义可知,待测 脉冲频率和周期分别为:r2~l\ *f N阐门脉冲产生电路作为信号源,提供基准。
实际上,阐门脉冲 发生器是一个能对晶体谐振器产生的高频信号实施整形,并经多次 分频形成基准秒脉冲的电路。
该信号与待测脉冲一同进入阐门,只有在脉冲存在期间的那一部分,才能通过阐门,这就锁定了 I s的待测脉冲数。
最后经过计数、译码、显示电路的作用显示出频率数。
基于单片机的数字频率计的课程设计 1HZ-10MHZ概要
物理与电子信息系课程设计报告课程名称:单片机课程设计题目:基于单片机数字频率计的设计学生姓名:谢叮咚学号:******** 系部:物理与电子信息系2011级指导教师:**职称:讲师湖南人文科技学院物理与电子信息系制目录1.引言.................................................... ................ ................ . (1)1.1 数字频率计的发展与意义................ .............. (1)1.2 数字频率计的分类........................... ...................... .. (2)1.3 频率计国内外的发展趋势..................... (2)2.系统总体设计............................................................ ................ .. (2)2.1系统设计要求..................................... ................ ................ . (2)2.2测频方法....................................... ................ ................ . (3)2.3系统设计思路........................................................ ................... .. (3)2.4系统设计框图................................................. ......................... (3)3. 系统设计.................................................... ............. ................ . (4)3.1单片机模块............................................... ... .. (4)3.2放大整形模块...................................... . (8)3.3分频模块....... .... ................................................... . (9)3.4显示电路.................... ....................... . (10)4. 系统软件设计............................................... (12)4.1开始............................................... ................ ...... (12)4.2初始化模块 (12)4.3 频率测量模块和量程自动切换模块................. ........... (13)4.4显示模块............... ........... .......................... ........... .......................... .. (14)4.5延时模块.......... ........... .......................... ........... .......................................... .144.6频率计仿真......... ........... ................................. ........... . (15)5. 总结与体会............................................... .................................... ........ (19)6. 参考文献................................................ ............ ....... (20)7.附录A程序源代码................. ............ ....... . (20)8.附录B仿真效果图................. ............ ....... . (26)9.附录C DXP模块原理图与PCB板................................... ............ ....... . (27)10.附录D 实物调试图............................. ............ ....... .................... (28)一、引言1.1 数字频率计的发展和意义随着电子技术的飞速发展,各类分立电子元件及其所构成的相关功能单元,已逐步被功能更强大、性能更稳定、使用更方便的集成芯片所取代。
单片机频率可控的正弦波
课程设计任务书学生姓名:李旭专业班级:电信0806班指导教师:胡君萍工作单位:信息工程学院题目: 单片机原理与应用课程设计——设计并实现频率可控的正弦波信号发生器初始条件:(1)Proteus、伟福、KEIL仿真软件,XL1000综合仿真试验仪一台;(2)先修课程:微机原理与接口技术、单片机原理。
要求完成的主要任务:(包括课程设计工作量及其技术要求,以及说明书撰写等具体要求)利用DAC0832输出正弦波信号(用示波器观察输出波形),初始频率为50Hz,变频采用“+”、“-”键控制,实时测量输出信号的频率值,并分析和实测输出信号的频率范围。
具体完成以下任务:1.完成系统的方案设计,给出系统框图。
2.完成系统的硬件设计,给出硬件电路图和系统资源分配表。
3.完成系统的软件设计,给出程序流程图和程序清单。
4.运用Proteus(或伟福、KEIL)仿真软件对所设计的系统进行调试和仿真,直到预定的功能全部仿真通过,给出仿真结果;5.将程序下载到XL1000综合仿真试验仪,验证系统功能;或者自己制作出系统。
6.对所设计的系统进行性能分析(精度、实用性、成本等)。
7.完成课程设计报告。
时间安排:总体设计和硬件设计二天软件设计一天调试一天写报告,答辩一天参考书目:[1] 李群芳、张士军,单片微型计算机与接口技术, 电子工业出版社,2008[2] 张毅刚、彭喜元、董继成,单片机原理及应用,高等教育出版社,2004[3] 赵晓安,MCS-51单片机原理及应用,天津大学出版社,2001指导教师签名:年月日系主任(或责任教师)签名:年月日武汉理工大学《单片机原理与应用》课程设计说明书摘要正弦交流信号是一种应用极为广泛的信号。
在许多测试仪中需要用标准的正弦信号检测一些物理量。
正弦信号用作标准信号时,要求正弦信号必须有较高的精度、稳定度及较低的失真率。
传统的正弦信号发生器的频率变动由机械驱动可变元件完成,当这种信号发生器用于低频信号输出往往需要的RC值很大,这样不但参数准确度难以保证,而且体积和功耗都很大。
(完整版)基于51单片机正弦波发生器课程设计
1设计方案
本次课设的任务是基于AT89C51单片机的数字式简易低频信号发生器的设计,要求实现用程序产生正弦波,并可以通过键控在10—100Hz之间切换。而且需在Proteus电子设计平台上对设计方案进行仿真。采用了AT89C51单片机作为控制核心,外围采用数字模拟转换电路(DAC0832)来实现模数转换,从而输出正确的波形,设计中还连接了按键电路来实现键控改变频率。89C51是整个波形发生器的核心部分,通过程序的编写和执行,并从键盘接收数据产生100HZ-10HZ正弦波信号。当数字信号电路到达转换电路,将其转换成模拟信号也就是所需要的输出波形。波形ROM表是将信号一个周期等间距地分离成256个点,储存在单片机得RON内。具体ROM表是通过MATLAB生成的,例如正弦表,MATLAB生成的程序如下:x=0:2*pi/64:2*pi;y=round(sin(x)*127)+128
,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,
,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,
2个、1个
0.1元
0.3元
晶振
12M
1个
0.2元
基于单片机的数字计频器(1HZ—10MHZ)程序
place=0x04;value=Num[d[1]];Delay(50);
place=0x08;value=Num[d[0]];Delay(50);
ledG=0; //显示MHZ档,绿色发光二极管点亮
unsigned long regCnta; //脉冲次数暂存
unsigned int fCntb; //脉冲下降沿次数,T0
unsigned long regCntb; //脉冲次数暂存
unsigned long pCnt; //频率显示
void Delay(unsigned int DelayTime)
regCntb=(long)fCntb*256+TL0; //count*256强制转换成long型,否则将不产生进位,T0
TL1=0; //清零计数器1计数
TH1=0;
TL0=0; //清零计数器0计数
TH0=0;
fCnta=0; //T1频率计数清零
place=0x02;value=Num[d[2]];Delay(200);
place=0x04;value=Num[d[1]];Delay(200);
place=0x08;value=Num[d[0]];Delay(200);
ledG=1; //显示HZ档,红色发光二极管点亮
{
pCnt={
gears=2; //KHZ档
// addrA=1; //硬件十分频
}
}
else if(gears==2) //量程是KHZ档
{
regCntb=regCntb*10/100;
毕业设计--基于单片机的正弦波信号发生器设计[管理资料]
目录绪论 (1)第1章系统概述和方案 (2)引言 (2) (2)DDS的理论分析与参数计算 (2)DDS的基本原理 (2)参数计算 (3)信号发生芯片选择 (4)第2章系统硬件设计 (5) (5)(DDS)连接电路 (5)单片机AT89S51介绍 (5)AD9835芯片介绍 (7) (8) (10)D∕A转换及幅度控制电路 (11)信号放大电路 (13)显示电路 (14)键盘电路 (16)电源电路 (17)第3章系统软件流程图 (19)主程序流程图 (19)键盘处理子程序流程图 (20)D/A转换子程序流程图 (21)展望 (22)致谢 (23)参考文献 (24)附录一 (25)附录二 (26)绪论基于单片机的正弦波信号发生器设计,该课题的设计目的是充分运用大学期间所学的专业知识,考察信号发生器的基本功能,完成一个基本的实际系统的设计全过程。
通过单片机控制一个有特殊功能的信号发生芯片,可以产生一系列有规律的幅度和频率可调的波形。
这样一个信号发生装置在控制领域有相当广泛的应用范围。
直接数字频率合成(DDS)是近年来发展起来的一种新的频率合成技术。
其主要优点是相对带宽很宽、频率转换时间极短(可小于20ns)、频率分辨率很高、全数字化结构便于集成、输出相位连续、频率、相位和幅度均可实现程控。
因此,能够与计算机紧密结合在一起,充分发挥软件的作用。
作为应用,现在已有DDS 产品用于接收机本振、信号发生器、通信系统、雷达系统、跳频通信系统等。
本文介绍一种由直接数字频率合成(DDS)芯片AD9835设计的正弦信号发生器,该芯片支持高达50MHz的时钟频率,可以产生最高可达25MHz的正弦波形。
通过单片机控制完全可以满足设计所要求的正弦波信号的生成。
本文主要分六大部分:绪论、系统概述和方案、硬件部分、软件部分,展望和致谢。
绪论,首先对课题研究背景和所涉及的相关技术领域进行了介绍;第一章对系统所要完成的功能和可扩展的功能进行描述,确定系统的设计方案主要元器件的选择。
单片机控制DDS模块实现正弦波
特征180 MHz时钟速率参考时钟具有6倍倍乘器。
芯片具有高性能10位DAC和高速滞后比较器无杂散动态范围SFDR为43分贝@ 70 MHz的模拟输出。
32位频率控制字简化控制接口:并行或串行异步加载格式5位相位调制和补偿能力比较器纹波抖动<80 ps p-p @ 20 MHz+2.7 V至+5.25 V单电源工作低功耗: 555毫瓦@ 180兆赫省电功能, 4毫瓦@ 2.7 V超小28引线SSOP封装频带宽正常输出工作频率范围为 0~72MHz ;应用频率/相敏正弦波合成为进行数字通信设定时钟恢复和锁定电路通信数字控制的ADC编码发生器敏捷L.O应用在正交振荡器连续波,调幅,调频, FSK信号,发射机的MSK模式。
概述该AD9851是一种高度集成的设备,采用先进的DDS技术,再加上内部高速度、高性能D / A转换器,和比较器,使一个数字可编程频率合成器和时钟发生器功能化。
当参照准确的时钟源, AD9851可以产生一个稳定的频率和相位且可数字化编程的模拟正弦波输出。
此正弦波可直接用作时钟源,在其内部转化为方波成为灵活的时钟发生器。
AD9851采用的最新的高速DDS内核可接受32位的频率控制字,180 MHz系统时钟,分辨率为0.04赫兹。
该AD9851包含一个特有的6 ×REFCLK倍乘器电路,因此无需高速外部晶振。
6 × REFCLK倍乘器使其有最小的无杂散动态范围SFDR和相位噪声特性。
AD9851提供了5位可编程相位调制,使移相输出的增量为11.25°。
功能方框图该AD9851包含一个内部的高速比较器。
可以输出一个低抖动输出脉冲。
可进行频率调整,控制能将相位调谐字异步加载到AD9851并通过并行或串行方式载入。
并行负载格式由五个迭代的8位控制字(字节)。
第一个8位字节控制输出相位, 6 × REFCLK倍乘器,电源关闭启用和装载模式;其余字节组成32位频率控制字。
数电课设-10Hz-50Hz正弦信号周期测量电路设计
课程设计(说明书)10Hz-50Hz正弦信号周期测量电路设计班级计算机学号学生姓名指导教师课程设计任务书课程名称数字逻辑课程设计课程设计题目10Hz-50Hz正弦信号周期测量电路设计课程设计的内容及要求:一、设计说明与技术指标设计10Hz-50Hz正弦信号周期测量电路,该电路由脉冲整形电路、时钟产生电路、计数器、分频器和显示电路组成,其原理框图如图1所示。
图1周期测量电路的原理框图二、设计要求1.计数器的最大值为500。
2.时钟电路的周期为1mS。
3.用LED数码管显示。
4.根据技术指标,通过分析计算确定电路和元器件参数。
5.画出电路原理图(元器件标准化,电路图规范化)。
三、实验要求1.根据技术指标制定实验方案;验证所设计的电路,用multisim软件仿真。
2.进行实验数据处理和分析。
四、推荐参考资料1. 童诗白,华成英主编.模拟电子技术基础.[M]北京:高等教育出版社,2013年五、按照要求撰写课程设计报告成绩评定表:指导教师签字:2015 年7 月19 日一、概述本课程设计要求设计一个10Hz-50Hz正弦信号周期测量电路,要求计数器的最大值为500,基础时钟的周期为1mS,用LED数码管显示结果。
其原理为用三五定时器产生时钟信号,同时用脉冲整形电路使待测信号的整个周期输出为高电平,并把时钟信号与整形后的待测信号叠加,记录在整形后的待测信号的高电平内时钟信号的个数,用此个数与时钟信号的周期相乘,既得出待测信号的周期大小。
二、方案论证脉冲整形电路分频器计数器显示电路时钟产生电路图1周期测量电路的原理框图整个电路的模块图如上图所示,分为五个部分。
为脉冲整形电路,分频器,显示电路,计数器和时钟产生电路。
脉冲整形电路是把待测信号的一个周期转变成高电平输出。
分频器的作用是增大信号周期,减小信号频率,使得频率较高的待测信号频率减小,提高测量的准确度。
时钟产生电路的原理是由555定时器构成,产生周期为1mS的时钟信号。
单片机产生正弦波然后放大_概述说明以及解释
单片机产生正弦波然后放大概述说明以及解释1. 引言1.1 概述本文旨在探讨单片机产生正弦波并进行放大的方法与实现,以及相关的原理、设计方案和实验结果。
正弦波是一种重要的信号形式,在各种电子设备和通信系统中广泛应用。
利用单片机生成正弦波,并经过放大器放大后,可以得到更稳定、可控的正弦波信号,有助于满足不同场景下的需求。
1.2 文章结构本文主要分为五个部分:引言、单片机产生正弦波、正弦波放大器设计、实验结果与分析以及结论与展望。
引言部分将对文章进行概述说明,并介绍文章的结构安排;随后,将在接下来三个部分依次详细介绍单片机产生正弦波的原理与实现方法,正弦波放大器的设计与构建以及性能优化与测试方法;接着,在第四部分中将提供实验结果,并对产生效果和输出性能进行评估和分析;最后,在结论与展望部分总结整篇文章,并提出未来发展方向建议。
1.3 目的本文的目标是通过对单片机产生正弦波并进行放大的研究,探索一种有效可行的方法和设计方案。
通过实验结果和分析,对该方法进行评估,并提出可能存在的问题以及未来改进的方向,以期为相关领域的研究与开发提供参考和借鉴。
同时,也希望通过本文的介绍和说明,增进读者对单片机产生正弦波并进行放大的技术理解和应用意义。
2. 单片机产生正弦波2.1 原理介绍单片机是一种微型计算机系统,具有集成度高、功耗低、体积小等特点。
它能够通过内部的时钟电路和计数器来生成不同频率的方波信号,并通过数字滤波器将方波信号转换为近似连续的正弦波信号。
这种方法称为数字合成技术,可用于实现正弦波发生器。
2.2 实现方法在单片机中,可以使用PWM(脉冲宽度调制)技术来产生正弦波。
PWM技术是通过控制脉冲信号的占空比来调节输出电压的高低电平,从而实现对正弦波频率和幅值的控制。
具体而言,可以选择一个定时器作为基准时钟源,并设置相关寄存器来控制定时器工作模式和产生脉冲信号的频率、占空比等参数。
然后,在定时器溢出中断函数中更新输出引脚状态,使其按照预设的占空比在高、低电平之间切换。
STM32F030控制AD9851产生10Mhz正弦波(EWARM6.7开发环境)
AD9851是一个DDS芯片,主时钟周期达到180MHz,由外部时钟6倍频得到。
输出频率范围可以从1Hz到70MHz,频率控制精度很高。
参数如下:输出频率的计算公式如下:在这里采用datasheet里用的数据使输出频率为10MHz,更改频率控制字W1W2W3W4可以得到其他频率。
复位时序:频率控制字写入时序:AD9851有两种电路连接方法,并行和串行。
在这里采用串行的方式。
将如下main.c程序复制进去,并编译运行//程序描述:利用STM32F030控制DDS芯片AD9851产生10MHz正弦波信号/**********************************************************硬件电路端口连接cpu ad9851PC0----------WCLKPC1----------FQUDPC2----------RESTPA0~PA7--------D0~D7VCC----------------5VGND-----------GND----------------GND************************************************************//* Includes ------------------------------------------------------------------*/#include "stm32f0xx.h"/* Private typedef -----------------------------------------------------------*//* Private define ------------------------------------------------------------*/#define uchar unsigned char#define uint unsigned inttypedef char int8; // -128~127typedef unsigned char uint8; // 0~255typedef int int16; // -32768~32767typedef unsigned int uint16; // 0~65535typedef long int32; // -2147483648~2147483647typedef unsigned long uint32; // 0~4294967295/* Private function prototypes -----------------------------------------------*//* Private functions ---------------------------------------------------------*/static __IO uint32_t TimingDelay;void RCC_Configuration(void);void GPIO_Configuration(void);void TimingDelay_Decrement(void);void Delay(__IO uint32_t nTime);void reset_ad9851(void);void set_ad9851(uint32 ad9851_frq);/* main program*param:*description:*/int main(void){RCC_Configuration( );GPIO_Configuration( );reset_ad9851( );set_ad9851(0x0e38e38e); //fout=10MHz}//Initial the system clockvoid RCC_Configuration(void){RCC_ClocksTypeDef RCC_Clocks;RCC_GetClocksFreq(&RCC_Clocks);SysTick_Config(RCC_Clocks.HCLK_Frequency / 1000);/* GPIOC Periph clock enable */RCC_AHBPeriphClockCmd(RCC_AHBPeriph_GPIOC, ENABLE);RCC_AHBPeriphClockCmd(RCC_AHBPeriph_GPIOA, ENABLE);}/* Configure PC8 and PC9 in output pushpull mode */void GPIO_Configuration(void){GPIO_InitTypeDef GPIO_InitStructure;GPIO_InitStructure.GPIO_Pin = GPIO_Pin_0 | GPIO_Pin_1 | GPIO_Pin_2 | GPIO_Pin_3 | GPIO_Pin_4 | GPIO_Pin_5 | GPIO_Pin_6 | GPIO_Pin_7 ; GPIO_InitStructure.GPIO_Mode = GPIO_Mode_OUT;GPIO_InitStructure.GPIO_OType = GPIO_OType_PP;GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;GPIO_InitStructure.GPIO_PuPd = GPIO_PuPd_NOPULL;GPIO_Init(GPIOA, &GPIO_InitStructure);GPIO_InitStructure.GPIO_Pin = GPIO_Pin_0 | GPIO_Pin_1 | GPIO_Pin_2 ;GPIO_InitStructure.GPIO_Mode = GPIO_Mode_OUT;GPIO_InitStructure.GPIO_OType = GPIO_OType_PP;GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;GPIO_InitStructure.GPIO_PuPd = GPIO_PuPd_NOPULL;GPIO_Init(GPIOC, &GPIO_InitStructure);}//sub fuctionvoid Delay(__IO uint32_t nTime){TimingDelay = nTime;while(TimingDelay != 0);}void TimingDelay_Decrement(void){if (TimingDelay != 0x00){TimingDelay--;}}//step1:reset the ad9851void reset_ad9851(void){int reset_i;GPIO_SetBits(GPIOC , GPIO_Pin_2);for(reset_i=20; reset_i>0; reset_i--);GPIO_ResetBits(GPIOC , GPIO_Pin_2);for(reset_i=200; reset_i>0; reset_i--);}//step2:write the frequency and phase parameter to the ad9851void set_ad9851(uint32 ad9851_freg){uint8 w[5];uint8 i=0;int set_i;w[0]=9;w[1]=(ad9851_freg&0xff000000)>>24;w[2]=(ad9851_freg&0x00ff0000)>>16;w[3]=(ad9851_freg&0x0000ff00)>>8;w[4]=(ad9851_freg&0x000000ff);GPIO_ResetBits(GPIOC , GPIO_Pin_1);for(i=0;i<5;i++){GPIO_ResetBits(GPIOC , GPIO_Pin_0);for(set_i=20; set_i>0; set_i--);GPIO_Write(GPIOA,w[i]);for(set_i=20; set_i>0; set_i--);GPIO_SetBits(GPIOC , GPIO_Pin_0);for(set_i=20; set_i>0; set_i--);}//don't forger to reset the fqud port after write fqud parameterGPIO_ResetBits(GPIOC , GPIO_Pin_1);for(set_i=20; set_i>0; set_i--);GPIO_SetBits(GPIOC , GPIO_Pin_1);for(set_i=20; set_i>0; set_i--);GPIO_ResetBits(GPIOC , GPIO_Pin_1);}#ifdef USE_FULL_ASSERT/*** @brief Reports the name of the source file and the source line number* where the assert_param error has occurred.* @param file: pointer to the source file name* @param line: assert_param error line source number* @retval None*/void assert_failed(uint8_t* file, uint32_t line){/* User can add his own implementation to report the file name and line number, ex: printf("Wrong parameters value: file %s on line %d\r\n", file, line) *//* Infinite loop */while (1){}}#endif附上实物拍照及正弦波波形图:怎么样,是不是很漂亮。
(完整版)基于51单片机正弦波发生器课程设计
《单片机课程设计》设计报告设计课题:正弦波信号发生器专业班级:电子信息工程121班学生姓名:万环指导教师:蔡岗设计时间:2015.07.10赣南师范学院科技学院数学与信息科学系正弦波信号发生器一、设计任务与要求系统上电产生f=100Hz,Vppv=5V的正弦波。
频率可通过按键在f=100Hz到f=10Hz之前切换。
二、方案设计与论证1设计方案本次课设的任务是基于AT89C51单片机的数字式简易低频信号发生器的设计,要求实现用程序产生正弦波,并可以通过键控在10—100Hz之间切换。
而且需在Proteus电子设计平台上对设计方案进行仿真。
采用了AT89C51单片机作为控制核心,外围采用数字模拟转换电路(DAC0832来实现模数转换,从而输出正确的波形,设计中还连接了按键电路来实现键控改变频率。
89C51是整个波形发生器的核心部分,通过程序的编写和执行,并从键盘接收数据产生100HZ-10HZ 正弦波信号。
当数字信号电路到达转换电路,将其转换成模拟信号也就是所需要的输出波形。
波形ROM表是将信号一个周期等间距地分离成256个点,储存在单片机得ROh内。
具体ROM表是通过MATLA生成的,例如正弦表,MATLAB^成的程序如下:x=0:2*pi/64:2*pi; y=rou nd(si n(x)*127)+128 2原理框图图1系统原理框图三、电路设计1电路设计图2系统电路图2.主要性能参数计算第一级运算放大器的作用是将 DAC0832俞出的电流信号转化为电压信号 V1, 第二级运算放大器的作用是将 V1通过反向放大电路-(R2/R1)倍。
第二个运算放大器的输出端连了一个低通滤波器。
如果不加低通滤波器,也 能够生成波形,但是产生的信号中毛刺很多,加一个低通滤波器不仅起到的滤波 的作用,还起到了平滑的作用。
低通滤波器的截止频率 F=1/(2*pi*R3*C6),这里选择R3为1K 欧姆电阻,C6为104电容。
单片机产生正弦波
单片机产生正弦波一要求采用单片机map430g2553和运算放大器lmv358产生正弦波,周期1秒。
二思路可通过单片机产生PWM,调节参数寄存器的值,产生不同占空比的PWM信号。
若占空比的变化规律是正弦的,则滤波后可得到所需正弦波形。
其中,PWM(PulseWidthModulation)控制——脉冲宽度调制技术是通过对一系列脉冲的宽度进行调制,来得到图1a)三实践1个●定时器时钟:定时器时钟来源有4个,两个内部的(辅助时钟ACLK、子系统主时钟SMCLK),两个外部的。
这里采用内部时钟。
没有外部晶体时,ACLK由内部时钟源VLOCLK(低频时钟源,12K赫兹)产生,SMCLK由内部数字时钟DCOCLK(默认1M赫兹)产生。
这里建议采用较高频率的。
部分代码如下:BCSCTL1|=DIVA_0; //ACLK=VLOBCSCTL2|=SELM_0+DIVM_0+DIVS_0;//MCLK=DCO,SMCLK=DCO//ConfigureTimerATACTL=TASSEL1+MC_1;//Source:SMCLK,UPmode其中,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。
数电课设-10Hz-50Hz正弦信号周期测量电路设计
课程设计(说明书)10Hz-50Hz正弦信号周期测量电路设计班级计算机学号学生姓名指导教师课程设计任务书课程名称数字逻辑课程设计课程设计题目10Hz-50Hz正弦信号周期测量电路设计课程设计的内容及要求:一、设计说明与技术指标设计10Hz-50Hz正弦信号周期测量电路,该电路由脉冲整形电路、时钟产生电路、计数器、分频器和显示电路组成,其原理框图如图1所示。
图1周期测量电路的原理框图二、设计要求1.计数器的最大值为500。
2.时钟电路的周期为1mS。
3.用LED数码管显示。
4.根据技术指标,通过分析计算确定电路和元器件参数。
5.画出电路原理图(元器件标准化,电路图规范化)。
三、实验要求1.根据技术指标制定实验方案;验证所设计的电路,用multisim软件仿真。
2.进行实验数据处理和分析。
四、推荐参考资料1. 童诗白,华成英主编.模拟电子技术基础.[M]北京:高等教育出版社,2013年五、按照要求撰写课程设计报告成绩评定表:指导教师签字:2015 年7 月19 日一、概述本课程设计要求设计一个10Hz-50Hz正弦信号周期测量电路,要求计数器的最大值为500,基础时钟的周期为1mS,用LED数码管显示结果。
其原理为用三五定时器产生时钟信号,同时用脉冲整形电路使待测信号的整个周期输出为高电平,并把时钟信号与整形后的待测信号叠加,记录在整形后的待测信号的高电平内时钟信号的个数,用此个数与时钟信号的周期相乘,既得出待测信号的周期大小。
二、方案论证脉冲整形电路分频器计数器显示电路时钟产生电路图1周期测量电路的原理框图整个电路的模块图如上图所示,分为五个部分。
为脉冲整形电路,分频器,显示电路,计数器和时钟产生电路。
脉冲整形电路是把待测信号的一个周期转变成高电平输出。
分频器的作用是增大信号周期,减小信号频率,使得频率较高的待测信号频率减小,提高测量的准确度。
时钟产生电路的原理是由555定时器构成,产生周期为1mS的时钟信号。
10-10KHz正弦信号发生器 黄东
10—10KHz 3波段正弦信号发生器设计报告2012级电子信息工程1班黄东12300322设计指标:波段一:10—100Hz 波段二:100—1000Hz 波段三:1000—10KHz设计原理:利用正反馈放大电路RC 串并联信号选频网络,实现正弦振荡(即文氏电桥),使用电压跟随器增强带负载能力。
参数计算:选频元件:RCf π21=取C 为1.6nF ,16nF ,160nF ,三个档次经计算R 为10K Ω—100KΩ。
因此决定使用10KΩ固定电阻与90KΩ可调电阻串联使用。
稳幅元件:为稳定输出电压幅度,需要对放大电路引入负反馈,为起振需要Av 应大于3,为稳幅需要Av 应等于3,因此决定本电路反馈电路由电阻和二极管共同承担,二极管起到温度补偿作用,使电路起振之后放大倍数回调至3。
放大元件:使用LM324集成运放做放大器使用。
驱动元件:为实现幅度调节使用电位器调节取样电压,LM324做电压跟随器增强带负载能力。
使用电位器和固定电阻串联防止出现意外导致LM324损坏。
电路原理图:321411U1:ALM324-12V+12VR110kR410kC5160nFC3160nFC416nFC21.6nFSW1SW-ROT-3C616nFC71.6nFSW2SW-ROT-339%RV430kAB C DR210kD11N4001D21N40010%RV190k0%RV290k567411U1:BLM3240%RV390kR310k功能说明:调节开关SW1,SW2可以选择频段,调节RV1,RV2可以调节频率,适当调节RV4可以调节幅度,过大则引起失真,过小则会停止振荡。
波形观测:10HZ100HZ1000HZ10KHZ波形正常,实现预定指标。