简易数字电压表的项目报告.docx
- 文档编号:3466026
- 上传时间:2022-11-23
- 格式:DOCX
- 页数:12
- 大小:62.11KB
简易数字电压表的项目报告.docx
《简易数字电压表的项目报告.docx》由会员分享,可在线阅读,更多相关《简易数字电压表的项目报告.docx(12页珍藏版)》请在冰豆网上搜索。
简易数字电压表的项目报告
简易数字电压表项目报告
数字电压表的设计与仿真
08通信胡井超
目录
项目概述-1-
项目要求-1-
项目分析-1-
项目器材-2-
项目实施过程-2-
一、硬件的设计与焊接-2-
二、程序的设计与编译-3-
1、知识点应用:
-3-
2、程序编写-4-
子情景一、十六进制显示第三通道电压-4-
子情景二、十进制显示第三通道电压-6-
三、硬件仿真-10-
项目总结-10-
项目概述
通过硬件的焊接和软件的设计来实现生活中的数字电压表,从中不仅能熟悉A/D转换的基本知识,掌握A/D转换器与80C51之间的连接方法,正确利用单片机编程控制A/D转换器,还可以加强对原理图的识读能力,硬件的焊接水平,更可以加深对单片机扩展的理解以及对汇编语言的应用。
项目要求
本项目是利用单片机和A/D转换器组成的转换系统,测量0~5V的模拟电压,并在数码管上显示出来(显示内容分为十进制显示和十六进制显示)。
通过本项目的实现学会应用单片机编程利用A/D转换器输出的数字信号,学会应用单片机测量模拟量,并进行数码显示。
项目分析
根据项目要求知道需要测量输入的模拟电压,作为单片机来说,其输入和输出的都是数字信号(数字量)。
因而需要一种特殊的电路,将输入的模拟量变换为单片机能够识别的数字信号。
在单片机外围接口电路中,常采用A/D转换电路来完成将模拟量转换为数字量。
通过该芯片将电位器的模拟电压变化转换成数字的信号传递给单片机,通过单片机对数码管的显示进行控制,最后通过数码管显示该电压的数字量。
正确无误的硬件设计和良好的软件设计是实现单片机功能的前提条件,本项目首先根据单片机和ADC0809模数转换芯片的电路原理,先将原理图搬移到PCB万能板上,之后根据原理图对硬件进行插接和焊接,最后在硬件检测完成后,通过天煌教仪软件对数字电压表第三通道电压的显示进行程序的设计和硬件的仿真。
鉴于本项目的成功实施,本项目报告详细说明一下几点内容:
1、硬件的设计与焊接
2、程序的设计与编译
3、硬件的仿真
4、各个部分的注意事项(按步骤依次说明)
5、项目总结
项目器材
所需工具:
电烙铁、烙铁架、焊锡、松香、镊子、钳子、小刀、万用表。
所需元件:
89S52单片机1片、ADC0809芯片1片、四连数码管1个、
下载线接口1个、8050三极管4个、电位器8个、电阻排1个、
1K电阻5个、10K电阻1个、30p电容2个、10uF电容1个、
6MHz晶体振荡器1个、发光二极管1个、复位开关1个、
排线插接口若干、导线若干。
项目实施过程
一、硬件的设计与焊接
1、准备工作:
①、观察原理图机所发的万能板,了解元器件的大致排列顺序以及其在板上的布局。
②、将所发的元器件依次进行电气测量,并与原理图相对照,比较是否存在差异和损坏,并将测量好的元器件进行标记。
2、元件的插接:
①、根据原理图选择合适的位置插入元器件。
②、插好后,观察元器件布局是否美观,并查验其能否与原理图相对应,并观察是否存在引脚间短路的问题
3、布线及焊接:
布线:
根据原理图将未相连的引脚进行导线连接,布线时应裸导线在板上,带绝缘皮的导线在板下,布线中导线应尽量取直,注意桥接以及交叉现象的发生。
焊接:
用电烙铁按照焊接的步骤依次对各焊点进行焊接,注意球焊、虚焊、桥接现象的发生。
4、焊后检测:
焊接完成后依次对各焊点进行检测,对照原理图观察是否存在虚焊、短路、短路、电源线以及接地线是否焊接正确。
5、注意事项:
①、三极管、二极管的引脚的测量以及插入的方向。
②、芯片的插入应注意方向、芯片的焊接应注意电源线、接地线的焊接。
③、单片机最小系统(复位电路、时钟电路、片内外ROM选择电路)的焊接。
④、下载线的引脚排列顺序。
⑤、显示电路的焊接(数码管共阴极则字型口不需要限流电阻,反相开关应用NPN型三极管,发射极应接地,注意数码管引脚的排列顺序)。
注:
前面叙述的焊接步骤中,大多数均为同时操作,为了具有条理性所以分点书写。
二、程序的设计与编译
1、知识点应用:
单
简易数字电压表电路主要由控制电路(89s52单片机)、显示电路和A/D转换器等组成,其中单片机与A/D转换的连接如下图的所示:
单片机和数码管显示的电路的用法则不再说明,A/D转换芯片(ADC0809)的操作步骤如下:
①、初始化时,使START和OE信号全为低电平。
②、送要转换的哪一通道的地址到A,B,C端口上,在ALE上加上锁存脉冲。
③、在START端给出一个至少有100ns宽的正脉冲信号。
④、是否转换完毕,我们根据EOC信号来判断,如果EOC为低,表示还在转换过程中。
⑤、当EOC变为高电平时,这时给OE为高电平,转换的数据就输出给单片机了。
当数据传送完毕后,将OE清0,使ADC0809输出为高阻状态,让出数据线。
2、程序编写
子情境一、十六进制显示第三通道电压
程序分析:
本程序是把第三通道电压的模拟量转换成数字量后由数码管显示出来,共分为A/D转换程序、拆字程序、数码管动态显示程序、延时程序。
程序设计:
P0口为数码管字型口、P1口为数码管控制口、P2口为转换信号读取口、P3口为0809芯片控制口。
程序流程图:
程序:
ORG0000H
LJMPST
ORG0100H
ST:
MOV70H,#0
MOV71H,#0
MOV30H,#0
CLRP3.4
CLRP3.6
SETBP3.0
SETBP3.1
CLRP3.2
CLRP3.3
NOP
SETBP3.3
L1:
LCALLDIS
SETBP3.4
NOP
CLRP3.4
JNBP3.5,$
SETBP3.6
MOV30H,P2
CLRP3.6
LCALLCHAI
SJMPL1
CHAI:
MOVA,30H
ANLA,#0FH
MOV70H,A
MOVA,30H
SWAPA
ANLA,#0FH
MOV71H,A
RET
DIS:
MOVR7,#2
MOVR0,#70H
MOVDPTR,#TAB
MOVA,#01H
L2:
MOVP1,A
PUSHACC
MOVA,@R0
MOVCA,@A+DPTR
MOVP0,A
LCALLDEL
MOVP0,#00H
INCR0
POPACC
RLA
DJNZR7,L2
RET
TAB:
DB3FH,06H,5BH,4FH,66H,6DH,7DH,07H
DB7FH,6FH,77H,7CH,39H,5EH,79H,71H
DEL:
MOVR6,#250
DJNZR6,$
RET
END
程序书写过程中的注意事项:
①、在地址锁存端口ALE加一个正脉冲(先清零,后置一,因为只有ALE为一才工作)。
②、转换过程中START端口应加一个正脉冲(先置一,后清零,因为转换过程中应保持低电平)。
③、在转换过程中OE端口给1则开始转换,完成后应该清零,让出数据线(先置一,后清零)。
④、由于数码管共阴极,所以字型口和控制口均应给一来控制。
⑤、由于显示内容已经初始化,所以可以先调用动态显示,然后拆字完成后再循环调用动态显示。
⑥、由于通道的选择已经固定,所以则不用重复读取通道的变化,故,程序不用调回到开始出。
⑦、再动态显示子程序中,再调用延时后给字型口清零是为了显示稳定,防止抖动。
子情境二、十进制显示第三通道电压
程序分析:
由于前面已经做过十六进制显示的程序,而二者的不同仅在于十六进制转化为十进制显示而已,具体的转化方法我们用浮点除法的方式进行转换,具体的转换方法如下(图1):
由于本程序需要显示小数点,所以应添加小数点显示程序,小数点显示程序有两种书写方法:
1、数码管分别显示法:
即不用指针做动态显示,依次控制点亮数码管,当出现小数点时,则把该数码管的dp端置一,是小数点亮。
2、指针判位:
即通过动态显示的方法(与前面一至),通过判断控制口数据输入时ACC中个位是否为1来置一该数码管的最高位,当ACC.2为0则说明个位数码管还未点亮,故不用置一最高位,当ACC.2为1则说明数码管已经点亮到个位,故置一最高位,点亮小数点。
本程序选用第二种方法,具体操作见下面程序中标红的程序。
(图1)
程序设计:
ORG0000H
LJMPST
ORG0100H
ST:
MOV70H,#0
MOV71H,#0
MOV72H,#0
MOV30H,#0
CLRP3.4
CLRP3.6
SETBP3.0
SETBP3.1
CLRP3.2
CLRP3.3
NOP
SETBP3.3
L1:
LCALLDIS
SETBP3.4
NOP
CLRP3.4
JNBP3.5,$
SETBP3.6
MOV30H,P2
CLRP3.6
LCALLADC
SJMPL1
ADC:
MOVA,30H
MOVB,#51
DIVAB
MOV72H,A
MOVA,B
CLR20H.0
CJNEA,#26,H1
H1:
MOV20H.0,C
MOVB,#10
MULAB
MOVB,#51
DIVAB
JB20H.0,K1
ADDA,#5
K1:
MOV71H,A
MOVA,B
CLR21H.0
CJNEA,#26,H2
H2:
MOV21H.0,C
MOVB,#10
MULAB
MOVB,#51
DIVAB
JB21H.0,K2
ADDA,#5
K2:
MOV70H,A
RET
DIS:
MOVR7,#2
MOVR0,#70H
MOVDPTR,#TAB
MOVA,#01H
L2:
MOVP1,A
PUSHACC
MOVA,@R0
MOVCA,@A+DPTR
MOVP0,A
LCALLDEL
MOVP0,#00H
INCR0
POPACC
JNBACC.2,M2
SETBP1.7
M2:
RLA
DJNZR7,L2
RET
TAB:
DB3FH,06H,5BH,4FH,66H,6DH,7DH,07H
DB7FH,6FH,77H,7CH,39H,5EH,79H,71H
DEL:
MOVR6,#250
DJNZR6,$
RET
END
程序书写过程中的注意事项:
1、注意本程序不能用DA调整指令来转换。
2、熟记位寻址单元,使用前应先清零。
3、CJNE比较后,标志位C的值发生变化,大于26为0,小于26为1。
4、由于电压最大值为5V,所以个位显示的换算不需要与26比较。
5、由于小数点点亮的位置已经确定(个位),所以对于小数点的点亮只需控制个位的数码管dp端为1即可。
6、牢记小数点点亮的第二种方法。
三、硬件仿真
1、连接下载线以及排线
2、接通电源
3、下载程序
4、观察现象并记录
项目总结
通过本项目的实施以及对本项目的总结,掌握了数字电压表的硬件焊接和软件设计方法,明白了其工作原理以及其电器特性,学会了单片机外围扩展电路中模数转换芯片ADC0809的用法以及该芯片与89s52单片机之间的连接方法,更加对单片机最小系统以及数码管显示电路有了全面的了解,对硬件的焊接与检测、程序的编写、硬件的仿真和对试验现象的观察等一系列问题有了全新的认识和更深刻的理解。
对于该项目的实施不仅体现了个人的水平,更体现了团队协作的作用,只有更好的配合,更合理的分工才能使项目更好、更快的完成。
注:
在本项目报告的书写过程中所用到的各个流程图、原理图以及0809芯片引脚功能的说明、本项目报告的项目分析均源于袁老师的学习情境5的课件。
对向本项目实施过程中给与过帮助的老师及同学表示感谢!
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 简易 数字 电压表 项目 报告
![提示](https://static.bdocx.com/images/bang_tan.gif)