基于单片机的电阻测量设计修改
- 格式:doc
- 大小:1.15 MB
- 文档页数:28
基于单片机的简易自动电阻测试仪【摘要】设计了一种具有自动电阻筛选测试仪,选用低功耗单片机C8051F005、多路开关CD4051、步进电机驱动芯片TA8435、LCD LM9033液晶显示器等器件。
利用多路开关实现量程自动切换,测量量程为100Ω、1KΩ、10KΩ、10MΩ四档,测量精度为1%。
用户通过键盘输入要求的电阻值和筛选误差值,测量时能在液晶显示器上显示出被测电阻的阻值以及被测电阻是否符合筛选要求,在自动测量时,液晶显示器能显示电位器阻值随旋转角度变化的曲线。
所有电路结构简单,所选器件价格便宜,并给出了测试结果。
测试结果表明,该电阻测试仪在自动电阻筛选和自动测量等方面具有较好的指标、较高的实用性。
【关键词】电阻测量;C8051F005单片机;量程自动转换1.理论分析与计算1.1 电阻测量原理利用串联分压原理测量电阻阻值,原理如图1所示。
图中在被测电阻上接入恒流源,该恒流源电压由单片机提供,读取被测电阻上的压降,经放大器放大转换为0~10V直流电压,然后送入单片机中,在单片机中进行模数转换后,通过算法处理后经液晶显示器直接显示电阻阻值。
1.2 自动量程转换和筛选功能利用模拟开关切换档位,如图2所示,模拟开关的切换受单片机的控制。
被测电阻RX接入测试电路后,由单片机通过指令设置模拟开关某一路与RX导通,同时单片机输出恒流源电压接在RX上端节点5上,模拟开关内阻设为R0,根据安培定理,U=IR,即I=U/R。
在串联电路中,电流相等,则有(U5-U1)/RX=U0/R1,U5由单片机输出,U1和U0的值经过放大电路后进入单片机中的模数转换电路,经过模数转换后,单片机通过程序计算出RX的值,如果RX的值与某一路R(R1、R2、R3或者R4)档位接近,则直接在液晶显示器上显示RX的值;假如计算出的RX与此时的这一路R档位值相差比较大,则单片机输出命令字切换模拟开关的档位,再重新开始测试;如此循环,直到被测电阻阻值的某一路R档位接近时,在液晶显示器上显示RX的阻值。
单片机测电阻课程设计一、课程目标知识目标:1. 学生理解单片机的基本原理,掌握其操作方法。
2. 学生掌握电阻的测量原理,能运用单片机进行电阻的测量。
3. 学生了解电阻测量在工程实践中的应用。
技能目标:1. 学生能够独立操作单片机进行电阻测量实验,并能够分析实验数据。
2. 学生能够解决测量过程中出现的问题,优化测量方法。
3. 学生能够运用所学知识,设计简单的电阻测量电路。
情感态度价值观目标:1. 学生培养对单片机及电子技术的兴趣,激发创新意识。
2. 学生树立科学严谨的态度,注重实验数据的准确性。
3. 学生增强团队协作意识,提高沟通与交流能力。
课程性质:本课程为实践性较强的电子技术课程,旨在让学生在实际操作中掌握单片机测电阻的方法。
学生特点:学生为高中生,具备一定的电子技术基础和实验操作能力,但单片机操作相对陌生。
教学要求:结合学生特点,注重理论与实践相结合,强调实验操作和数据分析,提高学生的实践能力和创新能力。
通过课程目标的实现,使学生能够独立完成单片机测电阻实验,为后续学习打下坚实基础。
二、教学内容1. 单片机基础知识:介绍单片机的组成、工作原理和编程基础,对应教材第1章。
- 单片机结构及功能- 单片机工作原理- 单片机编程基础2. 电阻测量原理:讲解电阻的测量方法、电路设计和误差分析,对应教材第2章。
- 电阻测量方法- 电阻测量电路设计- 误差分析及处理3. 单片机测电阻实验:指导学生进行实验操作,分析实验数据,对应教材第3章。
- 实验器材与软件准备- 实验步骤与操作方法- 数据采集与处理4. 实践与应用:结合实际案例,让学生设计电阻测量电路,并进行优化,对应教材第4章。
- 案例分析- 电阻测量电路设计实践- 测量方法优化与改进5. 课程总结与拓展:对所学内容进行总结,探讨单片机在电阻测量领域的应用前景,对应教材第5章。
- 课程知识总结- 应用案例分析- 技术发展趋势与前景教学内容安排和进度:本课程共5个部分,每部分安排2课时,共计10课时。
基于单片机电阻电容电感测量基于单片机的电阻、电容和电感的测量是一种常见的电子设计任务,特别是在嵌入式系统和传感器应用中。
以下是简要的介绍,具体实现方式可能因应用、单片机型号和测量精度的要求而有所不同。
1. 电阻测量:使用单片机进行电阻测量的一种方法是通过构建电压分压电路,然后使用模拟输入通道或模数转换器(ADC)来测量分压后的电压。
基本步骤如下:•构建电压分压电路,将待测电阻与已知电阻串联。
•通过单片机的ADC模块测量分压电路的电压。
•使用欧姆定律和分压电路的关系计算待测电阻的阻值。
2. 电容测量:电容测量可以通过测量充放电时间常数来实现。
具体步骤如下:•将待测电容与已知电阻组成一个RC电路。
•使用单片机的定时器来测量电容充电或放电的时间常数。
•通过时间常数和电阻值计算电容值。
3. 电感测量:电感测量一般使用LC振荡电路来实现。
具体步骤如下:•将待测电感与已知电容组成LC振荡电路。
•通过单片机的定时器来测量振荡周期。
•通过振荡频率和已知电容值计算电感值。
注意事项:1.校准:对于精度要求较高的测量,建议在使用前进行校准。
2.信噪比:在测量中要注意信号质量和干扰,尤其是在电容和电感的测量中。
3.电源电压:确保单片机和测量电路的供电电压稳定。
4.选择合适的元件值:为了提高测量的精度,选择合适的已知电阻、电容和电感值。
5.滤波:可以在测量结果中引入滤波以降低噪声。
这仅仅是一个简要的概述,具体的实现可能因项目要求和硬件平台而有所不同。
在设计时,请仔细考虑电路的特性和单片机的性能。
基于单片机的热敏电阻温度计的设计
随着科技的不断发展,各种电子设备应用也越来越广泛。
热敏电
阻温度计便是其中之一,它是一种利用物质温度对电阻值的变化来实
现温度测量的智能仪器。
本篇文章将介绍热敏电阻温度计的设计及其
原理。
首先,我们需要准备的材料有单片机、热敏电阻、电阻、显示屏、连接线以及电源。
将这些材料准备齐全后,便可以开始进行热敏电阻
温度计的设计。
我们需要将热敏电阻、电阻、单片机连接成电路。
电路连接后,
需要进行编程,以使得单片机能够读取热敏电阻和电压值,并将其转
换成温度值。
通过显示屏将温度值显示出来,实现对温度的实时监测。
在热敏电阻温度计设计的过程中,需要注意以下几点:
1. 选用合适的热敏电阻:热敏电阻的温度系数决定了它在不同温
度下的电阻值,因此需要选择合适的热敏电阻。
2. 电路的稳定性:电路中各部分的连接不可松动,否则会影响温
度测量的准确性。
3. 编程的准确性:需要通过合理的代码编写来实现对热敏电阻和
电压值的正确读取和转换,确保温度测量的准确性。
总之,热敏电阻温度计因其简单易用、准确度高等优点被广泛应
用于各种领域中,例如工业制冷、医疗设备等。
希望通过本篇文章的
介绍,能够帮助读者更好地了解热敏电阻温度计的设计及其原理,以便于更好地应用于实际生活生产中。
基于单片机控制的电阻在线测试仪设计基于单片机控制的电阻在线测试仪设计一、需求分析随着科学技术的飞速发展,印刷电路板上元器件的集成度、复杂度越来越高,对印刷电路板组装后的测试要求也就相应提高, 在调试维修印刷电路板时,往往需要测量印刷板上的电阻数值。
传统的做法是焊开元件再测量,以避免受板上其他元器件的影响。
这样作不仅麻烦、测试速度缓慢,甚至可能损伤印刷板和元件。
在线测试的提出,为解决这一问题提出了一种较为常用和有效的检测方法。
它主要是运用“电隔离”技术,无需焊开元件而直接在板上测量,既保持印刷板和元件完美无损,又大大提高了侧试速度。
近来在线测试技术发展很快。
经过对已有知识与技术深人的理论分析和实验研究,设计了电阻在线测试仪。
特别是引进单片机控制,实现了电阻在线测试的智能化,拓宽测试范围,提高精度。
二、方案选择目前“电隔离”技术采用的方法很多,本次设计主要的对象是用来测量无源印刷电路板上的单个非耦合电阻,采用了比较简单的平衡电桥原理,并利用了运放在深度负反馈时的“虚短”特性,以及利用单片机可以多次采集求平均值的优点,在此基础上延伸设计完成了仪表的主要功能:单片机控制的量程自动切换,提高了测量的精度。
本次设计采用的具体原理介绍如下:设计原理图如图 1.1所示。
图中 Rx 为板上的待测电阻 , R1和 R2为 Rx两端旁路的等效电阻, VREF为基准电压 , Rr为基准电阻。
测试时用三根测试笔 (图中用箭头表示 ) ,其中一根将 R1 和 R2 的结点接地;第二根将 Rx和R1的结点接至运算放大器的反相输入端;第三根将 Rx和 R2的结点接至运算放大器的输出端;由图不难看出:根据理想运放“虚短”原理,R1上的电压为零,因而没有电流通过;又根据深度电压负反馈时其输出电阻为零的特性 ,作为负载电阻 R2 的数值大小 ,不影响其输出电压 Vo,。
由图 1得Vo = - VREF Rx /Rr 可见在基准电压 VREF和基准电阻 Rr确定后 ,Vo 只取决于 Rx ,而与 R1 与 R2 旁路电阻无关 ,即对 Rx 实现了“电隔离”。
基于单片机的热敏电阻温度计的设计引言:热敏电阻是一种根据温度变化而产生变阻的元件,其电阻值与温度成反比变化。
热敏电阻广泛应用于温度测量领域,其中基于单片机的热敏电阻温度计具有精度高、控制方便等特点,因此被广泛应用于各个领域。
本文将介绍基于单片机的热敏电阻温度计的设计,并通过实验验证其测量精度和稳定性。
一、系统设计本系统设计使用STC89C52单片机作为控制核心,热敏电阻作为测量元件,LCD1602液晶显示屏作为温度显示设备。
1.系统原理图2.功能模块设计(1)温度采集模块:温度采集模块主要由热敏电阻和AD转换模块组成。
热敏电阻是根据温度变化而改变阻值的元件,它与AD转换模块相连,将电阻变化转换为与温度成正比的电压信号。
(2)AD转换模块:AD转换模块将热敏电阻的电压信号转换为数字信号,并通过串口将转换结果传输给单片机。
在该设计中,使用了MCP3204型号的AD转换芯片。
(3)驱动显示模块:驱动显示模块使用单片机的IO口来操作LCD1602液晶显示屏,将温度数值显示在屏幕上。
(4)温度计算模块:温度计算模块是通过单片机的计算功能将AD转换模块传输过来的数字信号转换为对应的温度值。
根据热敏电阻的特性曲线,可以通过查表或采用数学公式计算获得温度值。
二、系统实现1.硬件设计(1)单片机电路设计单片机电路包括单片机STC89C52、晶振、电源电路等。
根据需要,选用合适的外部晶振进行时钟信号的驱动。
(2)AD转换电路设计AD转换电路采用了MCP3204芯片进行温度信号的转换。
根据芯片的datasheet,进行正确的连接和电路设计。
(3)LCD显示电路设计LCD显示电路主要由单片机的IO口控制,根据液晶显示模块的引脚定义,进行正确的连接和电路设计。
(4)温度采集电路设计温度采集电路由热敏电阻和合适的电阻组成,根据不同的热敏电阻特性曲线,选择合适的电阻和连接方式。
2.软件设计(1)初始化设置:单片机开机之后,需要进行一系列的初始化设置,包括对IO口、串口和LCD液晶显示屏的初始化设置。
宜宾职业技术学院毕业设计基于STM32的简易自动电阻测量仪(软件设计)系部电子信息工程系专业名称电子信息工程技术班级电子1091班姓名尹小东学号 2 0 0 9 1 1 1 6 6指导教师王伯黎2011 年 11 月 10 日摘要--------------------------------------------------- 2 1、方案论证与选择 --------------------------------------- 41.1核心控制芯片------------------------------------------------- 4 1.2档位切换模块------------------------------------------------- 4 1.3ADC采样电路------------------------------------------------- 5 1.4显示模块----------------------------------------------------- 5 1.5键盘控制电路------------------------------------------------- 52、系统设计 --------------------------------------------- 62.1系统总体思路------------------------------------------------- 6 2.2系统硬件模块设计--------------------------------------------- 72.2.1电源电路设计--------------------------------------------- 72.2.2恒压源电路设计------------------------------------------- 82.2.3档位切换电路设计----------------------------------------- 82.2.4电压跟随电路设计----------------------------------------- 92.2.5电机驱动电路设计---------------------------------------- 10 2.3软件设计---------------------------------------------------- 113、系统测试 -------------------------------------------- 124、设计总结 -------------------------------------------- 13 参考文献----------------------------------------------- 13 附录--------------------------------------------------- 14附录1主要元件清单 --------------------------------------------- 14 附录2产品实物图片 --------------------------------------------- 14本系统由闭环恒压源电路、闭环测量电路、电机驱动电路三大部分构成。
单片机课程设计电阻测量一、课程目标知识目标:1. 理解单片机的基本原理和功能,掌握单片机在电阻测量中的应用;2. 掌握电阻的基本概念、测量方法和相关电路,能运用单片机进行电阻的精确测量;3. 了解并掌握相关程序设计方法,实现单片机对电阻值的读取、显示和处理。
技能目标:1. 能够运用单片机设计简单的电阻测量电路,并进行实际操作;2. 学会使用编程软件,编写、调试和优化单片机程序,实现对电阻值的测量和显示;3. 提高动手实践能力,培养分析问题、解决问题的能力。
情感态度价值观目标:1. 培养学生对单片机技术的兴趣和热情,激发学生学习电子技术的积极性;2. 培养学生的团队协作意识,学会与他人共同探讨、解决问题;3. 引导学生认识到科技对社会发展的作用,树立正确的价值观和责任感。
课程性质:本课程为实践性较强的课程,旨在让学生通过实际操作,掌握单片机在电阻测量中的应用。
学生特点:学生已具备一定的电子基础知识,对单片机有一定了解,但实践经验不足。
教学要求:注重理论与实践相结合,强调学生动手实践,培养学生的问题分析和解决能力。
将课程目标分解为具体的学习成果,便于教学设计和评估。
二、教学内容1. 单片机基础知识回顾:复习单片机的组成、工作原理及编程基础,为后续课程打下坚实基础。
教材章节:《单片机原理与应用》第1章、第2章。
2. 电阻测量原理:讲解电阻的定义、测量方法及常见测量电路。
教材章节:《电子测量技术》第3章。
3. 单片机与电阻测量:介绍单片机在电阻测量中的应用,分析测量电路的原理和设计方法。
教材章节:《单片机原理与应用》第6章,《电子测量技术》第4章。
4. 程序设计:学习编写单片机程序,实现对电阻值的读取、显示和处理。
教材章节:《单片机C语言程序设计》第3章、第4章。
5. 实践操作:设计并搭建单片机电阻测量电路,进行实际操作,调试程序。
教材章节:《单片机实验教程》第2章、第3章。
6. 课程总结与拓展:总结本次课程所学内容,探讨单片机在电阻测量领域的拓展应用。
单片机课程设计报告-- 基于单片机的热敏电阻测温系统设计单片机课程设计报告2011 / 2012 学年第 2学期课程名称:单片机课程设计上机项目:基于单片机的热敏电阻测温系统设计专业班级:电子信息工程02班1摘要在日常生活及工业生产过程中,经常要用到温度的检测及控制,温度是生产过程和科学实验中普遍而且重要的物理参数之一。
传统的测温元件有热电偶和热电阻。
而热电偶和热电阻测出的一般都是电压,再转换成对应的温度,这些方法相对比较复杂,需要比较多的外部硬件支持。
我们用一种相对比较简单的方式来测量。
我们采用温度传感器DS18B20作为检测元件,温度范围为-55~125 ºC,最高分辨率可达0.0625 ºC。
DS18B20可以直接读出被侧温度值,而且采用三线制与单片机相连,减少了外部的硬件电路,具有低成本和易使用的特点。
本文介绍一种基于STC12C5608AD单片机的一种温度测量及报警电路,该电路采用DS18B20作为温度监测元件,测量范围0℃-~+100℃,使用数码管驱动芯片CH451显示,能设置温度报警上下限。
正文着重给出了软硬件系统的各部分电路,介绍了集成温度传感器DS18B20的原理,STC12C5608AD单片机功能和应用。
该电路设计新颖、功能强大、结构简单。
关键词:温度测量DS18B20 STC12C5608AD CH451目录2摘要 (2)第1章绪论 (4)第2 章时间安排 (5)第3章设计方案及选材 (6)3.1 系统器件的选择 (7)3.1.1温度采集模块的选择与论证 (7)3.1.2 显示模块的选择与论证 (8)3.2 设计方案及系统方框图 (8)3.2.1 总体设计方案 (8)3.2.2 系统方框图 (9)第4章硬件设计 (10)4.1 总系统组成图 (10)4.2 温度测量传感器部分 (10)4.3 控制部分 (10)4.4 显示部分 (11)4.5 报警部分 (12)第5章程序流程图设计 (13)5.1 主程序流程图 (13)5.2 温度采集流程图 (14)第6章总结 (15)参考文献 (16)3第1章绪论现在电子技术日新月异,各种新型的自动控制系统也越来越多地运用到人们的日常生活、工业生产等领域,它不但可以提高劳动生产率,而且可以使控制的设备或执行的操作更加精确。
基于单片机PIC绝缘电阻测量仪的研制目前对于电缆故障进行测量,检测,以及控制的系统有很多。
这些故障主要包括电缆网络的短路,以及断路等,但是这些系统并不能对导线间的绝缘进行测试。
本文研发和制造了一个包括原有系统功能,并对导线的绝缘可以测试的系统。
该系统的实现主要运用单片机PIC16F877A为主控芯片实现的绝缘电阻测量仪进行研制。
标签:PIC16F877A单片机;绝缘电阻;测量仪1 緒论对于绝缘电阻的检测,我国计量法早有强制性规定,为了保证电气安全,必须进行检测。
兆欧表是专门用来测量绝缘电阻的,也被称作绝缘电阻测试仪。
之前的兆欧表(摇表)因其拥有非常多的缺点,诸如:体积庞大,只有很小的测量范围,非常低的测量精度,操作也非常复杂,因此让测量结果的精确性无法获得保障,渐渐人们放弃使用。
数字式兆欧表没有了这些缺点,同时结合单片机使用,可以将测量获得的结果保存起来,以及显示,最后能够和pc机保持通讯。
本文主要分析一种以PIC16F877A单片机为基础的数字式绝缘测试仪。
2 工作原理这个数字式绝缘测试仪的组成部分包括:LCD显示电路、PIC16F877A单片机系统电路、量程切换电路、A/D转换电路、采样电路、直流高压电源电路等。
如图1所示为它的整个工作原理框图。
这个系统的测试电压源为1000V的直流电源,这个电源是由高压电源集成模块提供的。
同时选择恒压法(国家标准规定)测量绝缘电阻。
取样电压接到基准电压输人端(VeR-EF+ ),电源分压信号连接到A/D转换器的模拟量输人端(An)。
LCD驱动器的缓存中保存由A/D转换的相应经过一定计算的结果,根据要求将缓存保存的结果显示出来,用户可以依据显示值的大小,采用合适的量程来选择开关。
在PIC16F877A单片机的内部有一个A/D转换器模块(12位)的集成在里面。
所以本系统的电路根本不需要再添加一个A/D转换器,如此让电路板的尺寸大大缩小了。
3 系统的硬件组成(1)直流高压电源电路。
基于单片机的电阻测量设计修改1.设计目的及其意义本设计基于单片机和AD转换器实现电阻的测量。
采用ADC0809,实现由模拟电压转换到数字信号,通过单片机系统处理后,由LCD显示被测量电阻的阻值。
测量范围为1Ω~5KΩ,精度大于98%。
2.方案设计2.1 总体设计思路本设计包括硬件和软件设计两个部分。
模块划分为电压测量(数据采集)、模数转换、阻值显示等子模块。
电路结构可划分为:电压测量,电压转换电阻,阻值显示及相关的控制管理软件组成。
用户终端完成信息采集、处理、数据传送、显示等功能。
从设计的要求来分析该设计须包含如下结构:电压测量电路,电压转换电路,阻值显示电路、单片机及相关的控制软件组成;它们之间的构成框图如图1总体设计框图所示:电压测电压转换电阻AT89C测量精图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的阻值为600Ω和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.2.6 电源电路的设计本设计使用USB接口给电路提供+5V电压。
电路中所有的高电平全部接在VCC端,地接在USB接口的4号脚上。
通电时红灯LED-R亮。
如图7所示为电源电路。
图7 电源电路图2.2.7 下载电路的设计本设计使用串口RS232以及烧录芯片MAX232组成的下载电路。
MAX232的11和12号脚(R1OUT、T1IN)与MCU的10和11号脚(RXD、TXD)连接,即可向MCU烧录程序。
图8所示为下载电路。
图8 下载电路图2.3 系统硬件电路的选择及说明硬件电路的设计见附图示,从以上的分析可知本设计中要用到如下器件:STC89C52RC、ADC0809转换器、LCD1602、按键等一些单片机外围应用电路,以及单片机的手工复位,单片机电源电路等。
其中R3,R6电阻为已知电阻,R4,R5为不同测量精度下的未知电阻,开始工作时可在LCD上观察到被测电阻的阻值。
电路设有2个按键,S1键作为阻值测量精度的选择键,S2键作为电路复位键。
2.4 软件的程序实现2.4.1主程序工作流程图按上述工作原理和硬件结构分析可知系统主程序流程图如下图9所示。
开始系统初始(重新)放置电阻选择测量精度开关结束最终显示初次显无正常<300正常图9 主程序工作流程图3.软件仿真本设计通过利用Proteus仿真,将所编写的程序用Keil软件编译,所仿真原理图见附录二。
本设计所要求达到的目标是测量一个电阻,在误差允许范围内,通过LCD1602显示出该电阻的阻值。
测量的部分电阻的阻值如下表1所示。
表1 仿真测量电阻阻值实际电阻(Ω)仿真测量(600Ω)硬件测量(600Ω)仿真测量(300Ω)硬件测量(300Ω)1.220111.520112.122222.622223.522334.344435.44464677666.3746699788109991014141213122019192020232121222247484847474948484949515151505290898990921009898100100120121*********2202182222202232402402452382463003003002972973303273383323374704694774724805105085165135225505505675505691K993102799610662K120842233209023373K29853042302631773K333233426334235253K535353771352539504K545004864448151644K646755066448151644K746754864480051645K150665284516455846K60526354607273506K160526685607573506K563547452665482008K284008400820092624.结束语本设计研究了一种基于单片机技术的电阻测量。
由电路知识可以容易测出一个电阻上的电压,通过欧姆定律又能得到该电阻的阻值。
由于测量的电压是模拟量,故用ADC转换器转换为数字量,再由单片机系统处理即可完成电阻的阻值测量。
由于数字量在数值上是离散的,通过此种方法得到的阻值存在着误差,为了尽可能的减小此误差,在选择已知电阻上,试用了很多电阻。
通过大量数据与实际电阻的阻值相比较,以及实验室能提供的电阻,选用了600Ω和300Ω的已知电阻,用不同的量程可以尽可能的减小误差。
表1中给出了部分电阻的硬件电路测量结果,从中可以得知,同一电阻,用不同的量程测量得到不同的阻值,存在的误差也很明显。
本设计只采用了两种已知电阻,也就是2个量程测量电阻,测量范围从1Ω~5KΩ,精度大于98%。
若提高测量精度,只需增加更大的量程,即可完成大电阻的阻值测量。
由于硬件电路的连接,元器件不理想等原因,实际测量电阻的阻值与仿真得到的阻值还是有一定误差的。
虽然硬件电路能正常工作,但程序以及元器件的选择不足,使得这次设计并没有达到很好的测量效果,对微欧姆级和K欧姆级电阻无法测量,还是感到不理想。
通过此次设计,尤其硬件电路的焊接,对单片机系统有了更好的认识。
在以后的学习中,会更加注重设计原理与硬件电路的相结合,做好每一个设计,达到理想的要求。
参考文献:[1] 史翔,张岳涛.基于AT89C51单片机微电阻测量系统[J]. 甘肃科技,2007年8月[2] 周瑞景. Proteus在MCS-51&ARM7系统中的应用百例[M]. 北京:电子工业出版社,2006[3] 李全利.单片机原理及接口技术[M].2版. 北京:高等教育出版社,2010[4] 王东峰,王会良.单片机C语言应用100例[M].北京:电子工业出版社,2010[5] 彭伟. 单片机C语言程序设计实训100例—基于8051+Proteus仿真.北京:电子工业出版社,2010附录一设计编程程序//*************头文件及宏定义*****************#include "includes.h"#define TIME0H 0x3C#define TIME0L 0xB0#define K1 P1_0#define CLK P1_1//******************全局变量*****************unsigned char uc_Clock=0; //定时器0中断计数bit b_DATransform=0;///<<<<<<<<<<<<<<<<<<<<<把电阻值显示在LCD上/>>>>>>>>>>>>>>>>>>>>>void vShowRes(unsigned int uiNumber) {unsigned char ucaNumber[4],ucCount;ucaNumber[0]=uiNumber/1000; //把计算数字的每个位存入数组。
ucaNumber[1]=(uiNumber-1000*(int)ucaN umber[0])/100;ucaNumber[2]=(uiNumber-1000*(int)ucaN umber[0]-100*(int)ucaNumber[1])/10;ucaNumber[3]=uiNumber-1000*(int)ucaNu mber[0]-100*(int)ucaNumber[1]-10*(int)u caNumber[2];for(ucCount=0;ucCount<4;ucCount++) {vShowOneChar(ucaNumber[ucCount]+48);//从首位到末位逐一输出。
}}//*************************主函数******************************void main(){//<<<<<<<<<<<<<<<<<<<<<<<<<设置定时器0>>>>>>>>>>>>>>>>>>>>>>>>>>>>TMOD=0x21; //定时器0,模式1。