电流/电压转换放大电路 由于从DAC0832转换出来的模拟信号为电流信号,将DAC0832输出的信号经过电流/电压转换放大电路转变为电压信号。仿真中使用集成运放OPAMP,OPAMP集成运算放大器是价格便宜的带差动输入功能的四运算放大器 图3-4-1 电流/电压转换放大仿真电路
3.574LS21双4输入与门 74LS21 四输入与门,14个引脚DIP14封装,每个ic两组,工作电压4.75v-5.25v。采用74LS21 4输入与门与产生波形的开关相连,当有开关键按下时,中断打开,相应的波形产生函数工作,系统产生的相应的波形。 图3-5-1 74LS21仿真图
3.6按键输入电路 按键使由一组按压式或触摸式开关构成的,是一种常用的输入设备。 3.6系统总体结构图
主要程序
主要程序
1. 梯形波函数
void st()
{
uchar i=0xff;
while(KST)
{
XBYTE[DAC]=i--; //启动DAC
if(i==0x0)
{
delay();
delay();
delay();
delay();
while(i!=0xff)
{
XBYTE[DAC]=i++; //启动DAC i++;
}
delay();
delay();
delay();
delay();
}
}
}
2. 三角波函数
void tri()
{
uchar i=0;
XBYTE[DAC]=i; //启动DAC
do
{
XBYTE[DAC]=i; //上升沿
i++;
}while(i<0xff);
do
{
XBYTE[DAC]=i; //下降沿
i--;
}
while(i>0x0);
}
3. 方波函数
void sq(){
XBYTE[DAC]=0x00; //启动DAC
delay();
delay();
delay();
delay();
XBYTE[DAC]=0xff;
delay();
delay();
delay();
delay();
}
4. 正弦波函数
void sin()
{
uchar i;
for(i=0;i<18;i++) XBYTE[DAC]=SINTAB; //第一个1/4周期
for(i=18;i>0;i--) XBYTE[DAC]=SINTAB; //第二个1/4周期
for(i=0;i<18;i++) XBYTE[DAC]=~SINTAB; //第三个1/4周期
for(i=18;i>0;i--) XBYTE[DAC]=~SINTAB; //第四个1/4周期
}
5. 锯齿波函数
void jc()
{
uchar i=0xff;
while(KJC)
{
XBYTE[DAC]=i++; //启动DAC
}
}
电路仿真及仿真结果分析 4.1仿真总电路图
五个按键,每按一次按键后输出对应的波形。双极性电压输出,电压幅值可调。 4.2梯形仿真结果
4.3三角波仿真结果
4.4方波仿真结果 4.5锯齿波仿真结果 4.6正弦波仿真结果
五、心得体会
通过本次设计,使我对protues和Keil_C51有了更好的理解,能够熟练的掌握这两款软件。另外对所学理论知识的深化和提高。通过本次设计,我了解和掌握了单片机应用系统的软硬件设计过程、方法及实现,为以后设计和实现更难得应用打下了良好的基础。 在本次设计题目的过程中,我参考了书上的例题9-6,在原来的硬件和软件上做了改动,但是也在设计中遇到了很多得问题,对硬件方面的各种知识并不是非常理解,对软件编程方面也有很多不足,查找了很多资料和其他例子,付出很多,收获也很多。对于单片机设计,硬件电路相对还是比较简单,但是在程序设计上,费了很大的功夫,对于程序不是那么容易上手。要设计一个成功的电路,必须要有耐心,要有坚持的毅力,完成这次设计后,我在书本理论知识的基础上又有了更深层次的理解,同时更有耐心和毅力去完成一个项目。
全部资料51hei下载地址:
波形发生电路.zip
(980.11 KB, 下载次数: 13)
|