简易波形发生器的设计
- 格式:doc
- 大小:165.50 KB
- 文档页数:28
XXXX学院课程设计报告课程名称:单片机课程设计院系:电气与信息工程学院专业班级:自动化09102班学生姓名: X X指导教师: X X X完成时间: 2012年6月10日报告成绩:简易波形发生器简易波形发生器是一种常用的信号源,它广泛地应用在电子技术实验、自动控制系统和其他科研领域。
本系统能够准确产生方波、正弦波、锯齿波及三角波。
基于数模转换芯片DAC0832技术的简易波形发生器由六个部分组成:MCU模块、波形发生模块、静态LED 数码管显示模块、键盘输入模块、在线下载模块以及电源模块。
MCU模块采用STC89C51RC 单片机进行数据处理,波形发生模块采用DAC0832及LM324进行波形发生及变换,静态LED数码管显示模块利用3位八段共阳极数码管及3个74LS164显示当前波形频率,键盘模块采取外部中断方式扫描键值,在线下载模块选用MAX232芯片进行单片机程序下载,电源模块使用三端稳压器为系统提供能源。
运用Altium Designer软件绘制了单元电路以及总体电路图,借助Proteus仿真软件对电路进行了虚拟实验,通过仿真分析,满足了课题性能指标的要求,成功地实现了简易波形发生器的设计。
关键词波形发生器;DAC0832;STC89C51RC;静态显示Simple waveform generator is a common source, it is widely used in the experiment of electronic technology, automatic control system and other scientific fields. The system can accurately produce a square wave, sine wave, sawtooth wave and triangle wave. Based on the digital-analog conversion chip DAC0832 simple waveform generator consists of six parts: MCU module, waveform generator module, static LED digital display module, keyboard input module, the download module and power supply. The MCU STC89C51RC microcontroller is for data processing. The waveform generation module which made of DAC0832 and LM324 is used to generate waveform and transform. The static LED digital display module uses three eight out common anode digital and three 74LS164 to show the current waveform frequency. The keyboard module to take external interrupt the scan key. Download module use a MAX232 chip microcontroller program download. The power supply uses three-terminal regulator to provide energy for the system. Altium Designer were used to draw a unit circuit as well as the overall circuit. With Proteus simulation software to conduct virtual experiments on the circuit, simulation analysis, to meet the requirements of the subject of performance indicators, the successful implementation of a simple waveform generator design.Keywords waveform generator ;DAC0832;STC89C51RC; static LED digital display目录摘要 (I)Abstract (II)第一章简易波形发生器的方案设计 (1)1.1简易波形发生器的方案分析与比较 (1)1.1.1 基于数模转换芯片DAC0832的简易波形发生器的设计 (1)1.1.2 基于MAX038函数发生器的简易波形发生器的设计 (1)1.1.3 基于DDS波形发生技术的简易波形发生器的设计 (2)1.2 简易波形发生器的总体结构说明 (2)第二章简易波形发生器的电路设计 (3)2.1 MCU模块 (3)2.1.1 STC89C51RC单片机 (3)2.1.2 复位电路 (5)2.1.3 时钟电路 (5)2.2 DAC0832模块 (5)2.2.1 DAC0832芯片基本介绍 (6)2.2.2 DAC0832波形发生电路 (7)2.3 静态LED数码管显示模块 (7)2.3.1 移位寄存器74LS164 (7)2.3.2 静态显示电路 (8)2.4 键盘输入模块 (8)2.5 在线下载模块 (9)2.6 电源模块 (9)2.7 总体电路说明 (9)第三章简易波形发生器的程序设计 (10)3.1系统接口定义 (10)3.2 主程序 (10)3.3 外部总中断1中断服务程序 (11)第四章简易波形发生器仿真分析 (13)4.1初始界面 (13)4.2 波形发生仿真 (13)4.2.1 正弦波的仿真分析 (13)4.2.2 锯齿波发生仿真分析 (14)4.2.3 三角波发生仿真分析 (15)4.2.4 方波发生仿真分析 (17)总结 (19)参考文献 (20)致谢 (21)附录1:简易波形发生器原理图 (22)附录2:简易波形发生器Protues仿真图 (23)附录3:简易波形发生器元器件明细表 (24)附录4:简易波形发生器源程序 (25)第一章 简易波形发生器的方案设计简易波形发生器是一种常用的信号源,它广泛地应用在电子技术实验、自动控制系统和其他科研领域。
简易波形发生器一、实验目的1.掌握DAC0832和ADC0809的应用和编程方法。
2.熟悉几种典型波形的产生方法。
二、实验内容与要求利用微机实验平台编程实现一个波形发生器,可以产生正弦波、方波、三角波等各种波形,频率和幅度均可调。
1.基本要求(1)具有产生正弦波、方波、三角波三种周期性波形的功能。
(2)输出波形的频率范围为100Hz~1kHz,步进为100Hz。
(3)输出波形幅度范围1~5V(峰-峰值),可按步进1V(峰-峰值)调整。
(4)通过ADC0809采样DAC0832的输出,在屏幕上画出图形。
示波器查看波形发生器的输出和屏幕上的图形比较。
2.提高要求(1)增加输出波形的类型。
(2)扩展输出波形频率范围。
(3)减少幅度范围的步进量。
三、实验报告要求1.设计目的和内容2.总体设计3.硬件设计:原理图(接线图)及简要说明4.软件设计框图及程序清单5.设计结果和体会(包括遇到的问题及解决的方法)四、总体设计本次设计结合D/A和A/D转换,用键盘输入来选择DAC0832的输出波形,再通过ADC0809采集后在PC机上以图形方式显示。
实验主要利用实验箱上的DAC0832 、ADC0809和8253等硬件电路和PC机资源。
设计要求该波形发生器能产生正弦波、方波、三角波等形状的波形,频率和幅度可调。
不同的波形主要是由输入DAC0832的不同规律的数据,所以在软件设计是主要是构造各种波形的数据表格。
方波只需要控制输出高低电平的时间,三角波的表格可以由数字量的增减来控制,产生正弦波关于构造一个正弦函数数值表,通过查该函数表来实现波形的输出。
波形的频率控制是通过对输出数据的时间间隔控制。
幅度是通过改变输出数据的大小来控制的。
为了程序实现方便,可以把每种波形的数据表构造好,再统一查表来实现。
硬件由于采用了PC机的资源和微机实验平台,不用外加其他的电路,比较简单。
将微机系统里面的中断、8253、 DAC0832以及ADC0832的电路弄清楚,通过相应的跳线就可以完成电路的设计。
目录第一章单片机开发板 (1)1.1 开发板制作 (1)1.1.1 89S52单片机简介 (1)1.1.2 开发板介绍 (2)1.1.3 89S52的实验程序举例 (3)1.2开发板焊接与应用 (4)1.2.1开发板的焊接 (4)1.2.2开发板的应用 (5)第二章函数信号发生器 (7)2.1电路设计 (7)2.1.1电路原理介绍 (7)2.1.2 DAC0832的工作方式 (9)2.2 波形发生器电路图与程序 (10)2.2.1应用电路图 (10)2.2.2实验程序 (11)2.2.3 调试结果 (15)第三章参观体会 (16)第四章实习体会 (17)参考文献 (18)第一章单片机开发板1.1 开发板制作1.1.1 89S52单片机简介图1.1 89s52 引脚图如果按功能划分,它由8个部件组成,即微处理器(CPU)、数据存储器(RAM)、程序存储器(ROM/EP ROM)、I/O口(P0口、P1口、P2口、P3口)、串行口、定时器/计数器、中断系统及特殊功能寄存器(SF R)的集中控制方式。
各功能部件的介绍:1)数据存储器(RAM):片内为128个字节单元,片外最多可扩展至64K字节。
2)程序存储器(ROM/EPROM):ROM为4K,片外最多可扩展至64K。
3)中断系统:具有5个中断源,2级中断优先权。
4)定时器/计数器:2个16位的定时器/计数器,具有四种工作方式。
5)串行口:1个全双工的串行口,具有四种工作方式。
6)特殊功能寄存器(SFR)共有21个,用于对片内各功能模块进行管理、监控、监视。
7)微处理器:为8位CPU,且内含一个1位CPU(位处理器),不仅可处理字节数据,还可以进行位变量的处理。
8)四个8位双向并行的I/O端口,每个端口都包括一个锁存器、一个输出驱动器和一个输入缓冲器。
这四个端口的功能不完全相同。
A、P0口既可作一般I/O端口使用,又可作地址/数据总线使用;B、P1口是一个准双向并行口,作通用并行I/O口使用;C、 P2口除了可作为通用I/O使用外,还可在CPU访问外部存储器时作高八位地址线使用;D、P3口是一个多功能口除具有准双向I/O功能外,还具有第二功能。
简易波形发生器设计摘要本系统基于直接数字频率合成技术(DDFS )合成任意波形,由CPLD 和单片机系统构成,频率和幅度可以键控设定。
输出频率范围宽,步进小,频率和幅度的精度高。
可以输出各种基本波形它们的组合,具有扫频输出功能。
一. 方案设计方案一:采用间接合成技术,利用锁相环,将压控振荡器(VCO )的输出频率锁定在所需的频率上,该方案性能良好,但难以达到输出频率覆盖系数的要求,且由于锁相环本身是一个惰性环节,锁定时间长,故频率转换时间长。
电路也很复杂,最重要的是不能实现题目要求的任意波形。
图1—1—1 间接频率合成方案二:采用直接频率合成(DS )技术。
这种方法能实现快速频率变换,具有低相位噪声以及很高的工作频率。
但由于采用大量的倍频,分频,混频和滤波环节,导致该方法结构复杂,体积庞大,且易产生过多的杂散分量,难以达到较高的频率纯度。
该方案亦不能实现任意波形。
图1—1—2 直接频率合成方案三:采用直接数字频率合成技术(DDFS )用随机读写存储器RAM 存储所需波形的量化数据,按照不同频率要求以频率控制字K 为步进对相位增量进行累加,以累加相位值作为地址码读取存放在存储器内的波形数据,经D/A 转换和幅度控制,再滤波就得到所需波形。
—1—3 基于DDFS 频率合成基于DDFS 的频率合成原理框图如图1—1—3所示。
输出波形的一个完整周期的幅度值被顺序存放在波形存储器(可以是数据存储器或程序存储器)中。
当存储器的地址发生变化时,输出数据也将发生变化,通过D/A 输出电压波形,输出波形的频率与地址变化的快慢成正比。
在基准频率源的同步下,相位累加器每次累加频率控制字K ,相位累加器的低有效地址输出作为波形存储器的地址。
改变相位累加器的频率控制字K ,使得输出波形每个周期的点数改变,从而改变可输出频率。
假设基准频率源的输出频率为fs ,相位累加器为N 位(相位累加器的位数应满足大于波形存储器的位数),则输出频率为fo =fs K ∙2N (1—1—1)由式(1—1—1)可看出,改变K 值可改变输出频率,增加N 值可以减小频率步进。
波形发生器设计方案一、引言波形发生器是一种电子设备,用于产生具有特定频率、振幅和形状的电信号。
它在各种应用中广泛使用,例如科学实验、医疗设备和通信系统等。
本文将介绍一种波形发生器的设计方案。
二、设计原理波形发生器的设计原理是基于振荡电路。
振荡电路是一种能够稳定产生周期性信号的电路,通常采用反馈路径来实现。
在波形发生器中,我们将采用RC振荡电路作为基础。
三、设计步骤1. 选择合适的电路元件我们需要选择合适的电容和电阻来构建RC振荡电路。
根据所需的频率范围和精度要求,选取合适的元件。
2. 计算元件数值根据振荡电路的设计公式,计算所需的电容和电阻数值。
确保电容和电阻的数值可获得并满足设计需求。
3. 组装电路根据所选的电路元件和计算得到的数值,组装RC振荡电路。
确保元件的正确连接,并注意防止干扰和噪音。
4. 调试和优化连接电源后,使用示波器监测输出信号。
如果波形不满足设计要求,可以调整电容或电阻的数值进行优化。
四、特性和功能该波形发生器设计方案具有以下特性和功能:1. 频率可调性:通过调整电容或电阻的数值,可以实现不同频率的输出信号。
2. 波形形状可变性:根据实际需求,可以调整电路参数以产生正弦波、方波、矩形波等不同形状的输出信号。
3. 稳定性和精度:经过调试和优化后,该波形发生器能够稳定输出准确的波形信号。
五、应用领域本设计方案的波形发生器可应用于以下领域:1. 科学实验:在物理、化学等实验中,需要产生特定频率和形状的信号,用于测试和研究。
2. 医疗设备:在医疗设备中,波形发生器常用于心电图机、超声设备等,用于诊断和治疗。
3. 通信系统:在通信系统中,波形发生器被用于产生调制信号和时钟信号等,保证通信的稳定和可靠。
六、总结波形发生器是一种重要的电子设备,在多个领域中发挥着重要作用。
本文介绍了一种基于RC振荡电路的波形发生器设计方案,通过选择合适的元件、计算数值、组装电路和调试优化等步骤,可以实现频率可调、波形形状可变的输出信号。
程设计说明书题目波形信号发生器院(系):电子与信息工程学院班级:电技12-2 姓名:学号: 8 号任课教师:1、设计目的:设计使用的AT89S51 单片机构成的发生器可产生锯齿波、三角波、正弦波等多种波形,波形的周期可以用程序改变,并可根据需要选择单极性输出或双极性输出,具有线路简单、结构紧凑等优点。
在本设计的基础上,加上按钮控制和LED显示器,则可通过按钮设定所需要的波形频率,并在LED上显示频率、幅值电压,波形可用示波器显示。
2、设计任务或主要技术指标:设计一款可输出方波、正弦波、锯齿波的波形发生器。
1)波形:方波、正弦波、锯齿波;2)幅值电压:1V、2V、3V、4V、5V;3)频率:10HZ、20HZ、50HZ、100HZ、200HZ、500HZ、1KHZ;3、设计进度与要求:1)按钮分别控制“幅值”、“频率”、“方波”、“正弦波”、“锯齿波”。
2)“幅值“键初始值是1V,随后再次按下依次增长1V,到达5V后在按就回到1V。
3)“频率“键初始值是10HZ,随后在按下依次为20HZ、50HZ、100HZ、200HZ、500HZ、1000HZ循环。
摘要本系统是基于AT89C51单片机的数字式低频信号发生器。
采用AT89C51单片机作为控制核心,外围采用数字/模拟转换电路(DAC0832)、运放电路(LM324)、按键和8位数码管等。
通过按键控制可产生方波、三角波、正弦波等,同时用数码管指示其对应的频率。
其设计简单、性能优好,可用于多种需要低频信号的场所,具有一定的实用性。
各种各样的信号是通信领域的重要组成部分,其中正弦波、三角波和方波等是较为常见的信号。
在科学研究及教学实验中常常需要这几种信号的发生装置。
为了实验、研究方便,研制一种灵活适用、功能齐全、使用方便的信号源是十分必要的。
本文介绍的是利用AT89C51单片机和数模转换器件DAC0832产生所需不同信号的低频信号源,其信号幅度和频率都是可以按要求控制的。
基于AD9834的波形发生器的设计一、引言波形发生器广泛应用于电子测量、通信、医疗等领域,可以产生不同频率和形状的电信号。
AD9834是一款数字控制的波形发生器芯片,具有高精度、高稳定性和低功耗的特点。
本文将基于AD9834芯片设计一个简单的波形发生器。
二、设计方案1.系统框图设计的波形发生器主要由AD9834芯片、时钟源、控制电路和输出电路组成。
其中,AD9834芯片负责产生不同频率和形状的电信号,时钟源提供时钟信号使AD9834工作,控制电路负责设置AD9834的参数,输出电路将AD9834产生的信号输出。
2.AD9834芯片AD9834芯片是一款数字控制的波形发生器,具有12位分辨率的DAC 和32位频率控制寄存器。
通过控制寄存器中的频率和相位信息,可以生成正弦、方波和锯齿波等不同形状的信号。
3.时钟源时钟源提供高精度的时钟信号供AD9834芯片使用。
可以选用晶振作为时钟源,也可以选择其他高精度的时钟源供电。
4.控制电路控制电路负责设置AD9834芯片的频率和相位信息。
可以使用单片机或外部控制器来实现控制电路,通过SPI接口与AD9834芯片进行通信,设置相应的参数。
5.输出电路输出电路将AD9834产生的信号输出。
可以采用运放电路来放大输出信号,以满足不同应用的需求。
三、设计步骤1.选择合适的时钟源,并提供给AD9834芯片。
2.设计控制电路,通过SPI接口与AD9834芯片进行通信,设置频率和相位信息。
3.设计输出电路,将AD9834产生的信号经过必要的放大处理,并输出到使用端。
四、性能指标1.输出频率范围:AD9834芯片支持从0Hz到12.5MHz的输出频率范围。
2.分辨率:AD9834芯片的DAC具有12位分辨率,可以实现较高的频率精度。
3.输出信号形状:AD9834芯片支持输出正弦波、方波和锯齿波等不同形状的信号。
4.输出电平:根据实际需求,设计合适的输出电路来满足输出电平要求。
实验二简易DDS波形发生器设计084775116 马丽丽084775117 潘奕颖一、实验目的:进一步熟悉绘制ASM图分析实验的方法;进一步掌握将VHDL程序符号化的使用方法;熟悉ROM表的制作与符号化;了解DDS波形发生器的基本原理。
二、实验内容:利用FPGA和DAC,设计一个简易的DDS波形发生器并发出正弦波。
三、设计要求:1.分辨率优于1Hz;2.ROM表长度8位,位宽10位;3.输出频率优于100kHz(每个周期数据点大于50);4.显示信号频率/频率控制字(可切换);5.直接输入频率控制字或输出频率。
四、实验仪器:计算机1台;QUARTUS II软件一套;试验箱1台。
五、方法步骤:1.绘制ASM图;阅读实验要求,分析实验过程,然后绘制ASM图如下页:2. 建立一个工程;打开QUARTUS II 软件,Files → New Project Wizard → 选择储存路径→ next → next → 选择芯片Cyclone II EP2C5T144C8 → next → finish 。
3. 编写累加器的VHDL 文件,并将其转换成图形文件;①Files → New → VHDL File → 开始编写程序; ②经过编写后,进行编译(Tools → Compiler Tool →Strart),改错,再编译,改错直至编译成功,保 存文件名为“dds1.vhd ”;程序如下:library ieee;library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_unsigned.all;entity dds1 isport(m:in std_logic_vector(19 downto 0);cp,r:in std_logic;q:out std_logic_vector(7 downto 0));end dds1;architecture z of dds1 issignal t:std_logic_vector(22 downto 0);signal n:std_logic_vector(22 downto 0);beginprocess(cp)beginn<="000"&m;if cp'event and cp='1' thenif r='1' thent<="00000000000000000000000";elsif t+n>8388607 thent<="00000000000000000000000";elset<=t+n;end if;end if;q<=t(22 downto 15);end process;end z;③编译通过以后,File → Create/Update → Create Symbol Files For Current File。
湖南工程学院课程设计课程名称单片机原理与应用课题名称简易波形发生器的设计专业自动化班级0681学号200613110129姓名田凯指导教师_________ 李世军__________2009年5 月25日湖南工程学院课程设计任务书课程名称单片机原理与应用课题简易波形发生器的设计专业班级自动化学生姓名学号指导老师审批任务书下达日期2009年5 月25 日任务完成日期2009年6月8 日目录第1章概述 (8)1.1 课题设计要求 (8)1.2 课题设计目的和意义 (8)第2章系统总体设计方案 (9)2.1 设计说明 (9)2.2 总体设计思路 (9)第3章系统结构图及工作原理 (10)3.1 系统结构框图 (10)3.2 工作原理 (11)第4章各单元硬件设计及其计算方法 (11)4.1 硬件设计 (11)4.2 单片机的选择 (13)第5章软件设计与说明 (14)5.1 软件设计 (14)5.2 流程图 (17)第6章使用说明 (17)6.1 调试步骤 (17)6.2 调试结果 (18)第7章总结 (18)参考文献 (20)附录 (21)A 系统原理图 (21)B 程序清单 (22)第1章概述1.1 课题的设计要求本课题以单片机为核心,实现能输出正弦波、三角波、锯齿波、方波和梯形波信号五种波形,要求有以下功能:1、系统在初始时轮流输出五种波形,并轮流显示。
2、用按键选择五种波形的输出,并相应的用数码管显示其波形标号。
1.2 课题的设计目的和意义单片机的实验简易波形发生器的设计可以给我们的生活带来乐趣,可以放松我们的心情,可以让我们得到释怀。
而且通过这次设计我们可以学到关于单片机在实际生活中的设计应用,同时也使我们加深了对单片机的认识,提高了我们的编程能力,为我们能够更好的学习单片机有很大的帮助。
第2章系统总体设计方案2.1 设计说明利用微机实验平台编程实现一个波形发生器,可以产生正弦波、方波、三角波等各种波形基本要求:(1)具有产生正弦波、方波、三角波三种周期性波形的功能。
(2)输出波形的频率范围为100Hz~1kHz,步进为100Hz。
(3)输出波形幅度范围1~5V(峰-峰值),可按步进1V(峰-峰值)调整。
(4)通过ADC0809采样DAC0832的输出,在屏幕上画出图形。
示波器查看波形发生器的输出和屏幕上的图形比较。
2.2 总体设计思路本次设计结合D/A和A/D转换,用键盘输入来选择DAC0832的输出波形,再通过ADC0809采集后在PC机上以图形方式显示。
实验主要利用实验箱上的DAC0832 、ADC0809和8255等硬件电路和PC机资源。
设计要求该波形发生器能产生正弦波、方波、三角波等形状的波形,频率和幅度可调。
不同的波形主要是由输入DAC0832的不同规律的数据,所以在软件设计是主要是构造各种波形的数据表格。
方波只需要控制输出高低电平的时间,三角波的表格可以由数字量的增减来控制,产生正弦波关于构造一个正弦函数数值表,通过查该函数表来实现波形的输出。
波形的频率控制是通过对输出数据的时间间隔控制。
幅度是通过改变输出数据的大小来控制的。
为了程序实现方便,可以把每种波形的数据表构造好,再统一查表来实现。
第3章系统结构图及工作原理3.1 系统结构框图3.2 工作原理在双极性电压波形发生器中,DAC0832转换器输入数据采用单缓冲方式,与89C51接口电路。
DAC0832转换器输出部分接口电路,由于考虑到软件产生电压波形有正负极性输出,因此这部分设计成双极性电压输出,其方法是单极性输出运算放大器后面加一级运算放大器,形成比例求和电路,通过电平移动,使单极性输出变为双极性输出。
第4章各单元硬件设计及计算方法4.1 硬件设计硬件由于采用了PC机的资源和微机实验平台,不用外加其他的电路,比较简单。
将微机系统里面的中断、8255、 DAC0832以及ADC0832的电路弄清楚,通过相应的跳线就可以完成电路的设计。
本次设计中,通过PC机键盘选择波形,启动DAC0832工作,在其输出端口VOUT1将会产生0~5V的直流电压,再由ADC 0809的IN0端口进行采样,显示到屏幕上。
DAC0832所对应的片选为CS4,ADC0809所对应的片选为CS0。
DAC0832 和ADC0809硬件连接图如图1所示。
在ADC0809芯片连接中,CLOCK用来接收外部时钟信号,在本实验中接收Q3端产生的时钟信号。
ADD_A,ADD_B和ADD_C这三个端口为三位地址线,用来选通8路模拟量输入中的一路。
在本实验中,只使用ADC 0809中的IN0端口,当ADD_A,ADD_B和ADD_C端口都为低电平时,才能选中IN0端口。
在本PC实验箱中ADC 0809IN0端口地址为280H,其地址总线中的A0,A1,A2均为低电平。
故将ADD_A,ADD_B和ADD_C与A0,A1,A2如图所示连接。
REF(+)接正参考电压(+5V),REF(-)接负参考电压(接地)。
图1 设计硬件连接图4.2.单片机的选择当今单片机厂商琳琅满目,产品性能各异。
常用的单片机有很多种:Intel8051系列、Motorola和M68HC系列、Atmel的AT89系列、台湾Winbond(华邦)W78系列、荷兰Pilips的PCF80C51系列、Microchip 公司的PIC系列、Zilog的Z86系列、Atmel的AT90S系列、韩国三星公司的KS57C系列4位单片机、台湾义隆的EM-78系列等。
根据初步设计方案的分析,设计这样一个简单的应用系统,可以选择带有EPROM的单片机,应用程序直接存储在片内,不用在外部扩展程序存储器,电路可以简化。
该系统的设计我们采用AT89C51芯片。
AT89C51是一种带4K字节闪烁可编程可擦除只读存储器(FPEROM—Falsh Programmable and Erasable Read Only Memory)的低电压,高性能CMOS8位微处理器,俗称单片机。
AT89C2051是一种带2K字节闪烁可编程可擦除只读存储器的单片机。
单片机的可擦除只读存储器可以反复擦除100次。
该器件采用ATMEL高密度非易失存储器制造技术制造,与工业标准的MCS-51指令集和输出管脚相兼容。
由于将多功能8位CPU和闪烁存储器组合在单个芯片中,ATMEL的AT89C51是一种高效微控制器,AT89C2051是它的一种精简版本。
AT89C单片机为很多嵌入式控制系统提供了一种灵活性高且价廉的方案。
主要特性:1)与MCS-51 兼容2)4K字节可编程闪烁存储器3)寿命:1000写/擦循环4)数据保留时间:10年5)128*8位内部RAM6)可编程串行通道7)低功耗的闲置和掉电模式第5章软件设计与说明5.1软件设计本设计的主要是掌握各种典型波形的产生方法,例如三角波、方波和正弦波。
构造各种波形的数据表和对ADC0832的编程输出。
对于波形的频率调节主要是由8253定时/计数器来控制。
1.波形数据表的构造每个周期的数据表由64个数据组成,不同的幅度对应的数据不一样,可以根据倍数关系求出。
但是为了简化计算,将每个幅值的数据表列出。
这边我们只讨论幅值为5V时的数据表,其他的数据表可以根据倍数关系求得。
1)方波数据表的构造只要输出高电平和低电平就可以了,所以输入到ADC0832的数据由32个00H和32个FFH组成。
2)三角波数据表的构造三角波是由数据量的增减来控制的。
在前半个周期数据由00H增加到FFH,在后半个周期数据由FFH减少到00H,每次变化为08H。
所以三角波的数据表为:BUFDB00H,08H,10H,18H,20H,28H,30H,38H,40H,48H,50H,58H,60H,68H,70H,78HDB 80H,88H,90H,98H,0A0H,0A8H,0B0H,0B8HDB 0C0H,0C8H,0D0H,0D8H,0E0H,0E8H,0F0H,0F8HDB 0FFH,0F8H,0F0H,0E8H,0E0H,0D8H,0D0H,0C8HDB 0C0H,0B8H,0B0H,0A8H,0A0H,98H,90H,88HDB 80H,78H,70H,68H,60H,58H,50H,48H,40H,38H,30H,28H,20H,18 H,10H,08H3)正弦波数据表的构造DAC 0832的输入数据与输出电压的关系为:Ua=(UREF)/256*N,其中UREF表示参考电压(+5V),N表示数据。
由于8位D/A转换器DAC 0832的数据N 的范围为:00H—FFH,故Ua的范围为:0V—4.98V。
则产生的正弦波的幅度也为0V—4.98V。
我们以正弦函数的0--π/2为例,0度时我们设定其对应的N为:80H,π/2时必然对应的N为:FFH,在0--π/2的范围内有16个点,故间隔为6度。
综上所诉正弦波函数为:Ua =2.48*sin6x+2.5(x=0,1,……15)。
联合上述两式,就可得出0--π/2范围内的16个N值。
构造出正弦波数据表如下:SINBUF: DB 080H,08CH,098H,0A5H,0B0H,0BCH,0C7H,0D1H DB 0DAH,0E2H,0EAH,0F0H,0F6H,0FAH,0FDH,0FFHDB 0FFH,0FDH,0FAH,0F6H,0F0H,0EAH,0E2H,0DAHDB 0D1H,0C7H,0BCH,0B0H,0A5H,098H,08CH,080HDB 7FH,73H,67H,5AH,4FH,43H,38H,2EHDB 25H,1DH,15H,0FH,09H,05H,02H,00HDB 00H,02H,05H,09H,0FH,15H,1DH,25HDB 2EH,38H,43H,4FH,5AH,67H,73H,7FH2.程序的主要模块程序主要由主程序和中断服务程序构成。
主要由菜单显示、键盘读取、DA输出、AD采样、屏幕画图等模块组成。
菜单显示包含有3个菜单:主菜单和2个子菜单。
主菜单有选择波形和退出选项,子菜单有选择频率菜单和选择幅度菜单。
键盘读取是配合菜单显示的条件下,接收键盘的输入,得到相应的数据来处理,决定输出波形的信息。
DA输出是将数据输出到ADC0832转换为模拟量输出。
ADC0809的转换控制如下:选择通道并启动转换→延时等待→读取转换结果。
5.2 流程图第6章调试结果与调试说明6.1调试步骤1. 输入源程序输入源程序时,应以西文方式输入字母和符号,且中文注释前要加分号。
2.对源程序进行汇编和纠错根据自动汇编提供的错误信息逐条纠正错误,直至汇编信息提示无误。
3.确定调试方案在调试程序前认真分析源程序,确定各功能程序运行的预期结果。