DAC0832数模转换说明书
- 格式:docx
- 大小:738.85 KB
- 文档页数:17
实验4 ADC0832并行数模转换实验【实验目的】熟悉D/A转换的工作原理,学习使用并行数模转换芯片DAC0832进行数字信号到模拟信号的转换过程。
【实验设备及器件】IBM PC 机一台DP-51PROC单片机综合仿真实验仪一台示波器一台【实验内容】通过片外总线方式访问并行数模转换器芯片DAC0832,掌握数字信号到模拟电压的转换方法。
【实验要求】理解掌握DAC0832的D/A转换原理和并行D/A转换器接口的编程方法,学会使用DAC0832并行模数转换器实现电压信号采集的方案设计。
【实验步骤】1.使用2×10的排线连接C9区的J4接到A7区的J84;2.将模块上的JP1跳线帽跳至右侧的VCC处;3.将A7区的P2_CS连接到A2区的A15;4.将A7区的P2_IO2、P2_IO5和P2_INT分别接入C4区的A-、A+和AOUT;5.将C4区的V+和V-分别接至C1区的+12V和-12V;6.将C4区的A+接到C1区的GND;7.运行编写好的软件程序,使用示波器观察C4区AOUT处的波形是否为锯齿波。
【实验预习要求】认真预习本节实验内容,按照实验要求提前做好实验准备工作,认真阅读DAC0832的数据手册。
图1.1DAC0832引脚接线图【实验参考程序】汇编语言程序清单ORG 8000HLJMP MAINORG 8100HMAIN: MOV SP,#70HMOV DPTR,#7FFFHMOV A,#0FFHLOOP: MOVX @DPTR,ADEC ALJMP LOOPENDC51程序清单#include <reg52.h>#include <absacc.h>#define PA XBYTE[0x7fff]typedef unsigned char byte;void main(void){byte a;while(1){for(a=255;a>0;a--){PA=a;}}}【实验思考题】1.请改变上面的程序,使之输出三角波,并通过示波器观察。
DAC0832是采样频率为八位的D/A转换器件,下面介绍一下该器件的中文资料以及电路原理方面及应用的知识。
DAC0832内部结构资料:芯片内有两级输入寄存器,使DAC0832具备双缓冲、单缓冲和直通三种输入方式,以便适于各种电路的需要(如要求多路D/A异步输入、同步转换等)。
D/A转换结果采用电流形式输出。
要是需要相应的模拟信号,可通过一个高输入阻抗的线性运算放大器实现这个供功能。
运放的反馈电阻可通过RFB端引用片内固有电阻,海可以外接。
该片逻辑输入满足TTL电压电平范围,可直接与TTL电路或微机电路相接,下面是芯片电路原理图DAC0832引脚图和内部结构电路图电路图如上图所示,此接法是用DAC0832的直通方式,只要二进制数据送到DAC0832的数据口,则会自动把数据转为相应的电压.但运放是如图的电压则输出一般不可能达到基准电压.要想达到基准电压则要提高运放的电压.当基准为负是,只要提高运放的正电压就可以使输出达到基准电压了,当基准为正是,则为提高运放的负电压,一般的运放提高两伏就可以了,但不同的运放会有些区别.程序如下:1.输出固定电压的程序#include "reg51.h"void DAC0832(unsigned char x){P2=x;}void main(){DAC0832(255);while(1){;}}2.输出三角波与正弦波程序.#include<AT89X52.H>unsigned char flag; //波型输出标置变量bit time;unsigned char sin(unsigned char x){unsigned char codesin_tab[]={125,128,131,134,138,141,144,147,150,153,156,159,162,165,168,171,174,177,180,182,185,188,191, 193,196,198,201,203,206,208,211,213,215,217,219,221,223,225,227,229,231,232, 234,235,237,238,239,241,242,243,244,245,246,246,247,248,248,249, 249,250,250,250,250,250,250,250,250,249,249,248,248,247,246,246, 245,244,243,242,241,239,238,237,235,234,232,231,229,227,225,223, 221,219,217,215,213,211,208,206,203,201,198,196,193,191,188,185, 182,180,177,174,171,168,165,162,159,156,153,150,147,144,141,138, 134,131,128,125,122,119,116,112,109,106,103,100,97,94,91,88,85,82,79,76,73,70,68,65,62,59,57,54,52,49,47,44,42,39,37,35,33,31,29,27 ,25,27,29,27,25,23,21,19,18,16,15,13,12,11,9,8,7,6,5,4,4,3,2,2,1,1,0,0,0,0,0,0 ,0,0,1,1,2,2,3,4,4,5,6,7,8,9,11,12,13,15,16,18,19,21,23,25,27,29,31 ,33,35,37,39,42,44,47,49,52,54,57,59,62,65,68,70,73,76,79,82,85,88 ,97,94,97,100,103,106,109,112,116,119,122};return sin_tab[x];}void DAC0832(unsigned char x){P2=x;}void main(){unsigned char i;TMOD=0X02; //定时器0用于控制输出波的频率TH0=256-40;ET0=1; //按键接于外部中断0,与中断1 IT0=1;IT1=1;EX0=1;EX1=1;EA=1;TR0=1;flag=0; //开始时无输出i=0;while(1){if(time==1){time="0";if(i>249)i="0";elsei++;switch(flag) //当按键1的为输出三角波,按键2时输出正弦波 {case 0:DAC0832(0);break;case 1:if(i>125)DAC0832(250-i);elseDAC0832(i);break;case 2:DAC0832(sin(i));break;default: break;}}}}void time0() interrupt 1{time="1";}void int0() interrupt 0 { //按键1接于外部中断0flag="1";}void int1() interrupt 2 //按键2接于外部中断1 {flag="2";}(注:可编辑下载,若有不当之处,请指正,谢谢!)。
说明dac0832的应用原理介绍DAC0832是一款数字模拟转换芯片(Digital-to-Analog Converter),常用于将数字信号转换为模拟信号,广泛应用于工业自动化、仪器仪表等领域。
本文将介绍DAC0832的应用原理及相关技术细节。
基本原理DAC0832通过将输入的数字信号转换为模拟信号,实现模拟输出。
其基本原理是将一个二进制数字转换为对应的电压输出。
DAC0832具有8位数模转换能力,即能将8位数字转换为相应的电压输出。
应用场景DAC0832在实际应用中有多种用途,例如: - 电子显示屏:将数字信号转换为模拟信号,控制显示屏亮度。
- 软件定义无线电(SDR):将数字信号转换为模拟信号,实现射频信号的发射。
- 工业控制系统:将数字信号转换为模拟信号,控制各种执行器和传感器。
工作原理DAC0832的工作原理包括三个主要部分:输入控制信号、数字模拟转换核心、输出电压。
输入控制信号DAC0832的输入控制信号包括: - CS(Chip Select):用于使能芯片。
- RD (Read):读取芯片内部数据。
- ALE(Address Latch Enable):用于锁存输入数据。
- WR(Write):写入芯片内部数据。
- DB0-DB7(Data Bus):输入的8位二进制数字。
数字模拟转换核心DAC0832的数字模拟转换核心采用双电流型架构,包括数模转换器、电流源和电流切换电路。
- 数模转换器:将输入的二进制数字转换为相应的模拟信号。
-电流源:提供输出电流。
- 电流切换电路:根据数模转换器的输出结果,切换相应的电流。
输出电压DAC0832的输出电压由电流切换电路产生,通过外部电阻接在输出端口上形成电压输出。
输出电压范围由VREF(参考电压)确定,一般为0~VREF。
硬件接口DAC0832的硬件接口包括VCC、GND、CS、RD、ALE、WR、DB0-DB7和OUT。
DAC0832数模转换实验一、实验目的1、掌握DAC0832直通方式,单缓冲器方式、双缓冲器方式的编程方法2、掌握D/A转换程序的编程方法和调试方法二、实验说明DAC0832是8位D/A转换器,它采用CMOS工艺制作,具有双缓冲器输入结构,其引脚排列如图所示,DAC0832各引脚功能说明:DI0~DI7:转换数据输入端。
CS:片选信号输入端,低电平有效。
ILE:数据锁存允许信号输入端,高电平有效。
WR1:第一写信号输入端,低电平有效,Xfer:数据传送控制信号输入端,低电平有效。
WR2:第二写信号输入端,低电平有效。
Iout1:电流输出1端,当数据全为1时,输出电流最大;当数据全为0时,输出电流最小。
Iout2:电流输出2端。
DAC0832具有:Iout1+Iout2=常数的特性。
Rfb:反馈电阻端。
Vref:基准电压端,是外加的高精度电压源,它与芯片内的电阻网络相连接,该电压范围为:-10V~+10V。
VCC和GND:芯片的电源端和地端。
DAC0832内部有两个寄存器,而这两个寄存器的控制信号有五个,输入寄存器由ILE、CS、WR1控制,DAC寄存器由WR2、Xref控制,用软件指令控制这五个控制端可实现三种工作方式:直通方式、单缓冲方式、双缓冲方式。
直通方式是将两个寄存器的五个控制端预先置为有效,两个寄存器都开通只要有数字信号输入就立即进入D/A转换。
单缓冲方式使DAC0832的两个输入寄存器中有一个处于直通方式,另一个处于受控方式,可以将WR2和Xfer相连在接到地上,并把WR1接到80C51的WR上,ILE接高电平,CS 接高位地址或地址译码的输出端上。
双缓冲方式把DAC0832的输入寄存器和DAC寄存器都接成受控方式,这种方式可用于多路模拟量要求同时输出的情况下。
三种工作方式区别是:直通方式不需要选通,直接D/A转换;单缓冲方式一次选通;双缓冲方式二次选通。
三、实验步骤1、用8P数据线连接单片机最小应用系统1模块的 P0口到D/A转换模块的DI0~DI7口,用二号导线分别连接单片机最小应用系统1模块的P2.0、WR到D/A转换模块的P2.0、WR,连接D/A转换模块的Vref口到-5V口,D/A转换模块的OUT接示波器探头。
数模转换DAC0832的应用(含电路和源程序)数模转换DAC0832的应用[实验要求]通过用单片机控制DAC0832输出锯齿波,让实验板上发光二极管D12由暗到亮变化,循环下去。
[实验目的]学会用单片机控制数模转换芯片DAC0832。
DAC0832:DAC0832是8位全MOS中速D/A 转换器,采用R—2RT 形电阻解码网络,转换结果为一对差动电流输出,转换时间大约为1us。
使用单电源+5V―+15V 供电。
参考电压为-10V-+10V。
在此我们直接选择+5V 作为参考电压。
DAC0832 有三种工作方式:直通方式,单缓冲方式,双缓冲方式;在此我们选择直通的工作方式,将XFER WR2 CS 管脚全部接数字地。
管脚8 接参考电压,在此我们接的参考电压是+5V。
我们在控制P0口输出数据有规律的变化将可以产生三角波,锯齿波,梯型波等波形了。
[硬件电路][源代码]//TX-1BDA测试程序,下载后可观察到D13发光二极管由暗变亮再熄//灭过程,#include<reg51.h>sbit wela=P2^7; //数码管位选sbit dula=P2^6; //段选sbit dawr=P3^6; //DA写数据sbit csda=P3^2; //DA片选unsigned char a,j,k;void delay(unsigned char i) //延时{for(j=i;j>0;j--)for(k=125;k>0;k--);}void main(){wela=0;dula=0;csda=0;a=0;dawr=0;while(1){P0=a; //给a不断的加一,然后送给DAdelay(50); // 延时50ms 左右,再加一,再送DA。
a++;}}注意:随着给DA送的数字量的不断增加,其转换成模拟量的电流也不断的增大,所以我们观察发光二极管D12就会从暗变亮,熄灭。
DAC0832引脚功能电路应用原理图(一)D/A转换器DAC0832DAC0832是采用CMOS工艺制成的单片直流输出型8位数/模转换器。
如图4-8 2所示,它由倒T型R-2R电阻网络、模拟开关、运算放大器和参考电压VREF 四大部分组成。
运算放大器输出的模拟量V0为:图4-82由上式可见,输出的模拟量与输入的数字量()成正比,这就实现了从数字量到模拟量的转换。
一个8位D/A转换器有8个输入端(其中每个输入端是8位二进制数的一位),有一个模拟输出端。
输入可有28=256个不同的二进制组态,输出为256个电压之一,即输出电压不是整个电压范围内任意值,而只能是256个可能值。
DAC0832输出的是电流,一般要求输出是电压,所以还必须经过一个外接的运算放大器转换成电压。
实验线路如图4-84所示。
图4-851. 运算放大器运算放大器有三个特点:⑴开环放大倍数非常高,一般为几千,甚至可高达10万。
在正常情况下,运算放大器所需要的输入电压非常小。
⑵输入阻抗非常大。
运算放大器工作时,输入端相当于一个很小的电压加在一个很大的输入阻抗上,所需要的输入电流也极小。
⑶输出阻抗很小,所以,它的驱动能力非常大。
2.由电阻网络和运算放大器构成的D/A转换器利用运算放大器各输入电流相加的原理,可以构成如图10.7所示的、由电阻网络和运算放大器组成的、最简单的4位D/A转换器。
图中,V0是一个有足够精度的标准电源。
运算放大器输入端的各支路对应待转换资料的D0,D1,…,D n-1位。
各输入支路中的开关由对应的数字元值控制,如果数字元为1,则对应的开关闭合;如果数字为0,则对应的开关断开。
各输入支路中的电阻分别为R,2R,4R,…这些电阻称为权电阻。
假设,输入端有4条支路。
4条支路的开关从全部断开到全部闭合,运算放大器可以得到16种不同的电流输入。
这就是说,通过电阻网络,可以把0000B~1111B转换成大小不等的电流,从而可以在运算放大器的输出端得到相应大小不同的电压。
D/A转换器DAC0832DAC0830/DAC08328位μP兼容、双缓冲D/A转换器总述DAC0832是采用CMOS工艺制成的单片直流输出型8位数/模转换器。
旨在直接与8080,8048,8085,Z80及其他通用的微型处理器进行相接。
存储的硅铬R-2R 电阻梯形网络将参考电流分开,并为电路提供合适的温度处理特性(全范围最大线性温度误差的0.05%)。
电路利用CMOS电流开关和控制逻辑来取得最少的电能损耗和最小的输出泄露电流误差。
特殊的电路也能提供TTL逻辑输入电压的水平兼容。
双缓冲可以使这些D/A转换器在获取下一个数位字时输出相应一个数位字的电压。
这就使得任何一个D/A转换器均可进行同步更新。
D/A转换器0830系列是8位的可兼容微型处理器的D/A转换器的集合。
特征⏹双缓冲,单缓冲,或流通数字数据输入⏹可容易地与12位1230系列D/A转换器进行互换且插脚兼容⏹可直接与所有流通的微型处理器相接⏹线性指定为零,且只能进行全面调整——不是最佳直线拟合⏹在±10V全参考4象限倍增中工作⏹可用于电压转换模式⏹逻辑输入满足TTL电压水平说明(1.4V逻辑门限值)⏹需要时,可运行“STAND ALONE”(没有μP)⏹存在于20插脚小型或者模塑芯片运载包中性能及规格描述⏹电流设置时间:1μs⏹分辨率:8位⏹线性度:8,9或者10位(保证温度)⏹低功耗:20mW⏹单电源提供:直流5-15V典型应用图1典型应用连接连接图图2双行和小外形封装图3 封装图绝对最大额定参数(注解1,2)如果需要军事/航空特定设备,请联系国家半导体销售中心/分支机构咨询其有效性及性能。
电源电压(VCC) 17V直流电压输出电压 VCC-GND输入VREF ±12V储存温度范围 -65 ° C至+150 ° C封装耗散当TA= 25 ℃(注3 ) 500Mw直流电压的应用IOUT1或IOUT2 (注4 ) -100 mV到VCC公共服务电子化Susceptability (注4 ) 800V焊接温度(焊接, 10秒。
DAC0832引脚功能电路应用原理图DAC0832是采样频率为八位的D/A转换芯片,集成电路内有两级输入寄存器,使DAC0832芯片具备双缓冲、单缓冲和直通三种输入方式,以便适于各种电路的需要(如要求多路D/A异步输入、同步转换等)。
所以这个芯片的应用很广泛,关于DAC0832应用的一些重要资料见下图: D/A转换结果采用电流形式输出。
若需要相应的模拟电压信号,可通过一个高输入阻抗的线性运算放大器实现。
运放的反馈电阻可通过RFB端引用片内固有电阻,也可外接。
DAC0832逻辑输入满足TTL电平,可直接与TTL电路或微机电路连接。
dac0832应用电路图dac0832应用电路图:DAC0832引脚功能说明:DI0~DI7:数据输入线,TLL电平。
ILE:数据锁存允许控制信号输入线,高电平有效。
CS:片选信号输入线,低电平有效。
WR1:为输入寄存器的写选通信号。
XFER:数据传送控制信号输入线,低电平有效。
WR2:为DAC寄存器写选通输入线。
Iout1:电流输出线。
当输入全为1时Iout1最大。
Iout2: 电流输出线。
其值与Iout1之和为一常数。
Rfb:反馈信号输入线,芯片内部有反馈电阻.Vcc:电源输入线(+5v~+15v)Vref:基准电压输入线(-10v~+10v)AGND:模拟地,摸拟信号和基准电源的参考地. DGND:数字地,两种地线在基准电源处共地比较好.采用ADC0809实现A/D转换。
(一) D/A转换器DAC0832DAC0832是采用CMOS工艺制成的单片直流输出型8位数/模转换器。
如图4-82所示,它由倒T型R-2R电阻网络、模拟开关、运算放大器和参考电压VREF四大部分组成。
运算放大器输出的模拟量V0为:图4-82由上式可见,输出的模拟量与输入的数字量() xx,这就实现了从数字量到模拟量的转换。
一个8位D/A转换器有8个输入端(其中每个输入端是8位二进制数的一位),有一个模拟输出端。
设计说明书
题目:DAC0832数模转换
专业:机电
班级:机械111
姓名:蒋德昌
学号:2011071117
摘要
波形发生器是能够产生大量的标准信号和用户定义信号,并保证
高精度、高稳定性、可重复性和易操作性的电子仪器。
函数波形发
生器具有连续的相位变换、和频率稳定性等优点,不仅可以模拟各
种复杂信号,还可对频率、幅值、相移、波形进行动态、及时的控制,并能够与其它仪器进行通讯,组成自动测试系统,因此被广泛
用于自动控制系统、震动激励、通讯和仪器仪表领域。
本设计是基于DAC0832波形发生器设计与实现。
系统是用AT89C51
作为系统的控制核心,外围电路采用数字/模拟转换电路DAC0832,
运放电路采用最简单的反相放大器,按键,LCD显示器等。
系统通
过按键来进行整个系统的控制,按键控制切换产生正弦波,锯齿波,三角波,并且通过另外四个按键改变幅值和频率。
系统经过调试和
最后的检测,可以得出本系统一下特点:性能较好,稳定性强,价
格便宜,容易操作,具有一定的实用性,最后的成品可以用在常用
的有波形发生器功能要求的应用电子仪器设备上。
关键词:单片机波形发生器 DAC0832 LCD显示器
目录
1设计任务 (4)
2系统整体方案 (4)
3仿真图 (6)
4所用硬件介绍 (9)
4.1 DAC0832 (9)
4.2 LCD1602 (10)
4.3排阻 (11)
4.4 运算放大器 (12)
4.5按键 (13)
5软件系统设计 (14)
5.1 主程序流程图 (14)
5.2波形选择的设计 (14)
5.3按键改变波形频率的设计 (15)
5.4按键改变波形振幅的设计 (15)
6总结 (16)
1设计任务
通过DAC0832实现数模转换,即设计波形发生器,同时采用按
键的形式改变波形的频率和振幅,以及当前波形的选择,并在
LCD1602上显示出来。
(1)每按下按键1一次,可以选择不同的波形。
并在LCD1602上显示当前波形的类型。
(2)每按下按键2一次,减小当前波形的频率;每按下按键3一次,增加当前波形的频率。
并且在LAD1602上显示此时按键执行的
功能。
(3)每按下按键4一次,增加当前波形的振幅,每按下按键5一次,减小当前波形的振幅。
并且在LAD1602上显示此时按键执行的
功能。
2系统整体方案
该DAC0832数模转换电路是以AT89C51单片机为控制核心,通过
定时器对按键检测进行控制,误差小,外围电路主要包括单片机最
小系统电路、LCD1602液晶显示电路、按键检测电路,DAC0832数模
转换电路(附加运算放大器)。
单片机最小系统分四个部分:(1).晶振,至于大小由你单片机时钟周期要求而决定(用于计时,与两
个电容并联使用,电容大小由你的晶振决定,一般用22pF)(2).
复位电路(用于复位)(3).电源(用于供电,一般用电脑的USB
口供电)(4).烧制程序的口(可用串口配合MAX232配合使用,也
可以做个并口输入,这个要根据你使用单片机的种类决定,比如
ATC可用并口,STC一般只用串口输入等等。
单片机的P0口接到
LCD1602的控制器接口,P3.5,P3.6,P3.7分别接LCD1602的
RS,RW和E接口。
P2.0到P2.7接DAC0832的输入端口,通过控制输
入电平高低控制输出变化,进而实现不同的波形产生。
P1.0到P1.4
接按键,通过按键控制波形的特性。
DAC0832数模转换电路整体方
案设计如下所示:
3仿真图
正玄波仿真:
锯齿波仿真:
方波仿真:
三角波仿真:
4所用硬件介绍
4.1 DAC0832
原理介绍:D/A转换器DAC0832DAC0832是采用CMOS工艺制成的单片直流输出型8位数/模转换器。
一个8位D/A转换器有8个输入端(其中每个输入端是8位二进制数的一位),有一个模拟输出端。
输入可有28=256个不同的二进制组态,输出为256个电压之一,即输出电压不是整个电压范围内任意值,而只能是256个可能值。
上图是DAC0832的引脚排列。
4.2 LCD1602
1602液晶也叫1602字符型液晶,它是一种专门用来显示字母、数字、符
号等的点阵型液晶模块。
它由若干个5X7或者5X11等点阵字符位组成,每个点阵字符位都可以显示一个字符,每位之间有一个点距的间隔,每行之间也有间隔,起到了字符间距和行间距的作用,正因为如此所以它不能很好地显示图形。
1602LCD是指显示的内容为16X2,即可以显示两行,每行16个字符液晶模块
(显示字符和数字)。
市面上字符液晶大多数是基于HD44780液晶芯片的,控
制原理是完全相同的,因此基于HD44780写的控制程序可以很方便地应用于市
面上大部分的字符型液晶。
4.3排阻
原理图
在单片机的P0口内没有电阻,所以在使用P0口时,需要加上拉电阻才能使信号钳位在高电平,同时起到增大电流的作用。
4.4 运算放大器
特点:
⑴开环放大倍数非常高,一般为几千,甚至可高达10万。
在正常情况下,运算放大器所需要的输入电压非常小。
⑵输入阻抗非常大。
运算放大器工作时,输入端相当于一个很小的电压加在一个很大的输入阻抗上,所需要的输入电流也极小。
⑶输出阻抗很小,所以,它的驱动能力非常大
4.5按键
当按键按下时,电路导通,按键松开时,电路断开。
5软件系统设计
5.1 主程序流程图
5.2波形选择的设计
若要选择需要的波形,按下按键1即可,这里需要一个按键检
测函数,确保按键1被按下。
定义一个变量,每当按键1按下一次,变量加1,有几种波形,变量有几种状态,每一种状态对应一种波
形的函数。
这样只需要在变量对应的状态下调用对应的波形函数即
可实现波形的选择。
进而实现通过按键1选择波形。
5.3按键改变波形频率的设计
改变波形的频率等同于改变波形的周期,无论什么波形,每一
个周期内都有256个不同的点,这些不同点之间的连线构成了波形,只要改变从一个点到相邻另一个点变化所需的时间即可改变周期。
而这是在定时器中断中实现的,多以我们只需要改变每次进定时器
中断的时间即可,亦或是在定时器中设一个变量,当变量增加到某
个值时执行一次波形的函数。
而这个变量是通过按键2和按键3进
行调节的。
于是金实现了按键2和3实现波形周期的变化。
5.4按键改变波形振幅的设计
波形振幅的改变与波形频率的改变类似,前面说过,一个周期
内的波形是由256个点的连线构成。
当锯齿波增加到256个点时,
振幅达到最大,若要改变振幅,只需要让定义一个变量,在0至
255之间变化,即可实现波形振幅的变化。
而这个变量时通过按键4
和按键5来改变的,按下按键4该变量增加,按下按键5该变量减小,即实现了按键4每按下一下振幅增加,并且调入LCD1602显示
函数,按键5每按下一下振幅减小,同样调入LCD1602显示函数。
6总结
对于本次交通灯控制的设计,其难点在于程序编写,在设计之初,
先了解了AT89C51的工作原理,通过查资料明白了直流电机控制的
电路原理图,利用Proteus画出仿真电路,熟悉了对该软件的使用
方法。
在程序编写方面,遇到诸多难题,首先对于定时器的使用频繁出现
问题,在定时器里面不要设置过多的变量,否则仿真软件会出现问
题(实际中此问题可以忽略不计)。
当程序没有错误但是仿真软件
不能用时,最好重新打开keil,将原程序copg过来,重新保存。
在一切问题都正确的情况下,按键检测时要注意消抖问题,消抖时
间控制在10毫秒左右。
对于一些常常出现的小错误需要认真对待,
当定义一个新的变量时,若是全局变量一定要声明,否则编译是会
报错的,写程序一定要规范,不要轻易地忘记分号,注意区分字母
大小写,每一个不注意的细节都会让你煞费苦心,变量多时要用结
构体,不熟悉一个函数或定义的用法时,要多用,写多了就熟了。
特别是按键检测,不要忘记消抖和松手检测,用后需要清零。
其次,对芯片要有一定的了解才能去运用它完成想要的功能。
在本次设计
中,除了完成波形发生器(运算放大器是个麻烦的地方)的设计外,最多的是不要轻易地放弃,坚持下来,会有收获的。