数字电压表Word文档下载推荐.docx
- 文档编号:460639
- 上传时间:2023-04-29
- 格式:DOCX
- 页数:30
- 大小:37.52KB
数字电压表Word文档下载推荐.docx
《数字电压表Word文档下载推荐.docx》由会员分享,可在线阅读,更多相关《数字电压表Word文档下载推荐.docx(30页珍藏版)》请在冰点文库上搜索。
3.1单片机硬件系统设计
3.1.1AT89S51引脚图及功能和应用介绍
掌握MCS-51单片机,应首先了解MCS-51的引脚,熟悉并牢记各引脚的功能。
AT89S52有40条引脚,与其他51系列单片机引脚是兼容的。
这40条引脚可分为I/O端口线(32条)、控制线(4条)、电源线(2条)、外接晶体线(2条)四部分,引脚排列参见图2。
图2AT89S51芯片引脚图
1).I/O端口线输入输出引脚
P0.0—P0.7(39—32):
P0口是一个漏极开路型准双向I/O口。
在访问外部存储器时,它是分时多路转换的地址(低8位)和数据总线,在访问期间激活了内部的上拉电阻。
在E—PROM编程时,它接收指令字节,而在验证程序时,则输出指令字节。
本设计中将P0口作为电压数据的输入端口。
P1.0—PI.7(1—8):
P1口是带内部上拉电阻的8位双向I/O口。
设计中用P1口来输出数码管的八位段码。
P2.0—P2.7(21—28):
P2口是一个带内部上拉电阻的8位双向I/O口。
在访问外部存储器时,它送出高8位地址。
设计中用P2.0—P2.3来输出数码管的四位位码。
图3P3口的第二功能
P3.0—P3.7(10—17):
P3口是一个带内部上拉电阻的8位双向I/O口。
在MCS—5l中,这8个引脚还兼有专用功能,P3的8条口线都定义有第二功能,详见图3。
2).控制线控制引脚(ALE/PROG、PSEN、RST/VPD、EA/Vpp)
ALE(30脚):
地址锁存控制信号。
在系统扩展时,ALE用于控制P0口输出的低8位地址锁存起来,以实现低位地址和数据的隔离。
此外,由于ALE是以晶振1/6的固定频率输出的正脉冲,因此,可作为外部时钟或外部定时脉冲使用。
PSEN(29脚):
外部程序存储器读选通信号。
在读外部ROM时,有效(低电平),以实现外部ROM单元的读操作。
EA(31脚):
访问程序存储控制信号。
当信号为低电平时,对ROM的读操作限定在外部程序存储器;
当信号为高电平时,对ROM的读操作是从内部程序存储器开始,并可延至外部程序存储器。
RST/Vpp(9脚):
复位信号。
当输入的复位信号延续两个机器周期以上的高电平时即为有效,用以完成单片机的复位初始化操作。
3).外接晶体线
XTAL1(19脚)和XTAL2(18脚)外接晶体引线端。
当使用芯片内部时钟时,此二引线端用于外接石英晶体和微调电容;
当使用外部时钟时,用于接外部时钟脉冲信号。
设计使用了6MHz的晶振。
4).主电源引脚高VCC和低VSS
VCC(40脚):
+5V电源。
VSS(20脚):
地线(GND)。
3.1.2显示电路设计方案及选择
方案一:
通过1个LED显示模块组成4个LED指示灯进行显示,由于它具有显示清晰、亮度高、使用电压低、寿命长的特点,因此使用非常广泛。
所以本设计即采用LED显示。
P1口输出段码信号,P2输出位码信号。
这些信号由89SC51软件生成,如图4所示。
图4LED数码管显示电路
LED显示器又称数码管,八段LED显示器由8个发光二极管组成。
其中7个发光二极管构成字型“8”的各个笔画段,另一个小数点为dp发光二极管。
LED显示器有两种不同的形式:
一种是发光二极管的阳极都连在一起的,称之为共阳极LED显示器;
另一种是发光二极管的阴极都连在一起的,称之为共阴极LED显示器。
如图5所示。
共阴和共阳结构的LED显示器各笔划段名和安排位置是相同的。
当二极管导通时,相应的笔划段发亮,由发亮的笔划段组合而显示各种字符。
8个笔划段hgfedcba对应于一个字节(8位)的D7D6D5D4D3D2D1D0,于是用8位二进制码就可以表示欲显示字符的字型代码。
例如,对于共阴LED显示器,当公共阴极接地(为零电平),而阳极hgfedcba各段为0111011时,显示器显示"
P"
字符,即对于共阴极LED显示器,“P”字符的字形码是73H。
如果是共阳LED显示器,公共阳极接高电平,显示“P”字符的字形代码应为10001100(8CH)。
此设计所采用的是共阳极的四位八段数码管进行电压显示,并且显示精确到十分位。
图5LED数码管共阳极和共阴极示图
LED显示方式有动态显示和静态显示两种方式。
本设计采用动态扫描显示接口电路,动态显示接口电路是把所有显示器的8个笔划段a-h同名端连在一起,而每一个显示器的公共极COM各自独立地受I/O线控制。
CPU向字段输出口送出字型码时,所有显示器接收到相同的字型码,但究竟是哪个显示器亮,则取决于COM端。
也就是说我们可以采用分时的方法,轮流控制各个显示器的COM端,使各个显示器轮流点亮。
在轮流点亮扫描过程中,每位显示器的点亮时间是极为短暂的(约1ms),但由于人的视觉暂留现象及发光二极管的余辉效应,尽管实际上各位显示器并非同时点亮,但只要扫描的速度足够快,给人的印象就是一组稳定的显示数据,不会有闪烁感。
方案二:
采用液晶1602做为显示电路。
其中7-14脚为数据口脚,3脚为背景灯亮度调节脚,EN、RW、RS命令状态字脚。
我们可以通过程序使1602显示各类字符。
图61602显示电路
1602管脚说明
1)Vss电源地;
2)Vdd电源正极4.5~5.5V通常使用5V;
3)Vl对比度调节电源调节范围0~5V。
接正电源时对比度最弱,接地对比度最高,但是对比度过高时产生“鬼影”,因此通常使用一个10K电位器来调整对比度,或者直接接一个电阻到地;
4)Rs数据/命令选择高电平选择数据寄存器,低电平选择指令寄存器;
5)R/W读/写选择高电平读取数据,低电平写入数据;
6)E模块使能端写数据需要下降沿触发模块;
7~14)D0~D7三态双向数据口MCUI/O口资源紧张可以使用4位数据线D4~D7接口传送数据;
15)Blk背光源地
16)Bla背光源正极需要背光串接一个限流电阻接Vdd,blk接地,实测该模块背光电流50mA左右
用液晶作为显示电路,功能强大,能做各类扩展。
本设计暂不采用。
3.1.3电源电路设计方案及选择
由变压器输入7805的1脚,2脚接地,3脚+5V输出,中间加2个104电容和1000u的电解电容分别为了退耦和稳压。
使+5V更稳定地输出。
下图是电源设计接线图。
由于再做个电源又增加了设计的复杂程度,所以此方案可行,但没有采用。
图7电源接线图
通过在电路板上固定一个电源插口,直接采用5V的直流稳压源。
3.2电压采集及A/D转换电路设计方案
3.2.1A/D转换电路原理图
本设计采用8位AD转换器ADC0809,编程简单方便,价格便宜。
如图8所示。
图8A/D转换电路
3.2.2ADC0809的结构和引脚
ADC0809是8位逐次逼近型A/D转换器。
带8个模拟量输入通道,芯片内带通道地址译码锁存器,输出带三态数据锁存器,启动信号为脉冲启动方式,每一通道的转换大约100fts。
ADC0809由两大部分组成,一部分为输入通道,包括8位模拟开关,三条地址线的锁存器和译码器,可以实现8路模拟输人通道的选择。
另一部分为一个逐次逼近型A/D转换器。
图9ADC0809的引脚与通道地址码
其中:
.IN0—IN7:
8个模拟通道输入瑞。
.START:
启动转换信号。
.EOC:
转换结束信号。
.OE:
输出允许信号。
信号由CPU读信号和片选信号组合产生。
.CLOCK:
外部时钟脉冲输入端,典型值640KHZ。
.ALE:
地址锁存允许信号。
.A、B、C:
通道地址线,CBA的8种组合状态000—111对应了8个通道选择。
.VREF(十),VREF(—):
参考电压输入端。
.VCC:
十5V电源。
.GND:
地。
C、B、A输入的通道地址在ALE有效时被锁存。
启动信号START启动后开始转换,但是EOC信号是在START的下降沿10us后才变无效的低电乎,这要求查询程序待EOC无效后再开始查询,转换结束后由OE产生信号输出数据。
设计只进行一路电压测量,从其通道IN0输入,所以CBA的值为000。
3.2.3驱动电路74HC02芯片
74HC02是一款高速CMOS器件,74HC02遵循JEDEC标准no.7A。
74HC02引脚兼容低功耗肖特基TTL(LSTTL)系列。
74HC02实现了4路2输入或非门功能。
其引脚图如图10所示。
图1074HC02芯片的引脚
4.程序下载软件介绍
⑴点击如下图文件
⑵点击“设置”状态显示如下
图11智能电子最小系统编程设置
其中在编程器类型处设置:
“使用EasyISP下载线“,在下载性能处设置:
“较快“。
⑶读入编程文件:
点击“(自动)打开文件”查找并点击扩展名为“.HEX”的已编译过的文件到缓冲区1,然后点击“自动完成”经过“擦除器件”、“写器件”、“读器件”、“效验数据”。
图12数据读出显示图
图13编程结束显示图
当效验结果“共发现0个单元不对”即编程完成。
如果有单元不对则必须查找原因,重新编程。
5.软件程序设计
本设计程序是采用汇编语言编写的。
汇编语言(AssemblyLanguage)是面向机器的程序设计语言。
在汇编语句中,用助记符(Memoni)代替操作码,用地址符号(Symbol)或标号(Label)代替地址码。
这样用符号代替机器语言的二进制码,就把机器语言变成了汇编语言。
于是汇编语言亦称为符号语言。
使用汇编语言编写的程序,机器不能直接识别,要由一种程序将汇编语言翻译成机器语言,这种起翻译作用的程序叫汇编程序,汇编程序是系统软件中语言处理系统软件。
汇编程序把汇编语言翻译成机器语言的过程称为汇编。
设计源程序:
ORG0000H
LJMPMAIN
ORG0003H
LJMPINT_0
ORG0040H
MAIN:
MOVSP,#60H;
初始化
MOVR7,#0FFH
MOVIE,#81H
MOVTCON,#01H
MOV30H,#00H
MOV31H,#00H
MOV32H,#00H
MOV33H,#00H
MOV34H,#00H
MOV35H,#00H
MOV36H,#00H
MOV37H,#00H
MOV38H,#00H
MOV39H,#00H
A_D:
MOVDPTR,#4000H;
取数
MOVX@DPTR,A
CJNER7,#00H,$
LCALLQUSU
LCALLXIAN
MOVR7,#0FFH
LJMPA_D
QUSU:
MOVR0,A
MOVA,R0
MOVB,#50
DIVAB
MOV31H,A;
电压整数位
MOVA,B
MOVB,#5
MOV32H,A;
电压小数的个位
RLA
MOV33H,A;
电压小数的十位
MOVA,33H;
电压小数的十位变成实际电压
MOVB,#2
MULAB
MOV34H,A
CLRC
SUBBA,#10
JNCL
AJMPZ
L:
MOVA,34H
ADDA,#6
Z:
MOV33H,A
MOVA,32H;
MOVB,#2
MOV35H,A
JNCLL
AJMPZZ
LL:
MOVA,35H
ZZ:
MOV32H,A
MOVA,31H;
电压的个位
MOV30H,A
JNCLLL
AJMPZZZ
LLL:
MOVA,30H
SWAPA
ANLA,#0FH
MOV39H,A;
电压的百位
MOV30H,#00H
AJMPPPP
ZZZ:
PPP:
MOVA,33H;
显示值
MOV36H,A;
显示值的小数位
MOVA,33H
ANLA,#0F0H
MOV37H,A
MOVA,32H
ANLA,#0FH
ADDA,37H
MOV37H,A;
显示值的个位
MOVA,32H
ANLA,#0F0H
MOV38H,A
MOVA,30H
ADDA,38H
MOV38H,A;
显示值的十位
RET
XIAN:
MOVP2,#0FFH;
数码管送值显示
MOVA,39H
MOVDPTR,#TAB
MOVCA,@A+DPTR
MOVP2,#11111110B;
显示整数百位
MOVP1,A
LCALLDELAY1S
MOVA,38H
MOVDPTR,#TAB
MOVP2,#11111101B;
显示整数十位
MOVA,37H
MOVDPTR,#TAB1
MOVP2,#11111011B;
显示整数个位
MOVA,36H
MOVP2,#11110111B;
显示小数位
INT_0:
中断
MOVXA,@DPTR
MOVR7,#00H
RETI
DELAY1S:
MOVR2,#04;
延时
DL:
MOVR3,#255
DL1:
DJNZR3,DL1
DJNZR2,DL
RET
TAB:
DB0C0H,0F9H,0A4H,0B0H,99H;
0,1,2,3,4
DB92H,82H,0F8H,80H,90H;
5,6,7,8,9
TAB1:
DB40H,79H,24H,30H,19H,12H,02H,78H,00H,10H;
0-9的带小数点的段选码
END
6.设计原理图及工作原理
图14设计原理图
如上图,当调整电位器(0-5V)R15时,模/数转换芯片ADC0809的第一个输入通道IN-0所接收的模拟电压值即会改变,通过内部的A/D转换电路,使得输出端口的高低电位也相应改变,即数值的改变。
将数值从AT89S51的P0口输入,经过一系列内部电路处理之后,从其P1口和P3口分别输出段码和位码,在数码管上进行显示,从而达到了检测电压并显示的功能。
即数字电压表的设计。
7.综合调试及结论
1).对源程序用WAVE软件进行编写调试,当编译没有错误时进行程序下载。
2).当把程序加载到单片机最小系统板子上的时候,因为不是直接应用的最小系统板,所以要关闭通信下载开关,从而将程序保留在芯片AT89S51当中。
然后将其拔出插入到自己所焊的电路板上,发现数码管的显示不完整,可能是显示电路的焊接问题。
用万用表检查电路各重要节点的电位及相应电路间的导通与断开。
3).运用例子程序对芯片和最小系统进行调试,当把程序进行加载时,发现数码管上面显示的是乱码,修改程序,直至显示出例子所要求的现象。
4).在老师的指导下重新对设计的源程序进行编译下载,修改错误,并对电路板检查和改进,直到达到设计的要求。
5).最终在调试过程中我们发现了硬件连接的重要性,因为有太多线路要连接而导致容易出现由于粗心而导致的连接错误,这个错误看似简单,但却是在整个系统设计调试过程中最不可忽视的,因此我们在硬件焊接时要非常细心,同时所有组员也要密切配合,这样一个团结的小组,才能解决所有问题,同时也可以保证系统的稳定和可靠。
8.致谢
毕业设计结束了,我有一种如释重负的感觉。
在这不算短也不是很长的时间当中,我的确学到了很多知识,但同时在学到东西的背后,我知道了做一整套设计并非是一件简单的事情。
刚开始我们几个人总是拖拖拉拉的,对自己的事情一点都不负责。
不过蔡老师对我们的关心还是一如继往的,她总是很耐心的教导我们要抓紧时间,认真完成这个属于自己的毕业设计。
我们这组的课题是数字电压表的制作。
电路焊接是很简单的。
接下来老师就开始给我们讲编程。
我们是用汇编语言进行程序的编写,虽然我们对汇编接触的少,不是很了解,但是通过蔡老师的精心讲解,让我们自己慢慢学编这个程序,虽然经过多次的努力,自己的程序编的是差不多了,但离最终的目标还相差一点。
不过我感到还是有点成就感的。
对于这次毕业设计,它不仅加深了我们对单片机软硬件系统的理解与掌握,也使我们深深体会到耐心和谦虚在做事及成长过程中的重要性。
在此,我首先要感谢我们敬爱的蔡雯老师,在设计当中,她指导我们学到了很多专业及非专业的知识,也是她教会了我们许多做事做人的道理。
其次我也要感谢我的班主任,感谢她对我们的关心和照顾。
另外也要谢谢和我同组的同学,是我们相互帮助才完成了此次毕业设计。
9.参考文献
[1]李光飞,楼然苗,胡佳文,谢象佐.单片机课程设计实例指导.北京航空航天大学出版社.2004.9
[2]蔡朝洋.单片机控制实习与专题制作.北京:
北京航空航天大学出版社,2006.11
[3]楼然苗.51系列单片机设计实例.北京:
北京航空航天大学出版社,2006.2
[4]刘刚,秦永左.单片机原理及应用.北京:
中国林业出版社,2006.9
[5]李建忠.单片机原理及应用.西安:
西安电子科技大学出版社,2002.3
[6]刘昌珍.智能电子技术实践综合训练设计,2008.5
附录A.系统设计原理图
附录B.元器件清单
编号
元器件名称
数量
1
万能实验板
1块
2
5V稳压电源
1个
3
AT89S51单片机
4
可调电位器
5
4段LED集成数码管
6
电阻(360Ω)
8个
7
电阻(4.3KΩ)
4个
8
电阻(10KΩ)
9
ADC0809
10
74HC02P
11
晶振(6.0M)
12
电容(30p)
2个
13
电容(10uF)
14
开关
15
电源插座
16
三极管(S9015)
附录C.硬件实物图
图1实物排版图图2焊接布线图
图3软件程序下载图图4电压表显示图
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数字 电压表