单片机产生正弦波

单片机产生正弦波
单片机产生正弦波

波形发生器是一种常用的信号源,广泛地应用于电子电路、自动控制系统和教学实验等领域。本次课程设计使用的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接口电路和显示驱动电路。

AT89S51外接12M晶振作为时钟频率。并采用电源复位设计。复位电路采用上电复位,它的工作原理是,通电时,电容两端相当于短路,于是RST引脚上为高电平,然后电源通过对电容充电。RST端电压慢慢下降,降到一定程序,即为低电平,单片机开始工作。

AT89S51的P2口作为功能按钮和TEC6122的接口。P1口做为D/A转换芯片0832的接口。用定时/计数器作为中断源。不同的频率值对应不同的定时初值,允许定时器溢出中断。定时器中断的特殊功能寄存器设置如下:

定时控制寄存器TCON=20H;

工作方式选择寄存器TMOD=01H;

中断允许控制寄存器IE=82H。

2、显示电路

功能:驱动6位数码管显示,扫描按钮。

由集成驱动芯片TEC6122、6位共阴极数码管和5个按钮组成。当某一按钮按下时,扫描程序扫描到之后,通过P2口将数字信号发送到TEC6122芯片。TEC6122是一款数字集成芯片。它的外接电压也是+5V,并且由于数码管的载压较小,为了保护数码管,必须在两者间接电阻,大约是560欧。

扫描利用软件程序实现,当某一按键按下时,扫描程序立即检测到,随后调用子程序,执行相应的功能。

3、D/A电路

功能:将波形样值的编码转换成模拟值,完成双极性的波形输出。

由一片0832和两块LM358运放组成。DAC0832是一个具有两个输入数据寄存器的8位DAC。目前生产的DAC芯片分为两类,一类芯片内部设置有数据寄存器,不需要外加电路就可以直接与微型计算机接口。另一类芯片内部没有数据寄存器,输出信号随数据输入线的状态变化而变化,因此不能直接与微型计算机接口,必须通过并行接口与微型计算机接口。DAC0832是具有20条引线的双列直插式CMOS器件,它内部具有两级数据寄存器,完成8位电流D/A转换,故不需要外加电路。0832是电流输出型,示波器上显示波形,通常需要电压信号,电流信号到电压信号的转换可以由运算放大器LM358实现,用两片LM358可以实现双极性输出。

单片机向0832发送数字编码,产生不同的输出。先利用采样定理对各波形进行抽样,然后把各采样值进行编码,的到的数字量存入各个波形表,执行程序时通过查表方法依次取出,经过D/A转换后输出就可以得到波形。假如N个点构成波形的一个周期,则0832输出N个样值点后,样值点形成运动轨迹,即一个周期。重复输出N个点,成为第二个周期。利用单片机的晶振控制输出周期的速度,也就是控制了输出的波形的频率。这样就控制了输出的波形及其幅值和频率。

四、软件设计

主程序和子程序都存放在AT89S51单片机中。

主程序的功能是:开机以后负责查键,即做键盘扫描及显示工作,然后根据用户所按的键转到相应的子程序进行处理,主程序框图如图1所示。

子程序的功能有:幅值输入处理、频率输入处理、正弦波输出、锯齿波输出、方波输出、显示等。

下面是程序

include

#define uchar unsigned char

#define uint unsigned int

sbit LCP=P2^2;

sbit SCP=P2^1;

sbit SI=P2^0;

sbit S1=P2^3;

sbit S2=P2^4;

sbit S3=P2^5;

sbit S4=P2^6;

sbit S5=P2^7;

sbit DA0832=P3^3;

sbit DA0832_ON=P3^2;

uchar fun=0,b=0,c=0,d=0,tl,th;

uchar code tab[10]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f}; 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,0 xe7,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,0xf f,0xff,0xff,0xff,0xff,0xff,0xfe,0xfd

,0xfd,0xfc,0xfb,0xfa,0xf9,0xf8,0xf7,0xf6,0xf5,0xf4,0xf2,0xf1,0xef,0xee,0xec,0x ea,0xe9,0xe7,0xe5,0xe3,0xe1,0xde,0xdd,0xda

,0xd8,0xd6,0xd4,0xd1,0xcf,0xcc,0xca,0xc7,0xc5,0xc2,0xbf,0xbc,0xba,0xb7,0x b4,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 };

void display(unsigned char command)

{

unsigned char i;

LCP=0;

for(i=8;i>0;i--)

{

SCP=0;

if((command & 0x80)==0) {

SI=0;

}

else

{

SI=1;

}

command<<=1;

SCP=1;

}

LCP=1;

}

void key1(void)

{

fun++;

if(fun==4)

fun=0x00;

}

void key2(void)

{

tl++;

if(tl==0x1f)

th++;

}

void key3(void)

{

tl--;

if(tl==0x00)

th--;

}

void key4(void)

{

double t;

int f;

TR0=0;

t=(65535-th*256-tl)*0.4; f=(int)(1000/t);

S3=tab[f%10];

f=f/10;

S2=tab[f%10];

f=f/10;

if(f==0)

S1=0;

else

S1=tab[f];

TR0=1;

}

void key5(void)

{

tl--;

if(tl==0x00)

th++;

}

void judge(void)

{

uchar line,row,de1,de2,keym; P1=0x0f;

keym=P1;

if(keym==0x0f)return;

for(de1=0;de1<200;de1++) for(de2=0;de2<125;de2++){;}

P1=0x0f;

keym=P1;

if(keym==0x0f)return;

P1=0x0f;

line=P1;

P1=0xf0;

row=P1;

line=line+row; /*存放特征键值*/

if(line==0xde)key1();

if(line==0x7e)key2();

if(line==0xbd)key3();

if(line==0x7d)key4();

}

void time0_int(void) interrupt 1 //中断服务程序{

TR0=0;

if(fun==1)

{

DA0832=tosin[b]; //正弦波

b++;

}

else if(fun==2) //锯齿波

{

if(c<128)

DA0832=c;

else

DA0832=255-c;

c++;

}

else if(fun==3) // 方波{

d++;

if(d<=128)

DA0832=0x00;

else

DA0832=0xff;

}

TH0=th;

TL0=tl;

TR0=1;

}

void main(void)

{

TMOD=0X01;

TR0=1;

th=0xff;

tl=0xd0;

TH0=th;

TL0=tl;

ET0=1;

EA=1;

while(1) {

display(); judge();

}

}

五、心得体会

开始的时候由于没有经验,不知如何下手,所以就去图书管找了一些书看,尽管有许多的设计方案,可是总感觉自己还是有许多的东西弄不太清楚,于是就请教同学。他常做一些设计,有一些经验。经过他的解释分析各方案之后,决定用查表的方法来做。这样可以降低一些硬件设计的难度,初次设计应切合自己的水平。用8031需要扩展ROM,这样还要进行存储器扩展。而且现在8031实际中已经基本上不再使用,实际用的AT89S51芯片有ROM,这样把经过采样得到的数值制成表,利用查表来做就简单了。我认为程序应该不大,片内ROM应该够用的。用LED显示频率和幅值,现有集成的接口驱动芯片,波形可通过示波器进行显示,单片机接上D/A转换芯片即可,这样硬件很快就搭好了。

我以为这些做好了,构思也有了,写程序应该是相对容易的。谁知道,写起程序来,才想到功能键要有扫描程序才行呀,我真的感到很难。那时真的有点想放弃?于是就去请教了老师,老师帮忙分析了一下,自己又查阅了一些资料,终于明白了扫描程序怎么写。

于是在自己的努力下,程序很快就写好了。这次是我的第一个设计器件,尽管经历了不少的艰辛,但给我积累了一点设计的经验,最后也有点小小的成就感。后面的路还很长,我还的努力!

参考文献

[1] 童诗白,华成英.模拟电子技术基础〔M〕.北京:高等教育出版社,2003.345-362

[2] 潘永雄,沙河,刘向阳.电子线路CAD实用教程〔M〕.西安:西安电子科技大学出版社,2001.13-118.

[3] 张毅刚,彭喜源,谭晓昀,曲春波.MCS-51单片机应用设计[M].哈尔滨:哈

尔滨工业大学出版社,1997.53-61.

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

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/b15689354.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)通过这几个波形进行组合形成了一个波形发生器,使得我对系统的整个框架的设计有了一个很好的锻炼。这不仅有助于大家找到自己感兴趣的题目,更可以

相关文档
最新文档