具有VB显示界面的直流电压表设计.doc_第1页
具有VB显示界面的直流电压表设计.doc_第2页
具有VB显示界面的直流电压表设计.doc_第3页
具有VB显示界面的直流电压表设计.doc_第4页
具有VB显示界面的直流电压表设计.doc_第5页
已阅读5页,还剩25页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

具有具有 VBVB 显示界面的直流电压表的设计显示界面的直流电压表的设计 摘摘 要要:本文介绍了具有VB上位机显示界面和单片机实现的直流数字电压表设计,硬件部分 主要由A/D转换、单片机、数码管显示和串口通信等部分组成,软件部分包括下位机汇编程 序和上位机VB界面及程序。通过改变电压输入使得A/D转换的数字量也随之变化,再通过单 片机的处理对应显示出来,同时实现下位机和上位机的串口通信在VB界面动态显示出电压值。 关键字关键字: VB; 直流电压表; 串口通信 Abstract: This article describes the host computer display interface with VB and MCU DC digital voltmeter design, the hardware part of the main by the A / D converter, microcontroller, digital display and serial communications components, including the lower part of the software machine assembler VB and PC interface and procedures. By changing the voltage input makes A / D conversion of the digital shift, and then through the corresponding single-chip processing is displayed, at the same time and place of the PC serial communication interfaces in the VB show that the dynamic voltage value. Keywords: VB; DC voltage meter; serial communication 目录目录 1 1 前前 言言1 1 2 2 总体设计方案总体设计方案2 2 2.1 方案比较 .2 2.2 方案论证 .4 2.3 方案选择 .4 3 3 硬件设计硬件设计5 5 3.1 电源模块 .5 3.2 A/D 转换模块5 3.3 MAX232 通信模块.7 3.4 74HC573 与发光二极管模块8 3.5 74HC138 与数码管模块9 3.6 STC89C52RC 单片机模块11 3.7 上位机显示模块 13 4 4 软件设计软件设计1515 5 5 系统调试系统调试1717 6 6 系统功能、指标参数系统功能、指标参数 1818 7 7 结论结论1919 8 8 总结与体会总结与体会2020 9 9 参考文献参考文献2121 附录附录 1:1:附图附图 2222 附录附录 2:2:程序代码程序代码 2424 1 1 前言前言 数字电压表的设计和开发 ,已经有多种类型和款式。传统的数字电压表各有特点,它 们适合在现场做手工测量,要完成远程测量并要对测量数据做进一步分析处理,传统数字电 压表是无法完成的。然而基于PC通信的数字电压表,既可以完成测量数据的传递又可借助PC 做测量数据的处理。所以这种类型 的数字电压表无论在功能和实际应用上,都具有传统数 字电压表无法比拟的特点,这使得它的开发和应用具有良好的前景。 在许多工业场合需要对使用的数字电压表根据国家标准规程进行精确地检测计量,但绝 大多数的企业只是使用手工来检测,导致大量的重复性劳动,其检测效率低下,精确度也很 难提高。如今快速发展的虚拟仪器为大量检测仪表提供了新的思路。 仪器技术可以取代各类传统领域域的测量技术仪器,它在组成和改变仪器的功能和技术 性能方面具有灵活性和经济性。随着计算机技术特别是单片机技术的发展在各种单片机应 用系统的设汁中如智能仪器仪表、各类手持设备、GPS、接收器等,常常需要计算机与外 部设备进行信息交换即通信。串行通信已经成勾汁算机与其他设备进行数据交换的最广泛 的途径之 。串行通信是指按照逐位顺序传递数据的通信方式由于仅需三根传输线传送信 息且通信距离相对较远所以在控制领域的现场监测、分布控制等场合有着重要的应用价值 0 。鉴与PC机具有强大的监控和管理功能,单片机则具有快速以及容易控制的特点在数据 量不大、传输要求不商的情况F一般都采用给PC机配置的RS-232标准串行接口实现应用系 统与PC机之间的数据交换。 数字电压表是诸多数字化仪表的核心与基础,电压表的数字化是将连续的模拟量如直流 电压转换成不连续的离散的数字形式并加以显示,这有别于传统的以指针加刻度盘进行读数 的方法,避免了读数的视差和视觉疲劳。目前数字万用表的内部核心部件是A/D转换器,转 换器的精度很大程度上影响着数字万用表的准确度,本文A/D转换器采用ADC0832对输入模拟 信号进行转换,控制核心AT89c52再对转换的结果进行运算和处理,最后驱动输出装置显示 数字电压信号。 2 2 整体方案设计整体方案设计 本设计的整体思路是:利用模数转换芯片对输入的模拟电压与基准电压进行比较,从 而转换成 0255 范围的 8 位数字量,将电压的变化转换为数字量的变化并显示在数码管 上,即 0V 时显示在数码管上的数字为 0.000V,当 5.0V 时输出电压为 5.000V。单片机与 PC 进行串口通信,将采集到的数字量传递给 PC 并在 VB 界面采用 MSCOMMON 控件实现通 信动态显示其电压值。 2.12.1 方案方案比较比较 设计中采用了两个方案,具体的方案见方案一和方案二。 方案一 采用 ADC0832 芯片直接将模拟电压转换为数字量,与单片机采用 SPI 接法。经 A/D 转 换后,送入 STC89C52RC 单片机,再经 74HC138 译码器输出后在数码管上显示,同时再经 过 MAX232 和 D 型 9 针口与 PC 进行串行通信,将数字量传输给 PC 端。 电压输入 ADC0832 转换 STC89C52RC 单片机处理 MAX232 电平 转换 发光二极管显示LED 数码显示 VB 可视界面 显示 图 2.1 方案一设计框图 方案二 与方案一相同的是都经 A/D 转换和单片机处理,再经 74HC138 译码器输出后在数码管 上显示,同时再经过 MAX232 和 D 型 9 针口与 PC 进行串行通信,将数字量传输给 PC 端。 不同的是方案二采用 STC12C5A16S2 型号单片机,其内部集成 10 位 A/D 转换芯片从而代替 ADC0832。 模拟电压输入 输入 LED 数码管显示 MAX232 电平 转换 VB 可视界面 显示 STC12C5A16S2 单片机 图 2.2 方案二框图 2.22.2 方案方案论证论证 从功能实现角度分析,两种方案均可实现上述功能,因此方案一、方案二都可以作为虚 拟直流数字电压表的设计方案。 方案一:采用了单独的 A/D 转换模块 ADC0832,符合题意,而且能够实现自动转换和处 理显示的功能。精度也基本能达到设计要求。 方案二:采用 STC12C5A16S2 单片机本身内部集成的 A/D 芯片,该电路以单片机为控 制核心,结构简单,所用元器件少。 2.32.3 方案选择方案选择 由于方案一采用了单独的 A/D 转换模块,接线和操作以及编程都比较方便,而且单片机采集 数据更加方便,同时也便于处理,调试也较方便,安全型也比较好。方案二采用单片机本身 内部集成的芯片在使用灵活度和应用上有限制,同时也使编程难度增加,因此设计采用了方 案一。 3 3 单元模块设计单元模块设计 本设计由七部分组成:电源部分、A/D 转换模块、MAX232 通信模块、74HC573 与发 光二极管模块、74HC138 与数码管模块、上位机显示模块和 STC89C52RC 单片机。 3.13.1 电源模块电源模块 本设计电源主要采用 USB 供电和外部稳定直流电压供电。电源部分的电路加入了滤波稳 压器件以便电压更加稳定可靠,使得器件正常的工作。电源电路如下: D 1 L ED 1 R 27 1K V CC 1 2 3 J2 入入入入 V CC C 1 100uF/16V C 2 104 C 3 104 C 4 104 C 11 22uF /16V 1 2 34 5 6 S1 K EY 3 V CC +15V Z 1 5V C OM 2 3 V C G ND G ND J1 U SB 入入入 +15V C 18 47uF /25V C 19 104 图 3.1 电源电路 3.23.2 A/DA/D 转换模块转换模块 A/D 模块由 ADC0832 和电压输入电路组成,ADC0832 是市面上常见的串行 AD 转换器件系 列,具有多路转换开关的 8 位串行 IOAD 转换器,转换速度较高。电压输入电路主要由滑动 变阻器和电源组成。 ADC0832 的芯片特点: (1) 8 位分辨率,逐次逼近型。 (2) 5V 电源供电时,基准电压为 5V,输入模拟电压范围为 05V。 (3) 输入和输出电平与 TTL 和 CMOS 兼容。 (4) 有两个可供选择的模拟输入通道。 (5) 在 250KHz 时钟频率时,转换时间为 32s。 (6) 一般功耗仅为 15mw。 图 3.2 ADC0832 引脚图 ADC0832 接口说明: (1) /CS 片选使能,低电平有效。 (2) CHO 模拟通道 0,差分输入时,作为 IN+或 IN-使用。 (3) CH1 模拟输入通道 1,差分输入时,作为 IN+或 IN-使用。 (4) GND 电源地。 (5) DI 数据信号输出,选择通道控制。 (6) DO 数据信号输出,转换数据输出。 (7) VCC/REF 电源输入及参考电压输入(复用) ADC0832 的工作原理: 正常情况下,ADC0832 与单片机的接口应为 4 条数据线,分别是/CS、CLK、DO 和 DI, 但由于 DO 与 DI 在通信时并未同时使用,并且与单片机的接口是双向的,在/CS 变低后的前 3 个时钟周期内 DI 端被检测,DO 端呈高阻态。数据转换开始后,DI 线被禁止,直到下一次 转换开始,所以在 I/O 口资源紧张时可以将 DI 和 DO 并联在一根数据线上使用。 图 3.3 ADC0832 工作时序 当 ADC0832 未工作时,其/CS 输入端应为高电平,内部所有寄存器清 0,输出变为高阻 态。此时芯片禁用,CLK 和 DO/DI 的电平可任意,若 CLK 置底,则完成 ADC0832 的初始化。 当要进行 A/D 转换时,需现将/CS 使能端置于低电平并且保持电平直到转换结束。此时 芯片开始转换工作,同时由处理器向芯片时钟(CLK)输入端输入时钟脉冲,DO/DI 端则使 用 DI 端输入通道功能选择的数据信号。在 ADC0832 的/CS 端由高变低时,选中 ADC0832,在 时钟的上升沿,DI 端的数据移入 ADC0832 内部的多路地址寄存器。当输入启动位和配置位 后,选择了模拟输入通道。在第一个时钟期间,DI 为高,表示输入启动位,紧接着输入两 位配置位。即在第一个时钟脉冲下降沿到来之前,DI 端必须是高电平,表示启动信号。在 第二、三个脉冲下降沿到来之前 DI 端应输入两位数据用于通道选择。 表 3.1 通道地址设置表 通道地址通道工作方式说明 SGL/DIFODD/SIGNCH0CH1 00+- 差分方式 01-+ 10+ 11 + 单端输入方式 如表 1 所示,当此两位数据为 10 时,只对 CH0 进行单通道转换。当 2 位数据为 11 时, 只对 CH1 进行单通道转换。当 2 位数据为 00 时,将 CH0 作为正输入端 IN+,CH1 作为负输入 端 IN-进行输入。当 2 位数据为 01 时,将 CH0 作为正输入端 IN-,CH1 作为负输入端 IN+进 行输入。到第三个脉冲下降沿之后 DI 端的输入电平就失去输入作用,此后,DO/DI 端则开 始利用数据输出 DO 进行转换数据的读取。从第 4 个脉冲下降沿开始由 DO 端输出转换数据最 高位 Data7,随后每一个脉冲的下降沿 DO 端输出下一位数据,直到第 11 个脉冲时发出最低 位数据 Data0,这样一个字节的数据输出完成,同时从此位开始输出下一个相反字节的数据, 即从第 11 个脉冲的下降沿输出 Data0,随后在第 12 个脉冲的下降沿输出 Data1,到第 19 个 脉冲时数据输出完成,也标志着一次 A/D 转换的结束。最后将/CS 置高电平禁用芯片,直接 将转换后的数据进行处理即可。 3.33.3 MAX232MAX232 通信模块通信模块 该产品是一款兼容 RS232 标准的芯片。由于电脑串口 rs232 电平是-10v +10v,而一般 的单片机应用系统的信号电压是 ttl 电平 0 +5v,max232 就是用来进行电平转换的,该器件包 含 2 驱动器、2 接收器和一个电压发生器电路提供 TIA/EIA-232-F 电平。每一个接收器将 TIA/EIA-232-F 电平转换成 5-V TTL/CMOS 电平。每一个发送器将 TTL/CMOS 电平转换成 TIA/EIA-232-F 电平。 图 3.4 MAX232 与 D 型 9 针口连接图 MAX232 获得正负电源的另一种方法 在单片机控制系统中,我们时常要用到数/模 (D/A)或者模/数(A/D)变换以及其它的模拟接口电路,这里面要经常用到正负电源,例如: 9V,-9V; 12V,-12V.这些电源仅仅作为数字和模拟控制转换接口部件的小功率电源。 在控 制板上,我们有的只是 5V 电源,可又有很多方法获得非 5V 电源。 1.外接;2.DC-DC 变换. .在这里我介绍一块大家常用的芯片:MAX232. MAX232 是 TTL-RS232 电平转换的典型 芯片,按照芯片的推荐电路,取振荡电容为 uF 的时候,若输入为 5V,输出可以达到-14V 左 右,输入为 0V ,输出可以达到 14V,在扇出电流为 20mA 的时候,处处电压可以稳定在 12V 和-12V.因此,在功耗不是很大的情况下,可以将 MAX232 的输出信号经稳压块后作电源使用。 RS-232-C:也称标准串口,是目前最常用的一种串行通讯接口。它是在1970 年由美 国电子工业协会( EIA)联合贝尔系统、 调制解调器厂家及计算机终端生产厂家共同制 定的用於串行通讯的标准。它的全名是 数据终端设备( DTE)和数据通讯设备 (DCE)之间串行二进制数据交换接口技术标准 。传统的 RS-232-C 接口标准有 22 根 线,采用标准 25 芯 D 型插头座。後来的 PC 上使用简化了的 9 芯 D 型插座。现在应用 中 25 芯插头座已很少采用。现在的电脑一般有两个串行口:COM1 和 COM2,你到计算 机後面能看到 9 针 D 形接口就是了。现在有很多手机数据线或者物流接收器都采用 COM 口与计算机相连。 3.43.4 74HC57374HC573 与发光二极管模块与发光二极管模块 图 3.5 管脚功能连接图 SL74HC573 跟 LS/AL573 的管脚一样。器件的输入是和标准 CMOS 输出兼容的;加上拉 电阻,他们能和 LS/ALSTTL 输出兼容。当锁存使能端为高时,这些器件的锁存对于数据是 透明的(也就是说输出同步)。当锁存使能变低时,符合建立时间和保持时间的数据会被锁 存,输出能直接接到 CMOS。NMOS 和 TTL 接口上操作电压范围:2.0V6.0V,低输入电流: 1.0uA,CMOS 器件的高噪声抵抗特性。 表 3.2 功能表: 输入输出 输入使能锁存使能 DQ LHHH LHLL LLX 不变 HXXZ (X=不用关心 Z=高阻抗) 3.3.5 5 74HC13874HC138 与数码管模块与数码管模块 译码器也称解码器,译码过程实际上是一种翻译过程,即编码的逆过程。译码器的输入 是 n 位二值代码,输出是 m 个表征代码原意的状态信号(或另一种代码)。一般情况下有 m 小于等于 2 的 n 次方,即译码器输入线比输出线要少。74HC138 为 3 线8 线变量译码器。 图 3.6 74HC138 管脚图 表 3.3 74HC138 功能表 输入 使能端选择端 输出 G 1 G 2 CBAY 0 Y 1 Y 2 Y 3 Y 4 Y 5 Y 6 Y 7 XHXXXHHHHHHHH LXXXXHHHHHHHH HLLLLLHHHHHHH HLLLHHLHHHHHH HLLHLHHLHHHHH HLLHHHHHLHHHH HLHLLHHHHLHHH HLHLHHHHHHLHH HLHHLHHHHHHLH HLHHHHHHHHHHL 由上表可见 74HC138 译码器输出低电平有效。为增加译码器功能,除三个输入端 C、 B、 A 外,还设置了 G1、/G2A,/G2B,使译码器具有较强的抗干扰能力且便于扩展。 当 G10 时,不管其他输入如何,电路输出均为“1”,即无译码输出;只有当 G11,且/G2A/G2B0 时,译码器才处于允许工作状态,输出与输入二进制码相对应, 如 CBA=110 时,Y6 输出低电平。 3.63.6 STC89C52RCSTC89C52RC 单片机模块单片机模块 单片机是指一个集成在一块芯片上的完整计算机系统。尽管他的大部分功能集成在一块 小芯片上,但是它具有一个完整计算机所需要的大部分部件:CPU、内存、内部和外部总线 系统,目前大部分还会具有外存。同时集成诸如通讯接口、定时器,实时时钟等外围设备。 而现在最强大的单片机系统甚至可以将声音、图像、网络、复杂的输入输出系统集成在一块 芯片上。单片机也被称为微控制器(Microcontroller) ,通过将大量外围设备和 CPU 集成在 一个芯片中,使计算机系统更小,更容易集成进复杂的而对体积要求严格的控制设备当中。 图 3.7 STC89C52 单片机封装图 图 3.8 STC89C52 单片机管脚图 40 个引脚按引脚功能大致可分为 4 个种类:电源、时钟、控制和 I/O 引脚。 1、 电源: (1) VCC - 芯片电源,接+5V; (2) VSS - 接地端; 注:用万用表测试单片机引脚电压一般为 0v 或者 5v,这是标准的 TTL 电平。但有时候 在单片机程序正在工作时候测试结果并不是这个值而是介于 0v-5v 之间,其实这是万用表的 响应速度没这么快而已,在某一个瞬间单片机引脚电压仍保持在 0v 或者 5v。 2、 时钟:XTAL1、XTAL2 - 晶体振荡电路反相输入端和输出端。 3、 控制线:控制线共有 4 根 (1) ALE/PROG:地址锁存允许/片内 EPROM 编程脉冲 ALE 功能:用来锁存 P0 口送出的低 8 位地址 PROG 功能:片内有 EPROM 的芯片,在 EPROM 编程期间,此引脚输入编程脉冲。 (2) PSEN:外 ROM 读选通信号。 (3) RST/VPD:复位/备用电源。 RST(Reset)功能:复位信号输入端。 VPD 功能:在 Vcc 掉电情况下,接备用电源。 (4) EA/Vpp:内外 ROM 选择/片内 EPROM 编程电源。 EA 功能:内外 ROM 选择端。 Vpp 功能:片内有 EPROM 的芯片,在 EPROM 编程期间,施加编程电源 Vpp。 4、 I/O 线 80C51 共有 4 个 8 位并行 I/O 端口:P0、P1、P2、P3 口,共 32 个引脚。 P3 口还具有第二功能,用于特殊信号输入输出和控制信号(属控制总线) 5. P3 口第二功能 P30 RXD 串行输入口 P31 TXD 串行输出口 P32 INT0 外部中断 0(低电平有效) P33 INT1 外部中断 1(低电平有效) P34 T0 定时计数器 0 P35 T1 定时计数器 1 P36 WR 外部数据存储器写选通(低电平有效) P37 RD 外部数据存储器读选通(低电平有效) 3.73.7 上位机显示模块上位机显示模块 通过 VB 编程实现上位机动态显示功能,主要使用 MSComm 控件。MSComm 是微软公司提 供的简化 Windows 下串行通信编程的 ActiveX 控件,可为应用程序提供串行通信功能。该控 件在串口编程时非常方便。 图 3.9 VB 显示界面 工作原理:计算机都有一个或多个串行端口,如 Coml、Com2 等,提供了外部设备与 PC 进行数据传输和通信的通道,在 CPU 和外设间充当解释器的角色。在操作系统方面, Windows 用通信驱动程序(Commdry)调用 API 函数发送和接收数据。对于一 名程序员,只 需知道通信控件提供给 Windows 通信 API 函数的接口,即可通过设定和监视通信控件的属性 和事件,完成通信编程。通过 VB 进行串行通信的程序设计方式通常有 2 种:一是直接调用 WindowsAPI,另一种是使用通信组件,间接调用 WindowsAPI。间接调用比直接调用复杂, 但在程序上却简单得多。在操作系统方面,使用通信驱动程序 Commdry,以便于应用程序 能够使用标准的 Win-dowsAPI 函数来传递和接收数据。串行外围设备的制造商只提供硬件驱 动程序,以便于其硬件与 Windows 连接。使用 MSComm 控件,实际上就是使用了 AP1 函数, API 函数将被 Commdry 解释并传送给外围设备驱动程序,这样用户只需要关心如何使用 MSComm 所提供的属性或事件,就可以驱动 API 函数的接口,完成工作。 4 4 软件设计软件设计 1、主程序设计:当 A/D 转换器输出的数据送入单片机内部后,单片机就采集数据,将 数据采集到内部存储器的存储单元存储,将输入的 BCD 码转换为七段码显示。再调用查表 子程序送入到 LED 上显示。同时将采集的数据发送给 PC,用 VB 编程实现上位机接收并动 态显示。 开始 系统初始化 ADC0832进行A/D转换 STC89C52RC单片机 进行数据处理 发光二极管显 示8位数字量 数码管显示 测量电压 VB界面显示电压 MAX232电平转换 与PC进行串口通信 电压输入 结束 图 4.1 程序整体设计框图 2、单片机采集 A/D 转换数据的程序设计:ADC0832 的 DI 和 DO 端和单片机的 P1.0 端 连接,CH0 接滑动变阻器,CLK 端接单片机的 P3.5 端,采用 SPI 连接方式,通过单片机设 置脉冲时钟信号将每次转换结果都送入 A 和 R1 寄存器。 3、数据处理显示程序:单片机读入数据之后,将数据保存在 R1 中,由于读入的数据 是 0255 范围的字节数字量,需要用到公式转换,将读入的数字量乘相关系数变成两个 字节,然后转换成 3 个字节的 BCD 码从而查表转变成七段显示码。 4、显示程序:将从转换后的十进制数根据选通信号送入相应的 LED 上显示,置选通信 号在 P1.7P1.5 三个口上,通过 74HC138 的译码功能实现选通,当置“000时,就选通最 高位,当置“001时,就选通次高位,当置“010时,就选通第三位,当 P2.3 置“011 时,就选通第四位,这样来实现 LED 的显示。 5、上位机显示程序:通过在 VB 程序使用 MSCOMMON 控件实现与单片机的串口通信,动 态的接收单片机发送的数据并通过转换显示出来。 5 5 系统调试系统调试 硬件调试,主要是测试其电路连接和空载管脚电压,如下表,由此参数判断大体上系统 是否正常,以达到满足系统的需求。测试过程中如果发现测试结果异常,就应该仔细检查电 路板元器件的连接和焊点,直至达到要求,否则电路工作很有可能损毁元器件发生危险,并 且不能调试成功。 表 5.1 器件电源电压 74HC1384.68V 74HC5734.48V ADC08324.54V MAX2324.68V 单片机4.68V USB5.00V 软件调试,主要就是利用 ISIS 7 Professional 来进行仿真测试。首先对每部分单独进 行编程测试,包括 LED 显示功能、数码管显示功能、RS232 通信功能和 A/D 转换的测试,看 其功能是否正确,当每部分检查正确后就对电路板上的对应部分进行调试,都调试正确后再 整体进行仿真测试和调试,如果发现测试结果与程序不符,排除电路本身的问题后主要就进 行程序的检查和改进,在这步要注意管脚的连接情况和元器件的固有特点,最终得到正确的 仿真结果。 6 6 系统功能、指标参数系统功能、指标参数 本设计要实现的系统功能: 1、单片机下位机部分处理和显示测量电压,同时将发送数据给 PC 端。 2、PC 上位机部分接收数据用 VB 编程动态显示。 本设计指标参数通过理论计算、程序运行和使用万用表分别测定。 表 6.1 系统测量参数 A/D 转换数字量理论电压值显示电压值实测电压值误差百分比 00H0.000V0.000V0.00V 01H0.019V0.017V0.01V 3FH1.230V1.115V1.10V1.4% 7Fh2.480V2.238V2.23V0.4% 0BFH3.730V3.380V3.34V1.2% 0FFH5.000V4.513V4.49V0.5% 通过对参数表的分析可以看出由于实际 A/D 转换的基准电压低于 5.00V,所以显示的电 压与理论存在一定误差,同时由于实际电路器件本身的误差和电路的其他影响,实测电压值 也与显示电压存在一点误差,其中误差在 0.4%1.4%之间。 7 7 结论结论 根据上面所述工作原理及实施方案,在实践中很好地实现了整个样机的功能,各项指标 达到了预先的设计要求。电路工作稳定,每次 A/D 转换均伴有 LED 发光指示,VB 可视化 界面显示也正常。AD0832 转换精度是 8 位,它的最低分辨电压为 0.1932V。为整机系统的 精度提供了保障。在实际测量中,整机测量精度能达到 0.4%。 同时,计算机与单片机之间实现串行通信,计算机采用 VB6 编写通信程序和文件操作 程序,程序设计简单,界面友好,单片机通信程序用汇编语言实现,很好的实现了动态显示 电压的功能。 在设计中遇到很多棘手的问题,比如 A/D 转换,显示等方面问题,这次单片机使用汇 编语言编程,在对 A/D 转换的数据进行处理上遇到使用公式计算的问题,特别涉及到小数 的乘法,最终是将小数乘法化为整数乘法同时对两个字节数据/D 进行 BCD 码处理从而才能 正确显示。还有在仿真和实际程序运行中也存在很大差异,最后都是通过查找问题和请教老 师及自己的思考最终解决了这些难题,这个过程让人受益匪浅。 本设计还存在一些不足,比如 A/D 转换时基准电压存在波动,对电压测量有很大影响, 需要设定稳压滤波电路减少电压的波动。同时上位机显示也可以多样化并将结果储存便于分 析和处理。 8 8 总结与体会总结与体会 课程设计不仅是对所学知识的一种检验,而且也是对自己能力的一种提高。下面我对整 个课程设计的过程做一下简单的总结。 首先确定题目,并明确要求和任务。查资料是做课程设计的前期准备工作,好的开端就 相当于成功了一半,到图书馆、书店、资料室去虽说是比较原始的方式,但也有可取之处的。 我们小组明确分工,主要都是从网上查找所需的资料也有从图书馆借的书。通过这个过程, 积累不少资料,对所选的题目也大概有了一些了解,下一步就是在这个基础上,综合已有的 资料来更透彻的分析题目,确定思路和设计方案。 我们的方案经过组里讨论决定先用最简单的方法实现最基本的功能,有了研究方向,就 该动手设计电路图和仿真图了。有了以前的工作这部分水到渠成。当我们的方案得到老师的 认可后我们就开始程序的设计和仿真了,先对每部分进行功能仿真,再对整体进行测试,直 到实现设计功能。 通过这次设计,我对很多电路设计都有了一定的认识,对以前学的知识的运用又有了一 定的新认识,温习了以前学的知识。在设计的过程中,遇到了很多的问题,有一些是知识不 太清楚,通过查找一些资料重新温习很容易得到了解决。但有一些是以前知识不能解决的, 这就需要团队合作并自己查找资料自习来解决。这次课程设计中也使我们的同学关系更进了 一步,同学之间互相帮助,有什么不懂的大家在一起商量,听听不同的看法使我们更好的理 解知识,同时指导老师也帮我们耐心的分析和解决问题,在整个课程设计过程中培养了我们 团结合作同时又独立自主的学术精神。相信会对今后的学习工作生活有非常重要的影响。特 别大大提高了动手的能力,使我们充分体会到了在创造过程中的探索的艰难和成功的喜悦。 虽然这个项目还不是很完善,但是在设计过程中所学到的东西是这次课程设计的最大收获和 财富,使我终身受益。 9 9 参考文献参考文献 1 万福君、潘松峰.单片微机原理系统设计与应用(第二版)M. 合肥:中国科学技术大学出版社, 2001. 2 胡汉才.单片机原理及其接口技术M. 北京:清华大学出版社,2004. 3 蔡美琴、张为民.MCS-51 系列单片机系统及其应用(第二版)M. 北京:高等教育出版社,2004. 4 杨振江、杜铁军.流行单片机实用子程序及应用实例M.西安电子科技大学出版社,2002. 5 张洪润、刘秀英、张亚凡等.单片机应用设计 200 例M北京:航空航天大学出版社,2006. 6 Nordic VLSI ASA. nRF24E1 and nRF24E2 RF layoutsP. Application Note, ordercode: 200503-nAN24-0.2003. 7 刘振忠数字电压表发展概况和原理:电压一频率(VF)变换式积分型数字电压表J电讯工 程1998(2) 8 王幸之单片机应用系统抗干扰技术M北京:北京航空航天大学出版社20009 9 吴金戌,沈庆阳,郭庭吉单片机实践与应用M北京:清华大学出版社20029 10 Wang Li,Cao Xiaoqing,Zhan Zhuoran,Yan YangguangApplication of L0ad Current Forward Compensatingin Digital Voltage Regulation for Doubly Salient BrushlessDC Generator Power Electronics and Drives Systems2005PEDS 2005International Conference on Volume 228 01 Nov2005 Page(S) 附录附录 1 1: 电路图电路图 1 6 2 7 3 8 4 9 5 J4 D B9 V CC T XD R XD D 1 L ED 1 R 27 1K C S 1 C H0 2 C H1 3 G ND 4 D I 5 D O 6 C LK 7 V CC 8 IC 5 A DC 0832 P00 P01 P02 P03 P04 P05 P06 P07 C 15 30pF V CC C 16 30pF V CC T 1 V CC R 9 4K 7 R 10 4K 7 R 11 4K 7 R 12 4K 7 V CC T 1 9012 T 2 9012 T 3 9012 T 4 9012 R 1in 13 R 2in 8 T 1in 11 T 2in 10 V+ 2 V- 6 VCC 16 R 1out 12 R 2out 9 T 1out 14 T 2out 7 C 1+ 1 C 1 - 3 C 2+ 4 C 2 - 5 GND 15 R S232 R S232 T TL T TL IC 2 M AX 232 C 13 10uF C 5 104 C 6 104 C 7 104 C 8 104 V CC 1 2 3 J2 入入入入 V CC C 1 100uF/16V C 2 104 C 3 104 C 4 104 C 9 104 C 11 22uF /16V W1 W2 W3 W4 A 1 B 2 C 3 E 1 4 E 2 5 E 3 6 Y 0 15 Y 1 14 Y 2 13 Y 3 12 Y 4 11 Y 5 10 Y 6 9 Y 7 7 IC 1 74H C138 V CC e 1 d 2 dp 3 c 4 g 5 b 7 G3 8 G2 9 f 10 a 11 G1 12 G4 6 L ED 1 4L E D-SM -1 W1 W2 W3 W4 R 17 100 12 13 14 IC 6D L M324A W 1 10K R 46 510 R 47 510 D 11 1N 4148 D 12 1N 4148 V CC R 48 1M C 17 22uF D 10 L ED 2 R 32 1k 1 2 J5 A D入入 R 34 1k P20 P21 P22 P23 P24 P25 P26 P27 W ei1 W ei2 W ei3 1 2 34 5 6 S1 K EY 3 V CC +15V E X_LV D /P4.6/RS T2 31 X 1 19 X 2 18 R ES ET /P4.7 9 P3.7/R D 17 P3.6/W R 16 P3.2/IN T 0 12 P3.3/IN T 1 13 P3.4/T 0/C LK 0 14 P3.5/T 1/C LK 1 15 P1.0/A DC 0/CL CK 2 1 P1.1/A DC 1 2 P1.2/A DC 2/EC I/R X D2 3 P1.3/A DC 3/CC P0/T XD 2 4 P1.4/A DC 4/CC P1/SS 5 P1.5/A DC 5/MO S I 6 P1.6/A DC 6/MISO 7 P1.7/A DC 7/SC LK 8 P0.0 39 P0.1 38 P0.2 37 P0.3 36 P0.4 35 P0.5 34 P0.6 33 P0.7 32 P2.0 21 P2.1 22 P2.2 23 P2.3 24 P2.4 25 P2.5 26 P2.6 27 P2.7 28 N A/P4.4 29 A LE /P4.5 30 P3.1/T XD 11 P3.0/R XD 10 IC 3 ST C 12C5A60S 2 X 1 C Y1 Z 1 5V C S2 C OM 2 3 V C G ND G ND J1 U SB 入入入 R 25 100 A DC 0 T XD +15V R XD C 18 47uF /25V C 19 104 W R C S1 C S0 P20 P21 P22 P23 P24 P25 P26 P27 W ei1 W ei2 W ei3 R ST R 33 1k V CC T 0 T 1 A DC 0 A DC 1 C S2 PWM 1 PWM 2 P3.7 C 15 4.7uFR 36 1K R 34 10K R ST V CC S10 K EY 4 D 7 D 8 D 9 D 10 D 12 D 13 D 14 D 15 V CCC S1 O C 1 C 11 1D 2 2D 3 3D 4 4D 5 5D 6 6D 7 7D 8 8D 9 1Q 19 2Q 18 3Q 17 4Q 16 5Q 15 6Q 14 7Q 13 8Q 12 IC 3 74H C573 P00 P01 P02 P03 P04 P05 P06 P07 R 101k R 91k R 111k R 131k R 191k R 201k R 121k R 171k L ED 1 L ED 2 L ED 3 L ED 4 L ED 5 L ED 6 L ED 7 L ED 8 PCB 板图板图 电路仿真图电路仿真图 附录附录 2 2:下位机程序下位机程序 AD_CLK EQU P3.5 AD_DAT EQU P1.0 AD_CS EQU P1.2 ORG 0000H LJMP START START: MOV SP,#60H MOV 47H,#1FH MOV 46H,#3FH MOV 45H,#5FH MOV 44H,#7FH MOV DPTR,#LED MOV A,#00H MOV R1,A MOV P0,#0FFH MOV TMOD, #22H MOV TH1, #0FDH MOV TL1, #0FDH MOV TH0, #38H MOV TL0, #38H SETB TR1 SETB TR0 SETB EA SETB ES SETB ET1 SETB ET0 MOV PCON,#00H ; ;SMOD=0 MOV SCON,#50H ;;串行方式 1 MAIN: LCALL AD_CONV MOV A,R1 CLR TI MOV SBUF,A JNB TI,$ CLR TI MOV A,R1 CPL A MOV P0,A MOV A,R1 CALL ADZHHEXTOBCD LCALL LEDXS MOV A,#00H MOV R1,A LJMP MAIN AD_CONV: SETB AD_CS ;一个转换周期开始 CLR AD_CLK CLR AD_CS ;CS 置 0,片选有效 SETB AD_DAT ;DI 置 1,起始位 SETB AD_CLK ;第一个脉冲 CLR AD_DAT ;在负跳变之前加一个 DI 反转操作 CLR AD_CLK SETB AD_DAT ;DI 置 1,设为单通道 SETB AD_CLK ;第二个脉冲 CLR AD_DAT ;* CLR AD_CLK ; CLR AD_DAT ;DI 置 0,选择通道 0 SETB AD_CLK ;第三个脉冲 SETB AD_DAT ;* CLR AD_CLK SETB AD_CLK ; 第四个脉冲 MOV 40H,#08H ;计数器初值,读取 8 位数据, AD_READ: CLR AD_CLK ;下降沿 MOV C,AD_DAT ;读取 DO 端数据 RLC A ;C 移入 A,高位在前 SETB AD_CLK ;下一个脉冲 DJNZ 40H,AD_READ ;没读完继续 SETB AD_CS MOV R1,A ;转换结果发给 20H RET ADZHHEXTOBCD: MOV B,#

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论