电子测量课程设计.docx
《电子测量课程设计.docx》由会员分享,可在线阅读,更多相关《电子测量课程设计.docx(17页珍藏版)》请在冰豆网上搜索。
电子测量课程设计
目录
一设计要求2
二设计方案与论证2
2.1方案一2
2.2方案二3
2.3方案论证3
三设计原理3
3.1系统硬件电路设计3
3.1.1振荡电路模块3
3.1.2A/D转换电路模块4
3.1.3主控芯片AT89C52模块5
3.1.4显示控制电路的设计及原理8
3.2程序设计10
3.2.1软件环境10
3.2.2初始化程序10
3.2.3主程序11
3.2.4显示子程序11
3.2.5A/D转换测量子程序12
四元器件清单13
五元器件识别与控制14
5.1三极管14
5.2电阻15
5.3电容15
5.4825516
六制作与调试17
6.1硬件调试17
6.2软件调试17
6.3性能分析17
七设计心得18
八参考文献18
附一原理图19
一设计要求
电阻测量(需要简单的外围检测电路,将电阻转换为电压)测量100,1k,4.7k,10k,20k的电阻阻值,由数码管显示。
测试:
误差10%。
二设计方案与论证
2.1方案一
利用单稳或电容充放电规律等,可以把被测电阻量的大小转换成脉冲的宽窄,即脉冲的宽度Tx与Rx成正比。
只要把此脉冲和频率固定不变的方波(以下称为时钟脉冲)相与,便可以得到计数脉冲,将它送给数字显示器。
如果时钟脉冲的频率等参数合适,便可实现测量电阻。
计数控制电路输出的脉冲宽度Tx应与Rx成正比,其电路原理图及具体555单稳态触发器的构成及仿真如图1所示。
用555构成的单稳态电路在正常工作条件下输出脉冲的宽度Tx与Rx的函数关系是:
图1方案一原理图
所产生的时间误差可能达到百分之十五,再加上其他原因产生的误差,测量是的时间延迟太大。
2.2方案二
用ADC0809电阻测量,以一个1K的电阻作为基准电阻。
和被测电阻进行分压,分压比例得出电阻比例。
=
用ACD0809测量电阻时间误差为%10以下,分辨率高,输出能与TTL电平兼容。
其原理图如图2所示。
图2方案二原理图
2.3方案论证
由于课程设计的要求是电阻测量需要简单的外围检测电路,将电阻转换为电压,测量100,1k,4.7k,10k,20k的电阻阻值,由数码管显示。
测试:
误差10%。
通过比较以上两个方案,可知方案二相对来说比较适合。
所以选用方案二作为实验方案。
三设计原理
3.1系统硬件电路设计
3.1.1振荡电路模块
振荡电路通过这两个引脚外并接石英晶体振荡器和两只电容(电容和一般取33pF),这样就构成一个稳定的自激振荡器。
为单片机提供时钟信号。
如右图3所示。
3.1.2A/D转换电路模块
ADC0809是采用逐次逼近式原理的A/D转换器。
ADC0809的工作过程是:
首先输入3位地址,并使ALE=1,将地址存入地址锁存器中。
此地址经译码选通8路模拟输入之一到比较器。
START上升沿将逐次逼近寄存器复位。
下降沿启动A/D转换,之后EOC输出信号变低,指示转换正在进行。
直到A/D转换完成,EOC变为高电平,指示A/D转换结束,结果数据已存入锁存器,这个信号可用作中断申请。
当OE输入高电平时,输出三态门打开,转换结果的数字量输出到数据总线上,9电路图如图4所示。
图4A/D转换电路原理图
1主要性能
1分辨率为8位二进制数。
2模拟输入电压范围0V—5V,对应A/D转换值为00H—FFH。
3每路A/D转换完成时间为100µs。
4允许输入4路模拟电压,通过具有锁存功能的4路模拟开关,可以分时进行4路A/D转换。
5工作频率为500kHz,输出与TTL电平兼容。
2ADC0809芯片的组成原理
具体设计要求如图5所示,它是由地址锁存器、4路模拟开关、8位逐次A/D转换器和三态锁存输出缓冲器构成。
由3位地址输入线ADDRA、ADDRB、ADDRC决定4路模拟输入中的1路进8位A/D转换器,A/D转换值进入三态锁存输出缓冲器暂存,在CPU发来输出允许控制信号OE后,三态门打开,经DB7—DB0进入CPU总线,完成一次A/D转换全过程。
图5A/D转换电路原路图
3ADC0809引脚功能
ADC0809采用28引脚的封装,双列直插式。
A/D转换由集成电路ADC0809完成。
ADC0809具有8路模拟输入端口,地址线(23—25脚—即C,B,A,)可决定对哪一路模拟输入作A/D转换。
22脚为地址锁存控制(ALE),当输入为高电平时,对地址信号进行锁存。
6脚为测试控制(START),当输入一个2us宽高电平脉冲时,就开始A/D转换。
7脚为A/D转换结束标志(EOC),当A/D转换结束时,7脚输出高电平。
9脚为A/D转换数据输出允许控制(OE),当OE脚为高电平时,A/D转换数据从该端口输出。
10脚为ADC0809的时钟输入端(CLOCK),利用单片机30脚的六分频晶振频率再通过14024二分频得到1MHz时钟。
单片机的P1、P3.0—P3.3端口作为四位LED数码管显示控制。
P3.5端口用作单路显示/循环显示转换按钮,P3.6端口用作单路显示时选择通道。
P0端口作A/D转换数据读入用,P2端口用作ADC0809的A/D转换控制。
3.1.3主控芯片AT89C52模块
AT89C52是一个低电压,高性能CMOS8位单片机,片内含8kbytes的可反复擦写的Flash只读程序存储器和256bytes的随机存取数据存储器(RAM),器件采用ATMEL公司的高密度、非易失性存储技术生产,兼容标准MCS—51指令系统,片内置通用8位中央处理器和Flash存储单元,功能强大的AT89C52单片机可为您提供许多较复杂系统控制应用场合。
图6AT89C52管脚图
AT89C52有40个引脚,32个外部双向输入/输出(I/O)端口,同时内含2个外中断口。
3个16位可编程定时计数器,2个全双工串行通信口,2个读写口线,AT89C52可以按照常规方法进行编程,也可以在线编程。
其将通用的微处理器和Flash存储器结合在一起,特别是可反复擦写的Flash存储器可有效地降低开发成本。
如图6所示为AT89C52管脚图。
1主要功能特性
·与MCS—51产品指令和引脚完全兼容
·8k字节可重擦写Flash闪速存储器
·1000次擦写周期
·全静态操作:
0Hz—24MHz
·三级加密程序存储器
·32个可编程I/O口线
·低功耗空闲和掉电模式
·3个16位定时/计数器
·可编程串行UART通道
2主要引脚功能
VCC:
电源
GND:
地
P0口:
P0口是一组8位漏极开路型双向I/O口,也即地址/数据总线复用口。
P1口:
P1口是一个具有内部上拉电阻的8位双向I/O口,P1输出缓冲器能驱动4个TTL逻辑电平。
对P1端口写“1”时,内部上拉电阻把端口拉高,此时可以作为输入口使用。
作为输入使用时,被外部拉低的引脚由于内部电阻的原因,将输出电流(IIL)。
此外,P1.0和P1.2分别作定时器/计数器2的外部计数输入(P1.0/T2)和时器/计数器2的触发输入(P1.1/T2EX)。
P2口:
P2口是一个具有内部上拉电阻的8位双向I/O口,P2输出缓冲器能驱动4个TTL逻辑电平。
对P2端口写“1”时,内部上拉电阻把端口拉高,此时可以作为输入口使用。
作为输入使用时,被外部拉低的引脚由于内部电阻的原因,将输出电流(IIL)。
在访问外部程序存储器或用16位地址读取外部数据存储器(例如执行MOVX@DPTR)时,P2口送出高八位地址。
在这种应用中,P2口使用很强的内部上拉发送1。
在使用8位地址(如MOVX@RI)访问外部数据存储器时,P2口输出P2锁存器的内容。
在flash编程和校验时,P2口也接收高8位地址字节和一些控制信号。
P1口和P2口的第二功能如下表1所示。
表1P0和P1口的第二功能
引脚号
功能特性
P1.0
T2(定时/计数器2外部计数脉冲输入),时钟输出
P1.1
T2EX(定时/计数2捕获/重载触发和方向控制)
P3口:
P3口是一个具有内部上拉电阻的8位双向I/O口,P3口输出缓冲器能驱动4个TTL逻辑电平。
对P3端口写“1”时,内部上拉电阻把端口拉高,此时可以作为输入口使用。
作为输入使用时,被外部拉低的引脚由于内部电阻的原因,将输出电流(IIL)。
P3口亦作为AT89C52特殊功能(第二功能)使用,在flash编程和校验时,P3口也接收一些控制信号。
具体功能如表2所示:
表2P3口的第二功能
端口引脚
第二功能
P3.0
RXD(串行输入口)
P3.1
TXD(串行输出口)
P3.2
外中断0
P3.3
外中断1
P3.4
T0(定时/计数器0)
P3.5
T1(定时/计数器1)
P3.6
外部数据存储器写选通
P3.7
外部数据存储器读选通
RST:
复位输入。
晶振工作时,RST脚持续2个机器周期高电平将使单片机复位。
看门狗计时完成后,RST脚输出96个晶振周期的高电平。
特殊寄存器AUXR(地址8EH)上的DISRTO位可以使此功能无效。
DISRTO默认状态下,复位高电平有效。
ALE/PROG:
地址锁存控制信号(ALE)是访问外部程序存储器时,锁存低8位地址的输出脉冲。
在flash编程时,此引脚(PROG)也用作编程输入脉冲。
在一般情况下,ALE以晶振六分之一的固定频率输出脉冲,可用来作为外部定时器或时钟使用。
然而,特别强调,在每次访问外部数据存储器时,ALE脉冲将会跳过。
如果需要,通过将地址为8EH的SFR的第0位置“1”,ALE操作将无效。
这一位置“1”,ALE仅在执行MOVX或MOVC指令时有效。
否则,ALE将被微弱拉高。
这个ALE使能标志位(地址为8EH的SFR的第0位)的设置对微控制器处于外部执行模式下无效。
PSEN:
外部程序存储器选通信号(PSEN)是外部程序存储器选通信号。
当AT89C52从外部程序存储器执行外部代码时,PSEN在每个机器周期被激活两次,而在访问外部数据存储器时,PSEN将不被激活。
EA/VPP:
访问外部程序存储器控制信号。
为使能从0000H到FFFFH的外部程序存储器读取指令,EA必须接GND。
为了执行内部程序指令,EA应该接VCC。
在flash编程期间,EA也接收12伏VPP电压。
XTAL1:
振荡器反相放大器和内部时钟发生电路的输入端。
XTAL2:
振荡器反相放大器的输出端。
3.1.4显示控制电路的设计及原理
显示子程序采用动态扫描法实现4位数码管的数值显示。
测量所得的A/D转换数据放70H—77H内存单元中,测量数据在显示时须经过转换成为十进制BCD码放在78H—7BH单元中,其中7B存放通道标志数。
寄存器R3用作8路循环控制,R0用作显示数据地址指针。
本系统显示部分采用4位数码管动态扫描显示。
动态扫描显示接口是单片机中应用最为广泛的一种显示方式之一。
其接口电路是把所有显示器的8个笔划段a-h同名端连在一起,而每一个显示器的公共极COM是各自独立地受I/O线控制。
CPU向字段输出口送出字形码时,所有显示器接收到相同的字形码,但究竟是那个显示器亮,则取决于COM端,而这一端是由I/O控制的,所以我们就可以自行决定何时显示哪一位了。
而所谓动态扫描就是指我们采用分时的方法,轮流控制各个显示器的COM端,使各个数码管轮流点亮。
本系统采用4位共阴极数码管,COM端接接P20—P23端,8个笔划段a-h分别按顺序接P07—P00,轮流给P20—P23口低电平,使各个数码管轮流点亮。
显示控制电路由图7的8255芯片和图8的数码管显示电路两部分组成。
在轮流点亮扫描过程中,每位显示器的点亮时间是极为短暂的(约1ms),但由于人的视觉暂留现象及发光二极管的余辉效应,尽管实际上各位显示器并非同时点亮,但只要扫描的速度足够快,给人的印象就是一组稳定的显示数据,不会有闪烁感。
图78255芯片
图8数码管显示电路
3.2程序设计
3.2.1软件环境
KeiluVision4集成开发环境是一个基Windows的软件开发平台,包含一个高效的编辑器、一个项目管理器和一个MAKE的工具,支持所有的KeilC51工具。
3.2.2初始化程序
voidInit()
{TMOD=0x01;
TH0=(65536-200)/256;
TL0=(65536-200)%256;
EA=1;
ET0=1;
TR0=1;
a8255_CON=0x80;
a8255_PB=0xff;
a8255_PA=0xff;
}
3.2.3主程序
voidmain()
{//inti,j;
Init();
CLK=0;
while
(1)
{ad0809();
delay(300);
t=(float)(256-get_val);
t=10000.000*(t/(float)get_val);//电压变电阻值
display(t);
}
}
3.2.4显示子程序
voiddisplay(unsignedintt)
{unsignedcharx0,x1,x2,x3,x4,x5;
x0=t%10;//个位
x1=t/10%10;//十位
x2=t/100%10;//百位
x3=t/1000%10;//千位
x4=t/10000%10;//万位
x5=t/100000%10;//十万位
a8255_PA=0xdf;
a8255_PB=dis_table[x0];//个位显示
delay(180);
a8255_PA=0xff;
a8255_PA=0xef;
a8255_PB=dis_table[x1];//十位显示
delay(180);
a8255_PA=0xff;
a8255_PA=0xf7;
a8255_PB=dis_table[x2];//百位显示
delay(180);
a8255_PA=0xff;
a8255_PA=0xfb;
a8255_PB=dis_table[x3];//千位显示
delay(180);
a8255_PA=0xff;
a8255_PA=0xfd;
a8255_PB=dis_table[x4];//万位显示
delay(180);
a8255_PA=0xff;
a8255_PA=0xfe;
a8255_PB=dis_table[x5];
delay(180);//十万位显示
a8255_PA=0xff;
}
3.2.5A/D转换测量子程序
unsignedcharad0809()
{
ST=0;_nop_();_nop_();
ST=1;_nop_();_nop_();
ST=0;_nop_();_nop_();
while(EOC==0);//开始装换
_nop_();
OE=1;
get_val=P0;
OE=0;
returnget_val;
}
四元器件清单
元件序号
型号
主要参数
数量
备注
1
AT89C51
1
2
8255
1
3
ADC0809
1
4
9015
三极管
6
5
XTAL
晶振12M
1
6
杜邦线
3
7
电阻
1K
14
8
万用表
1
9
电源线
供电电源线
1
10
HS310361K
数码管
2
11
电容
30pf
2
五元器件识别与控制
5.1三极管
晶体三极管又称半导体三极管,简称晶体管或三极管。
在三极管内,有两种载流子:
电子与空穴,它们同时参与导电,故晶体三极管又称为双极型晶体三极管,它的基本功能是具有电流放大作用。
1、基极的判别
将万用表置于R×1k档,用两支表笔去搭接三极管的任意两只管脚,如果测得的阻值很大(几百千欧以上),则将表笔对调再测一次,如果测得的阻值也很大,则剩下的那只管脚必是基极B。
2、极型的判别
基极确定以后,可用万用表黑表笔接基极,红表笔分别接另两个管脚之一,如果两次测得的电阻值均在几百千欧以上,则该管为PNP型三极管。
如果测得的电阻值均在几千欧以下,则该为NPN型三极管。
3、材料的判别
硅管、锗管的判别方法同二极管。
即硅管PN结的正向电阻约为几千欧,锗管PN结的正向电阻约为几百欧。
4、集电极的判别
测量NPN型三极管的集电极时,先在除基极以外的两个电极中任设一个为集电极,并将万用表的黑表笔搭接在假设的集电极上,红表笔搭接在假设的发射极上,将一大电阻R跨接在基极与假设的集电极之间,如果万用表指针有较大的偏转,则以上假设正确;反之则假设不正确。
5、电流放大能力的估测
将万用表置于R×1k档,红、黑表笔分别与三极管的集电极、发射极相接,测C-E之间的电阻值。
当用一电阻接于B-C两管脚间时,阻值数会减小,即万用表指针右偏。
三极管的电流放大能力越强,则表针右偏的角度也越大。
否则,说明被测三极管的电流放大能力弱,甚至是劣质管。
5.2电阻
电阻元件的电阻值大小一般与温度,材料,长度,还有横截面积有关,衡量电阻受温度影响大小的物理量是温度系数,其定义为温度每升高1℃时电阻值发生变化的百分数。
电阻的主要物理特征是变电能为热能,也可说它是一个耗能元件,电流经过它就产生内能。
电阻在电路中通常起分压、分流的作用。
对信号来说,交流与直流信号都可以通过电阻。
色环电阻的识别方法:
带有四个色环的其中第一、二环分别代表阻值的前两位数;第三环代表倍率;第四环代表误差。
快速识别的关键在于根据第三环的颜色把阻值确定在某一数量级范围内,例如是几点几K、还是几十几K的,再将前两环读出的数”代”进去,这样就可很快读出数来。
下表为颜色与电阻的对应关系:
颜色棕红橙黄绿蓝紫灰白黑
数字1234567890
5.3电容
电容(Capacitance)亦称作“电容量”,是指在给定电位差下的电荷储藏量,记为C,国际单位是法拉(F)。
一般来说,电荷在电场中会受力而移动,当导体之间有了介质,则阻碍了电荷移动而使得电荷累积在导体上,造成电荷的累积储存,储存的电荷量则称为电容。
电容是电子设备中大量使用的电子元件之一,广泛应用于隔直、耦合、旁路、滤波、调谐回路、能量转换、控制电路等方面。
5.48255
8255是Intel公司生产的可编程并行I/O接口芯片,有3个8位并行I/O口。
具有3个通道3种工作方式的可编程并行接口芯片(40引脚)。
其各口功能可由软件选择,使用灵活,通用性强。
8255可作为单片机与多种外设连接时的中间接口电路。
8255作为主机与外设的连接芯片,必须提供与主机相连的3个总线接口,即数据线、地址线、控制线接口。
同时必须具有与外设连接的接口A、B、C口。
由于8255可编程,所以必须具有逻辑控制部分,因而8255内部结构分为3个部分:
与CPU连接部分、与外设连接部分、控制部分。
特性
1.一个并行输入/输出的LSI芯片,多功能的I/O器件,可作为CPU总线与外围的接口。
2.具有24个可编程设置的I/O口,即3组8位的I/O口,分别为PA口、PB口和PC口。
它们又可分为两组12位的I/O口:
A组包括A口及C口(高4位,PC4~PC7),B组包括B口及C口(低4位,PC0~PC3)。
A组可设置为基本的I/O口,闪控(STROBE)的I/O闪控式,双向I/O三种模式;B组只能设置为基本I/O或闪控式I/O两种模式,而这些操作模式完全由控制寄存器的控制字决定.
六制作与调试
6.1硬件调试
硬件调试时可以检查印制板和外围电路是否有断路或短路问题,在检查无误的情况下,通过外围电路接入一个被测电阻,检查数码管显示是否正常,若不正常,用万用表检查出电路的问题所在,并纠正电路的焊接问题。
为了测量的精准度,用万用表选择
的基准电阻,尽量使基准电阻接近
减少测量的误差。
6.2软件调试
将用keil编译产生的HEX文件下载到单片机开发板中,通过外围电路接入一个已知的被测电阻,看数码管上的显示数值是否接近已知的电阻值,若不对,则反复调试程序,直到正确为止。
6.3性能分析
1.误差W=
100%,如表3所示。
2.误差分析
AD的分辨率只有八位,分辨率小,所以测量小电阻的时候误差小,随着测量电阻的变大误差变大。
表3系统测试结果
测量序号
理论值
测量值
100Ω
998Ω
996Ω
1kΩ
1000Ω
999Ω
4.7kΩ
4700Ω
4698Ω
10kΩ
10000Ω
9986Ω
20kΩ
20000Ω
19898Ω
七设计心得
本次设计让我懂得了在设计中要求我要有毅力,还要细心,稍有不慎,一个小小的错误就会导致结果的不正确,而对错误的检查要求我要有足够的耐心,通过这次设计和设计中遇到的问题,也积累了一定的经验。
虽然设计过程不是一帆风顺,遇到了许多问题,但整个过程让我学到了很多平时没学到的知识。
通过这次设计更进一步的提高了我的思维能力,动手能力,增强了对专业学习的兴趣。
希望以此为起点,在以后的学习中能更积极的动脑动手,提高自己的综合能力,为以后的发展打下坚实的基础。
八参考文献
[1]陈尚松.郭庆.<<电子测量与仪器>>.电子工业出版社.2010
[2]楼然苗.李光飞.《单片机课程设计指导》.[M]北京.航空航天大学出版社.2007
[3]张毅刚.《新编MCS—51单片机应用设计(第3版)》.[M]哈尔滨工业大学出版社.2008
附一原理图