1.数字电压表设计论文
基于PC的数字电压表设计 本文运用AT89S51和AD678进行A/D转换,根据数据采集的工作原理,设计实现数字电压表,最后完成单片机与PC的数据通信,传送所测量的电压值 数字电压表的设计和开发,已经有多种类型和款式。
传统的数字电压表各有特点,它们适合在现场做手工测量,要完成远程测量并要对测量数据做进一步分析处理,传统数字电压表是无法完成的。然而基于PC通信的数字电压表,既可以完成测量数据的传递,又可借助PC,做测量数据的处理。
所以这种类型的数字电压表无论在功能和实际应用上,都具有传统数字电压表无法比拟的特点,这使得它的开发和应用具有良好的前景。 新型数字电压表的整机设计 该新型数字电压表测量电压类型是直流,测量范围是-5~+5V。
整机电路包括:数据采集电路的单片机最小化设计、单片机与PC接口电路、单片机时钟电路、复位电路等。下位机采用AT89S51芯片,A/D转换采用AD678芯片。
通过RS232串行口与PC进行通信,传送所测量的直流电压数据。整机系统电路如图1所示。
数据采集电路的原理 在单片机数据采集电路的设计中,做到了电路设计的最小化,即没用任何附加逻辑器件做接口电路,实现了单片机对AD678转换芯片的操作。 AD678是一种高档的、多功能的12位ADC,由于其内部自带有采样保持器、高精度参考电源、内部时钟和三态缓冲数据输出等部件,所以只需要很少的外部元件就可以构成完整的数据采集系统,而且一次A/D转换仅需要5ms。
在电路应用中,AD678采用同步工作方式,12位数字量输出采用8位操作模式,即12位转换数字量采用两次读取的方式,先读取其高8位,再读取其低4位。根据时序关系,在芯片选择/CS=0时,转换端/SC由高到低变化一次,即可启动A/D转换一次。
再查询转换结束端/EOC,看转换是否已经结束,若结束则使输出使能/OE变低,输出有效。12位数字量的读取则要控制高字节有效端/HBE,先读取高字节,再读取低字节。
整个A/D操作大致如此,在实际开发应用中调整。 由于电路中采用AD678的双极性输入方式,输入电压范围是-5~+5V,根据公式Vx10(V)/4096*Dx,即可计算出所测电压Vx值的大小。
式中Dx为被测直流电压转换后的12位数字量值。 RS232接口电路的设计 AT89S51与PC的接口电路采用芯片Max232。
Max232是德州仪器公司(TI)推出的一款兼容RS232标准的芯片。该器件包含2个驱动器、2个接收器和1个电压发生器电路提供TIA/EIA-232-F电平。
Max232芯片起电平转换的功能,使单片机的TTL电平与PC的RS232电平达到匹配。 串口通信的RS232接口采用9针串口DB9,串口传输数据只要有接收数据针脚和发送针脚就能实现:同一个串口的接收脚和发送脚直接用线相连,两个串口相连或一个串口和多个串口相连。
在实验中,用定时器T1作波特率发生器,其计数初值X按以下公式计算: 串行通信波特率设置为1200b/s,而SMOD=1,fosc=6MHz,计算得到计数初值X=0f3H。在编程中将其装入TL1和THl中即可。
为了便于观察,当每次测量电压采集数据时,单片机有端口输出时,用发光二极管LED指示。 软件编程 软件程序主要包括:下位机数据采集程序、上位机可视化界面程序、单片机与PC串口通信程序。
单片机采用C51语言编程,上位机的操作显示界面采用VC++6.0进行可视化编程。在串口通信调试过程中,借助“串口调试助手”工具,有效利用这个工具为整个系统提高效率。
单片机编程 下位机单片机的数据采集通信主程序流程如图2所示、中断子程序如图3所示、采集子程序如图4所示。单片机的编程仿真调试借助WAVE2000仿真器,本系统有集成的ISP仿真调试环境。
在采集程序中,单片机的编程操作要完全符合AD678的时序规范要求,在实际开发中,要不断加以调试。最后将下位机调试成功而生成的.bin文件固化到AT89S51的Flash单元中。
人机界面编程 打开VC++6.0,建立一个基于对话框的MFC应用程序,串口通信采用MSComm控件来实现。其他操作此处不赘述,编程实现一个良好的人机界面。
数字直流电压表的操作界面如图5所示。运行VC++6.0编程实现的Windows程序,整个样机功能得以实现。
功能结果 根据上面所述工作原理及实施方案,在实践中很好地实现了整个样机的功能,各项指标达到了预先的设计要求。电路工作稳定,每次测量均伴有LED发光指示,可视化界面显示也正常。
AD678转换精度是12位,它的分辨率为1/4096。这为整机系统的高精度提供了保障。
为了提高测量精度,运用了AD678自带的校准电路,这样使其A/D转换精度更高。在实际测量中,整机测量精度达到了0.8%。
2.基于单片机的数字电压表设计 (请不要完成抄袭)
我给你看看我以前做过的数字电压表,汇编的 COM EQU 50H ;指令寄存器 DAT EQU 51H ;数据寄存器 RS EQU P2.1 ;LCD寄存器选择信号 RW EQU P2.2 ;LCD读/写选择信号 E EQU P2.3 ;LCD使能信号 ORG 0000H LJMP MAIN ;主程序入口地址 ORG 000BH LJMP BT0 ;T0中断入口 ORG 0030H ;主程序,初始化 MAIN: MOV SP,#60H LCALL INT MOV 30H,#30H ;电压整数位 MOV 31H,#02EH ;小数点位 MOV 32H,#30H ;小数个位 MOV 33H,#30H ;小数十位 MOV 34H,#30H ;小数百位 MOV 35H,#56H ;字符"V" MOV R7,#30H LCALL STR0 ;显示字符串0 LCALL DELAY LCALL STR1 ;显示字符串1 LCALL DELAY LCALL N2 ;显示Voltage=0.000V ;***********定时器初始化程序*********** MOV TMOD,#00H ;定时器T0设为方式0 MOV TH0,#00H ;装入定时常数定时100us MOV TL0,#00H SETB TR0 ;启动T0 MOV 24H,#08H;装入T0中断次数 MOV IE,#82H ;开中断 LP: MOV R7,#30H ;显示缓冲区首地址 LCALL DISPLY SJMP LP ;循环显示 LED1:CLR P3.0 RET DISPLY: ;LCD显示子程序 MOV COM,#0CAH LCALL PR1 MOV DAT,30H LCALL PR2 MOV DAT,31H LCALL PR2 MOV DAT,32H LCALL PR2 MOV DAT,33H LCALL PR2 MOV DAT,34H LCALL PR2 MOV DAT,35H LCALL PR2 RET STR0: MOV COM,#01H LCALL PR1 MOV COM,#06H LCALL PR1 MOV COM,#090H ;设置DDRAM地址 LCALL PR1 ;调写指令代码子程序 MOV DPTR,#TAB4 MOV R2,#16 MOV R3,#00H WRIN0: MOV A,R3 MOVC A,@A+DPTR MOV DAT,A LCALL PR2 INC R3 DJNZ R2,WRIN0 MOV COM,#0D0H LCALL PR1 MOV DPTR,#TAB5 MOV R2,#16 MOV R3,#00H WRIN1: MOV A,R3 MOVC A,@A+DPTR MOV DAT,A LCALL PR2 INC R3 DJNZ R2,WRIN1 MOV R3,#10H ZUOYI: MOV COM,#18H LCALL PRX DJNZ R3,ZUOYI LCALL DELAY00 LCALL DELAY00 LCALL DELAY00 LCALL DELAY00 RET RET STR1: MOV COM,#01H ;LCD清0命令 LCALL PR1 ;调写指令代码子程序 MOV COM,#06H ;输入方式命令,光标右移 LCALL PR1 ;调写指令代码子程序 MOV COM,#40H LCALL PR1 MOV R5,#20H MOV DPTR,#ZI MOV R4,#0 LOOP1:MOV A,R4 MOVC A,@A+DPTR MOV DAT,A LCALL PR2 INC R4 DJNZ R5,LOOP1 MOV COM,#80H LCALL PR1 MOV DPTR,#TAB2 MOV A,#00H MOVC A,@A+DPTR MOV DAT,A LCALL PR2 MOV A,#01H MOV DPTR,#TAB2 MOVC A,@A+DPTR MOV DAT,A LCALL PR2 MOV A,#02H MOV DPTR,#TAB2 MOVC A,@A+DPTR MOV DAT,A LCALL PR2 MOV A,#03H MOV DPTR,#TAB2 MOVC A,@A+DPTR MOV DAT,A LCALL PR2 MOV R1,#00H MOV R0,#0dH MOV DPTR,#TAB3 LOOP2:MOV A,R1 MOVC A,@A+DPTR MOV DAT,A LCALL PR2 INC R1 DJNZ R0,LOOP2 RET N2: MOV COM,#0C0H LCALL PR1 MOV DPTR,#TAB1 MOV R2,#10 MOV R3,#00H WRIN: MOV A,R3 MOVC A,@A+DPTR MOV DAT,A LCALL PR2 INC R3 DJNZ R2,WRIN RET TAB1: DB "VOLTAGE = " TAB2: DB 00H DB 01H DB 02H DB 03H DB 04H DB 05H TAB3:DB "10701 tcw " ZI: DB 009H,00AH,00CH,01FH,00CH,00AH,00CH,009H DB 004H,004H,01FH,004H,00AH,00AH,011H,000H DB 004H,004H,01FH,01FH,01FH,004H,007H,000H DB 004H,00EH,010H,00EH,000H,00EH,003H,000H TAB4:DB " welcome ! " TAB5:DB "DESIGN BY tcw" TAB6:DB "123456" ;******************************************************************** ;定时器T0中断服务子程序,读取ADC0809第0通道的A/D转换结果并化为显示值* ;******************************************************************** BT0: PUSH ACC PUSH PSW MOV PSW,#08H CLR TR0 MOV TH0,#00H ;重新装入初值 MOV TL0,#00H DEC 24H MOV A,24H JNZ RTN1 MOV 24H,#08H LCALL ADC RTN1: SETB TR0 POP PSW POP ACC RETI ADC: MOV DPTR,#0F6FFH MOV A,#0 ;选择通道0 MOVX @DPTR,A ;启动AD转换 MOV A,#40H DJNZ ACC,$ MOVX A,@DPTR MOV 22H,A MOV 21H,#0CCH CJNE A,21H,BJ0 BJ0:JNC LED SJMP LL0 LL0:SETB P3.0 SJMP LL LED:LCALL LED1 LL: MOV A,22H MOV B,#05H ;A/D转换结果化为显示值 MUL AB ;(AD*5)/256 MOV 30H,B ;AD*5的高字节为整数部分 MOV B,#0AH MUL AB ;AD*5的低字节为/256的结果,为小数部分 MOV 32H,B ;二进制小数换为10进制数 MOV B,#0AH MUL AB MOV 33H,B MOV B,#0AH MUL AB MOV 34H,B MOV A,30H MOV DPTR,#TAB MOVC A,@A+DPTR MOV 30H,A MOV A,32H MOVC A,@A+DPTR MOV 32H,A MOV A,33H MOVC A,@A+DPTR MOV 33H,A MOV A,34H MOVC A,@A+DPTR MOV 34H,A RET TAB: DB "0123456789" ;***************************************** ;****LCD间接控制方式下的初始化子程序****** ;***********************************。
3.求一篇关于“简易数显毫伏表设计”的毕业论文
简易数字电压表的设计
论文编号:JD898 包括开题报告,任务书,外文翻译,论文字数:9215,页数:26
摘 要
在现代检测技术中,常需用高精度数字电压表进行现场检测。本文中的数字电压表控制系统采用AT89C51单片机,A/D转换采用ADC0809,以此实现数字电压表的功能。该系统的数字电压表电路简单,所用的元件较少,成本低,还可以方便地测量0~5V的8路输入电压值,并在四位LED数码管上轮流显示或单路选择显示。
关键词: AT89C51;数字电压表;A/D转换;ADC0809
Abstract
Designing of Simple Digital Voltmeter
In modem measuring technology, the digital voltmeter is often used in site measuring. The control system of digital voltmeter that described in this paper uses AT89c51, and A/D converter uses ADC0809 to perform the design of the digital voltmeter. The voltmeter has simple electrical circuit,few elements and low cost .The meter has the capability of measuring 8 voltage inputs from 0 to 5 volt at one time, and displays the measurements in turn or only displays one route that selected.
Key words: AT89c51;digital voltmeter; A/D conversion;ADC0809
摘 要 I
Abstract II
第1章 绪论 1
1.1 问题的提出及研究背景 1
1.2 国内外研究现状和发展趋势 2
1.3 本设计的要求及所做的工作 3
第2章 系统硬件电路的设计 4
2.1 系统总体设计 4
2.1.1 设计思路 4
2.1.2 元件选择 5
2.2 系统各模块电路的设计 6
2.2.1输入模块 6
2.2.2 A/D转换模块 7
2.2.3 单片机模块 8
2.2.4 LED数码管显示模块 9
2.3系统总电路 9
第3章 系统程序设计 11
3.1 主程序设计 11
3.2 各子程序设计 11
3.2.1 A/D转换子程序 11
3.2.2 数据处理子程序 12
3.2.3 显示子程序 13
第4章 电路的仿真与调试 14
总 结 15
参考文献(References) 16
致 谢 17
附 录 18
附录1: 简易数字电压表电路仿真图 18
附录2: 简易数字电压表电路原理图 19
附录3: 简易数字电压表电路PCB图 20
附录4: 源程序代码 21
以上回答来自:
4.设计一个数字式电压表的完整电路 毕业设计主要技术数据:
摘 要
本文介绍一种基于89C52单片机的一种电压测量电路,该电路采用ADC0809 A/D转换电路,测量范围:0 –- 1.999V;0 – 19.99V;0 – 199.9V; 0 – 1999V共四个量程,使用LED显示,可以与PC机进行串行通信。该显示电路使用LED数码管,运用数字动态扫描的方法,来实现输出数据的显示。复位电路则采用比较常用的上电复位操作。此外,系统能实现远程测量结果传送扩展功能。正文着重给出了软硬件系统的各部分电路,89S52的特点,ADC0809的功能和应用,显示电路的功能和应用。可以方便地进行8路其它A/D转换量的测量,远程测量结果传送等扩展功能。该电路设计新颖、功能强大、可扩展性强。
关键词: 单片机 A/D转换 按键 电压测量
目 录
1.绪论………………………………………………………………(1)
2.硬件设计…………………………………………………………(2)
2.1功能要求……………………………………………………(2)
2.2设计思想……………………………………………………(2)
2.3系统硬件电路的设计………………………………………(3)
2.3.1 ADC0809简介……………………………………………(3)
2.3.2 AT89C52…………………………………………………(4)
2.3.2.1晶振电路…………………………………………(6)
2.3.2.2复位电路…………………………………………(6)
2.3.2.3键盘接口…………………………………………(7)
2.3.3 74LS244简介 ……………………………………………(7)
2.3.4显示电路………………………………………………… (8)
3.系统程序的软件设计 ……………………………………………(10)
3.1初始化程序…………………………………………………(10)
3.2主程序………………………………………………………(10)
3.3显示子程序…………………………………………………(10)
3.4模/数转换测量子程序…………………………………… (11)
4.性能测试及分析 …………………………………………………(12)
4.1性能测试 ……………………………………………………(12)
4.2性能分析 ……………………………………………………(12)
5.结论 ………………………………………………………………(13)
6.致谢 ………………………………………………………………(14)
7.参考文献 …………………………………………………………(15)
附录A.实物及原理图 ………………………………………………(16)
附录B.原理图 …………………………………………………… (17)
附录C.控制源程序 ………………………………………………(18)
附录D.材料清单 …………………………………………………(25)
我先给你提供份提纲你看下。
5.“数字电压表的设计”的论文怎么写
数字电压表的基本原理,是对直流电压进行模数转换,其结果用数字直接显示出来,按其基本工作原理可以分为积分式和比较式两大类。
一、设计目的
(1)掌握数字电压表的设计、组装和调试方法;
(2)熟悉集成电路MC14433,MC1413,CD4511和MC1413的使用方法,并掌握其工作原理
二、设计内容及要求
(1)设计数字电压表电路。
(2)测量范围:直流电压0V~1.999V,0V~19.99V,0V~199.9V,0V~1999V。
(3)组装调试3½;位数字电压表。
(4)画出数字电压表电路原理图,写出总结报告。
三、数字电压表的基本原理
数字电压表是将被测模拟量转换为数字量,并进行实时数字显示的数字系统。
该系统可由MC——3½;位A/D转换器、MC1413七路达林顿驱动器阵列、CD4511-BCD到七段锁存—译码—驱动器、能隙基准点源MC1403和公阴极LED发光数码管组成。
本系统是3½;位数字电压表,3½;位是指十进制数0000~1999,所谓3位是指个位、十位、百位,其数字范围均为0~9。而所谓半位是指千位数,它不能从0变化到9,而只能由0变到1,即二值状态,所以称为半位。
各部分的功能如下:
(1)3½;位A/D转换器:将输入的模拟信号转换成数字信号。
(2)基准电源:提供精密电压,供A/D转换器作参考电压。
(3)译码器:将二-十进制(BCD)码转换成七段信号。
(4)驱动器:驱动显示器的a,b,c,d,e,f,g七个发光段,
6.基于AD574A和单片机的高精度数字电压表的论文
我们利用AD574与ATMEL公司的低价高性能单片机AT89C2051组成一个高精度的数字电压表,电原理图如图1,AD574是12位逐次比较型A/D转换器,共有12根数据线,AT89C2051的P1与AD574的高8位数据线直接相接,AD574的低4位数据线与单片机的高半4位P1.4——P1.7直接相接,数据的读取是依靠单片机的控制线进行分时选通进行。P3.5接AD574的字节短周期控制线(A0),P3.4接读转换数据控制脚(
),P3.7直接与工作状态指示端(STS)相连,这样的结构决定只能是8位输出形式,故
数据模式选择端直接接地即可。AT89C2051只有15根I/O口线,上述用了11根,只余下4根口线,我们将输出的数据通过单片机的串行口输出,外接一片74LS164(串入并出)译码器进行扩展,同时显示的数据为4位,剩下的2根口线仍不能满足要求,还需要一片74LS138三——八译码器对显示LED进行地址选通。
这里我们采用10V量程的输入模式,故AD574的Pin13为被测电压的输入端,因为只使用了一片AD574转换芯片,所以CS端直接接地即可。转换器使用±12V电源电压供电,工作电压为+5V。
74LS164为串入并出译码器,AT89C2051通过串行口输出的BCD串行码经74LS164译码输出为七段BCD码,直接与LED的a——g相连,同时四位LED的数据线都一一对应连接在一起。LED数码管选用共阳型,74LS138输出的地址码经一个三极管2SA1015(PNP)接LED的公共端,四位LED的显示是通过地址线进行分时选通的,这就是我们常用的动态扫描显示方式。
值得一提的是,动态扫描显示方式中,动态扫描的频率有一定的要求,频率太低,LED将出现闪烁现象。如频率太高,由于每个LED点亮的时间太短,LED的亮度太低,肉眼无法看清,所以一般均取10ms左右为宜,这就要求在编写程序时,选通某一位LED使其点亮并保持一定的时间,程序上常采用的是调用延时子程序。在C51指令中,延时子程序是相当简单的,并且延时时间也很容易更改。
我百度的- -~
转载请注明出处众文网 » 单片机数字电压表设计毕业论文(数字电压表设计论文)