基于51单片机的电流测量系统设计.docx
《基于51单片机的电流测量系统设计.docx》由会员分享,可在线阅读,更多相关《基于51单片机的电流测量系统设计.docx(23页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、目录1 前言12 电流测量系统总体设计13 电流测量系统硬件设计23.1 转换电路设计23.2 数据采集电路设计23.3 数据显示电路设计44 电流测量系统子程序设计64.1 AD 转换和数据采集程序设计64.2 16 进制转换为BCD 码程序设计84.3 字形查表程序设计104.4 I 2C 通信程序设计115 电流测量系统性能分析及调试136 设计心得14参考文献15附录一 电流测量系统总体电路设计15附录二 电流测量系统设计总程序171 前言武汉理工大学电子系统设计与调试课程设计说明书单片机微型计算机简称单片机,又称为微控制器(MCU),它以体积小、功能全、性价比高等诸多优点而独具特色,
2、在各种嵌入式应用领域独占鳌头。51 系列单片机是目前国内应用最广泛的一种 8 位单片机之一。作为一位工科信息类专业的学生,在学过 51 单片机原理之后很有必要用实践来巩固理论知识的学习。通过理解 51 单片机原理、焊接 51 单片机硬件、弄懂与之相匹配的外围连接芯片和电路、熟悉使用 Keil uVision3 编程器和 STC_ISP_V3.1 下载器、编程调试实现任务要求、撰写设计报告等一系列工作的完成锻炼实际动手能力。STC89C51 开发板使用通用异步串口、USB 供电线;支持串口下载和单步调试;带有ZLG7290B,IIC 总线通信的键盘扫描和数码管显示芯片,自带 8M 晶振,最多可扫
3、描 64 个键盘和 8 个数码管;8 位 LED 灯接 P1 口;TLC549,8 位串行 A/D;TLC5615,10 位串行 D/A。可做中断、定时、串口通信、流水灯、数码显示等单片机基本实验,也可以进行数据采集、制作波形发生器、制作电子钟等多项扩展实验。本次单片机课程设计我所做的项目是基于单片机的电流采集系统,主要用到 A/D 转换和数码管显示。2 电流测量系统总体设计需要采集的数据是直流电流,由于 TLC549 是逐次比较型 8 位串行 CMOS A/D 转换器, 只能输入电压信号,故在数据采集之前先要把直流电流信号转化为直流电压信号。通过适当的外围电路就可以实现了。输入电压经过 TL
4、C549 进行数据转换和数据采集,采集结果为 8 位二进制数,为了方便分析,也可以看成是 16 进制数。16 进制数传入 51 单片机后,通过数制转换程序把 16 进制数转换为可以显示的 BCD码。通过查询字符表得到 BCD 码对应的字符。最后应用 I 2C 通信程序把相应字符传输给 ZLG7290B 管理芯片并通过数码管显示数据。其中 TLC549 的数据采集和 ZLG7290B 管理都需要在 51 单片机中编程实现数据传输和控制。总体设计如图 2.1 所示。1武汉理工大学电子系统设计与调试课程设计说明书图 2.1 电流采集总体设计3 电流测量系统硬件设计3.1 转换电路设计输入端接入一个适
5、当的电阻,可以把直流电流信号转换为直流电压信号。如图 3.1 所示。3.2 数据采集电路设计图 3.1 电流-电压转换电路数据采集电路要用到 A/D 转换芯片 TLC549。TLC549 是逐次比较型 8 位串行 CMOS A/D 转换器,电压供电范围为+3+6V,具有4MHz 片内系统时钟和软、硬件控制电路,转换时间最大值为17ms ,允许的最高转换速率为 40000 次/s。总失调误差最大为0.5LSB, 典型功耗值为 6mW。采用差分参考电压高阻输入,抗干扰,可按比例量程校准转换范围,VREF -接地,VREF +VREF -1V,可用于较小信号的采样。TLC549 均有片内系统时钟,该
6、时钟与I/O CLOCK 是独立工作的,无须特殊的速度或相位匹配。TLC549 可方便地与具有串行外围接口(SPI)的单片机或微处理器配合使用,也可与 51 系列通用单片机连接使用。TLC549 片型小,采样速度快,功耗低,价格便宜,控制简单。适用于低功耗的袖珍仪器上的单路 A/D 或多路并联采样。TLC549 的内部框图和管脚名称如图 3.2 所示。2武汉理工大学电子系统设计与调试课程设计说明书图 3.2TLC549 的内部框图和管脚名称TLC549 的数字量输出与 A/D 输入电压之间的关系如表 3.1 所示表 3.1A/D 输入电压与数字量输出量关系表输入电压值V= VINREF +MV
7、= (V) - (V) / 2INREF +REF -MV= VINREF -输出数字量(二进制)11111111M1000000M0000000注意:本次测量取V接+5V,V接地REF +REF -TLC549 的工作时序如图 3.3 所示。芯片本身没有 A/D 转换结束信号,需要软件延时一段时间等待转换结束,转换周期典型值为 36 个时钟周期(最大为17ms ), CS 低电平有效,在CS 变低后,最高有效位 A7 被自动放置在 DATAOUT总线上,其余 7 位 A6A0 在前 7 个 I/O CLK 的下降沿由时钟同步输出,第 8 个下降沿选择通道地址,DATAOUT输出的数据是上次
8、A/D 转换的结果。3武汉理工大学电子系统设计与调试课程设计说明书图 3.3 TLC549 的工作时序图综上分析可以设计数据采集电路如图 3.4 所示。VREF +接供电电压,VREF -接地,TLC549 的片选CS 、数据输出 DATAOUT、时钟脉冲 I/O CLOCK 分别接 51 单片机的 P1.2、P1.3、P1.4口,实现 51 单片机对 TLC549 的控制和 TLC549 向 51 单片机的数据传输。3.3 数据显示电路设计图 3.4 数据采集电路图 3.4 采样信号(16 进制数)经过 51 单片机程序变换成可以显示的 BCD 码,要通过管理芯片 ZLG7290B 和数码管
9、相连的电路显示数值。ZLG7290B 是广州周立功单片机发展有限公司自行设计的数码管显示驱动及键盘扫描管理芯片。能够直接驱动 8 位共阴式数码管(或 64 只独立的 LED),同时还可以扫描管理多达 64 只按键。其中有 8 只按键还可以作为功能键使用,就像电脑键盘上的 Ctrl、Shift、Alt 键一样。另外 ZLG7290B 内部还设置有连击计数器,能够使某键按下后不松手而连续4武汉理工大学电子系统设计与调试课程设计说明书有效。采用 I 2 C 总线方式,与微控制器的接口仅需两根信号线。该芯片为工业级芯片,抗干扰能力强,在工业测控中已有大量应用。ZLG7290B 引脚图如图 3.5 所示
10、。图 3.5 ZLG7290B 引脚图KR0KR7和DIG0DIG7实现对键盘信号和数码管显示的管理; INT 是键盘中断请求信号,低电平(下降沿)有效; RST 是复位信号,低电平有效;OSC1和OSC2分别为晶振输入、输出信号;SCL是 I 2 C 总线时钟信号,SDA是 I 2 C 总线数据信号。I 2 C 总线是双向传输的总线,因此主机和从机都可能成为发送器和接收器。如果主机向从机发送数据,则主机是发送器,而从机是接收器;如果主机从从机读取数据,则主机是接收器,而从机是发送器。数据线SDA的电平状态必须在时钟线SCL处于高电平期间保 持稳定不变。SDA的电平状态只有在SCL处于低电平期
11、间才允许改变。 I 2 C 总线上数据有效性的示意图如图3.6所示。图3.6 I 2 C 总线上数据有效性的示意图ZLG7290B内部有8个显示缓冲寄存器DpRam0DpRam7,它们直接决定数码管显示 的内容。ZLG7290B提供有两种显示控制方式,一种是直接向显存写入字型数据,另一种5武汉理工大学电子系统设计与调试课程设计说明书是通过向命令缓冲寄存器写入控制指令实现自动译码显示。通过程序访问51单片机寄存器需要通过 I 2 C 总线接口来实现。ZLG7290B的 I 2 C 总线器件地址是70H(写操作)和71H(读操作)。显示缓冲区DpRam0DpRam7(地址:10H 17H)这8个寄
12、存器的取值直接决定了数码管的显示内容。每个寄存器的8个位分别对应数 码管的a,b,c,d,e,f,dp 段,MSB 对应a,LSB对应dp。ZLG7290B驱动数码管电路如图3.7所示。图3.7 ZLG7290B驱动数码管电路图只要51单片机中程序编写正确,通过 I 2 C 总线通信后,就可以在数码管上显示电流值。4 电流测量系统子程序设计4.1 AD 转换和数据采集程序设计由 TLC549 的工作时序图可知,只有CS =0 时才能采集数据,而每一位数据采集可采用寄存器 A 的带进位标志位循环左移实现,每次时钟脉冲(P1.4)下降沿采集一位数据, 一轮采集 8 次得到 8 位二进制数,等待 1
13、7S(36 个时钟周期)再启动下轮采集。根据 TLC 时序图还可以知道每次 A 中返回的 8 位数都是上次采集结果。A/D 转换和数据采集程序流6武汉理工大学电子系统设计与调试课程设计说明书程图如图 4.1 所示。开始P1.2=0,CS片选成功等待1.4SA带进位标志左移一位采集一位数放入进位标志C中P1.4输入时钟脉冲采集次数=8?NY P1.2=1,保持转换结果结束等待36个时时间到钟周期下轮采集图 4.1AD 转换和数据采集程序流程图15;AD 转换和数据采集子程序; AD:MOV 20H,#0MOV R2,#08H;第一次采样 CLOCK 的 8 个脉冲CLR P1.2 ;CS 变为低
14、电平NOPNOP NOPL3:MOV C,P1.3;对模拟输入采样,读出结果 OUT MOV A,20HRLC A MOV 20H,ALCALL PULSE DJNZ R2,L3MOV R2,#24H;A/D 转换的 36 个时钟周期SETBP1.2;CS 变为高电平,保持 36 个时钟周期L4:LCALL PULSEDJNZ R2,L4 RET;产生 CLK 时钟脉冲子程序PULSE:SETBP1.4;p1.4 输出高电平,CLOCK 时钟NOP NOP NOPCLR P1.4 RET4.2 16 进制转换为 BCD 码程序设计因为按照 TLC549 采集的数据是把 5V 电压值平均分为 2
15、55 份,因此采集到 A 中的数据需要除以 51 并逐位储存所得的商才能正确显示模拟输入值。当单片机基准电压改变时就要适当修改程序中的除数 51,经过测量,我使用的单片机基准电压只有 4.11V,于是,我把程序中的 51 改成 62,其他原理一样,以后不再赘述。这里以基准电压为 5V 讲述转换程序的原理。从第二位起,三次所得余数乘以10 后可能大于 255,这时如果只用A 寄存器存储时就会丢失最高位(余数在 2650 之间丢失,因为余数不可能大于 50,乘以 10 后不可能大于 500,若有最高位最大可表示 512,显然512500,故若丢失只可能是最高位一位)。为了采取补救措施,我们把余数减
16、去 1AH 判断是否有溢出。如果有溢出,则表明余数乘以 10 后可能不小于 255,这样第二次除以 51 的商需要加上 5 才是准确的 BCD 码;如果没有溢出则表明余数乘以 10 后可能小于 255, 这样第二次除以 51 的商就是准确的 BCD 码。如此调准后的 BCD 码送入相应储存单元才是正确的。由于采集范围确定为 050mA,所以需要显示十位,而显示的电压值只有05V,故需要把第三位加上小数点,使用 4 位数码管显示,可以精确到 0.01mA。在实际验收时如果没有恒流源,则可以用输入电压实现模拟测量。比如说,需要模拟 10mA 的电压输入测量, 在不接外加电阻的情况下,在 A/D 转
17、换输入端直接接入 1V 电压,理论上应该是显示 10.00, 此时对应的电压值是 1V、电流值是 10mA。A 中存储的 16 进制转换为 BCD 码程序设计流程图如图 4.2 所示。A51商送53H当十位余数-1AH余数10送AY是否有溢出N余数10送AA51余数-1AHA51商+5送51H余数10送AY是否有溢出N余数10送A商送51单元单元当小数A51余数-1AHA51当小数第一第一位位余数10送AY是否有溢出N余数10送A商+5送50H单元当小数A51A51商送50单元当小数第二第二位位商+5送52H单元当个位商送52单元当个位图 4.216 进制转换为BCD 码程序设计流程图;16
18、进制(20H 单元中)转换为 BCD 码; ZHUANHUAN:MOV A,20H MOV B,#62;255/4.11=62,把 4.11V 分为 255 等分采集的数据DIV ABMOV F0,C;F0 为跳转标志MOV A,#10 MUL ABMOV B,#62 DIV ABJB F0,LOOP2MOV 53H,AADD A,#5;十位存 53H 单元中MOV A,B;余数大于 19H,F0 为 1,乘法溢出,加 5 CLR F0SUBB A,#1AHLOOP2:MOV 52H,A;个位存 52H 单元中MOV A,BCLR F0SUBB A,#1AHMOV F0,C MOV A,#10
19、 MUL AB MOV B,#62 DIV ABJB F0,LOOP3 ADD A,#5LOOP3:MOV 51H,A;小数点后第一位存 51H 单元中MOV A,BCLR F04.3 字形查表程序设计SUBB A,#1AH MOV F0,C MOV A,#10 MUL AB MOV B,#51 DIV ABJB F0,LOOP4 ADD A,#5LOOP4:MOV 50H,A;小数点后第二位存 50H 单元中RET对于十位的显示,只需要在字符表中查得相应字符送入显示十位的 63H 单元中即可。显示个位时除了要查到字符以外,还要在送入 62H 单元显示前加一,原因是当要显示带小数点字符时就要在
20、相应字符显示前加一,例如 5 的字型数据为 0B6H(不带小数点)或 0B7H(带小数点)。接下来的两位小数可以用循环两次的办法把需要显示的字符分别送入 61H和 60H 就可以了。字形查表程序设计流程图如图 4.3 所示。PUSH PSW十位53H单元送A查表得A对应字符送入63H做十位个位52H单元送A查表得A对应字符查得字符加1(显示小数点)送入62H做个位两位小数点R0=50H, R1=5FH,R2=2HR0单元送A查表得A对应字符R0+1R0 R1+1R1字符送入R1做相应小数位POP PSW结束NR2-1=0结束Y;字形查表子程序; XIANSHI:PUSH PSW;显示十位图 4
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 51 单片机 电流 测量 系统 设计
限制150内