课题2数字电压表的设计2Word文件下载.docx
《课题2数字电压表的设计2Word文件下载.docx》由会员分享,可在线阅读,更多相关《课题2数字电压表的设计2Word文件下载.docx(12页珍藏版)》请在冰豆网上搜索。
DGND:
数字信号地。
CLKIN:
外电路提供时钟脉冲输入端。
CLKR:
内部时钟发生器外接电阻端,与CLKIN端配合可由芯片自身产生时钟脉冲,其频率为1/1.1RC。
CS:
片选信号输入端,低电平有效,一旦CS有效,表明A/D转换器被选中,可启动工作。
WR:
写信号输入,接受微机系统或其它数字系统控制芯片的启动输入端,低电平有效,当CS、WR同时为低电平时,启动转换。
。
RD:
读信号输入,低电平有效,当CS、RD同时为低电平时,可读取转换输出数据。
INTR:
转换结束输出信号,低电平有效。
输出低电平表示本次转换已完成。
该信号常作为向微机系统发出的中断请求信号。
图2.1.1ADC0804引脚图,图2.1.2ADC0804的A/D转换时序
图2.1.1ADC0804
图2.1.2
ADC0804的A/D转换时序
2.1.2.AT89C51
AT89C51是一种带4K字节FLASH内存(FPEROM—FlashProgrammableandErasableReadOnlyMemory)的低电压、高性能CMOS8位微处理器,俗称单片机。
AT89C2051是一种带2K字节闪存可编程可擦除只读存储器的单片机。
单片机的可擦除只读存储器可以反复擦除1000次。
该器件采用ATMEL高密度非易失内存制造技术制造,与工业标准的MCS-51指令集和输出管脚相兼容。
由于将多功能8位CPU和闪烁内存组合在单个芯片中,ATMEL的AT89C51是一种高效微控制器,AT89C2051是它的一种精简版本。
AT89C单片机为很多嵌入式控制系统提供了一种灵活性高且价廉的方案。
外形及引脚排列如图2.1.4所示,图2.1.3为AT89C51与ADC0804的连接。
图2.1.3AT89C51与ADC0804连接
图2.1.4AT89C51
2.1.3.74LS48芯片
74LS48共阴LED数码管的专用段驱动芯片,该芯片具有锁存、译码、驱动的功能。
即在输入端输入要显示的字形的BCD码,在输出端就可以得到具有一定驱动能力的7段显示字码。
图2.1.5为74LS48的管脚图,图2.1.6为其BCD-7段译码器的输入/输出端信号对照表。
图2.1.574LS48芯片
输入端电平
输出端电平
显示字形
DCBA
gfedcba
0000
0111111
0101
1101011
5
0001
0000110
1
0110
1111011
6
0010
1011011
2
0111
0000111
7
0011
1001111
3
1000
1111111
8
0100
1100110
4
1001
1101111
9
图2.1.674LS48BCD-7段译码器的输入/输出端信号对照表
2.2.硬件设计方案
本设计主要有三大模块:
LED显示模块,ADC0804数模转换模块,AT89C51数据处理及控制模块
本实验电路利用倍增器的原理从测试端输入0—51V的电压,经90K与10K的分压,所以ADC0804输入电压VIN+大约只有测试端的十分之一(0—5.1V),经过AT89C51处理,最后将显示在D1、D2、D3共三个七段显示器。
三个数码管的位控
由P1.4、P1.5、P1.6控制,当位控信号为低电平时该数码管亮,显示的数字由段信号决定。
ADC0804的INTR引脚接P3.0,当ADC0804模数转换好后就会发出中断信号,此时P3.0脚为低电平,当AT89C51检测到后就会把该数字信号进行处理,通过74LS48输出要显示的(0—9)BCD码。
单片机P1口低4为(P1.0、P1.1、P1.2、P1.3)接74LS48(ABCD),数码管的位控信号由P1.4,P1.5,P1.6来控制,P1.7接D2的小数点位。
本电路用AT89C51默认的晶振频率12MHZ。
电路框图如图5所示
2.2.1.硬件选择方案:
一、实验所需元器件:
1、AT89C51芯片1块
2、ADC0804芯片1块
3、74LS48芯片1块
4、共阴极的数码管3个
5、直流激励源1个
6、标准电压源1个
7、20pf的电容1块
8、10K电阻4个
9、1K的电阻3个
10、100K的电阻1个
11、90K的电阻1个
12、滑动变阻器1个
第三章1系统软件设计
3.1.设计流程:
图3.1设计流程
3.2.数据处理及控制程序设计
利用倍增器的原理从测试端输入0~51V的电压,经90K与10K电阻的分压,所以ADC0804输入电压+VIN(0~5.1V)大约只有测试端的十分之一,经过AT89C51处理,最后将显示在D1、D2、D3共三个气段显示器。
如果测试端输入4.0V,则应显示04.0V。
1、实际进入ADC0804为0.4V。
(1)经A/D转换后为14H
(2)14H转换成十进制为0020,则令R3=00,R4=20。
(3)再将此0020×
2=0040,令R3=00,R4=40。
(4)将小数点设在D2上,并将其分别显示为004.0
D0D1D2D3
2、输出最大转换值=0FFH(255),即最大显示电压=51V
255X=51知X=0.2即先乘以2再除以10
FF→255→255×
2=510R3=05R2=10
即令D0=0D1=5D2=1D3=0(小数点在D2)
本电路省略D0,只用3个七段显示器
3、,以另一个数字电压表做校准,调整测试端的可变电阻使测试值与校正后的数字电压表相同。
程序段如下:
L1:
CLRC
MOVR2,#00H
MOVR3,#00H
MOVR4,#08H
NEXT:
RLCA
MOVR1,A
MOVA,R2
ADDCA,R2
DAA
MOVR2,A
MOVA,R3
ADDCA,R3
DAA
MOVR3,A
MOVA,R1
DJNZR4,NEXT
L2:
ADDA,R2
MOVR3,A
RET
3.3.系统源程序:
程序一:
ORG0000H
ANLP1,#80H
START:
CLRP3.6
NOP
SETBP3.6
NOP
NOP
WAIT:
JNBP3.0,ADC
JMPWAIT
ADC:
SETBP3.0
CLRP3.7
MOVA,P0
SETBP3.7
LCALLL1
MOVR5,#02
DISP1:
lCALLDISP
DJNZR5,DISP1
JMPSTART
DISP:
ANLA,#0FH
ORLA,#0B0H
MOVP1,A
CALLDELAY
ANLA,#0F0H
SWAPA
ORLA,#0D0H
CALLDELAY
ORLA,#0E0H
CLRA
DELAY:
MOVR6,#20;
10ms
D1:
MOVR7,#248
DJNZR7,$
DJNZR6,D1
END
程序二:
第四章1系统仿真与调试
用Keil软件进行仿真无误后,将目标程序导入Proteus进行软硬件调试,基于单片机实现的数字电压表测试值见表4-1所示:
测量值
00.0V
01.0V
07.2V
10.8V
23.4V
33.0V
44.2V
51.0V
51.0V
真实值
01.02V
07.5V
10.5V
22.9V
32.4V
43.4V
50.4V
绝对误差
0.0V
0.02V
0.3V
0.5V
0.6V
0.8V
从表中可以看出,电压表测得误差均在0.5V以内,这与采用8位A/D转换器所能达到的理论误差精度比较接近,因此在一般的应用场合都能满足要求。
第五章1设计总结
课程设计是培养学生综合运用所学知识,发现、提出、分析和解决问题,锻炼实践能力的重要环节,是对学生实际工作能力的具体训练和考察过程。
随着科学技术发展的日新月异,单片机已经成为当今计算机应用中空前活跃的领域,在生活中可以说是无处不在,因此作为电子信息专业的学生来说掌握单片机的开发技术是十分重要的。
我的题目是DVM数字电压表软硬件设计,对于我们工科学生来说,这是一次考验。
这次课程设计我学到了很多很多东西,学会了怎样去指定计划,怎样去实现这个计划,并掌握了在执行过程中则么样去克服心理上的不良情绪,不