电阻数字测量仪
目录
一 设计目的………………………………………………………3
二 设计主要内容及要求…………………………………………3
三 设计说明………………………………………………………3
四 硬件电路设计…………………………………………………4
五 软件设计………………………………………………………7
六 仿真结果………………………………………………………8
七 设计心得体会…………………………………………………8
八 附录……………………………………………………………9
九 参考文献………………………………………………………18
2
一 设计目的:
1 掌握电子系统的一般设计方法和设计流程;
2 学习使用 PROTEL 软件绘制电路原理图及印刷板图;
3 掌握应用 Protues 等软件对所设计的电路进行仿真,通过仿真结果验证设计
的正确性。
二 设计内容和要求:
1 设计一数字显示的电阻测量仪,测量范围为 100 欧姆~1M 欧姆。
2 要求采用单片机或 FPGA/CPLD 作为控制芯片。
3 整理设计内容,编写设计说明书。
三 设计说明:
(1) 设计思路
系统设计主要包括硬件和软件两个部分,依据控制系统的工作原理和技术性
能,将硬件和软件分开设计。
硬件设计部分包括电路原理图,合理选择元器件,绘制线路图,然后对硬件
进行调试,测试,以达到设计要求。本设计中应用到芯片 AT89C52,ADC0809 以
及四位七段共阴极数码管。
软件设计部分,首先在总体设计中完成系统总框图和各模块的功能设计,拟定详
细的工作计划;然后进行具体设计,包括各模块的流程图,选择合适的编程语言
和工具,进行代码设计等;最后对软件进行调试,测试达到所需功能要求。
(2)设计原理及框图
该数字电阻测量仪,选用 AT89C52 为核心控制,并包含了外部时钟电路,复
位电路,LED 数码显示电路及 AD 转换电路。工作流程是通过 ADC0809 模拟通道
1 采集外部电压信号,经过内部模数转换为 8 位二进制数据(待测电阻阻值),
通过 P0 口读入 AT89C52 后转换为十进制数值,由 P1 口输出驱动数码管显示阻
值。
总体设计框图
3
外部时钟电
路
复位电路
1602 显 示 电
路模块
AT89C52
控制中心
AD 转 换 电
路模块
外 部 待 测 电
路模块
图 1 系统框图
四 硬件电路设计:
(1)硬件电路模块
1) AT89C52 单片机最小工作系统(外部时钟、复位)电路
图 2 最小工作系统
单片机必须在时钟的驱动下才能工作.在单片机内部有一个时钟振荡电路,
只需要外接一个振荡源就能产生一定的时钟信号送到单片机内部的各个单元,决
定单片机的工作速度。
单片机的第 9 脚 RST 为硬件复位端,只要将该端持续 4 个机器周期的高电平
即可实现复位,复位后单片机的各状态都恢复到初始化状态,其电路图如上图所
示。
2)数码显示电路
4
图 3 显示电路
本设计中采用四位七段共阴极数码管,是由四个共阴极 LED 数码管组成,即
把发光二极管的公共阴极连在一起接地,阳极输入高电平的发光二极管点亮,而
输入低电平的熄灭,从而控制数码管显示不同的数字和字符。为了显示数字和字
符,要为 LED 显示器提供 8 位代码,称为字形段代码,同时控制哪一位数码管显
示需要提供位代码,来共同控制四位数码管的数值显示。
3)待测电路及 AD 转换电路
图 4 转换电路
待测电路由待电阻与基准电阻串联构成,由于测量范围较大,所以测量分为
5
0.1~10K 与 10K~1000K 欧姆两个档位,通过将待测电阻的分压信号输入到 ADC0808
的模拟通道,利用串联电路分压的原理,通过主控芯片折算为待测电阻 Rx。算
式为:RX/R=UX/U。
由于 ADC0809 无法进行硬件仿真,所以 AD 转换电路由 AD 转换器 0808 执行,
ADC0808 是采样分辨率为 8 位的、以逐次逼近原理进行模/数转换的器件。其内
部有一个 8 通道多路开关,它可以根据地址码锁存译码后的信号,只选通 8 路模
拟输入信号中的一个进行 A/D 转换。ADC0808 是 ADC0809 的简化版本,功能基本
相同。一般在硬件仿真时采用 ADC0808 进行 A/D 转换,实际使用时采用 ADC0809
进行 A/D 转换。利用 0808 可直接输入 8 个单端的模拟信号分时进行 A/D 转换,
在多点巡回检测和过程控制、运动控制中应用十分广泛。
ADC0808 主要管脚功能:
ALE——地址锁存允许信号,高电平有效。当此信号有效时,A、B、C 三位
地址信号被锁存,译码选通对应模拟通道。在使用时,该信号常和 START 信号连
在一起,以便同时锁存通道地址和启动 A/D 转换。
START——A/D 转换启动信号,正脉冲有效。加于该端的脉冲的上升沿使逐
次逼近寄存器清零,下降沿开始 A/D 转换。如正在进行转换时又接到新的启动脉
冲,则原来的转换进程被中止,重新从头开始转换。
EOC——转换结束信号,高电平有效。该信号在 A/D 转换过程中为低电平,
其余时间为高电平。该信号可作为被 CPU 查询的状态信号,也可作为对 CPU 的中
断请求信号。在需要对某个模拟量不断采样、转换的情况下,EOC 也可作为启动
信号反馈接到 START 端,但在刚加电时需由外电路第一次启动。
OE——输出允许信号,高电平有效。当微处理器送出该信号时,ADC0808 的
输出三态门被打开,使转换结果通过数据总线被读走。在中断工作方式下,该信
号往往是 CPU 发出的中断请求响应信号。
ADC0808 工作时序:
图 5 0808 工作时序图
6
五 软件设计:
程序分析
根据分压原理得出电阻计算式:RX/R=UX/U,所以计算代码:
temp1=(float)(((float)getdata)/51);
if(P24==1)
{
temp=(float)(250000*temp1/(5-temp1));
temp=temp/1000;
if(temp>=100&temp<=1000)
{
}
if(temp>=500)
Display0();
else if(temp>=10&temp<100)
Display1();
else
error();
}
else
{
temp=(float)(5000*temp1/(5-temp1));
temp=temp/1000;
if(temp>=0&temp<10)
Display2();
else
error();
}
由于需要分档位,所以用 P2.4 作为档位控制位,显示代为位 K 欧姆,所以得数
除以 1000。
7
六 仿真结果:
(1)测量范围 0.1K~10K
(2)测量范围 10K~1000K
(3)溢出
图 6
图 7
图 8
当测量电阻超过 1000K 时,显示 FFFF。
七 设计心得体会:
单片机课程设计是一门实践性很突出的课程。本设计用到了单片机、模拟电
路等方面的知识,通过这次课程设计,使我对单片机及其附属电路有了一定的
了解,对课本上的知识有了近一步的掌握,也深刻明白了自己的不足。
完成本次课程设计的过程,是一个从无到有的过程,更是一个从理论到实践
的过程。刚开始做课程设计时,仔细阅读设计的题目和要求,刚开始感觉很困
8