多路放大与巡回检测课程设计Word格式.docx

上传人:b****6 文档编号:21106389 上传时间:2023-01-27 格式:DOCX 页数:19 大小:153.28KB
下载 相关 举报
多路放大与巡回检测课程设计Word格式.docx_第1页
第1页 / 共19页
多路放大与巡回检测课程设计Word格式.docx_第2页
第2页 / 共19页
多路放大与巡回检测课程设计Word格式.docx_第3页
第3页 / 共19页
多路放大与巡回检测课程设计Word格式.docx_第4页
第4页 / 共19页
多路放大与巡回检测课程设计Word格式.docx_第5页
第5页 / 共19页
点击查看更多>>
下载资源
资源描述

多路放大与巡回检测课程设计Word格式.docx

《多路放大与巡回检测课程设计Word格式.docx》由会员分享,可在线阅读,更多相关《多路放大与巡回检测课程设计Word格式.docx(19页珍藏版)》请在冰豆网上搜索。

多路放大与巡回检测课程设计Word格式.docx

CD4051引脚图

八路放大电路对信号放大后,连接到CD4051的八个输入端,使能端接地,让其始终处于工作的状态,三个二进制控制输入端A、B、C和单片机相应的IO口相连接,依次选通八路信号送至AD转换器处理,如图2.5所示。

图2.5:

数据选择电路

2.4AD转换电路设计

本设计采用A/D芯片为ADC0804,它是CMOS8位单通道逐次渐近型的模/数转换器,其规格及引脚图如图2.6所示

图2.6:

ADC0804引脚图

当CS/=0时,允许进行转换。

WR/由低跳高时转换开始,8位逐次比较需用8×

8=64个时钟周期,再加上控制逻辑操作,一次转换需要66~73个时钟周期。

当CS/与WR/同时有效时便启动转换,转换结束时产生信号INTR/,可供出查询或中断信号。

在CS/和RD/共同控制下可以读取转换结果数据。

在转换过程中,如果再次启动转换器,则终止正在进行的转换,进入新的转换,在新的转换过程中,数据寄存器中仍保持上一次的转换结果。

0804转换器的零点无需调整,而输入电压的范围可以通过调整Vref/2端处的电压加以改变。

Vref端电压应为输入电压的1/2。

例如输入电压范围是0V至2V,则在Vref端加1V电压,但当输入电压为0~+5V时,Vref端无需外加任何电压,而由内部电源分压得到。

本设计的内部时钟由4引脚和19引脚外接RC实现。

输入信号来自数据选择器的输出,转换完后的结果由数据线DB0-DB7送到单片机的P1口处理,INTR引脚外部中断1相连,提供转换完成信号,为了保证数据的实时性,因此片选端接地,WR和RD分别与单片机的读写控制端相连。

具体电路如图7所示。

图2.7:

ADC转换电路

2.4显示模块电路

可以显示单片机系统数据的方法很多,常用的有数码管和LCD液晶显示,考了到价格的原因,本设计选用四位LED数码管显示。

所谓LED就是发光二级管的缩写,LED显示模块是由发光二极管显示字段组成的显示器,有8字段和“米”字段之分,显示块都有DP显示段,用于显示小数点。

7段LED的字型码,由于只有7个段发光二极管,所以字型码为一个字节如图2.8所示。

这种显示块有共阳极和共阴极两种,共阴极LED显示块的发光二极管的阴极连接在一起,通常此公共阴极接地,当某个发光二极管的阳极为高电平时,发光二极管点亮,相应的段被显示,如图2.8(a)。

同样,共阳极LED显示块的发光二极管的阳极连接在一起,当某一个阴极为低电平时,对应的二极管呗点亮发光,如图2.8(b)。

共阴极接法(a)共阳极接法(b)LED数码管内部结构(c)

图2.8:

数码管内部结构

由N片LED显示块可拼接成N位LED显示器。

N位LED显示器由N根位选线和8XN(或16XN)根段选线构成。

根据显示方式的不同,位选线和段选线的连接方法也各不相同。

段选线控制显示字符的字型,而位选线则控制显示位的亮、暗。

数码管的显示方法有动态显示和静态显示,所谓静态显示,就是再同一时刻只显示一种字符,或者说被显示的字符再同一时刻是稳定不变的。

其显示方法比较简单,只要将显示段码送至段码口即可。

此种显示比较简单、亮度高、接口编程容易,但是用处不大。

动态显示是把所有位的断码线的相应段并联在一起,有一个8位的IO口控制,各位的共阴极或共阳极分别由相应的IO口线控制,形成各位的分时选通,虽然每位显示的字符不是在同一时刻出现的,每一时刻只能够显示一位,而其他的各位熄灭,但是由于LED的余辉和人眼的视觉暂留作用,只要每位的显示时间间隔足够短,就可以达到同时显示的效果。

由于本系统需要显示的位数较多,为了节省IO口资源,达到显示效果,采用动态显示,断码线与单片机的P0.0-PO.7相连,位选线分别与单片机的P2.0P2.3相连,电路图如图2.9所示。

图2.9显示模块

第三章系统设计与分析

3.1体统原理综述

图3.1:

系统原理框图

系统的原理框图如图3.1所示,本系统分为五大部分,第一部分主控芯片,本设计的主控芯片采用AT89C52单片机,第二部分放大电路,由传感器获得的各种电压信号,分别接到八个放大器的输入端进行放大,放大后的信号连接到第三部分的数据选择器的数据输入端,数据选择的的三个控制端连至单片机的三个IO口,由单片依次选择控制进入数据选择器的八路信号的任一路,选择输出的数据送至ADC0804的输入端,AD转换器把输入的模拟量转化为相应的数字量送至单片,然后由显示模块的数码管显示相应的数值。

3.2系统原理图

系统原理图如图3.2所示。

图3.2:

系统总原理图

第四章软件设计

4.1软件实现的功能及流程图

本设计采用8052单片为控制芯片,改程序要实现的功能是:

用单片的P3.0-P3.2IO口控制数据选择器,依次把每一路信号选通,这通道选择函数实现,选择的信号送至ADC转换器,再由单片机P1口通过读取函数读取AD转换器,单片机处理完数据后,有显示函数显示具体的数值。

其流程图如图4.1所示。

图4.1:

程序流程图

4.2程序清单

#include<

intrins.h>

#include"

at89x52.h"

#defineucharunsignedchar

#defineuintunsignedint

#defineulongunsignedlong

#definek0P2_0

#definek1P2_1

#definek2P2_2

#definek3P2_3

#defineADwrP3_1

#definenop()_nop_()

#defineIntrP3_2

ucharcodeacLEDCS[]={0xef,0xdf,0xbf,0x7f};

/*位选地址码,“0”有效,位选接的是P2口高4位*/

ucharcodeacLedSegCode[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x77,0x7c};

/*段码*/

ucharacLED[4];

/*测电压显示缓冲区*/

charcScanIndex=0;

/*位选指针0~3*/

sbitDQ=P3^3;

/*TSOR为数据口,接于P3.3*/

ucharnChannel;

ucharnVoltage;

uintVoltage;

/*转化后的电压值*/

voiddelay2(void);

voiddisplay2(intk);

voidzhuanhuan();

voidDelay1(unsignedchar);

voiddelay(unsignedinttime);

WriteOneChar(unsignedchardat);

voidAdChannel(ucharchannel);

voiddisplay1(void);

voiddisplay()

{if(nChannel==0)

acLED[0]=acLedSegCode[1]|0x80;

if(nChannel==1)

acLED[0]=acLedSegCode[2]|0x80;

if(nChannel==2)

acLED[0]=acLedSegCode[3]|0x80;

if(nChannel==3)

acLED[0]=acLedSegCode[4]|0x80;

if(nChannel==4)

acLED[0]=acLedSegCode[5]|0x80;

if(nChannel==5)

acLED[0]=acLedSegCode[6]|0x80;

if(nChannel==6)

acLED[0]=acLedSegCode[7]|0x80;

if(nChannel==7)

acLED[0]=acLedSegCode[8]|0x80;

if(nChannel==7)acLED[1]=acLedSegCode[Voltage/100%10];

elseacLED[1]=acLedSegCode[Voltage/100%10]|0x80;

/*显示第2位*/

acLED[2]=acLedSegCode[Voltage/10%10];

/*LED显示第3位*/

acLED[3]=acLedSegCode[Voltage%10];

/*LED显示第4位*/

}

/**************************主函数*****************************/

voidmain(void)

{nChannel=0;

mode=0;

while

(1)

{Delay1(6000);

if(k1==0&

&

mode==0)

{

while(k1==0);

if(nChannel==7)

nChannel=0;

elsenChannel++;

if(k2==0&

while(k2==0);

if(nChannel==0)

nChannel=7;

elsenChannel--;

}

if(k0==0)

while(k0==0);

mode=~mode;

}

while(mode==1)

{while(k0!

=0)

{zhuanhuan();

display2(temp);

}

Delay1(6000);

if(k0==0)

{

while(k0==0);

AdChannel(nChannel);

Delay1(100);

zhuanhuan();

}

/*******ADC0804进行模数转换,然后显示出来********/

voidzhuanhuan()

{ADwr=0;

ADwr=1;

Delay1(5000);

//while(Intr==1);

nVoltage=P1;

Voltage=(uint)(nVoltage*250)/128;

if(nChannel==7)

{Voltage=Voltage*10/54;

TMOD=0x12;

TH0=-200;

TL0=-200;

TR0=1;

ET0=1;

while(k1!

=0&

k2!

k0!

{EA=1;

display();

EA=0;

P0=0;

voidIntT0()interrupt1

{ucharBakP2;

P0=0;

/*先清显示再换位选*/

Delay1

(1);

BakP2=P2&

0x0F;

P2=BakP2|acLEDCS[cScanIndex];

/*送位选数据*/

P0=acLED[cScanIndex++];

/*送显示数据,位选指针移位*/

cScanIndex&

=0x03;

/*位选指针回位*/

/******跳到选择*********/

voidAdChannel(ucharchannel)

{P3&

=0x8f;

switch(channel)

{case0:

break;

case1:

P3|=0x10;

case2:

P3|=0x20;

case3:

P3|=0x30;

case4:

P3|=0x40;

case5:

P3|=0x50;

case6:

P3|=0x60;

case7:

P3|=0x70;

//数码管显示子程序入口参数k

voiddisplay2(intk){

P0=tab[k/1000];

P2_4=0;

delay2();

P0=0x00;

P2=0xff;

P0=tab[k%1000/100]|0x80;

P2_5=0;

P0=tab[k%100/10];

P2_6=0;

P0=tab[k%10];

P2_7=0;

voiddisplay1(void)

{uchari;

tab3[1]=0;

tab3[2]=temp%10000/1000;

tab3[3]=temp%1000/100;

tab3[0]=0;

for(i=2;

i<

4;

i++)

{P0=0;

P0=acLedSegCode[tab3[i]];

P2=acLEDCS[i];

delay(600);

voiddelay2(void)//数码管扫瞄延时程序

{

intk;

for(k=0;

k<

600;

k++);

voidDelay1(unsignedchart)

{

for(;

t>

0;

t--)

{nop();

nop();

voiddelay(unsignedinttime)//延时子程序入口参数time

unsignedintn;

n=0;

while(n<

time)

{n++;

return;

第五章设计总结

以上为课设期间所设计的多路放大与巡回测量控制系统,经过多次修改和整理,可以满足设计的基本要求,且性能稳定,可靠性较好,具有一定的使用价值,

本系统在设计时采用8052单片机为核心,把整个系统划分为了五大部分,先由整体原理框图构思系统整体电路结构,然后分单元构思每个模块电路设计,最后把所有的单元模块综合起来,绘制总体的硬件电路图,在设计中放大电路部分采用了性能优良的LM324集成运算放大器,由于题目要求8路数据巡回检测,在数据性选择部分选择了CD4051数据选择器,为了节省成本,ADC选择了价格便宜的ADC0804,同时满足题目要求的一路AD转换要求偶,显示部分则选用四位数码管,才用动态显示的方式,方便而且可行性高。

通过这十天的课程设计学习,我感觉有很大的收获:

首先,通过学习使自己对课本上的知识可以应用于实际,使的理论与实际相结合,加深自己对课本知识的更好理解,同时实习也段练了我个人的动手能力:

能够充分利用图书馆去查阅资料,拓展许多课本以外的知识。

能对PROTEL99SE、PROTEUS、KEIL等软件熟练操作,达到学以致用。

对我们学生来说,理论与实际同样重要,这是我们以后在工作中说明自己能力的一个重要标准。

同时掌握了电子系统综合设计的不少方法和技巧,为以后的工作和学习奠定一定的基础。

虽然整个系统设计完成后能够基本满足设计的要求,但是在实际的设计过程中出现了不少的问题,对相关的硬件电路原理不够熟悉,软件使用不够精通,在设计时走不少的弯路,尤其在软件编程的设计上,缺乏经验,还需要进一步的加强,最后在老师的帮助下完成了相关的设计。

参考文献

[1]赵晶主编《Prote199高级应用》.人民邮电出版社,2000.12

[2]于海生编著《微型计算机控制技术》清华大学出版社2003.4

[3]段九洲.放大电路实用设计手册.[M] 

辽宁科学技术出版社,2002.8

[4]李朝青.单片机原理及接口技术[M]空航天大学出版社,2000.5

[5]阎石主编《数字电子技术基础》高等教育出版社,2006.5

[6].忠梅.单片机的C语言应用程序设计[M].北京:

北京航空航天大学出版社,2003

[7]何钦铭编著《C语言程序设计》高等教育出版社,2008.4

附录1:

器件清单

器件名称

器件型号

器件个数

电容

0.1U

5

电阻

1K

15

10K

2

33K

9

电阻排

10K(RESPACK-8)

1

10U

晶振

11.0592

30P

150

数据选择器

CD4051

单片机处理器

AT89C52

AD转换器

ADC0804

4位数码管

FJ3461BH

集成运放

LM324

单排针

CON4

CON8

附录2

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

当前位置:首页 > 小学教育 > 小学作文

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

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