程控放大器的设计.docx

上传人:b****3 文档编号:26750221 上传时间:2023-06-22 格式:DOCX 页数:11 大小:739.65KB
下载 相关 举报
程控放大器的设计.docx_第1页
第1页 / 共11页
程控放大器的设计.docx_第2页
第2页 / 共11页
程控放大器的设计.docx_第3页
第3页 / 共11页
程控放大器的设计.docx_第4页
第4页 / 共11页
程控放大器的设计.docx_第5页
第5页 / 共11页
点击查看更多>>
下载资源
资源描述

程控放大器的设计.docx

《程控放大器的设计.docx》由会员分享,可在线阅读,更多相关《程控放大器的设计.docx(11页珍藏版)》请在冰豆网上搜索。

程控放大器的设计.docx

程控放大器的设计

 

程控放大器的设计

 

开放实验报告

 

课题名称程控放大器的设计

学生姓名

系、年级专业信息工程系、11、12级电子信息工程

指导教师王少杰

 

2014年5月15日

程控放大器的设计

一.实验目的

1、了解程控放大器原理。

2、掌握在Proteus中进行电子电路设计与仿真方法。

3、学会Proteus虚拟仪器仪表的使用。

二.实验内容

1、在Proteus中,设计基于数字电位器的程控放大器,并进行仿真。

2、在Proteus中利用虚拟仪器仪表测量放大器的技术参数。

三.电路设计

1、程控放大器原理

 

2、程控放大器电路

3、程序设计

4、仿真结果与分析

5、结论

 

1、程控放大器电路原理如下:

其工作原理是:

通过单片机的SPI总线来控制数字电位器MCP41010,通过对数字电位器MCP41010写时序能够操作操控MCP41010的阻值大小,进一步控制电路中的电压大小,实现单片机对电路电压的放大与缩小。

四.实验分析

MCP41010是数字电位器MCP41XXX系列中的10K阻值的数字电位器,内部有256个抽头,能够精确地对电压实现放大与缩小,采用低功耗CMOS技术,结口是SPI串行接口,最大INL和DNL误差为1LSB,静态工作电流最大值为1uA,关断功能可断开所有的电阻电路,最大限度的节能功耗,单电源工作(),在上电时抽头复位到半量程(80h),MCP41XXX系列数字电位器分为变阻器模式和电位器模式。

本次试验使用MCP41010的变阻器模式,通过对单片机的,,(CS,SI,SCK)三个引脚进行输出控制,利用单片机的计数功能对外部按键(增大,减少)进行计数,单片机内部通过按键数多少对MCP41010时序写入,进一步控制MCP41010的抽头数,来改变电路的电压大小,实现程序控制电压的放大与缩小。

 

五.仿真结果

仿真开始

放大波形

缩小波形

源程序附后:

#include<>

#include<>

#defineucharunsignedchar

#defineuintunsignedint

ucharcodeP_P0[]={0xC0,0xF9,0xA4,0xB0,0x99,0x92,0x82,0xF8,0x80,0x90};

ucharcodeP_Pshi[]={0x40,0x79,0x24,0x30,0x19,0x12,0x12,0x78,0x00,0x10};

sbitK1=P3^4;

sbitK2=P3^5;

sbitCS=P1^5;

sbitSI=P1^6;

sbitSCLK=P1^7;

uchari=0,j=0,k=200,Count=175;

voiddelay(uintx)//延时

{

while(x--);

}

voidSend_Data(ucharx)//发送数据

{

ucharn=2,i,command=0x11;

CS=0;

for(i=0;i<8;i++)

{

SCLK=0;

if(command&0x80)

{

SI=1;

}

else

{

SI=0;

}

SCLK=1;

for(;n!

=0;n--);

command<<=1;

}

for(i=0;i<8;i++)

{

SCLK=0;

if(x&0x80)

{

SI=1;

}

else

{

SI=0;

}

SCLK=1;

for(;n!

=0;n--);

x<<=1;

}

for(;n!

=0;n--);

CS=1;

}

voidKey_read(void)//读按键

{

if(K1==0)

{

Send_Data(Count);

i=0;

do

{

i++;

Send_Data(Count);

}while(K1==0);

}

if(K2==0)

{

Send_Data(Count);

j=0;

do

{

j++;

Send_Data(Count);

}while(K2==0);

}

}

voidled_scan(void)//数码管显示

{

P0=P_Pshi[k/100];

P2=0x01;

delay(125);

P2=0x00;

P0=P_P0[k/10%10];

P2=0x02;

delay(125);

P2=0x00;

P0=P_P0[k%10];

P2=0x04;

delay(125);

P2=0x00;

P0=P_P0[0];

P2=0x08;

delay(125);

P2=0x00;

}

voidmain()

{

IE=0x8a;

IP=0x02;

TMOD=0x66;

TH0=255;

TL0=255;

TH1=255;

TL1=255;

TCON=0x55;

while

(1)

{

Send_Data(Count);

Key_read();

led_scan();

}

}

voidtimer0(void)interrupt1

{

if(i>20)

{

i=0;

Count++;

k--;

if(Count>256)

{

Count=0;

}

}}

voidtimer1(void)interrupt3

{

if(j>20)

{

Count--;

j=0;

k++;

if(Count==0)

{

Count=255;

}

}

}

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 工程科技 > 城乡园林规划

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1