基于51单片机的电流测量系统设计[1]
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
目录
1 前言 (1)
2 电流测量系统总体设计 (1)
3 电流测量系统硬件设计 (2)
3.1 转换电路设计 (2)
3.2 数据采集电路设计 (2)
3.3 数据显示电路设计 (4)
4 电流测量系统子程序设计 (6)
4.1 AD转换和数据采集程序设计 (6)
4.2 16进制转换为BCD码程序设计 (8)
4.3 字形查表程序设计 (10)
I2通信程序设计 (11)
4.4 C
5 电流测量系统性能分析及调试 (13)
6 设计心得 (14)
参考文献 (15)
附录一电流测量系统总体电路设计 (15)
附录二电流测量系统设计总程序 (17)
1 前言
单片机微型计算机简称单片机,又称为微控制器(MCU),它以体积小、功能全、性价比高等诸多优点而独具特色,在各种嵌入式应用领域独占鳌头。51系列单片机是目前国内应用最广泛的一种8位单片机之一。
作为一位工科信息类专业的学生,在学过51单片机原理之后很有必要用实践来巩固理论知识的学习。通过理解51单片机原理、焊接51单片机硬件、弄懂与之相匹配的外围连接芯片和电路、熟悉使用Keil uVision3编程器和STC_ISP_V3.1下载器、编程调试实现任务要求、撰写设计报告等一系列工作的完成锻炼实际动手能力。
STC89C51开发板使用通用异步串口、USB供电线;支持串口下载和单步调试;带有ZLG7290B,IIC总线通信的键盘扫描和数码管显示芯片,自带8M晶振,最多可扫描64个键盘和8个数码管;8位LED灯接P1口;TLC549,8位串行A/D;TLC5615,10位串行D/A。可做中断、定时、串口通信、流水灯、数码显示等单片机基本实验,也可以进行数据采集、制作波形发生器、制作电子钟等多项扩展实验。
本次单片机课程设计我所做的项目是基于单片机的电流采集系统,主要用到A/D转换和数码管显示。
2 电流测量系统总体设计
需要采集的数据是直流电流,由于TLC549是逐次比较型8位串行CMOS A/D转换器,只能输入电压信号,故在数据采集之前先要把直流电流信号转化为直流电压信号。通过适当的外围电路就可以实现了。
输入电压经过TLC549进行数据转换和数据采集,采集结果为8位二进制数,为了方便分析,也可以看成是16进制数。
16进制数传入51单片机后,通过数制转换程序把16进制数转换为可以显示的BCD 码。通过查询字符表得到BCD码对应的字符。
I2通信程序把相应字符传输给ZLG7290B管理芯片并通过数码管显示数最后应用C
据。其中TLC549的数据采集和ZLG7290B管理都需要在51单片机中编程实现数据传输和控制。总体设计如图2.1所示。
图2.1 电流采集总体设计
3 电流测量系统硬件设计
3.1 转换电路设计
输入端接入一个适当的电阻,可以把直流电流信号转换为直流电压信号。如图3.1所示。
图3.1 电流-电压转换电路
3.2 数据采集电路设计
数据采集电路要用到A/D 转换芯片TLC549。TLC549是逐次比较型8位串行CMOS
A/D 转换器,电压供电范围为+3~+6V ,具有4MHz 片内系统时钟和软、硬件控制电路,转换时间最大值为s 17μ,允许的最高转换速率为40000次/s 。总失调误差最大为±0.5LSB ,典型功耗值为6mW 。采用差分参考电压高阻输入,抗干扰,可按比例量程校准转换范围,
-REF V 接地,+REF V --REF V ≥1V ,可用于较小信号的采样。
TLC549均有片内系统时钟,该时钟与I/O CLOCK 是独立工作的,无须特殊的速度或相位匹配。TLC549可方便地与具有串行外围接口(SPI)的单片机或微处理器配合使用,也可与51系列通用单片机连接使用。TLC549片型小,采样速度快,功耗低,价格便宜,控制简单。适用于低功耗的袖珍仪器上的单路A/D 或多路并联采样。TLC549的内部框图和管脚名称如图3.2所示。
图3.2 TLC549的内部框图和管脚名称
TLC549的数字量输出与A/D 输入电压之间的关系如表3.1所示
表3.1 A/D 输入电压与数字量输出量关系表
输入电压值
输出数字量(二进制)
+=REF IN V V
11111111
2/)]()[(-+-=REF REF IN V V V
1000000
-=REF IN V V
0000000
注意:本次测量取+REF V 接+5V ,-REF V 接地
TLC549
的工作时序如图3.3所示。芯片本身没有A/D 转换结束信号,需要软件延时一段
时间等待转换结束,转换周期典型值为36个时钟周期(最大为s 17μ),CS 低电平有效,在CS 变低后,最高有效位A7被自动放置在DATAOUT 总线上,其余7位A6~A0在前7个I/O CLK 的下降沿由时钟同步输出,第8个下降沿选择通道地址,DATAOUT 输出的数据是上次A/D 转换的结果。
图3.3 TLC549的工作时序图
综上分析可以设计数据采集电路如图3.4所示。+REF V 接供电电压,-REF V 接地,TLC549的片选CS 、数据输出DATAOUT 、时钟脉冲I/O CLOCK 分别接51单片机的P1.2、P1.3、P1.4口,实现51单片机对TLC549的控制和TLC549向51单片机的数据传输。
图3.4 数据采集电路
3.3 数据显示电路设计
图3.4采样信号(16进制数)经过51单片机程序变换成可以显示的BCD 码,要通过管理芯片ZLG7290B 和数码管相连的电路显示数值。
ZLG7290B 是广州周立功单片机发展有限公司自行设计的数码管显示驱动及键盘扫描 管理芯片。能够直接驱动8 位共阴式数码管(或64只独立的LED ),同时还可以扫描管理多达64只按键。其中有8只按键还可以作为功能键使用,就像电脑键盘上的Ctrl 、Shift 、Alt 键一样。另外ZLG7290B 内部还设置有连击计数器,能够使某键按下后不松手而连续