单片机课程设计数字电压表.doc

上传人:仙人指路1688 文档编号:4147521 上传时间:2023-04-07 格式:DOC 页数:10 大小:57KB
返回 下载 相关 举报
单片机课程设计数字电压表.doc_第1页
第1页 / 共10页
单片机课程设计数字电压表.doc_第2页
第2页 / 共10页
单片机课程设计数字电压表.doc_第3页
第3页 / 共10页
单片机课程设计数字电压表.doc_第4页
第4页 / 共10页
单片机课程设计数字电压表.doc_第5页
第5页 / 共10页
点击查看更多>>
资源描述

《单片机课程设计数字电压表.doc》由会员分享,可在线阅读,更多相关《单片机课程设计数字电压表.doc(10页珍藏版)》请在三一办公上搜索。

1、 单片机课程设计 题 目 数字电压表 目 录1 引言.32 方法选择与方案设计. 33 整体电路设计与原理图. 44 模块分析. 55系统软件设计66 系统源程序77 总结与体会98 参考文献101 引言数字电压表的基本工作原理是利用A/D转换电路将待测的模拟信号转换成数字信号,通过相应换算后将测试结果以数字形式显示出来的一种电压表。较之于一般的模拟电压表,数字电压表具有精度高、测量准确、读数直观、使用方便等优点。电压表的数字化测量,关键在于如何把随时连续变化的模拟量转化成数字量,完成这种转换的电路叫模数转换器(A/D)。数字电压表的核心部件就是A/D转换器,由于各种不同的A/D转换原理构成了

2、各种不同类型的DVM。一般说来,A/D转换的方式可分为两类:积分式和逐次逼近式。积分式A/D转换器是先用积分器将输入的模拟电压转换成时间或频率,再将其数字化。根据转化的中间量不同,它又分为U-T(电压-时间)式和U-F(电压-频率)式两种。逐次逼近式A/D转换器分为比较式和斜坡电压式,根据不同的工作原理,比较式又分为逐次比较式及零平衡式等。斜坡电压式又分为线性斜坡式和阶梯斜坡式两种。在高精度数字电压表中,常采用由积分式和比较式相结合起来的复合式A/D转换器。本设计以AT89C51单片机为核心,以逐次比较型A/D转换器ADC0808、液晶显示器LED为主体,构造了一款简易的数字电压表,能够测量1

3、路05V直流电压,最小分辨率0.01V。2 方法选择与方案设计2.1方法选择实现数字电压表的方案较多,目前广泛采用的是基于74系列逻辑器件方案,本设计将介绍基于单片机实现的方案。74系列逻辑器件方案采用双积分电路+液晶显示器+逻辑电路+定时采样电路+数据处理实现,被测电压信号由信号输入端加到测量系统,进行预处理后送到后级电路。单片机系统方案此方案采用输入处理电路+ADC0808+AT89C51+液晶显示实现,被测信号由ADC0808模拟输入端输入,单片机采集转换数据,将转换数据送出显示。系统除能确保实现要求的功能外,还可以方便地进行8路其它A/D转换量的测量、远程测量结果传送等扩展功能。我们做

4、好了现在的电路图,经过仿真,我们达到了预期的结果。2.2方案设计经过以上方法设计,决定采用如图所示方案逻辑图。模拟电 压AT89C51 单片机ADC0808转换数据显 示图1方案逻辑图设计模块说明:本设计方案主要有四大模块:1、 LED显示模块2、 时钟、复位电路3、 ADC0808数模转换模块4、 AT89C51单片机控制模块3 整体电路设计与原理图按系统实现要求,决定控制系统采用AT89C51单片机,A/D转换采用ADC0808元件。A/D转换由集成电路0808完成,0808具有8路模拟输入端口,地址线(2325脚)可决定对哪一路模拟输入作A/D转换。22脚为地址锁存控制,当输入为高电平时

5、,对地址信号进行锁存。6脚为测试控制,当输入一个2S宽高电平脉冲时,就开始A/D转换。7脚为A/D转换结束标志,当A/D转换结束时,7脚输出高电平。9脚为A/D转换数据输出允许控制,当OE脚为高电平时,A/D转换数据从端口输出10脚为0808的时钟输入端,利用单片机30脚的六分频晶振频率再通过14024二分频得到1MHz时钟。单片机的P1、P3.0P3.3端口作为四位LED数码管显示控制。P3.5端口用作单路显示/循环显示转换按钮,P3.6端口用作单路显示时选择通道。P0端口作A/D转换数据读入用,P2端口用作0808的A/D转换控制。总体仿真电路原理图:4 模块分析ADC0808数模转换模块

6、IN0IN7为8路模拟量输入端,这里只接一路电压信号,其输入信号是由直流电源及可调电阻提供。OUT1OUT8为8位二进制数字量输出端,其另一端连接到AT89C51单片机P1口进行数值转换。ADDA、ADDB、ADDC为3位片选地址输入线,用于选通8路模拟输入中的一路,3位都接地。ALE为地址锁存允许信号,接到单片机P2.5口,高电平有效。 START为 AD转换启动脉冲输入端,由单片机P2.5口输入一个正脉冲使其启动(脉冲上升沿使0808复位,下降沿启动A/D转换)。 EOC为 AD转换结束信号,当AD转换结束时,此端输出一个高电平取反给P2.6口(转换期间一直为低电平)。 OE为数据输出允许

7、信号,高电平有效。当AD转换结束时,此端由单片机P2.7输入一个高电平,才能打开输出三态门,输出数字量。 5系统软件设计5.1初始化程序系统上电时,初始化程序将70H77H内存单元清0,P2口置0。5.2主程序在刚上电时,系统默认为循环显示8个通道的电压值状态。当进行一次测量后,将显示每一通道的A/D转换值,每个通道的数据显示时间为1s左右。主程序在调用显示子程序和测试子程序之间循环,主程序流程图见图开始调用显示子程序初始化调用A/D转换子程序5.3显示子程序显示子程序采用动态扫描法实现四位数码管的数值显示。测量所得的A/D转换数据放在70H77H内存单元中,测量数据在显示时需转换成为十进制B

8、CD码放在78H7BH内存单元中,其中7BH存放通道标志数。寄存器R3用作8路循环控制,R0用作显示数据地址指针。5.4模/数转换测量子程序模/数转换测量子程序用来控制对0808八路模拟输入电压的A/D转换,并将对应的数值移入70H77H内存单元。6 系统源程序LED_0EQU 30HLED_1 EQU 31HLED_2 EQU 32H ;存放段码ADC EQU 35HCLOCKBIT P2.4;定义ADC0808时钟位ST BIT P2.5EOC BIT P2.6OE BIT P2.7 ORG 00H SJMPSTART ORG0BH LJMPINT_T0START:MOV LED_0,#0

9、0H MOV LED_1,#00H MOV LED_2,#00H MOV DPTR,#TABLE;段码表首地址 MOV TMOD,#02H MOV TH0,#245 MOV TL0,#00H MOV IE,#82H SETBTR0WAIT: CLR ST SETB ST CLR ST ;启动AD转换 JNB EOC,$;等待转换结束 SETB OE MOV ADC,P1;读取AD转换结果 CLR OE MOV A,ADC MOV B,#100;AD转换结果转换成BCD码 DIV AB MOV LED_2,A MOV A,B MOV B,#10 DIV AB MOV LED_1,A MOV LE

10、D_0,B LCALLDISP SJMP WAITINT_T0: CPL CLOCK ;提供ADC0808时钟信号 RETIDISP:MOV DPTR,#TABLE MOV A,LED_0;数码显示子程序 MOVCA,A+DPTR CLR P2.3 MOV P0,A LCALLDELAY SETBP2.3 MOV DPTR,#TABLE MOV A,LED_1 MOVCA,A+DPTR CLR P2.2 MOV P0,A LCALLDELAY SETBP2.2 MOV DPTR,#TABLE MOVA,LED_2 MOVCA,A+DPTR SETB ACC.7 CLR P2.1 MOV P0,

11、A LCALLDELAY SETBP2.1 RETDELAY:MOV R6,#10;延时5毫秒D1: MOV R7,#250 DJNZR7,$ DJNZR6,D1NTOV: MOV DPTR,#TAB MOV A,ADC MOVC A,A+DPTR MOV B,#2 DIV AB MOV R1,B MOV B,#10 DIV AB MOV LED_2,A MOV LED-1,B CJNE R1,#01,KK1 MOV LED_0,#05BACK: RETKK1: MOV LED-0,#00 AJMP BACK RETTABLE: DB 3FH,06H,5BH,4FH,66H DB 6DH,7D

12、H,07H,7FH,6FHTAB:DB 0, 0, 0,1,0,2,0,0,3,0DB4,0,0,5,0,6,0,0,7,0DB8,0,0,9,0,0,10,0,11,0DB0,12,0,13,0,0,14,0,15,0DB0,16,0,17,0,0,18,0,19,0DB0,20,0,0,21,0,22,0,0,23DB0,24,0,0,25,0,26,0,0,27DB0,28,0,0,29,0,0,30,0,31DB0,0,32,0,33,0,0,34,0,35DB0,0,36,0,37,0,0,38,0,39DB0,0,40,0,0,41,0,42,0,0DB43,0,44,0,0,45

13、,0,46,0,0DB47,0,48,0,0,49,0,50,0,0DB51,0,0,52,0,53,0,0,54,0DB55,0,0,56,0,57,0,0,58,0DB59,0,0,60,0,0,61,0,62,0DB0,63,0,64,0,0,65,0,66,0DB0,67,0,68,0,0,69,0,70,0DB0,71,0,0,72,0,73,0,0,74DB0,75,0,0,76,0,77,0,0,78DB0,79,0,0,80,0,0,81,0,82DB0,0,83,0,84,0,0,85,0,86DB0,0,87,0,88,0,0,89,0,90DB0,0,91,0,0,92,

14、0,93,0,0DB94,0,95,0,0,96,0,97,0,0DB98,0,99,0,0,100,0,0,0END7 总结与体会这虽然是一个数字电压表的设计但是实际上就是一个数据采集的程序设计,只不过这里数据采集的是模拟电压罢了。虽然这个单片机的课题比较简单,但是从中我还是学到了许多新东西。在Proteus软件部分的设计中也让我感受良多。以前做的单片机的设计都只是写写程序,下载到单片机上运行,都只是编程方面的工作,很少涉及选择单片机试验台上已有芯片以外的芯片,更不用说芯片的一些管脚作用。就像A/D转换器在Proteus中仿真软件ADC0808是单极性,输入电压范围为05V。在局部电路图中遇

15、到很多问题,通过查阅大量资料才逐渐懂得如何应用。如在Proteus软件中仿真滑动变阻器,以及LED显示模块和ADC0808模数转换模块的连线问题,而在试验台上,这些都已经事先焊接好了,根本不需要去考虑。这种方法是平时很少注意到的基础性知识运用,在这次的课程设计中让我又有了新的收获。总的来说结果还是完成了设计任务,虽然整个过程有点不顺畅,但还是温故而知新,对单片机有了一种新的认识。8 参考文献1 孙育才.MCS-51系列单片微型计算机及其应用(第4版).东南大学出版社.2004.2 余孟尝.数字电子技术基础简明教程(第三版).高等教育出版社.2006.3 李朝青.单片机原理及接口技术(简明修订版).北京航空航天大学出版社.1998.4 李广弟.单片机基础.北京航空航天大学出版社.1994.5 proteus教程电子版.keilc51教程电子版.

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 办公文档 > 其他范文


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号