设计并实现对电阻器电阻值的测量课设.docx
- 文档编号:17958972
- 上传时间:2023-08-05
- 格式:DOCX
- 页数:22
- 大小:128.67KB
设计并实现对电阻器电阻值的测量课设.docx
《设计并实现对电阻器电阻值的测量课设.docx》由会员分享,可在线阅读,更多相关《设计并实现对电阻器电阻值的测量课设.docx(22页珍藏版)》请在冰点文库上搜索。
设计并实现对电阻器电阻值的测量课设
课程设计任务书
学生姓名:
专业班级:
指导教师:
工作单位:
题目:
设计并实现对电阻器电阻值的测量
初始条件:
(1)PROYUES、KEIL等软件;
(2)课程设计辅导书:
《单片微型计算机》
(3)先修课程:
51单片机C语言教程、微机原理。
要求完成的主要任务:
(包括课程设计工作量及其技术要求,以及说明书撰写等具体要求)
(1)设计原理或方法;
(2)系统硬件线路设计图;
(3)程序框图;
(4)资源分配表;
(5)总结与心得。
时间安排:
第19周
指导教师签名:
年月日
系主任(或责任教师)签名:
年月日
摘要
本设计电阻测量是利用A/D转换原理,将被测将被测模拟量转换成数字量,并用数字方式显示测量结果的电子测量仪表。
通常测量电阻都采用大规模的A/D转换集成电路,测量精度高,读数方便,在体积、重量、耗电、稳定性及可靠性等方面性能指标均明显优于指针式万用表。
其中,A/D转换器将输入的模拟量转换成数字量,逻辑控制电路产生控制信号按规定的时序将A/D转换转换去中各组模拟开关接通或断开,保证A/D转换正常进行。
A/D转换结果通过计数译码电路变换成BCD码,最后驱动显示器显示相应的数值。
本系统以单片机AT89C51为系统的控制核心,结合A/D转换芯片ADC0809设计一个电阻测量表,能够测量一定数值之间的电阻值,通过1602显示屏显示。
具有读数准确,测量方便的特点。
关键词:
单片机(AT89C51)电压A/D转换ADC08091602
目录
1.概述···························································1
2.总体方案设计················································2
2.1.方案比较················································2
2.2.方案选择················································3
3.单元模块设计················································3
3.1.各个单元模块功能介绍及电路设计··················4
3.1.1.传感器模块········································4
3.1.2.三运放放大电路模块·····························4
3.1.3.双积分模数转换器(ICL7107)模块············5
3.1.4.数码管显示模块···································8
3.2.电路参数的计算及元器件的选择·······················9
3.2.1.桥式电路·········································9
3.2.2.三运放放大电路·································9
3.2.3双积分模数转换器(ICL7107)···················10
3.3.特殊器件的介绍·······································10
3.3.1.ICL7107·········································10
3.4.各单元模块的联接·····································13
4.相关软件介绍···············································14
5.系统调试····················································15
6.总结与体会··················································16
7.参考文献····················································17
附录一··························································18
1.设计目的及其意义
本设计基于单片机和AD转换器实现电阻的测量。
采用ADC0809,实现
由模拟电压转换到数字信号,通过单片机系统处理后,由LCD显示被测量电
阻的阻值。
测量范围为1Ω~2KΩ,精度大于98%。
2.方案设计
2.1总体设计思路
本设计包括硬件和软件设计两个部分。
模块划分为电压测量(数据采集)、
模数转换、阻值显示等子模块。
电路结构可划分为:
电压测量,电压转换电阻,
阻值显示及相关的控制管理软件组成。
用户终端完成信息采集、处理、数据传
送、显示等功能。
从设计的要求来分析该设计须包含如下结构:
电压测量电路,电压转换电
路,阻值显示电路、单片机及相关的控制软件组成;它们之间的构成框图如图
1总体设计框图所示:
图1总体设计框图
处理器采用51系列单片机AT89C51。
整个系统是在系统软件控制下工作
的。
当测量一个电阻时,经过电压采集,电压转换为电阻,电阻显示三个部分
可以在LCD上显示该被测电阻的阻值。
当被测电阻为100Ω范围以内时,通过
开关选择测量量程,再次测量该电阻,以减小误差。
2.2具体电路模块设计
2.2.1电压测量的设计
如图2所示为被测电阻电压测量。
电压经过已知电阻R1和被测电阻Rx
接到地。
通过OUT输出被测电阻Rx上的电压。
送到ADC0809的IN0口。
图2被测电阻电压测量图
2.2.2模数ADC转换的设计
由电压测量得到的电压经过ADC模数转换可得到8位的电压值,经过
欧姆定律(即电压之比等于电阻之比)可得到被测电阻的阻值的大小。
公式
如下:
本设计用到的R1的阻值为300Ω。
由被测电阻得到的电压值经ADC0809的26脚IN0输入,经过内部的
AD转换,在OUT1~7输出数字电压量,经过上述公式的转变,在P2口上
的显示的数字量为被测电阻的阻值数字量。
如图3所示为被测电阻电压量转
换为阻值量。
图3被测电阻电压量转换为阻值量图
2.2.3液晶显示电路的设计
经过ADC0809模数转换得到的电阻值数字量,在MCU的P2口输入,
MCU系统处理后在P0口由LCD1602显示出来该被测电阻的阻值。
如图4
所示为被测电阻阻值显示。
图4被测电阻阻值显示图
2.2.4时钟电路的设计
XTAL1和XTAL2分别为反向放大器的输入和输出。
该反向放大器可以
配置为片内振荡器。
石晶振荡和陶瓷振荡均可采用。
如采用外部时钟源驱动
器件,XTAL2应不接。
因为一个机器周期含有6个状态周期,而每个状态周期为2个振荡周期,
所以一个机器周期共有12个振荡周期,如果外接石英晶体振荡器的振荡频
率为12MHZ,一个振荡周期为1/12us,故而一个机器周期为1us。
如图5
所示为时钟电路。
图5时钟电路图
2.2.5复位电路的设计
复位方法一般有上电自动复位和外部按键手动复位,单片机在时钟电路
工作以后,在RESET端持续给出2个机器周期的高电平时就可以完成复位
操作[6]。
例如使用晶振频率为12MHz时,则复位信号持续时间应不小于2us。
本设计采用的是外部手动按键复位电路。
如图6所示为复位电路。
图6复位电路图
2.3系统硬件电路的选择及说明
硬件电路的设计见附图示,从以上的分析可知本设计中要用到如下器
件:
STC89C52RC、ADC0809转换器、LCD1602、按键等一些单片机外围
应用电路,以及单片机的手工复位,单片机电源电路等。
其中R3,R6电阻
为已知电阻,R4,R5为不同测量精度下的未知电阻,开始工作时可在LCD
上观察到被测电阻的阻值。
电路设有2个按键,S1键作为阻值测量精度的
选择键,S2键作为电路复位键。
2.4软件的程序实现
2.4.1主程序工作流程图
按上述工作原理和硬件结构分析可知系统主程序流程图如下图7所示。
<300Ω
无正常显示
正常显示
图7主程序工作流程图
3.软件仿真
本设计通过利用Proteus仿真,将所编写的程序用Keil软件编译,所仿真原理图见附录二。
本设计所要求达到的目标是测量一个电阻,在误差允许范围内,通过LCD1602显示出该电阻的阻值。
测量的部分电阻的阻值如下表1所示。
表1仿真测量电阻阻值
实际电阻(Ω)
仿真测量(300Ω)
硬件测量(300Ω)
1.2
2
0
1.5
2
0
2.1
2
2
2.6
2
2
3.5
2
2
4.3
4
4
5.4
4
4
6
7
7
6.3
7
4
9
9
7
10
9
9
14
14
12
20
19
19
23
21
21
47
48
48
49
48
48
51
51
51
90
89
89
100
98
98
120
121
121
220
218
222
240
240
245
300
300
300
330
327
338
470
469
477
510
508
516
550
550
567
1K
993
1027
4.总结与体会
通过此次课程设计,我对单片机内部结构与程序烧录有了进一步的了解和认识,在设计硬件电路过程中,我通过对
本设计研究了一种基于单片机技术的电阻测量。
由电路知识可以容易测
出一个电阻上的电压,通过欧姆定律又能得到该电阻的阻值。
由于测量的电
压是模拟量,故用ADC转换器转换为数字量,再由单片机系统处理即可完
成电阻的阻值测量。
由于数字量在数值上是离散的,通过此种方法得到的阻值存在着误差,
为了尽可能的减小此误差,在选择已知电阻上,试用了很多电阻。
通过大量
数据与实际电阻的阻值相比较,以及实验室能提供的电阻,选用了300Ω的
已知电阻,选择合适的已知电阻阻值可以尽可能的减小误差。
表1中给出了
部分电阻的硬件电路测量结果,从中可以得知,对于不同的电阻阻值测量精
度不同。
本设计只采用了并联一个已知电阻,通过被测电阻的分压达到测量
的目的,测量范围从1Ω~2KΩ,精度大于98%。
由于硬件电路的连接,元
器件不理想等原因,实际测量电阻的阻值与仿真得到的阻值还是有一定误差
的。
回顾起此次课程设计,至今我仍感慨颇多,可以说,这次课程设计比较
不容易,因为很多内容还未进行学习,但是可以学到很多很多的东西,同时
不仅可以巩固了以前所学过的知识,而且学到了很多在书本上所没有学到过
的知识。
这次设计使自己有机会使用到原来所学知识,并且可以有更深的认
识,可以时候收获不小。
首先,在这次设计过程中我查阅了很多资料,通过
查阅各种资料,加深了我对更多理论知识的理解,同时也增强了我对资料的
检索能力。
其次,通过这次课程设计增加了我对很多元器件、模拟电路和数
字电路的理解。
虽然硬件电路能正常工作,但程序以及元器件的选择不足,使得这次
设计并没有达到很好的测量效果,对微欧姆级和K欧姆级电阻无法测量,还
是感到不理想。
通过此次设计,尤其硬件电路的焊接,对单片机系统有了更好的认识。
在以后的学习中,会更加注重设计原理与硬件电路的相结合,做好每一个设
计,达到理想的要求。
尽管最终获得的知识很多,但更多的还是精神上的收
获。
它让我明白了学无止境、活到老学到老的真理。
在人生路上,迎接我们
去挑战的艰难还有很多很多,等待我们去征服的挫折还有很多很多,我们需
要在奋斗这条路上勇敢的走下去!
5参考文献
[1]张鑫.《单片微机原理与应用》.[M]北京.电子工业出版.2008
[2]楼然苗.李光飞.《单片机课程设计指导》.[M]北京.航空航天大学出版社.2007
[3]长洪润.刘秀英.《单片机应用设计200例(上、下)》.[M]北京.航空航天大学出版社.2006
[4]张毅刚.《新编MCS—51单片机应用设计(第3版)》.[M]哈尔滨工业大学出版社.2008
[5]马静.《单片机原理与应用》.[M]实践教学指导书中国计量出版社.2003
附录一设计编程程序
//*******头文件及宏定义***********************
#include
sbitSTART=P3^4;//ATART,ALE接口。
0->1->0:
启动AD转换。
sbitEOC=P3^3;//转换完毕由0变1.
sbitLCDRS=P3^5;
sbitLCDRW=P3^6;
sbitLCDE=P3^7;
sbitCLK=P1^1;//定义时钟接口
unsignedcharclk_0=0;//定时器中断计数
bittransform=0;//转换标志位
unsignedintAD_Transform()
{
floatRt;
START=1;//启动AD转换。
START=0;
while(EOC==0);//等待转换结束。
Rt=P2;//输入转换结果。
Rt=Rt*300/(255-Rt);//已知电阻为300欧姆,计算未知电阻,测量阻值0-1999欧姆
returnRt;
}
//*************延时函数***************
voidvDelay_1ms(unsignedintx)
{
unsignedinti,j;
for(j=0;j for(i=0;i<110;i++); } //*************写入指令**************** voidvWriteCMD(unsignedcharcmd) { LCDRS=0; LCDRW=0; LCDE=0; P0=cmd; vDelay_1ms(5); LCDE=1; vDelay_1ms(5); LCDE=0;//最后执行命令 } //*************写入数据******************** voidvWriteData(unsignedchardat) { LCDRS=1; LCDRW=0; LCDE=0; P0=dat; vDelay_1ms(5); LCDE=1; vDelay_1ms(5); LCDE=0;//最后显示数据。 } //****************显示一串字符************* voidvShowOneChar(unsignedcharucChar) { switch(ucChar) { case'': vWriteData(0x20);break; case': ': vWriteData(0x3A);break; case'(': vWriteData(0x28);break; case')': vWriteData(0x29);break; case'0': vWriteData(0x30);break; case'1': vWriteData(0x31);break; case'2': vWriteData(0x32);break; case'3': vWriteData(0x33);break; case'4': vWriteData(0x34);break; case'5': vWriteData(0x35);break; case'6': vWriteData(0x36);break; case'7': vWriteData(0x37);break; case'8': vWriteData(0x38);break; case'9': vWriteData(0x39);break; case'R': vWriteData(0x52);break; case'a': vWriteData(0x61);break; case'c': vWriteData(0x63);break; case'e': vWriteData(0x65);break; case'i': vWriteData(0x69);break; case'n': vWriteData(0x6E);break; case's': vWriteData(0x73);break; case't': vWriteData(0x74);break; case'~': vWriteData(0xF4);break;//显示Ω default: break; } } //*************显示数组字符*********** voidvShowChar(unsignedchara[]) { unsignedchari; for(i=0;;i++) { vShowOneChar(a[i]); if(a[i+1]=='\0') break; } } //***************LCD初始化************ voidvdInit() { vWriteCMD(0x38);//16*2显示,5*7点阵,8位数据 vDelay_1ms(5); vWriteCMD(0x0C);//开显示,不显示光标 vDelay_1ms(5); vWriteCMD(0x01);//清除LCD的显示内容 vDelay_1ms(5); } //**********把电阻值显示在LCD上************* voidShowRes(unsignedintx) { unsignedchara[4],i; a[0]=x/1000; a[1]=x%1000/100; a[2]=x%100/10; a[3]=x%10; for(i=0;i<4;i++) { vShowOneChar(a[i]+48); } } //****************主函数************************ voidmain() { TMOD=0x21;//定时器0,模式1.定时器1,模式2 TH0=0x3C;//50000次机器周期计时 TL0=0xB0; TH1=0x14;// TL1=0x00; TR0=1;//启动定时器0。 ET0=1;//开定时器0中断。 TR1=1;//启动定时器1。 ET1=1;//开定时器1中断。 EA=1;//开总中断 vdInit(); vWriteCMD(0x80);//写入第一行第一个位置 vShowChar("Resistance: "); vWriteCMD(0xCD); vShowChar("(~)");//显示欧姆符号 while (1) { if(transform==1) { transform=0; vWriteCMD(0xC4); ShowRes(AD_Transform()); } } } //*******************定时器0、1中断****************** voidTime0()interrupt1 { if(clk_0==0) { clk_0=5; transform=1; } else clk_0--; TH0=0x3C;//恢复定时器0。 TL0=0xB0; } voidTime1()interrupt3 {CLK=! CLK;} 附录二Proteus仿真原理图 本科生课程设计成绩评定表 姓名 性别 专业、班级 课程设计题目: 课程设计答辩或质疑记录: 成绩评定依据: 最终评定成绩(以优、良、中、及格、不及格评定) 指导教师签字: 年月日
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 设计 实现 电阻器 阻值 测量