简易数字电压表Word下载.docx
- 文档编号:18446865
- 上传时间:2022-12-16
- 格式:DOCX
- 页数:20
- 大小:250.59KB
简易数字电压表Word下载.docx
《简易数字电压表Word下载.docx》由会员分享,可在线阅读,更多相关《简易数字电压表Word下载.docx(20页珍藏版)》请在冰豆网上搜索。
数字电压表PCB电路原理图14
附录二:
A/D转换与控制PCB电路图15
附录三:
程序16
设计要求
主要利用单片机AT89C52芯片,A/D转换采用ADC0809实现简易数字电压表的设计,它可以测量0~5V范围内的8路输入电压值,并在4位LED数码管上轮流显示或单路选择显示。
其测量最小分辨率为0.02V。
1方案论证与对比
1.1方案一
系统采用AT89C52单片机,A/D转换采用ADC0809.系统除能确保实现要求的功能外,还可以很方便地进行8路其他A/D转换的测量和远程测量结果传送等扩展功能。
原理框图如图1所示:
图1方案一系统方框图
1.2方案二
系统采用AT89C52单片机,A/D转换采用MC14433双积分A/D转换器能够实现转换精度高、抗强干扰的数模转换,而且价格便宜,应用于速度要求不高的工程实际中。
如图2所示。
图2方案二系统方框图
但该方案速度不高等缺点。
1.3方案对比与选择
以上方案中方案一中ADC0809属于逐次逼近式A/D转换器,N次逐次逼近A/D转换器最多只需N次D/A转换、比较判断,就可以完成A/D转换。
因此,逐次逼近型A/D转换速度很快,而且带有锁存控制逻辑的8通道多路转换开关,便于选择8路中的任一路进行转换。
而方案二中采用了速度大受限制的MC14433双积分A/D转换器。
通过以上综合分析可以看出,显然方案一要明显优于方案二,因此简易数字电压表采用方案一设计。
2系统硬件电路的设计
采集8个通道的模拟量在数码管显示出来。
模拟量值的测量范围是0-255,第一个数码管用于显示哪一个通道,后三个数码管用于显示采集的模拟量的值,每秒钟显示切换一下通道。
本设计还有通道选择的功能.有两个按键,一个是调节轮流显示和选择通道两种功能的转换,另一个是选择通道的切换。
要注意的地方:
1、只有当轮流显示的通道快显示到通道8后,长按住功能转换键等出现数码管全熄灭后再放开,就会转到选择通道的功能。
2、切换通道时,也要长按一会,等出现数码管全熄灭后再放开。
简易数字电压表测量电路由A/D转换、数据处理及显示控制等组成。
2.1A/D转换电路的设计及原理
ADC0809是采用逐次逼近式原理的A/D转换器。
1.主要性能
●分辨率为8位二进制数。
●模拟输入电压范围0V~5V,对应A/D转换值为00H~FFH。
●每路A/D转换完成时间为100µ
s。
●允许输入8路模拟电压,通过具有锁存功能的8路模拟开关,可以分时进行8路A/D转换。
●工作频率为500kHz,输出与TTL电平兼容。
2.ADC0809芯片的组成原理
根据设计要求如图4所示:
图4 A/D转换电路原路图
由图可见,它是由地址锁存器、8路模拟开关、8位逐次A/D转换器和三态锁存输出缓冲器构成。
由3位地址输入线ADDRA、ADDRB、ADDRC决定8路模拟输入中的1路进8位A/D转换器,A/D转换值进入三态锁存输出缓冲器暂存,在CPU发来输出允许控制信号OE后,三态门打开,经DB7~DB0进入CPU总线,完成一次A/D转换全过程。
3.ADC0809引脚功能
ADC0809采用28引脚的封装,双列直插式。
A/D转换由集成电路0809完成。
0809具有8路模拟输入端口,地址线(23~-25脚——即C,B,A,)可决定对哪一路模拟输入作A/D转换。
22脚为地址锁存控制(ALE),当输入为高电平时,对地址信号进行锁存。
6脚为测试控制(START),当输入一个2uS宽高电平脉冲时,就开始A/D转换。
7脚为A/D转换结束标志(EOC),当A/D转换结束时,7脚输出高电平。
9脚为A/D转换数据输出允许控制(OE),当OE脚为高电平时,A/D转换数据从该端口输出。
10脚为0809的时钟输入端(CLOCK),利用单片机30脚的六分频晶振频率再通过14024二分频得到1MHz时钟。
单片机的P1、P3.0~P3.3端口作为四位LED数码管显示控制。
P3.5端口用作单路显示/循环显示转换按钮,P3.6端口用作单路显示时选择通道。
P0端口作A/D转换数据读入用,P2端口用作0809的A/D转换控制。
2.2数据处理电路的设计及原理
原理图如图5所示:
图5电路原理图
AT89C52是一个低电压,高性能CMOS8位单片机,片内含8kbytes的可反复擦写的Flash只读程序存储器和256bytes的随机存取数据存储器(RAM),器件采用ATMEL公司的高密度、非易失性存储技术生产,兼容标准MCS-51指令系统,片内置通用8位中央处理器和Flash存储单元,功能强大的AT89C52单片机可为您提供许多较复杂系统控制应用场合。
AT89C52有40个引脚,32个外部双向输入/输出(I/O)端口,同时内含2个外中断口,3个16位可编程定时计数器,2个全双工串行通信口,2个读写口线,AT89C52可以按照常规方法进行编程,也可以在线编程。
其将通用的微处理器和Flash存储器结合在一起,特别是可反复擦写的Flash存储器可有效地降低开发成本。
AT89C52有PDIP、PQFP/TQFP及PLCC等三种封装形式,以适应不同产品的需求。
主要功能特性:
·
兼容MCS51指令系统·
8k可反复擦写(>
1000次)FlashROM
32个双向I/O口·
256x8bit内部RAM
3个16位可编程定时/计数器中断·
时钟频率0-24MHz
2个串行中断·
可编程UART串行通道
2个外部中断源·
共6个中断源
2个读写中断口线·
3级加密位
·
低功耗空闲和掉电模式·
软件设置睡眠和唤醒功能
P0口:
P0口是一组8位漏极开路型双向I/O口,也即地址/数据总线复用口。
P1口:
P1是一个带内部上拉电阻的8位双向I/O口,P1的输出缓冲级可驱动(吸收或输出电流)4个TTL逻辑门电路。
P2口:
P2是一个带有内部上拉电阻的8位双向I/O口,P2的输出缓冲级可驱动(吸收或输出电流)4个TTL逻辑门电路。
P3口:
P3口是一组带有内部上拉电阻的8位双向I/O口。
P3口输出缓冲级可驱动(吸收或输出电流)4个TTL逻辑门电路。
RST:
复位输入。
ALE/PROG:
当访问外部程序存储器或数据存储器时,ALE(地址锁存允许)输出脉冲用于锁存地址的低8位字节。
PSEN:
程序储存允许(PSEN)输出是外部程序存储器的读选通信号,当AT89C52由外部程序存储器取指令(或数据)时,每个机器周期两次PSEN有效,即输出两个脉冲。
EA/VPP:
外部访问允许。
XTAL1:
振荡器反相放大器的及内部时钟发生器的输入端。
XTAL2:
振荡器反相放大器的输出端。
2.3显示控制电路的设计及原理
显示子程序采用动态扫描法实现4位数码管的数值显示。
测量所得的A/D转换数据放70H~77H内存单元中,测量数据在显示时须经过转换成为十进制BCD码放在78H~7BH单元中,其中7B存放通道标志数。
寄存器R3用作8路循环控制,R0用作显示数据地址指针。
本系统显示部分采用4位数码管动态扫描显示。
动态扫描显示接口是单片机中应用最为广泛的一种显示方式之一。
其接口电路是把所有显示器的8个笔划段a-h同名端连在一起,而每一个显示器的公共极COM是各自独立地受I/O线控制。
CPU向字段输出口送出字形码时,所有显示器接收到相同的字形码,但究竟是那个显示器亮,则取决于COM端,而这一端是由I/O控制的,所以我们就可以自行决定何时显示哪一位了。
而所谓动态扫描就是指我们采用分时的方法,轮流控制各个显示器的COM端,使各个数码管轮流点亮。
本系统采用4位共阴极数码管,COM端接接P20~P23端,8个笔划段a-h分别按顺序接P07~P00,轮流给P20~P23口低电平,使各个数码管轮流点亮。
在轮流点亮扫描过程中,每位显示器的点亮时间是极为短暂的(约1ms),但由于人的视觉暂留现象及发光二极管的余辉效应,尽管实际上各位显示器并非同时点亮,但只要扫描的速度足够快,给人的印象就是一组稳定的显示数据,不会有闪烁感。
电路如图6示:
图6显示控制电路
3系统程序的设计
3.1初始化程序
系统时,初始化程序主要用来执行70H~77H内存单元清0和P2口置0等准备工作。
3.2主程序
在刚上电时,系统默认为循环显示8个通道的电压值状态。
当进行一次测量后,将显示每一通道的A/D转换值,每个通道的数据显示时间在1S左右。
主程序在调用显示子程序与测量子程序之间循环。
主程序流程图如图7所示。
图7主程序流程图
3.3显示子程序
显示子程序采用动态扫描法实现四位数码管的数值显示。
测量所得的A/D转换数据放在70H~77H内存单元中,测量数据在显示时须经过转换成为十进制BCD码放在78H~77H单元中,其中7BH存放通道标志数。
3.4A/D转换测量子程序
A/D转换测量子程序用来控制对ADC0809的8路模拟输入电压的A/D转换,并将对应的数值移入70H~77H内存单元。
A/D转换测量子程序程序流程图如图8所示。
图8A/D转换测量子程序流程图
4调试及性能分析
4.1调试与测试
采用KeilC51编译器进行源程序编译及仿真调试,同时进行硬件电路板的设计制作,烧录好程序后进行软硬件联调,最后进行端口电压的对比测试。
测试对比表如表1.1所列。
表中标准电压值采用UT56数字万用表测得。
表格1简易数字电压表与“标准”数字电压表对比测试表
标准电压值/V
0.00
0.15
1.00
1.45
2.25
2.72
简易电压表测得值/V
0.16
1.02
1.47
2.26
2.73
绝对误差/V
+0.01
+0.02
0.01
3.00
3.45
4.00
4.50
4.75
4.90
3.01
3.47
4.01
4.52
4.76
4.92
0.02
从表中可以看出,简易数字电压表与“标准”数字电压表测得的绝对误差均在0.02V以内,这采用8位A/D转换器所能达到的理论误差精度相一致,在一般的应用场合可温泉满足要求。
4.2性能分析
(1)由于单片机为8位处理器,当输入电压为5.00V,ADC0809输出数据值为255(FFH),因此单片机最高的数据分辨率为0.0196V(5/255)。
这就决定了该电压表的最高分精度要求,则应采用12位、13位的A/D转换器。
(2)从表格1中可以看出,简易电压表测得的值基本上均比标准电压值偏大0.01~0.02V.这可以通过校正ADC0809的基准电压来解决。
因为该电压表设计时直接用5V的供电电源作为基准电压,所以电压可能有偏差。
另外,还可以用软件编程来校正测量值。
(3)ADC0809的直流输入阻抗为1MΩ,能满足常用的电压测试需要。
另外,经测试ADC0809可直接在2MHZ的时钟频率下工作,这样可省去二进制分频器14024集成块。
(4)当要测量大于5V的电压时,可在输入口使用分压电阻,而程序中只要将计算程序的除数进行调整就可以了。
但是量程越大,测量精度会越低。
5详细仪器清单
表格2仪器清单
序号
仪器名称
数量
1
PCB板
2
STC89C52
3
ADC0809CCN芯片
4
10欧电阻
5
4.7千欧电阻
6
8.2千欧电阻
7
510欧电阻
8
10uF电容
9
30pF电容
10
11.597MHz晶振
11
按钮
12
LED数码管
13
14024芯片
14
244芯片
6总结与思考及致谢
这次单片机课程设计意义非同一般,把我从单深入的理论编程到硬件软件综合实现一个使用的电路。
通过这学期的单片机的学习,知道了单片机在实际应用中占据很重要的作用,也了解单片机本身的功能,用编程控制;
也了解了单片机的一些扩展功能。
通过这次设计,我更深入地了解到单片机的使用原理和功能。
为期两周的设计中,我看到很多同学都很努力,很认真,我也不敢懈怠。
虽说两周的时间有点仓促,但老师和同学们夜以继日在解决问题,我做简易数字电表的设计中也遇到些许问题,但经过知道老师伍老师、曹老师的详细讲解,而且查阅很多有价值的书籍,我从中认识了不少。
也增强了自己发现问题解决问题的能力。
还有在编程的时候要仔细,要实现一个完整的功能就要考虑全面,在测试程序的时候要善于发现错误,而且可能是一些小问题,比如说把立即数和地址混用,这是很常见的。
虽然这次只是实现电压表的简易设计,我相信通过这次学习,会确定我向更高更远的方向漫步,比如电压测量通过扩展接口电路可实现电容、温度、湿度、压力等测量,广泛应用于工业领域。
本电路设计别具一格,是一种可调度高、低功耗、宽量程的电压表。
可扩展键盘、EEPROM、报警电路,实现电压异常记录、报警等。
两周的设计完满结束了,经过自己的努力和同学的帮忙终于有了成果,特别离不开指导老师伍老师、曹老师的悉心教导,伍老师的精心指导和解说使我受益匪浅,相信他的工作作风和知识筑成都是我们学习榜样,给我很大的启迪。
感谢这些老师不畏辛劳,热心精心的指导。
在这里向他们说声谢谢,你们辛苦了。
参考文献
[1]张鑫.单片微机原理与应用.北京.电子工业出版社.2008
[2]楼然苗.李光飞.单片机课程设计指导.北京.航空航天大学出版社.2007
[3]长洪润.刘秀英.单片机应用设计200例(上、下).北京.航空航天大学出版社.2006
[4]张毅刚.新编MCS-51单片机应用设计(第3版)哈尔滨工业大学出版社.2008
[5]马静.单片机原理与应用.实践教学指导书中国计量出版社.2003
数字电压表PCB电路原理图
A/D转换与控制PCB电路图
程序
ORG0000H
LJMPSTART
ORG0003H
RETI
ORG000BH
RETI
ORG0013H
ORG001BH
ORG0023H
ORG002BH
QING:
CLRA
MOVP2,A
MOVR0,#70H
MOVR2,#0DH
LPM:
MOV@R0,A
INCR0
DJNZR2,LPM
MOV20H,#00H
MOVA,#0FFH
MOVP0,A
MOVP1,A
MOVP3,A
RET
START:
LCALLCLM
MAIN:
LCALLTEST
LCALLXIANSHI
AJMPMAIN
NOP
NOP
LJMPSTART
XIANSHI:
JB00H,XIAN3
MOVR3,#08H
MOV7BH,#00H
XIAN1:
LCALLTBCD
MOVR2,#0FFH;
每路显示时间控制4MS*255
XIAN2:
LCALLDISP;
LCALLKEY1;
DJNZR2,XIAN2;
INCR0;
INC7BH;
DJNZR3,XIAN1
RET
;
XIAN3:
MOVA,7BH
SUBBA,#01H
MOV7BH,A
ADDA,#70H
MOVR0,A
DLP1:
每路显示时间控制4MS*25
DLP2:
LCALLDISP
LCALLKEY2
DJNZR2,DLP2
通道显示数加一
TBCD:
MOVA,@R0;
255/51=5.00V运算
MOVB,#51
DIVAB
MOV7AH,A
MOVA,B
CLRF0
SUBBA,#1AH
MOVF0,C
MOVA,#10
MULAB
DIVAB
JBF0,LOOP
ADDA,#5
LOOP:
MOV79H,A
JBF0,LOOP1
LOOP1:
MOV78H,A
DISP:
MOVR1,#78H
MOVR5,#0FEH
PLAY:
MOVP1,#0FFH
MOVA,R5
ANLP3,A
MOVA,@R1
MOVDPTR,#TAB
MOVCA,@A+DPTR
JBP3.2,PLAY1
CLRP1.7
PLAY1:
LCALLDL1MS
INCR1
MOVA,P3
JNBACC.3,ENDOUT
RLA
MOVR5,A
MOVP3,#0FFH
AJMPPLAY
ENDOUT:
TAB:
DB0C0H,0F9H,0A4H,0B0H,99H,92H,82H,0F8H,80H,90H,0FFH
DL10MS:
MOVR6,#0D0H
DL1:
MOVR7,#19H
DL2:
DJNZR7,DL2
DJNZR6,DL1
DL1MS:
MOVR4,#0FFH;
513+513=1MS
LOOP11:
DJNZR4,LOOP11
MOVR4,#0FFH
LOOP22:
DJNZR4,LOOP22
TEST:
CLRA
MOVR0,#70H
MOVR7,#08H
LCALLTESTART
WAIT:
JBP2.5,MOVD
AJMPWAIT
TESTART:
SETBP2.3
NOP
CLRP2.3
SETBP2.4
CLRP2.4
MOVD:
SETBP2.6
MOVA,P0
CLRP2.6
MOVA,P2
INCA
CJNEA,#08H,TESTEND
TESTEND:
JCTESTCON
TESTCON:
LCALLTESTART
LJMPWAIT
KEY1:
JNBP3.3,KEY11
KEYOUT:
KEY11:
JBP3.3,KEYOUT
WAIT11:
JNBP3.3,WAIT12
CPL00H
MOVR2,#01H
MOVR3,#01H
WAIT12:
AJMPWAIT11
KEY2:
JNBP3.2,KEY22
KEY22:
JBP3.2,KEYOUT
WAIT22:
JNBP3.2,WAIT21
INC7BH
CJNEA,#08H,KEYOUT11
KEYOUT11:
JCKEYOUT1
KEYOUT1:
WAIT21:
AJMPWAIT22
END
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 简易 数字 电压表