题目数字电压表系统设计Word格式文档下载.docx
《题目数字电压表系统设计Word格式文档下载.docx》由会员分享,可在线阅读,更多相关《题目数字电压表系统设计Word格式文档下载.docx(18页珍藏版)》请在冰点文库上搜索。
(4)掌握ADC的使用。
(5)实现利用AT89S51单片机测量电压并显示出来;
指导教师:
日期:
三、课程设计进度计划及检查情况记录表
序号
日期
计划完成内容
实际完成内容
1
2013年6月25
确定方案,收集资料
收集资料
2
2013年6月26
电路设计
电路图设计
3
2013年6月29
软件设计
汇编代码
4
2013年7月3
电路仿真
软件仿真
5
2013年7月4
编写论文报告
完成论文
6
2013年7月5
参见论文答辩,提交论文
完成报告
四、成绩评定与评语
指导教师:
日期:
专业设计的主动性与平时表现(20%)
独立思考能力与动手能力(40%)
专业设计完成情况(40%)
专业设计成绩
第1章课题的设计要求、目的、意义
1.1课题的设计要求:
简易数字电压表可以测量0~5V范围内的8路输入电压值,并在4位LED数码管上轮流显示或单路选择显示。
1.2课题的设计目的与意义:
课程设计是让我熟练掌握了课本上的一些理论知识,课程设计也是一个学习新知识、巩固加深所学课本理论知识的过程,它培养了我们综合运用知识的能力,独立思考和解决问题的能力。
加深我们对单片机原理与应用课程的理解。
第2章系统总体方案选择与说明
实现数字电压表的方案很多,目前广泛采用的时基于74系列逻辑器件,本设计将介绍基于单片机实现的方案。
2.1通道转换方案设计
方案一:
考虑到ADC0808的8路模拟量输入本质上也是模拟开关,因此可以利用其8个模拟通道中的3个作为通道转换器,即根据通道对应的电压测量范围确定对应的电压方法倍数设计对应的放大电路。
方案二:
利用手动开关实现通道转换。
该方案可简化控制程序,消减系统开销。
缩短反应时间,不足之处在于操作麻烦。
综上所述:
方案二所需元件少、成本低且易于实现,则选此方案。
2.2显示部分方案设计
单片机的P0、P2口分别接74LS248和ULN2003A芯片来驱动四位数码管
直接用单片机的P1、P2口驱动数码管,此处把ADC0808的输出端接P1口,因为P1口能够驱动数码管。
综上所述,两个方案都可行,但方案二所需元件少、成本低,则选择此方案。
第3章系统结构框图与工作原理
3.1系统结构框图
根据项目要求,确定该系统的设计方案,图3-1为该方案的硬件电路设计框图。
由6个部分组成,即单片机、时钟电路、复位电路、LED显示电路、A/D转换器和测量电压输入电路。
图3-1系统结构框图
3.2工作原理
系统采用12M晶振产生脉冲做AT89C51的内部时钟信号,通过软件设置单片机的内部定时器T0产生中断信号。
利用中断设置单片机的P2.4口取反产生脉冲做AT89C51的时钟信号。
通过按键选择八路通道中的一路,将该路电压送入ADC0808相应通道,单片机软件设置ADC0808开始A/D转换,转换结束ADC0808的EOC端口产生高电平,同时将ADC0808的EO端口置为高电平,单片机将转换后结果存到片内RAM。
系统调出显示子程序,将保存结果转化为0.00-5.00V分别保存在片内RAM;
系统调出显示子程序,将转化后数据查表,输出到LED显示电路,将相应电压显示出来,程序进入下一个循环。
第4章各单元硬件设计说明及计算方法
根据设计要求与思路,确定该系统的设计方案。
硬件电路由5个部分组成,即单片机时钟电路、复位电路、4位显示器电路、A/D转换电路和键盘及测量电路。
4.1单片机的选择
系统设计使用MCS-51单片机8051芯片。
8051芯片由以下部分组成:
中央处理器、256单元的内部数据存储器、4KB的程序存储器、定时器/计数器、四个八位的I/O口,中断控制系统及时钟电路。
图4.1所示为采用双列直插式封装的8051AH芯片管脚图。
图4.180C51芯片管脚图
4.2时钟电路与复位电路的设计
时钟电路是计算机最核心的部分,它控制着计算机的工作MCS-51单片机允许的时钟频率典型值为12MHZ。
80C51单片机内部有一个高增益反相放大器,用于构成振荡器。
反相放大器的输入端为XTAL1,输出端为XTAL2,分别是80C51的19脚和18脚。
在XTAL1和XTAL2两端跨接石英晶体及两个电容就可以构成稳定的自激振荡器。
石英晶振起振后要能在XTAL2线上输出一个3V左右的正弦波,使MCS-51片内的OCS电路按石英晶振相同频率自激震荡。
通常,OCS的输出时钟频率fosc为0.5MHZ~16MHZ,典型值为12MHZ电容器C1和C2通常取30pF左右,对震荡频率有微调作用。
调节它们可以达到微调震荡周期fosc的目的。
单片机的RST管脚为主机提供一个外部复位信号输入端口。
复位信号是高电平有效,高电平有效的持续时间应为2个机器周期以上。
单片机的复位方式有上电自动复位和手工复位两种。
图4-2所示是51系列单片机常用的上电复位电路,只要Vcc上升时间不超过1ms,它们都能很好地工作。
复位以后,单片机内各部件恢复到初始状态。
电阻电容器件的参考值:
R1=200Ω,R2=1KΩ,C3=22μF。
RET按键可以选择专门的复位按键,也可以选择轻触开关。
电路图如图4-2所示。
图4-2时钟电路与复位电路
4.3LED显示电路设计与器件选择
单片机应用系统中,通常都需要进行人机对话。
这包括人对应用系统的状态干预与数据输入,以及应用系统向人们显示运行状态与运行结果。
显示器、键盘电路就是用来完成人机对话活动的人机通道。
LED显示器的驱动是一个非常重要的问题,此设计不采用段驱动芯片和位驱动芯片,直接由单片机的P1,P2口驱动,实验证明可行。
在应用系统中,设计要求不同,使用的LED显示器的位数也不同,因此生产厂家就生产了多种位数、尺寸、型号不同的LED显示器。
在我们的设计中,选择4位一体的共阴极时钟型LED显示器,采用动态显示方式。
图4-2为本系统LED显示电路,采用P1口作为LED的段码输出信号,P2口的低四位作为LED位码的输出控制信号。
图4-3LED显示原理图
说明:
1位显示转换通道,2、3和4位显示电压表数值。
4.4A/D转换电路和测量电路的设计
A/D转换器的功能是将模拟量转换为与其大小成正比的数字量信号。
能实现这种转换的原理和方法很多,此设计采用ADC0808转换器。
ADC0808是一种逐次逼近型的8位A/D转换器件,片内有8路模拟开关,可输入8个模拟量,单极性,量程为0~+5V。
74LS373:
是带有清除端的8D触发器,只有在清除端保持高电平时,才具有锁存功能,锁存控制端为11脚CLK,采用上升沿锁存。
1D~8D为数据输入端,1Q~8Q为数据输出端,正脉冲触发,低电平清除,常用做8位地址锁存器。
用单片机的P2.4对应ADC0808的ALE端,P2.5对应EOC端,P2.6对应OE端,P3.3对应CLK端,用软件设定给定的值。
ADDA、ADDB和ADDC连接74LS373的输出端,由74LS373输出值选择通道。
IN0~IN7分别8个被测电位器,根据选择的通道,ADC0808选择测量相应通道的电位。
电路图如图4-4所示。
图4-4A/D转换测量电路
0808芯片的IN0-IN7分别接8个电位器,OUT1-OUT8接单片机P0口并与74373的D0-D7连接。
74373的OE接地,LE接单片机P3.2管脚,用程序控制其锁存地址。
0808芯片的CLK接P3.3用程序给其初始化脉冲。
ST和ALE接P2.4,OE、EOC分别接P2.6、P2.5,编程控制以控制0808芯片。
第5章软件设计与说明
5.1系统软件设计(流程图)
图5.1为程序软件设计流程图其中(a)为主程序流程图,(b)为A/D转换子程序流程图。
其中A/D转换子程序是将0808转化后的数字量,需通过转化子程序转化成工程量并通过查表送到P1口送给LED显示。
5.2程序设计
(1)初始化程序给ADC0808时钟脉冲信号,并指向0808的0通道启动A/D转换,通过延时等待8路采集完毕。
(2)数据读入控制0808芯片的ALE、START、EOC和OE,STRT为正脉冲时转换开始,EOC为低电平时A/D转化结束,OE为高电平时转换结果送到数据线并被单片机读入,ALE为上升沿信号地址锁存允许
(3)消抖防抖动的时间是10ms。
(4)通道转换当判断有按键按下后P3.2口置位即允许74373地址锁存,DPTR加1指向下一通道。
(5)程序代码
ORG0000H
SJMPSTART
START:
MOVDPTR,#TAB;
段码表首地址
WAIT:
MOVA,#0FFH
MOVP3,A
MOVA,P3
ANLA,#07H
JNBP3.3,LOOP1
MOVR0,A
swapA
CLRP2.5
SETBP2.5
CLRP2.5;
启动AD转换
JNBP2.6,$;
等待转换结束
SETBP2.7
MOVA,#0FFH
MOVP1,A
MOVA,P1;
读取AD转换结果
CLRP2.7
MOVB,#51;
AD转换结果转换成BCD码
DIVAB
MOVR1,A
MOVA,B
MOVB,#2
MULAB
MOVB,#10
MOVR2,A
MOVR3,B
LCALLDISP
SJMPWAIT
LOOP1:
INCR0
MOVA,R0
CJNEA,#08H,NEXT
MOVA,#00H
NEXT:
DISP:
MOVR4,#0FH
LOOP:
MOVA,R3;
显示子程序
MOVCA,@A+DPTR
CLRP2.3
MOVP0,A
LCALLDELAY
SETBP2.3
MOVA,R2
CLRP2.2
SETBP2.2
MOVA,R1
ADDA,#80H
CLRP2.1
SETBP2.1
CLRP2.0
SETBP2.0
DJNZR4,LOOP
RET
DELAY:
MOVR6,#20
D1:
MOVR7,#250
DJNZR7,$
DJNZR6,D1
TAB:
DB3FH,06H,5BH,4FH,66H
DB6DH,7DH,07H,7FH,6FH
END
第6章使用说明与调试结果
该数字电压表可以同时测量8路直流数据,电压表测量范围为0.00~5.00V,测量最小分辨率为19.5mv。
整个系统由一个按钮控制,最左边个LED显示器是指向当前通道,即电位器编号。
用Proteus仿真中点PLAY电压表默认显示第8通道即第8个电位器RV8的测量值。
第一次按下按钮后,改变测量通道即第1通道RV1的值,第2下为第2通道,依次循环测量8个电位器的电压值。
选择其中任意电位器并拨动其位置能改变其值,最大值为5V,最小值为0V,在中间时为2.49V,单片机能读出并正确显示。
经调试后该系统能达到目标要求。
总接线图
图为通道图
以上图为当选通不同的通道时的电压表的示数
图为单片机AT89C51的接线图
总结
通过将近两周的课程设计,让我掌握了很多东西。
首先,在绘制硬件电路图时,对51单片机有了充分的认识,对它的性能还有引脚基本掌握的很清楚了。
其次,在实现功能编程时,对汇编语言也有了质的飞跃,从以前基本上只能看懂汇编语句到现在能通过汇编语言来让硬件实现自己想要的功能。
最后,经历了大量的操作后,让我的动手能力也有了很大的提高。
在这两周的实验中,在收获知识的同时,还收获了阅历,收获了成熟,在此过程中,我们通过查找大量资料,请教老师,以及不懈的努力,不仅培养了独立思考、动手操作的能力,在各种其它能力上也都有了提高,而且在与老师和同学的交流过程中,互动学习,将知识融会贯通。
更重要的是我们学会了很多学习的方法。
而这是日后最实用的,真的是受益匪浅。
要面对社会的挑战,只有不断的学习、实践,再学习、再实践。
在课程设计中,免不了出现一些问题。
例如,我在设计之前就没有好好的构思一下,没有将整个过程大致计划一下,只是简答的想到哪里就做哪里,导致整个过程十分的混乱,而且也经常的遗漏重要的步骤。
如果以后还要做课设的话,就应该好好的计划一下,将整个工作流程列出,按计划分部完成,这样既能保证按期完成,又能对整个过程检查纰漏
参考资料
1《单片机原理及其接口技术》胡汉才第3版清华大学出版社
2《MCS-51单片机项目教程》艾云杰北京理工大学出版社