864234520简易数字电压表的设计微机原理与应用课程设计.doc

上传人:rrsccc 文档编号:9931366 上传时间:2021-04-05 格式:DOC 页数:21 大小:289KB
返回 下载 相关 举报
864234520简易数字电压表的设计微机原理与应用课程设计.doc_第1页
第1页 / 共21页
864234520简易数字电压表的设计微机原理与应用课程设计.doc_第2页
第2页 / 共21页
864234520简易数字电压表的设计微机原理与应用课程设计.doc_第3页
第3页 / 共21页
864234520简易数字电压表的设计微机原理与应用课程设计.doc_第4页
第4页 / 共21页
864234520简易数字电压表的设计微机原理与应用课程设计.doc_第5页
第5页 / 共21页
点击查看更多>>
资源描述

《864234520简易数字电压表的设计微机原理与应用课程设计.doc》由会员分享,可在线阅读,更多相关《864234520简易数字电压表的设计微机原理与应用课程设计.doc(21页珍藏版)》请在三一文库上搜索。

1、湖南工程学院课 程 设 计课程名称 微机原理与应用课程设计 课题名称 简易数字电压表 专 业 电气工程及其自动化 设计内容与设计要求设计内容:设计一个简易数字电压表,设计内容包括:(1) 使用串行AD转换器(TLC2543/TLC1543)或并行AD转换器(ADC0809)对外部模拟电压进行测量。(2) 使用4位LED或6位LED对测量结果(需转化为工程量)进行显示。(3) 能通过键盘对转换通道进行选择。设计要求:1)确定系统设计方案; 2)进行系统的硬件设计;3)完成必要的参数计算与元器件选择;4)完成应用程序设计;5)进行软硬件调试;目录课程设计书 2第一章 系统总体方案选择明 4第二章

2、系统结构框图与工理 4第三章 各单元硬件设计说明及计法 53.1 A/D转换模块ADC0809电路说明53.2 信号脚 63.3 控制模块单片机电路说明 83.4显示模块LED数码显示电路说明9第四章 软件设计与说明(包括流程图). 10第五章 调试结果与必要的调试说明 125.1 调试过程.125.2调试结果.13第六章 使用说明.13第七章 程序清单.13第八章 总结.18参考文献.19附录.191.系统总体方案选择与说明本电路采用模块化设计,主要由A/D转换模块、控制模块和LED显示模块组成(如图1.0)。控制模块 LED显示模块 A/D转换模块外 部 电 压 图1.0系统总体硬件框图2

3、.系统结构框图与工作原理被测电压基准电压源积分RC元件3 12位 A/D转换器A/D转换器显示电路字位驱动电路VREF图 2.0数字电压表原理框图框图功能说明基准电源:提供A/D转换参考电压,基准电压的精度和稳定性是影响转换精度的主要因素。A/D电路:A/D转换器是数字电压表的核心部件,由它完成模拟量转换为数字量的任务。译码驱动电路:将二-十进制(BCD)码转换成七段供LED发光管显示信号。显示电路:将译码器输出的七段信号进行数字显示,即A/D转换结果。积分RC元件:通过对RC元件的选取,控制测量量程。字位驱动电路:根据A/D器上DS4DS1端的位选信号,控制显示部分个、十、百、千位哪一位上进

4、行显示。3.各单元硬件设计说明及计算方法3.1 A/D转换模块ADC0809电路说明图3.0中多路开关可选通8个模拟通道,允许8路模拟量分时输入,共用一个A/D转换器进行转换,这是一种经济的多路数据采集方法。地址锁存与译码电路完成对A、B、C 3个地址位进行锁存和译码,其译码输出用于通道选择,其转换结果通过三态输出锁存器存放、输出,因此可以直接与系统数据总线相连。 3.1ADC0809内部逻辑结构3.2信号引脚ADC0809芯片为28引脚为双列直插式封装,其引脚排列见图3.1。对ADC0809主要信号引脚的功能说明如下:IN7IN0模拟量输入通道ALE地址锁存允许信号。对应ALE上跳沿,A、B

5、、C地址状态送入地址锁存器中。START转换启动信号。START上升沿时,复位ADC0809;START下降沿时启动芯片,开始进行A/D转换;在A/D转换期间,START应保持 低电平。本信号有时简写为ST.A、B、C地址线。 通道端口选择线,A为低地址,C为高地址,引脚图中为ADDA,ADDB和ADDC。其地址状态与通道对应关系见表9-1。CLK时钟信号。ADC0809的内部没有时钟电路,所需时钟信号由外界提供,因此有时钟信号引脚。通常使用频率为500KHz的时钟信号EOC转换结束信号。EOC=0,正在进行转换;EOC=1,转换结束。使用中该状态信号即可作为查询的状态标志,又可作为中断请求信

6、号使用。D7D0数据输出线。为三态缓冲输出形式,可以和单片机的数据线直接相连。D0为最低位,D7为最高 OE输出允许信号。用于控制三态输出锁存器向单片机输出转换得到的数据。OE=0,输出数据线呈高阻;OE=1,输出转换得到的数据。Vcc +5V电源。 Vref参考电源参考电压用来与输入的模拟信号进行比较,作为逐次逼近的基准。其典型值为+5V(Vref(+)=+5V, Vref(-)=-5V). 图3.2 ADC0809引脚3.3 控制模块单片机电路说明AT89C51(如图3.3)是一种带4K字节闪烁可编程可擦除只读存储器(FPEROM)的低电压,高性能CMOS8位微处理器,俗称单片机。主要管脚

7、说明:P0口:P0口为一个8位漏级开路双向I/O口,每脚可吸收8TTL门电流。当P1口的管脚第一次写1时,被定义为高阻输入。P0能够用于外部程序数据存储器,它可以被定义为数据/地址的第八位。在FIASH编程时,P0 口作为原码输入口,当FIASH进行校验时,P0输出原码,此时P0外部必须被拉高。 P1口:P1口是一个内部提供上拉电阻的8位双向I/O口,P1口缓冲器能接收输出4TTL门电流。在FLASH编程和校验时,P1口作为第八位地址接收。 P2口:P2口为一个内部上拉电阻的8位双向I/O口,P2口缓冲器可接收,输出4个TTL门电流。P2口在FLASH编程和校验时接收高八位地址信号和控制信号。

8、 P3口:P3口管脚是8个带内部上拉电阻的双向I/O口,可接收输出4个TTL门电流。P3口也可作为AT89C51的一些特殊功能口。如:P3.3 /INT1(外部中断1)。P3口同时为闪烁编程和编程校验接收一些控制信号。 RST:复位输入。当振荡器复位器件时,要保持RST脚两个机器周期的高电平时间。 ALE/PROG:当访问外部存储器时,地址锁存允许的输出电平用于锁存地址的地位字节。在FLASH编程期间,此引脚用于输入编程脉冲。在平时,ALE端以不变的频率周期输出正脉冲信号,此频率为振荡器频率的1/6。因此它可用作对外部输出的脉冲或用于定时目的。然而要注意的是:每当用作外部数据存储器时,将跳过一

9、个ALE脉冲。如想禁止ALE的输出可在SFR8EH地址上置0。此时,ALE只有在执行MOVX,MOVC指令是ALE才起作用。另外,该引脚被略微拉高。如果微处理器在外部执行状态ALE禁止,置位无效。 XTAL1:反向振荡放大器的输入及内部时钟工作电路的输入。 XTAL2:来自反向振荡器的输出。振荡器特性:XTAL1和XTAL2分别为反向放大器的输入和输出。该反向放大器可以配置为片内振荡器。石晶振荡和陶瓷振荡均可采用。如采用外部时钟源驱动器件,XTAL2应不接。有余输入至内部时钟信号要通过一个二分频触发器,因此对外部时钟信号的脉宽无任何要求,但必须保证脉冲的高低电平要求的宽度。 3.3AT89C5

10、1引脚图3.4显示模块LED数码显示电路说明四位一体LED数码显示器分别采用位选和段选位来控制,AG为段选位,14为选为位,DP位小数点控制位如图2.7。当其为有效信号时则被点亮。图1.3四位动态数码管动态数码显示采用循环点亮的方式即假设第一位点亮则其它都不点亮,因此如果要显示数据即要不停的循环点亮,利用余晖效应显示出说有的数据。 3.4LED数码显示引脚图4.系统的软件设计程序设计(Programming)是指设计、编制、调试程序的方法和过程。在单片机控制系统中,大体上可分为数据处理、过程控制两个基本类型。为了完成上述任务,在进行软件设计时,通常采用模块程序设计法。本系统软件采用模块化结构,

11、由主程序数据接收子程序、数据转换子程序、数据显示子程序构成(程序见附件)。 图4.1数据接收程序设计 图4.2数据接收子程序流程图将接收的数据除以51商存入51单元将余数除以5将商存入52单元余数存入53单元返回主程序 4.3 数据转换程序设计关段选位 开段选第一位和小数点位设123置循环外次数r7=10 将51单元内的数显示并延时设置循环内次数r6=100 开段选第二位 R6-1=0 将52单元内的数显示并延时N Y 开段选第三位NR7-1=0将53单元内的数显示并延时Y 返回 返回主程序 图4.4延时子程序流程图 图4.5数据显示子程序流程图5.调试结果与必要的调试说明5.1 调试过程由于

12、ADC0809在进行A/D转换时需要有CLK信号,而此时的ADC0809的CLK是接在AT89C51单片机的P3.3端口上。也就是要求从P3.3输出CLK信号供ADC0809,使用。因此产生CLK信号的方法就得用软件来产生了。由于ADC0809的参考电压VREF=VCC,所以转换之后的数据要经过数据处理,在数码管上显示出电压值。实际显示的电压值(D/56*VREF)在实验过程中,发现了数码管显示的电压在测试的那一路电压正常显示,而其他路为不定的电压值,(电压为悬浮电压),加一个排阻接地后使它和低电平相连,在未加电压的情况下为低电平,数码管显示值为0值。用原程序进行调试时,不执行报警和通道选择、

13、单路选择(原程序少了通道选择函数和报警函数)。多次修改和添加原程序后能够达到要求。5.2调试结果通过对上述模块的调试,可以看出基于单片机控制的电压表在PROTEUS软件上可以很好的实现显示模块、AD转换模块的仿真。当仿真开始运行时,各个模块处于初始状态。当滑动变阻器改变时,显示的电压值也相应改变。因此,从仿真结果可以看出,本设计可以得到预期的仿真效果。 6. 使用说明A插好芯片,结好电路。B将输入端接地,接通+5V,-5V电源(先结好地线),此时显示器将显示“000”值,如果不是,应检测电源正负电压。C用电阻、电位器构成一个简单的输入电压调节电路,调节电位器,4位数码管将相应变化。7程序清单

14、PORT0809 EQU 0CFA0HADVALUE EQU 50HADTEMP_HI EQU 51HADTEMP_MI EQU 52HADTEMP_LO EQU 53HDISPTEMP1 EQU 54H;54H-59HDISPTEMP2 EQU 55H;54H-59HDISPTEMP3 EQU 56H;54H-59HDISPTEMP4 EQU 57H;54H-59HDISPTEMP5 EQU 58H;54H-59HDISPTEMP6 EQU 59H;54H-59H ORG 0000H AJMP MAIN ORG 0030HMAIN: MOV SP,#60H ;显示缓冲区初始化 MOV DIS

15、PTEMP1,#11H;- MOV DISPTEMP2,#11H;- MOV DISPTEMP3,#11H;- MOV DISPTEMP4,#11H;黑 MOV DISPTEMP5,#11H;D MOV DISPTEMP6,#11H;ASTART: MOV DPTR,#PORT0809 ;ADC0809的入口地址 MOV A,#00H MOVX DPTR,A ;启动A/D挂换 MOV R0,#0FFHloop1: DJNZ R0,LOOP1 ;等待A/D转换结束,才可读取结果 JNB P3.2,$ ;查询方式 MOVX A,DPTR ;取出A/D转换结果 MOV ADVALUE,A LCALL

16、 AD_CALC A/D转换结果计算子程序TODISP: LCALL DISP1 ;P1显示子程序 LCALL DELAY1 ;采样延时子程序 LJMP START ;循环AD_CALC: PUSH PSW PUSH ACC MOV A,ADVALUE ;255/51=5.0 MOV B,#51 DIV AB MOV ADTEMP_HI,A MOV A,B CLR F0 SUBB A,#1AH MOV F0,C MOV A,#10 MUL AB MOV B,#51 DIV AB JB F0,COVLOOP_1 ADD A,#5COVLOOP_1: MOV ADTEMP_MI,A MOV A,B

17、 CLR F0 SUBB A,#1AH MOV F0,C MOV A,#10 MUL AB MOV B,#51 DIV AB JB F0,COVLOOP_2 ADD A,#5COVLOOP_2: MOV ADTEMP_LO,A POP ACC POP PSW RETDISP1: PUSH ACC PUSH 00H ;占用R0 PUSH 01H ;占用R1 PUSH 02H ;占用R2 PUSH 03H ;占用R3 CLR A MOV P1,A ;送显码输出,P1数据口地址 MOV R2,#0FEH MOV R3,#06H MOV DISPTEMP1,ADTEMP_LO ;AD转换结果送显示缓冲

18、区 MOV DISPTEMP2,ADTEMP_MI MOV DISPTEMP3,ADTEMP_HI MOV R1,#DISPTEMP1DISPLOOP: CJNE R1,#DISPTEMP3,DISP2 MOV A,R1 LCALL TABLE ;转换为显码 ADD A,#80H SJMP DISP3DISP2: MOV A,R1 LCALL TABLE ;转换为显码DISP3: MOV P1,A ;送显码输出,P1数据口地址 MOV A,R2 MOV P3,A LCALL DELAY12 CLR A MOV P1,A ;送显码输出,P1数据口地址 MOV A,R2 RL A MOV R2,A

19、 INC R1 DJNZ R3,DISPLOOP POP 03H POP 02H POP 01H POP 00H POP ACC RETTABLE: INC A MOVC A,A+PC RET DB 3FH,06H,5BH,4FH,66H,6DH,7DH,07H DB 7FH,6FH,77H,7CH,39H,5EH,79H,71H DB 80H,40H,73H,00H,3EHDELAY1: PUSH 05H MOV R5,#10 ;延时一段时间使显示稳定DELAY2: LCALL DISP1 ;P1显示子程序 DJNZ R5,DELAY2 POP 05H RETDELAY12: PUSH 06

20、H PUSH 05H MOV R6,#4 ;延时一段时间使显示稳定DELAY21: MOV R5,#255DELAY31: DJNZ R5,DELAY31 DJNZ R6,DELAY21 POP 05H POP 06H RET END 7. 结束语首先感谢学校能为我们提供这样一个锻炼自己实践设计与操作能力的机会,让我们从中受益匪浅,受益终生。电子技术课程设计是一次实践性的学习,是对我们电子技术的综合性训练,通过进行对数字电压表的设计、安装和调试,我对数字电子又有了更进一步的了解,通过指导老师的指导,也解决了一些实践操作过程中遇到的困难。通过查阅手册和文献资料,培养了自己独立分析和解决实际问题的

21、能力。可能是因为有一定的难度。虽然指导教师要求不高但是对于知道些皮毛的我,太不容易了。经历了,写程序,调试,如果成功就写进硬件仿真,不成功继续改进;但是写进硬件后出了问题,就不知是硬件问题还是元件问题了。没有人告诉你错在那里,没有人告诉你该怎么做,我在走没法预见的路,充满荆棘的路。那短日子真的是难熬,几乎每时每刻都在想办法。有空就在纸上写画着。由于时间不够,很多地方还不怎么完美。最后,在历经多次调试后,写进硬件后终于成功了,我高兴的大喊大叫起来,真的太难了,同学也很为我高兴。我好好在同学面前炫了一把,很多同学感到惊讶。可能懂的人认为没什么大不了的,但对于我太不容易了。猛然间才发现做好一件事真的好难!参考文献A、单片机C语言轻松入门周坚编 北京航空航天大学出版社B、单片机人机接口实例 公茂法编著,北京航空航天大学出版社附录 电气信息学院课程设计评分表项 目评 价优良中及格差设计方案合理性与创造性(10%)开发板焊接及其调试完成情况*(10%)硬件设计或软件编程完成情况(20%)硬件测试或软件调试结果*(10%)设计说明书质量(20%)答辩情况(10%)完成任务情况(10%)独立工作能力(10%)出勤情况(10%)综 合 评 分 指导教师签名:_ 日 期:_

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

当前位置:首页 > 社会民生


经营许可证编号:宁ICP备18001539号-1