《单片机技术及应用》课程设计报告--波形发生器
单片机波形发生器的设计
单片机波形发生器的设计波形发生器是一种能够产生不同类型波形信号的电子设备,常用于电子实验、测试和通信系统中。
在单片机技术的发展下,设计一款基于单片机的波形发生器已经变得相对简单和便捷。
本文将从硬件设计和软件编程两个方面,详细介绍如何设计一款基于单片机的波形发生器。
第一部分:硬件设计硬件设计是波形发生器设计的基础,它涉及到信号源、滤波电路、放大电路等多个方面。
1.信号源波形发生器需要一个稳定的、可调节的信号源。
在单片机中,可以使用定时器/计数器模块产生一个稳定的方波信号。
通过调整定时器的计数值和预分频系数,可以改变方波的频率。
造成方波到正弦波,可以通过模拟滤波电路。
2.滤波电路为了将方波信号变成正弦波,需要使用低通滤波器。
一种简单的低通滤波器是RC电路,通过调整电阻和电容值,可以改变滤波器的截止频率。
为了实现更好的滤波效果,可以使用更复杂的滤波电路,如椭圆滤波器或数字滤波器。
3.放大电路波形发生器输出的信号一般较小,需要经过放大电路才能达到合适的信号水平。
放大电路一般选择运算放大器(Op Amp),通过调整反馈电路中的电阻值和放大器的放大倍数,可以调节波形发生器输出的信号幅度。
第二部分:软件编程软件编程是实现波形发生器的核心部分,它涉及到单片机内部的定时器、IO口、中断等多个模块。
1.定时器配置在单片机中,定时器模块可以根据设定的计数值和预分频系数产生指定频率的方波信号。
通过配置定时器的工作模式、计数值和预分频系数,可以实现对方波频率的调节。
2.IO口配置通过配置IO口,可以将波形输出到外部设备,如示波器或音响设备。
通过将IO口输出为PWM信号,可以将方波信号转化为模拟信号,并通过滤波电路进行进一步处理。
3.中断处理在波形发生器中,需要使用中断来实现定时器计数值的更新和波形输出的控制。
通过编写中断处理函数,可以在指定的时间间隔内进行定时器计数值的更新,并控制IO口输出波形信号。
总结:通过对单片机波形发生器的硬件设计和软件编程进行详细说明,可以发现设计一款基于单片机的波形发生器并不复杂。
(完整版)51单片机毕业课程设计波形发生器
河南理工大学《单片机应用与仿真训练》设计报告多功能信号发生器设计姓名:王彦凯王翱翔专业班级:电仪09-03指导老师:王莉所在学院:电气工程与自动化学院2012年6月25 日摘要本设计是多功能信号发生器,以 AT89S52 单片机为核心,通过按键输入控制输出信号的类型、频率和幅值,采用 DA 转换芯片DAC0832输出相应的波形,同时以LED 显示器进行实时显示信号相关信息。
我们采用 C 语言进行编程,可实现100-1Khz的方波,锯齿波,三角波和正弦波四种波形的产生,且波形的频率、幅值可通过按键调节,并显示在数码管上。
而且,波形的幅值还可通过电位器实现无极调幅,增加了可选幅值范围。
经测试该设计方案线路优化,结构紧凑,性能优越,满足设计要求。
关键字:单片机AT89S52,DAC0832,信号发生器目录第1章概述 (1)1.1选题背景及其意义 (1)1.2 单片机概述 (1)1.3 信号发生器分类 (1)1.4 研究题目及其意义 (2)第2章信号发生器方案设计与选择 (3)2.1 方案的设计与选择 (3)2.2 设计原理简介 (3)2.3 设计功能 (5)第3章主要电路元器件介绍 (6)3.1 AT89S52单片机简介 (6)3.1.1 单片机简介 (6)3.1.2主要性能 (6)3.1.3 管脚功能说明 (7)3.2 DAC0832简介 (8)3.2.1 DAC0832的主要特性参数 (8)3.2.3 DAC0832工作方式 (9)3.3 数码显示管 (10)3.3.1 原理及分类 (10)3.3.2 显示器的工作方式 (10)3.3.3 数码管字型码 (11)第4章单元电路的硬件设计 (12)4.1 硬件原理框图 (12)4.2 单片机 AT89S52 系统的设计 (12)4.3 时钟电路 (13)4.4复位电路 (13)4.5数码管电路 (14)4.6 DAC0832模数转换电路 (15)4.7 LM324运放电路和低通滤波电路 (16)4.8 按键和波形指示LED电路 (17)第5章系统软件设计 (18)5.1软件开发环境简介 (18)5.1.1 Keil uVision4简介 (18)5.1.2 Proteus7.10 简介 (19)5.1.3 Keil 与Proteus 联合调试仿真 (19)5.2主程序 (20)5.3按键处理程序 (21)5.4 数码管输出程序分析 (22)5.5 各种波形产生思路 (22)5.5.1 方波产生思路 (22)5.5.3 三角波产生思路 (23)5.5.4 正弦波产生思路 (23)5.6 仿真的各种波形效果 (23)第6章课程设计体会 (24)参考文献 (25)致谢 (26)附1:源程序代码 (27)1.主程序 (27)2.头文件 (27)附 2:系统原理图 (31)附 3:实物效果图 (32)第1章概述1.1选题背景及其意义信号发生器又称信号源或振荡器,在生产实践和科技领域中有着广泛的应用。
基于51单片机的波形发生器设计报告
基于51单片机的波形发生器设计报告波形发生器是一种电子设备,用于产生各种不同类型和频率的电信号波形。
基于51单片机的波形发生器设计是一种常用的工程设计。
下面是一个关于基于51单片机的波形发生器设计的报告,详细介绍了设计的原理、步骤、电路、程序和性能。
一、设计原理:二、设计步骤:1.确定波形发生器的输出频率范围和分辨率要求。
2.选择适当的定时器/计数器模块来实现频率的计时和控制。
3.设计电路,包括定时器/计数器模块、晶振、滤波电路和输出接口等。
4.编写程序,配置定时器/计数器模块的工作模式、计数值和中断服务程序。
5.调试和测试电路和程序,确保波形发生器正常工作并满足设计要求。
三、电路设计:1.定时器/计数器模块:选择一个合适的定时器/计数器模块,如51单片机的定时器/计数器T0或T1、根据设计要求,设置工作模式、计数器模式和计数值。
2.晶振:选择适当的晶振频率,一般为11.0592MHz,将晶振连接到单片机的晶振引脚。
3.滤波电路:根据需要,设计一个滤波电路来滤除不需要的高频噪声和杂散信号。
4.输出接口:设计一个输出接口电路来连接单片机和外部电路,使用电平转换电路将单片机的低电平(0V)输出转换为所需的电平电压。
四、程序设计:1.配置定时器/计数器模块的工作模式和计数值,设置中断服务程序。
2.在中断服务程序中,根据设计要求生成矩形波信号,并将信号输出到输出端口。
3.在主程序中,初始化单片机和定时器/计数器模块,使波形发生器开始工作。
4.在主循环中,可以设置按键输入来改变输出频率,通过调整计数值来实现不同的频率输出。
五、性能评估:1.输出频率范围:根据设计要求,测试波形发生器的最低和最高输出频率是否在设计范围内。
2.分辨率:对于指定频率范围,测试波形发生器的输出频率的分辨率,即最小可调节的频率。
3.稳定性:测试波形发生器的输出信号的稳定性和准确度,是否有漂移和偏差。
4.噪声:测试波形发生器的输出信号是否有杂散噪声和幅度波动。
波形发生器单片机课程设计
波形发生器单片机课程设计一、课程目标知识目标:1. 让学生理解波形发生器的基本原理,掌握单片机在波形发生器中的应用;2. 学会使用编程软件进行单片机程序设计,实现常见波形的生成;3. 了解波形发生器的性能指标,如频率、幅度、相位等,并能进行简单计算。
技能目标:1. 培养学生运用所学知识,设计并实现波形发生器单片机程序的能力;2. 提高学生动手实践能力,能够独立完成波形发生器的硬件连接与调试;3. 培养学生团队协作能力,通过小组合作完成课程设计。
情感态度价值观目标:1. 培养学生对单片机及电子技术的兴趣,激发学生的学习热情;2. 培养学生严谨的科学态度,注重实验数据的真实性,遵循实验操作规范;3. 培养学生的创新意识,鼓励学生勇于尝试,不断优化波形发生器设计。
分析课程性质、学生特点和教学要求:1. 课程性质:本课程属于电子技术领域,涉及单片机原理、编程及硬件设计;2. 学生特点:学生已具备一定的电子技术基础,熟悉单片机的基本操作,具有一定的编程能力;3. 教学要求:注重理论与实践相结合,强调动手实践,培养学生解决实际问题的能力。
二、教学内容1. 波形发生器原理:介绍波形发生器的功能、分类及其在电子技术中的应用,重点讲解单片机波形发生器的原理及组成。
教材章节:《单片机原理与应用》第四章第三节2. 单片机程序设计:讲解如何使用编程软件(如Keil)进行单片机程序设计,实现常见波形(如正弦波、方波、三角波等)的生成。
教材章节:《单片机原理与应用》第五章3. 硬件设计与连接:介绍波形发生器硬件电路的设计方法,包括单片机、晶振、滤波器等元件的选型与连接。
教材章节:《电子电路设计》第二章4. 波形发生器性能指标:讲解波形发生器的主要性能指标,如频率、幅度、相位等,并进行简单计算。
教材章节:《电子测量与仪器》第三章5. 实践操作与调试:指导学生进行波形发生器硬件连接、程序下载和调试,确保波形发生器正常工作。
教材章节:《单片机原理与应用》第六章6. 课程设计:要求学生以小组为单位,设计并实现一个具有特定功能的波形发生器,完成课程设计报告。
单片机波形发生器设计
单片机波形发生器设计一、引言波形发生器是一种电子测试仪器,用于产生各种形状的波形信号。
在电子设计和测试中,波形发生器是非常重要的工具,可以用于测试电子元器件的响应特性、检测电子电路的特性,以及用于故障分析和调试等。
本文将介绍一种基于单片机的波形发生器设计方案。
二、设计方案1.系统硬件设计本设计方案采用基于单片机的数字波形发生器,利用单片机的高速计数器和定时器功能,生成各种频率和形状的波形信号。
系统硬件主要包括以下几个部分:(1)单片机:选择一款具备高速计数器和定时器功能的单片机,如ATmega328P。
(2)时钟电路:提供单片机工作所需的稳定时钟信号。
(3)按键/旋钮:用于设置波形的频率和形状。
(4)显示器:用于显示当前波形的频率和形状。
(5)输出接口:提供波形信号的输出接口,以便连接到外部电路进行测试。
2.系统软件设计本设计方案采用C语言进行单片机程序的编写,使用单片机的定时器来生成各种频率的波形信号。
(1)初始化:设置单片机的引脚方向和初始化定时器。
(2)按键/旋钮检测:检测按键/旋钮的状态变化,并根据用户的操作进行相应的波形设置。
(3)波形生成:根据用户设置的频率和形状,在单片机的定时器中设置相应的计数值和自动重载值,以产生所需的波形信号。
(4)输出:将生成的波形信号通过输出接口输出到外部电路进行测试或其他应用。
三、系统性能分析1.频率范围:由于采用了单片机的高速计数器和定时器功能,所以波形发生器的频率范围可以较广,通常可以覆盖几赫兹到几千兆赫兹的范围。
2.波形形状:由于使用了单片机的计时器功能,所以可以生成多种形状的波形信号,如正弦波、方波、三角波等。
3.稳定性:由于采用了稳定的时钟电路,所以波形发生器的频率稳定性较高,误差较小。
4.精确度:由于采用了单片机的高速计数器和定时器功能,所以波形发生器的频率和相位精度较高。
四、总结本文介绍了一种基于单片机的波形发生器设计方案。
该方案通过利用单片机的计数和定时器功能,可以生成各种形状和频率的波形信号,具备较高的稳定性和精确度。
单片机波形发生器设计
单片机波形发生器设计引言:波形发生器是一种电子仪器,可用于产生不同类型的电子波形。
在电子系统设计和实验中,波形发生器起着至关重要的作用。
传统的波形发生器通常有很多旋钮和开关,而现代的波形发生器则大多通过单片机或其他微控制器来实现。
本文将介绍如何通过单片机设计一个简单的波形发生器。
设计方案:1.硬件设计:单片机选择常见的8051系列单片机,因为其性能稳定、功能强大且易于编程。
可以使用Keil等集成开发环境进行程序编写。
电路主要由单片机、晶振、电源电路、按键和LCD显示屏组成。
2.基本波形发生:首先,我们需要设计一个能够产生基本波形的波形发生器。
单片机通过PWM(脉宽调制)技术来实现波形发生。
通过改变脉冲的占空比,可以产生不同频率的方波。
通过将方波依次通过RC滤波电路和运算放大器,可以得到正弦波和三角波。
运算放大器可以选择常见的OPA2134等。
3.频率调节和触发方式:波形发生器需要能够实现频率的调节和触发方式的选择。
频率的调节可以通过旋钮或按键来实现。
可以通过改变控制单片机的定时器参数来改变频率。
触发方式可以选择为外部触发或内部触发,通过开关来实现切换。
4.显示:为了方便用户观察波形,我们可以在电路中添加LCD显示屏。
通过编写程序,可以在显示屏上实时显示波形的参数和波形形状。
5.扩展功能:在基本波形发生器的基础上,可以进一步扩展功能。
例如,可以添加DAC芯片,实现更精确的波形输出。
还可以通过增加存储器,实现波形的存储与回放。
另外,还可以添加数字接口,实现与计算机的通信和控制。
总结:通过单片机设计的波形发生器具有灵活性和可扩展性强的优点。
通过改变软件程序,可以实现不同类型的波形输出,满足不同实验和设计的需求。
注:本文中字数未满1200字,请根据实际需要进行补充。
基于51单片机波形发生器课程设计
基于51单片机波形发生器课程设计1. 引言波形发生器是电子技术领域中常用的仪器设备,用于产生各种不同形状的电信号波形。
在电子电路实验和测试中,波形发生器能够提供不同频率、幅度和相位的信号,用于测试和验证电路的性能。
本篇文章将介绍一个基于51单片机的波形发生器设计。
通过使用51单片机,我们可以实现一个简单但功能强大的波形发生器,并通过编程控制实现不同类型的波形输出。
2. 硬件设计2.1 51单片机51单片机是一种常见的8位微控制器,具有低功耗、高性能和广泛应用等特点。
在本设计中,我们选择使用51单片机作为主控芯片。
2.2 数模转换芯片为了将数字信号转换为模拟信号输出,我们需要使用一个数模转换芯片。
在本设计中,我们选择使用DAC0800芯片作为数模转换器。
2.3 操作面板为了方便用户操作和设置参数,我们设计了一个操作面板。
该面板包括按键、旋钮和显示屏等组件,用户可以通过操作面板来控制波形发生器的参数和功能。
2.4 输出接口为了将模拟信号输出到外部设备,我们设计了一个输出接口。
该接口可以连接到示波器或其他测试仪器,以便观察和测量输出信号。
3. 软件设计3.1 程序框架波形发生器的软件设计主要包括初始化设置、参数调整和波形生成等功能。
我们可以使用C语言编程,在51单片机上实现这些功能。
以下是程序框架的伪代码:void main(){初始化设置();while(1){获取用户输入();参数调整();波形生成();}}3.2 初始化设置在初始化设置阶段,我们需要对51单片机和数模转换芯片进行初始化配置。
这包括设置时钟频率、IO口方向、数模转换精度等。
以下是初始化设置的伪代码:void 初始化设置(){设置时钟频率();配置IO口方向();配置数模转换精度();}3.3 参数调整在参数调整阶段,用户可以通过操作面板来调整波形发生器的参数。
这包括选择波形类型、设定频率和幅度等。
以下是参数调整的伪代码:void 参数调整(){获取用户输入();if(用户选择了波形类型){设置波形类型();}if(用户设定了频率){设置频率();}if(用户设定了幅度){设置幅度();}3.4 波形生成在波形生成阶段,根据用户设定的参数,我们可以通过数模转换芯片来生成相应的波形信号。
单片机课程设计(波形发生器)
目录1 波形发生器概述 (1)1.1波形发生器的背景 (1)1.2波形发生器的发展状况 (1)2 设计要求 (2)3 硬件设计 (3)3.1 设计方案 (3)3.1.1 系统总框图 (3)3.2 8255可编程通用并行接口芯片 (4)3.3 DAC0832芯片 (6)3.4 ADC0832芯片 (7)3.5 51单片机原理………………………………………………….3.6 硬件原理图设计……………………………………………….4 软件设计 (8)4.1软件框图设计…………………………………………………4.2 源程序代码…………………………………………………………5系统调试及分析 (17)5.1 运行结果 (17)5.2软件调试错误及处理 (19)5.3硬件接线调试 (19)6心得体会 (19)参考文献 (19)附录1 (20)1.波形发生器概述1.1背景波形发生器也称函数发生器,作为实验信号源,是现今各种电子电路实验设计应用中必不可少的仪器设备之一。
目前,市场上常见的波形发生器多为纯硬件的搭接而成,且波形种类有限,多为锯齿波,正弦波,方波,三角波等波形。
在电子工程、通信工程、自动控制、遥测控制、测量仪器、仪表和计算机等技术领域,经常需要用到各种各样的信号波形发生器。
随着集成电路的迅速发展,用集成电路可很方便地构成各种信号波形发生器。
用集成电路实现的信号波形发生器与其它信号波形发生器相比,其波形质量、幅度和频率稳定性等性能指标,都有了很大的提高。
1.2波形发生器的发展状况及应用波形发生器是能够产生大量的标准信号和用户定义信号,并保证高精度、高稳定性、可重复性和易操作性的电子仪器。
函数波形发生器具有连续的相位变换、和频率稳定性等优点,不仅可以模拟各种复杂信号,还可对频率、幅值、相移、波形进行动态、及时的控制,并能够与其它仪器进行通讯,组成自动测试系统,因此被广泛用于自动控制系统、震动激励、通讯和仪器仪表领域。
单片机及DSP课程设计报告 波形发生器
单片机及DSP课程设计报告专业:电子信息工程班级:姓名:学号:指导教师:时间:2012-06-11~24通信与电子工程学院波形发生器目录1.引言 (3)2.设计目的 (3)3.设计任务 (3)4. ........................................... 方案论证35.原理框图 (4)6.芯片介绍....................................................... . (4)7.程序流程图....................................................... (6)8.算法及其分析....................... 错误!未定义书签。
9.仿真结果叙述....................................................... .. (7)10.解决问题以及心得体会 (8)11.参考文献 (9)1.引言:随着微电子技术和超大规模集成电路技术的发展,单片微型计算机以其体积小、行价比高、功能强、可靠性高等独有的特点,在各个领域(如工业控制、家电产品、汽车电子、通信、智能仪器仪表)得到了广泛的应用。
波形发生器是一种常用的信号源,广泛地应用于电子电路、自动控制系统和教学实验等领域。
本次课程设计使用的以AT89C51 单片机为核心以及DAC0832构成的简易波形发生器,通过编写程序来产生锯齿波,具有线路简单、结构紧凑等优点。
2.设计目的为了进一步巩固学习的理论知识,增强对所学知识的实际应用能力和运用所学的知识解决实际问题的能力,开始为期两周的课程设计。
通过设计使学生在巩固所学知识的基础之上具有初步的单片机系统设计与应用能力。
能够对电子电路、电子元器件、印制电路板等方面的知识有进一步的认识,独立对其进行测试与检查。
1、熟悉8051单片机的内部结构和功能,合理使用其内部寄存器,能够完成相关软件编程设计工作。
单片机课程设计--简易波形发生器
单片机课程设计--简易波形发生器电气与电子信息工程学院《单片机》课程设计报告题目:简易波形发生器专业班级:电气学号: 123456姓名:王刚指导教师:胡蔷、汤立刚设计时间:2013年12月9日—2013年12月13日设计地点: K2-407单片机、微机原理实验室2013年11月20日单片机课程设计成绩评定表答辩或质疑记录:1、该设计能产生几种波形?分别是哪几种?答:能产生4种波形,三角波,方波,锯齿波以及正弦波。
2、DAC0832有几种工作方式?哪几种?各有什么特点?该设计中DAC0832用的是哪一种方式?答:3种,单缓冲方式、双缓冲方式以及直通方式:(1)单缓冲方式此方式适用于只有一路模拟量输出或几路模拟量非同步输出的情形。
方法是控制输入寄存器同时接收数据,或者只用输入寄存器而把DAC寄存器接成直通方式。
(2)双缓冲方式此方式适用于多个DAC0832同时输出的情形。
方法是先分别使这些DAC0832的输入寄存器接收数据,再控制这些DAC0832同时传送数据到DAC寄存器以实现多个D/A转换同步输出。
〔3〕直通方式此方式适用于连续反馈控制线路中。
方法是:数据不通过缓冲器,即-WR1,-WR2, -XFER, -CS 均接地,ILE接高电平。
此时必须通过I/O接口与微处理器连接,以匹配微处理器与D/A的转换。
该设计中DAC0832用的是单缓冲方式。
成绩评定依据:课程设计考勤情况(5%):课程设计仿真测试情况(15%)课程设计答辩情况(30%):完成设计任务及报告规范性(50%):最终评定成绩(以优、良、中、及格、不及格评定)指导教师签字:2013 年12 月日课程设计任务书2013~2014 学年第 1 学期专业班级:电气指导教师:胡蔷汤立刚工作部门:电气与电子信息工程学院电气自动化教研室一、课程设计题目单片机课程设计二、课程设计内容(含技术指标)1.设计目的及要求(1)根据具体设计课题的技术指标和给定条件,以单片机为核心器件,能独立而正确地进行方案论证和电路设计,完成仿真操作。
单片机课程设计简易波形发生器
单片机课程设计简易波形发生器波形发生器是电子实验中经常使用的一种仪器,它能够产生各种不同形式的周期信号。
在单片机课程设计中,我们可以通过编写程序控制单片机来实现一个简易的波形发生器。
本文将介绍使用单片机实现波形发生器的设计思路和实现过程。
首先,我们需要确定需要实现的波形类型。
常见的波形类型包括正弦波、方波、三角波等。
在本设计中,我们将选择实现方波和三角波两种波形。
其次,我们需要确定单片机的硬件资源。
根据波形发生器的要求,我们需要使用单片机的数模转换功能,将数字信号转换为模拟信号输出。
因此,我们需要选择一个具有这一功能的单片机。
在确定了波形类型和硬件资源后,我们可以开始编写程序。
首先,我们需要编写一个初始化函数,用于初始化单片机的相关寄存器和引脚设置。
然后,我们需要编写一个生成方波的函数。
方波信号是一个固定频率的矩形信号,其周期可通过设置定时器的计数值和频率来实现。
我们可以通过控制输出引脚的高低电平来生成方波信号。
接下来,我们需要编写一个生成三角波的函数。
三角波信号是一个类似于正弦波的周期信号,其产生过程可以通过一个计数器和一个增减状态位来实现。
通过控制计数器的递增和递减,我们可以得到一个周期为正弦波信号的三角波信号。
最后,我们需要在主函数中调用这些函数,以及设置相应的延时函数,来实现波形信号的输出。
在输出信号时,我们可以通过设置引脚的电平来控制波形的高低电平。
在实际的实验中,我们可以通过连接示波器来观察并验证所产生的波形信号。
根据波形的输出结果,我们可以调整相应的参数,如频率、周期等,以获得所需的波形效果。
总结起来,通过单片机实现一个简易的波形发生器是一个很有趣的课程设计项目。
通过控制单片机的计数器和引脚状态,我们可以实现方波和三角波等不同形式的周期信号输出。
这不仅有助于理解波形发生器的工作原理,还可以提升对单片机编程和硬件控制的技能。
单片机课程设计波形发生器报告
目录第一章概述 (2)第二章设计任务 (3)第三章硬件设计 (3)3.1系统主体构造 (3)3.2硬件元件概述 (3)3.3硬件连接 (9)3.4硬件参数简介 (10)第四章软件设计 (10)4.1锯齿波程序设计 (11)4.2三角波程序设计 (12)4.3正弦波程序设计 (13)第五章系统功能描述和功能 (15)第六章设计心得 (16)第七章参考文献 (16)附录 (16)程序设计 (20)第一章概述课程设计是一项重要的实践性教育环节,是学生在完成本专业所有课程学习后必须接受的一项结合本专业方向的、系统的、综合的工程训练。
在教师指导下,运用工程的方法,通过一个较复杂课题的设计练习,可使学生通过综合的系统设计,熟悉设计过程、设计要求、完成的工作内容和具体的设计方法,掌握必须提交的各项工程文件。
课程设计的基本目的是:培养理论联系实际的设计思想,训练综合运用电路设计和有关先修课程的理论,结合生产实际分析和解决工程实际问题的能力,巩固,加深和扩展有关电子类方面的知识。
课程设计的主要任务是运用所学微控制器技术、微机原理等方面的知识,设计出一台以AT89C51为核心的单片机数据采集、通讯或测控系统,完成信息的采集、处理、输出及人机接口电路等部分的软、硬件设计。
多功能波形发生器设计课题需要充分灵活运用编程语言所提供的各种指令语句,巧妙利用软硬件实现以上所要求的功能,在程序逻辑设计上也要求正确,合理的对项目进行分解分块,合理的逻辑设计可以起到事半功倍的效果,是整个项目当中最富有创新性和挑战性的部分。
第二章设计任务本次设计要求采用单片机和DAC设计波形发生器,具体要求如下:(1)利用单片机和DAC0832产生三角波、正弦波等波形。
(2)完成DAC与运放的连接,输出可供示波器显示。
(3)用按键改变波型的种类,同时显示波形的代号,波形的幅值与频率。
第三章硬件设计3.1 系统主体构造芯片方面选用AT89C51与DAC0832为主要芯片,根据要求采用键盘选择产生的波形的类型,所以基本电路有键盘电路,数模转换电路。
单片机实习报告及波形发生器设计
目录第一章单片机设计目的和意义 (1)1.1设计目的 (1)1.2设计意义 (1)第二章设计思路 (2)2.1硬件设计及芯片介绍 (2)2.1.1设计任务 (2)2.1.2AT89S52 (2)2.1.2MAX232 (3)2.1.3CYT78L05 (4)2.2程序设计 (4)第三章单片机的系统框图及其原理介绍 (5)3.1单片机系统框图 (5)3.2单片机系统模块介绍 (5)3.2.1AT89S52时钟电路及复位电路 (5)3.2.2电源电路 (6)3.2.3串行通信电路 (7)3.3硬件焊接与测试 (7)3.3.1元件清单与硬件 (7)3.3.2焊接注意事项 (8)第四章单片机应用程序及调试 (9)4.1Keil C软件介绍 (9)4.2跑马灯程序 (9)4.2.1I/O口控制跑马灯程序 (9)4.2.2按键控制跑马灯程序 (10)4.2.3按键控制(中断优先级)跑马灯程序 (10)4.3程序调试遇到的问题 (11)第五章基于单片机的波形发生器设计 (12)5.1波形发生器的原理介绍及电路图 (12)5.1.1原理介绍 (12)5.1.2波形发生器电路图 (12)5.2芯片介绍 (12)5.2.1DAC0832 (12)5.3硬件焊接 (13)5.3.1元件清单 (13)5.3.2硬件连接时遇到的问题及焊接实图 (14)5.4波形发生器程序设计 (15)5.4.1设计框图 (15)5.4.2波形发生器程序 (15)5.5示波器波形 (17)5.6设计过程遇到的问题 (18)第六章实习总结 (19)第一章单片机设计目的和意义1.1设计目的在理论学习的基础上,通过完成一个涉及51单片机多种资源应用并且具有综合功能的最小系统目标板。
目标板的设计和编程应用。
1.2设计意义将理论知识与实际应用结合起来,从实际出发分析问题,研究问题和解决问题,将单片机的知识系统化,而且能够对电子电路,电子元器件,印制电路板等方面的知识进一步加深认识。
单片机波形发生器报告_课程设计报告 精品
单片机课程设计报告东莞理工学院课程单片机课程设计题目多波形发生器院系电子工程学院专业班级2011级电子信息工程2班2013年6月27日目录第一部分1.1波形发生器的概述 (3)1.2 本设计任务 (3)第2 部分2.1本设计的意义 (4)2.2 设计要求 (4)2.3 设计原理 (4)2.4 硬件设计 (4)2.5 软件设计 (8)第三部分3.1 心得 (19)3.2参考文献 (19)第一部分1.1波形发生器的概述波形发生器:顾名思义,一个能产生各种波形的仪器。
波形发生器可通过以下方法产生:(1):利用模拟电路的运放电路,可以产生三角波、锯齿波、正弦波。
用数字电路的555电路可以产生方波。
这方法的电路元件数量不多,焊接简单,但不稳定难以调试,产生的波形也不理想。
(2):利用市面上可以购得的专用直接数字合成DDS芯片的波形发生器:能产生任意波形。
而且可以达到很高的频率,其他方法很难做到这一点,所产生的的波形频率不高。
但这方法成本高,而且课程设计用这些芯片就没意思了。
(3):用AT89c51单片机和DAC0832芯片,用轻触按键组成的键盘来控制波形的选择以及各种扩展功能。
P1口连接按键键盘,作为波形的选择和其他扩展功能的输入口。
P0口连上上拉电阻后,接上数码管,用来显示所选择波形的类型。
这方法较上面两种方法好。
调试主要通过编辑89c51的程序,而且89c51、DAC0832、LM339这几个芯片的价格不贵。
至于编程方面,锯齿波、三角波、正弦波这三种分段后呈单调性的波形,可以通过等差增减来实现。
但是经过Proteus 7 Professional仿真后,所产生的波形不理想。
所以通过手动的方法计算出输出各点的电压值,然后在编写程序时以数组的方式给出。
当需要时,只要按照顺序进行输出即可。
1.2 本设计任务设计要求:一、基本功能:1 、可产生多种波形,如正弦波、三角波、锯齿波、方波;2 、各种波形可通过按键选择;二、扩展功能:1 、可调节信号的频率、占空比等参数;2 、其他自行增加的功能;扩展部分:按键s5、s6分别是控制方波的占空比增、减;s7、s8分别是控制波形的频率增、减。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
《单片机技术及应用》课程设计报告专业:电子信息工程班级:07302 (本)姓名:指导教师:二零一零年六月二十目录一课程设计目的 (3)二课程设计题目描述和要求 (3)三课程设计报告内容 (4)3.1波形图思路 (4)3.2波形图设计过程(方案设计与论证,调试与仪器说明) (4)3.1.1锯齿波模块: (4)3.1.2三角波模块: (6)3.1.3方波模块: (7)3.1.4正弦波模块: (9)3.1.5顶层模块: (11)3,1,6采用DAC0832实现波形发生器的总程序模块 (14)四原始硬件图 (19)五改进后的硬件图 (19)六总结 (22)七老师评语...................................................................22. 参考文献 .. (23)《波形发生器》一课程设计目的实现波形发生器可以产生锯齿波、三角波、方波和正弦波等常用标准波形。
二课程设计题目描述和要求利用DAC接口实现波形发生器可以产生锯齿波、三角波、方波和正弦波等常用标准波形。
将P1.0,P1.2,P1.4和P1.6分别作为这四种波的控制位,当相应的控制键按下后,出现相应的波形设计原理DAC接口技术DAC(Digital-Analog-Conventor)的功能是将数字量转化为与其成比例的模拟电压或电流信号,输出到仪表外部进行各种控制DAC芯片种类很多,有通用廉价的DAC芯片,也有高速高精度及高分辨率的DAC芯片在这里我们采用的的是DAC0832各种类型的DAC芯片都具有数字量输入端,模拟量输入端和基准电压端。
数字量输入端有以下几种类型:1无数据锁存,2带单数据锁存器,3带双数据锁存器,4可接收串行数字输入。
第一种在与单片机接口时,要外加锁存器,第二种和第三种可直接与单片机接口,第四种与单片机接口十分简单,接收数据较慢,适用于远距离现场控制的场合模拟量输出有两种方式:电压输出及电流输出。
电压输出的DAC芯片相当于一个电压源,其内阻很小,选用这种芯片时,与它匹配的电阻应较大,电流输出的芯片相当于电流源,其内阻较大,选用这种芯片时,负载电阻不可太大。
在实际应用中,常选用电流输出的DAC芯片实现电压输出三课程设计报告内容3.1波形图思路在8051单片机的控制下,产生三角波,锯齿波,方波以及正弦波,各种波形所采用的硬件接口都是一样的,由于控制程序不同而产生不同的波形3.2波形图设计过程(方案设计与论证,调试与仪器说明)将该任务分成六个模块进行设计,分别为:锯齿波模块,三角波模块,方波模块,正弦波模块,然后是顶层模块,最后是将所有模块拼合成总体模块我们所涉及的电路:DAC0832工作于单缓冲器方式,它的ILE接+5V。
/CS 和/XFER相连后由8051的P2.7控制,/WR1和/WR2相连后由8051的/WR控制DAC0832的地址为7FFFH,工作于单缓冲器方式,执行一次对DAC0832的写入操作即可完成一次D/A转换。
3.2.1锯齿波模块:8051单片机的累加器A从0开始循环增量,每增量一次向DAC0832写入一个数据,得到一个输出电压,这样可以获得一个正向的阶梯波DAC0832的分辨率为8位,如其满足的电压为5V,则一个阶梯的幅度为5V/(2*2*2*2*2*2*2*2)=19.5mV程序如下:MOV DPTR,#7FFFH ;DAC0832地址ST:MOV A,#00HLOOP:MOVX @DPTR,A ;启动D/A转换INC A ;累加器内容加一AJMP LOOP ; 连续输出波形程序从标号LOOP处执行到指令到执行AJMP LOOP共需5个机器周期,采用12MHZ的晶振,一个机器周期为1us,则每个阶梯的时间为t=5*1us,一个正向阶梯波的总周期的总时间为T=255*t=1275us,即此阶梯波的重复频率为F=1/T=78HZ.由此可见,由软件来产生波形,其频率是较低的。
要想提高频率,可通过改进程序,减少执行时间,但这种方法是有限的,根本的办法还得靠改进路.图8.13由图8.13可见,由于每一个阶梯波较小,总体看起来是一个锯齿波.如果要改变这种波形的周期,可采用延时的方法,程序若如下:MOV DPTR,#7FFFH ;DAC0832地址ST:MOV A,#00HLOOP:MOVX @DPTR,A ;启动D/A变换ACALL DELAY ;延时INC AAJMP LOOP ;连续输出波形DELAY:MOV R4,#0FFH ;延时子程序LOOP1:MOV R5,#10HLOOP2:NOPDJNZ R5,LOOP2DJNZ R4,LOOP1RET在延时子程序中改变延时时间的长短,即可改变输出波形的周期。
锯齿波波形:3.2.2三角波模块:在以上这个正向的锯齿波的前提下,若要获得负向的锯齿波只需将以上程序中的指令INCA换成指令DECA即可,如果想获得任意起始电压和终止电压的波形,则需先确定起始电压和终止电压所对应的数字。
程序中首先从起始电压对应的数字量开始输出,当达到终止电压对应的数字量时返回,如此反复。
将正向锯齿波与负向锯齿波组合起来就可以获得三角波,程序如下:MOV DPTR,#7FFFH ;DAC0832地址TRI: MOV A,#00H ;三角波UP: MOVX @DPTR,A ;启动D/A转换INC A ;上升沿CJNE A,#0FFH,UPDOWN: MOVX @DPTR,A ;启动D/A转换DEC A ;下降沿CJNE A,#00H,DOWNAJMP UP ;连续输出波形3.2.3方波模块:方波信号也是波形发生器中常用的一种信号,下面的程序可以从DAC的输出端得到矩形波,当延时子程序DELAY1与DELAY2的延时时间大体相同时即为方波,改变延时时间可得到不同占空比的矩形波,上限电平及上限电平对应的数字量可用前面讲过的方法获得。
程序如下:MOV DPTR,#7FFFH ;DAC0832地址SQ: MOV A,#LOW ;取低电平数字量MOVX @DPTR,A ;DAC输出低电平ACALL DELAY1 ;延时1MOV A,#HIGHMOVX @DPTR,A ;DAC输出高电平ACALL DELAY2 ;延时2AJMP SQ ;连续输出波形以上程序中未列出延时子程序,可仿照前面锯齿波中的延时子程序编写,输出矩形波的占空比为T1/(T1+T2),输出波形如图8.15所示。
改变延时值使T1=T2即可得到方波矩形波矩形波实验图3.2.4正弦波模块:图8.14利用DAC接口实现正弦波发生器时,先要对正弦波模拟电压进行离散化。
如图8.14所示,对于一个正弦波取N等分离散点,按定义计算出对应于1,2,3......N各离散点的数据值D1,D2,D3,D4....DN制成一个正弦表。
因为正弦波在半周期内是以极值点为中心对称,而且正负波形为互补关系,故在制正弦表时只需进行1/4周期,取0~Pi/2之间的数值,步骤如下:(1)计算0~Pi/2区间N/4个离散的正弦值(2)根据对称关系,复制Pi/2~ Pi区间的值(3)将0~Pi区间各点根据求补即得Pi~2Pi区间各值将得到的这些数据根据所用DAC的位数进行量化,得到相应的数字值,依次存入RAM或固化于EPROM中,从而得到一个全周期的正弦编码表程序如下:SIN: MOV DPTR,#SINTAB ;正弦波MOV R0,#6DHLOOP: CLR AMOVC A,@A+DPTRMOV @R0,AINC DPTRINC R0CJNE R0,#80H,LOOPMOV DPTR,#7FFFH ;DAC0832端口地址MOV R0,#6DHLOOP1: MOV A,@R0 ;取得第一个1/4周期的数据MOVX @DPTR,A ;送往DAC0832INC R0CJNE R0,#7FH,LOOP1LOOP2: MOV A,@R0 ;取得第二个1/4周期的数据MOVX @DPTR,A ;送往DAC0832DEC R0CJNE R0,#6DH,LOOP2LOOP3: MOV A,@R0 ;取得第三个1/4周期的数据CPL A ;数据取反MOVX @DPTR,A ;送往DAC0832INC R0CJNE R0,#7FH,LOOP3LOOP4: MOV A,@R0 ;取得第四个1/4周期的数据CPL A ;数据取反MOVX @DPTR,A ;送往DAC0832DEC R0CJNE R0,#6DH,LOOP4JB 20H.3, LOOP1 ;输出连续波形LJMP HERESINTAB: DB 7FH,89H,94H,9FH,0AAH,0B4H,0BEH,0C8H,0D1H,0D9H DB 0E0H,0E7H,0EDH,0F2H,0F7H,0FAH,0FCH,0FEH,0FFH正弦波图3.2.5顶层模块:根据按键按下的不同,中断0对应于不同的波形处理ORG 0000HSTART: LJMP MAINORG 0003H ;外部中断入口LJMP INSER ;转到中断服务程序ORG 0030HMAIN: MOV DPTR,#7FFFH ;DAC0832地址SETB EX0 ;允许中断SETB IT0 ;负边沿触发方式SETB EA ;开中断HERE: JB 20H.0,ST ;阶梯波处理JB 20H.1,TRI ;三角波处理JB 20H.2,SQ ;方波处理JB 20H.3,SIN ;正弦波处理SJMP HERE ;等待中断INSER: JNB P1.0, LL1 ;中断服务程序,查询按键SJMP L1LL1: MOV 20H,#00HSETB 20H.0 ;设置阶梯波标志SJMP RTL1: JNB P1.2, LL2SJMP L2LL2: MOV 20H,#00HSETB 20H.1 ;设三角梯波标志SJMP RTL2: JNB P1.4, LL3SJMP L3LL3: MOV 20H,#00HSETB 20H.2 ;设置方波标志SJMP RTL3: JNB P1.6, LL4SJMP RTLL4: MOV 20H,#00HSETB 20H.3 ;设置正弦波标志RT: RETI ;中断返回……….. ;波形程序略END运用Proteus设计的波形发生器仿真原理图如上图是运用Proteus仿真的图形,可是出现的图形很不理想,所以进行了改进下图为改进后的同相比例运算电路改进后的Proteus仿真的图形如下.元件列表STC89C51芯片1块DAC0832芯片1块UA741CN芯片一块按键4个电阻10K 1个电阻0.22K 4个可提供在线的STC89C小系统板(其中包括了晶振CRYSTAL 12Hz有源电容10u 一个陶瓷电容22Pf 2个)导线若干还用到实验室里的直流电压源和示波器74LS21引脚图UA741CN引脚图3.2.6采用DAC0832实现波形发生器的总程序模块ORG 0000HSTART: LJMP MAINORG 0003H ;外部中断入口LJMP INSER ;转到中断服务程序ORG 0030HMAIN: MOV DPTR,#7FFFH ;DAC0832地址SETB EX0 ;允许中断SETB IT0 ;负边沿触发方式SETB EA ;开中断HERE: JB 20H.0,ST ;阶梯波处理JB 20H.1,TRI ;三角波处理JB 20H.2,SQ ;方波处理JB 20H.3,SIN ;正弦波处理SJMP HERE ;等待中断INSER: J NB P1.0, LL1 ;中断服务程序,查询按键SJMP L1LL1: MOV 20H,#00HSETB 20H.0 ;设置阶梯波标志SJMP RTL1: JNB P1.2, LL2SJMP L2LL2: MOV 20H,#00HSETB 20H.1 ;设三角梯波标志SJMP RTL2: JNB P1.4, LL3SJMP L3LL3: MOV 20H,#00HSETB 20H.2 ;设置方波标志SJMP RTL3: JNB P1.6, LL4SJMP RTLL4: MOV 20H,#00HSETB 20H.3 ;设置正弦波标志RT: RETI ;中断返回ST: MOV A,#00H ;阶梯波LOOPP: MOVX @DPTR,A ;启动D/A转换INC AJB 20H.0,LOOPP ;连续输出波形LJMP HERETRI: MOV A,#00H ;三角波UP: MOVX @DPTR,A ;启动D/A转换INC A ;上升沿CJNE A,#0FFH,UPDOWN: MOVX @DPTR,A ;启动D/A转换DEC A ;下降沿CJNE A,#00H,DOWNJB 20H.1, UP ;连续输出波形LJMP HERESQ: MOV A,#00H ;方波MOVX @DPTR,A ;DAC输出低电平ACALL DELAY ;延时1MOV A,#0FFHMOVX @DPTR,A ;DAC输出高电平ACALL DELAY ;延时2JB 20H.2, SQ ;连续输出波形LJMP HERESIN: MOV DPTR,#SINTAB ;正弦波MOV R0,#6DHLOOP: CLR AMOVC A,@A+DPTRMOV @R0,AINC DPTRINC R0CJNE R0,#80H,LOOPMOV DPTR,#7FFFH ;DAC0832端口地址MOV R0,#6DHLOOP1: MOV A,@R0 ;取得第一个1/4周期的数据MOVX @DPTR,A ;送往DAC0832INC R0CJNE R0,#7FH,LOOP1LOOP2: MOV A,@R0 ;取得第二个1/4周期的数据MOVX @DPTR,A ;送往DAC0832DEC R0CJNE R0,#6DH,LOOP2LOOP3: MOV A,@R0 ;取得第三个1/4周期的数据CPL A ;数据取反MOVX @DPTR,A ;送往DAC0832INC R0CJNE R0,#7FH,LOOP3LOOP4: MOV A,@R0 ;取得第四个1/4周期的数据CPL A ;数据取反MOVX @DPTR,A ;送往DAC0832DEC R0CJNE R0,#6DH,LOOP4JB 20H.3, LOOP1 ;输出连续波形LJMP HERESINTAB: DB 7FH,89H,94H,9FH,0AAH,0B4H,0BEH,0C8H,0D1H,0D9H DB 0E0H,0E7H,0EDH,0F2H,0F7H,0FAH,0FCH,0FEH,0FFH DELAY: MOV R4,#0FH ;延时子程序LOOP11: MOV R5,#10HLOOP22: NOPNOPNOPDJNZ R5,LOOP22DJNZ R4,LOOP11RETEND原理是基于DAC的电压输出与其数字输入量成正比关系四原始硬件图可供在线下载的STC89C51小系统板实验现象按下阶梯波键时按下三角波键时按下方波键时按下正弦波键时五经改进后的硬件图及改进后的现象图实验现象阶梯波形三角波形方波波形按下正弦波波形键时出现的波形(与正弦波有点出入)六总结组长:陈丽华全程参与组员:李小兵负责硬件焊接及调试张欢负责方波模块及PPT杜浩负责正弦波模块,有参与到硬件调试张浩负责阶梯波模块和元器件购买李冲负责三角波模块和元器件购买通过这次对波形发生器的设计和实践,让我们进一步了解了设计的程序,也让我们了解了关于波形发生器的基本原理与设计理念,要设计一个电路要先用仿真仿真成功后才能实际节线和焊接,但是最后的成品却不一定与仿真时完全一样,因为在实际接线中有着各种个样的条件制约着,例如做音乐发生器时在接蜂鸣器之前必需加一个驱动…..在程序设计时时有不懂的地方需时时翻书,说明了对单片机技术掌握的并不是很熟悉,有待进一步提高对其的深入了解,同时在做这个课程设计的过程中我们了解到了更多有关于单片机的应用,像老师所说的那样,什么东西都可以用单片机做出来,只是看你钻没钻进去,还有就是意识到了学好模拟电路基础和数字电路基础是十分重要的,那是做单片机应用知识所必备的在硬件电路的焊接时,一定要记住每个芯片都有正极和负极,它们必须接相应的地方不可遗漏,在去购买元器件之前,一定要把所有要买的东西列一个清单,不是仅仅拿着已经仿真好的电路图就可以,那样很可能会造成不必要的麻烦,为了以后的学习方便,我们直接买了个小系统版,却因为在接了直流电压源以后就只顾着看示波器,电流源突然跳变到10V而使得小系统板上的芯片STC89C51爆炸,主要的供在线下载功能的芯片也一起损坏,以至于此小系统板只能做外扩而不得下载了,于是又买了一个,由此耗资甚大,所以得结论:在未接电源之前一定要等电压源稳定才接,已连接焊好的板子要放平,动作要轻缓,不要因为大意而触动了连线带动电压源变化使得电流过大烧坏元件。