数字电压表课程设计

上传人:人*** 文档编号:480624759 上传时间:2023-03-20 格式:DOC 页数:12 大小:140.50KB
返回 下载 相关 举报
数字电压表课程设计_第1页
第1页 / 共12页
数字电压表课程设计_第2页
第2页 / 共12页
数字电压表课程设计_第3页
第3页 / 共12页
数字电压表课程设计_第4页
第4页 / 共12页
数字电压表课程设计_第5页
第5页 / 共12页
点击查看更多>>
资源描述

《数字电压表课程设计》由会员分享,可在线阅读,更多相关《数字电压表课程设计(12页珍藏版)》请在金锄头文库上搜索。

1、数字电压表设计总体设计1.数字电压表的设计即将连续的模拟电压信号经过A/D转换器转换成二进制数值,再经由单片机软件编程转换成十进制数值并通过显示屏显示。 2.按系统实现要求,决定控制系统采用AT89C51单片机,A/D转换由于仿真软件里的ADC0808.3.采用ADC0808。数字电压表系统整体框图如下图1所示。模拟电 压AT89C51 单片机ADC0808转换数据显 示 ( 图一)整体设计框图系统通过软件设置单片机的内部定时器T1产生中断信号。通过片选选择8路通道中的一路,将该路电压送入ADC0808的EOC端口产生高电平,同时将ADC0808的OE端口置为高电平,单片机将转换后结果存到片内

2、RAM。系统调出转换显示程序,将转换为二进制的数据在转换成十进制数并输出到LCD显示电路,将相应电压显示出来。模块分析接口分配电路设计如右图2所示:P0口:P0口为一个8位漏级开路双向I/O口,每脚可吸收8TTL门电流。当P1口的管脚第一次写1时,被定义为高阻输入。P0能够用于外部程序数据存储器,它可以被定义为数据/ 地址的第八位。在这里P0口作为输入与输出分别与ADC0808的输出端和LCD显示的输入端相连,且P0外部被阻值为1K的电阻拉高 P2口:P2口为一个内部上拉电阻的8位双向I/O口,P2口缓冲器可接收,输出4个TTL门电流,当P2口被写“1”时,其管脚被内部上拉电阻拉高,且作为输入

3、。并因此作为输入时,P2口的管脚被外部拉低,将输出电流。这是由于内部上拉的缘故。P2口当用于外部程序存储器或16位地址外部数据存储器进行存取时,P2口输出地址的高八位。在给出地址“1”时,它利用内部上拉优势,当对外部八位地址数据存储器进行读写时,P2口输出其特殊功能寄存器的内容。这里只用到了P2.0P2.3四个端口,其中P2.1P2.3都是作为输出端口控制显示电路的寄存器选择、读写信号和使能端口。P3口:P3口管脚是8个带内部上拉电阻的双向I/O口,可接收输出4个TTL门电流。当P3口写入“1”后,它们被内部上拉为高电平,并用作输入。作为输入,由于外部下拉为低电平,P3口将输出电流(ILL)这

4、是由于上拉的缘故。 P3口也可作为AT89C51的一些特殊功能口,在这里用到了P3.3 /INT1(外部中断1)、 P3.6 /WR(外部数据存储器写选通)、P3.7 /RD(外部数据存储器读选通)。A/D转换接口分配电路设计如图3所示: A/D转换电路 IN0IN7为8路模拟量输入端,这里只接一路电压信号,其输入信号是由直流电源及可调电阻提供。 OUT1OUT8为8位二进制数字量输出端,其另一端连接到AT89C51单片机进行数值转换。 ADDA、ADDB、ADDC为3位片选地址输入线,用于选通8路模拟输入中的一路。ALE为地址锁存允许信号,由单片机P3.6口写信号与P2.0口相或取反输入,高

5、电平有效。 START为 AD转换启动脉冲输入端,由单片机P3.6口写信号与P2.0口相或取反输入一个正脉冲使其启动(脉冲上升沿使0808复位,下降沿启动A/D转换)。 EOC为 AD转换结束信号,当AD转换结束时,此端输出一个高电平取反给P3.3口(转换期间一直为低电平)。 OE为数据输出允许信号,高电平有效。当AD转换结束时,此端由单片机P3.7读信号与P2.0口相或后取反输入一个高电平,才能打开输出三态门,输出数字量。1. 显示电路 接口分配设计如图4所示:RS为寄存器选择,高电平时选择数据寄存器、低电平时选择指令寄存器。由单片机P2.1口控制R/W为读写信号线,高电平时进行读操作,低电

6、平时进行写操作。当RS和R/W共同为低电平时可以写入指令或者显示地址,当RS为低电平R/W为高电平时可以读忙信号,当RS为高电平R/W为低电平时可以写入数据。由单片机P2.2口控制E端为使能端,当E端由高电平跳变成低电平时,液晶模块执行命令。由单片机P2.3口控制 D0D7为8位双向数据线。由单片机P0口输入,经过阻值为1K的上拉电阻连接。软件设计主程序的内容包括:起始地址、中断服务程序的起始地址、有关内存单元及相关部件的初始化和一些子程序的调用等。根据设计要求,设计出如图所示的主程序流程图。A/D转换子程序设计: A/D转换程序的功能是采集数据,在整个系统设计中占有很高的地位。当系统置好后,

7、单片机扫描转换结束管脚P3.7的输入电平状态,当输入为高电平则转换完成,将转换的数值显示输出。若输入为低电平,则继续扫描。程序流程图如图所示。 A/D转换子程序流程图程序清单COM EQU 50H ; 指令寄存器DAT EQU 51H ; 数据寄存器RS EQU P2.1 ; LCD寄存器选择信号RW EQU P2.2 ; LCD读/写选择信号E EQU P2.3 ; LCD使能信号 ORG 0000H LJMP MAIN ;主程序入口 ORG 000BH LJMP BT0 ;T0中断入口 ORG 0030H ;主程序,初始化MAIN: MOV SP,#60H LCALL INT MOV 30

8、H,#30H MOV 31H,#30H MOV 32H,#0A5H MOV 33H,#30H MOV 34H,#30H MOV R7,#30H LCALL N1 ;显示 Voltage = 00.00MOV TMOD,#00H ;定时器T0设为方式0MOV TH0,#00h ;装入定时常数MOV TL0,#00hSETB TR0 ;启动T0MOV 24h, #03h ;装入T0中断次数MOV IE,#82H ;开中断LP: MOV R7,#30H ;显示缓冲区首地址LCALL DISPLYSJMP LP ;循环显示DISPLY: MOV COM,#0CAH ;设置数据起始地址(第而行第10位)

9、 LCALL PR1 MOV R1,#05H MOV R0,#30Hl: MOV DAT,r0 LCALL PR2 INC R0 DJNZ R1,l RET;1. 逐字依次输入方式演示程序段N1:MOV COM,#01H ;清屏 LCALL PR1 MOV COM,#06H ;设置输入方式 LCALL PR1 MOV COM,#081H ;设置数据起始地址(第一行地二位) LCALL PR1 MOV DPTR,#TAB1 MOV R2,#0EH MOV R3,#00HWRIN1: MOV A,R3 MOVC A,A+DPTR MOV DAT,A LCALL PR2 INC R3 DJNZ R2

10、,WRIN1 MOV COM,#0C1H ;设置数据起始地址(第二行地二位) LCALL PR1 MOV DPTR,#TAB2 MOV R2,#9 MOV R3,#00HWRIN2: MOV A,R3 MOVC A,A+DPTR MOV DAT,A LCALL PR2 INC R3 DJNZ R2,WRIN2 RETTAB1: DB VOLTAGE= ; LCD间接控制方式下的初始化子程序INT:LCALL DELAY ; 调延时子程序MOV COM,#38H ; 设置工作方式(2行,8位数据)LCALL PR1MOV COM,#01H ; 清屏LCALL PR1MOV COM,#06H ;

11、设置输入方式LCALL PR1MOV COM,#0CH ; 设置显示方式LCALL PR1RETDELAY:MOV R6,#0FH ; 延时子程序MOV R7,#00HDELAY1: NOP NOPDJNZ R7,DELAY1DJNZ R6,DELAY1RET;LCD间接控制方式的驱动子程序如下;1 读BF和AC值PR0: PUSH ACC MOV P0,#0FFH ; P0置位, 准备读 CLR RS ; RS=0 SETB RW; R/W=1 SETB E ; E=1 LCALL DELAY MOV COM,P0 ; 读BF和AC6-4值 CLR E ; E=0 POP ACC RET;2

12、 写指令代码子程序PR1: PUSH ACC CLR RS ; RS=0 SETB RW ; R/W=1PR11:MOV P0,#0FFH; P0置位, 准备读 SETB E ; E=1 LCALL DELAY NOP MOV A,P0 CLR E JB ACC.7,PR11;BF=1? CLR RW; R/W=0 MOV P0,COM SETB E ; E=1 CLR E ; E=0; E=0 POP ACC RET;3 写显示数据子程序PR2:PUSH ACC CLR RS ; RS=0 SETB RW; R/W=1PR21:MOV P0,#0FFH SETB E ; E=1 LCALL

13、DELAY MOV A,P0 ; 读BF和AC6-4值 CLR E ; E=0 JB ACC.7,PR21 SETB RS CLR RW MOV P0,DAT; 写入数据 SETB E CLR E POP ACC RET;4 读显示数据子程序PR3:PUSH ACC CLR RS ; RS=0 SETB RW; R/W=1PR31:MOV P0,#0FFH ; P0置位, 准备读 SETB E ; E=1 LCALL DELAY MOV A,P0 ; 读BF和AC6-4值 CLR E ; E=0 JB ACC.7,PR31 SETB RS SETB RW; R/W=1 MOV P0,#0FFH ; 读数据 SETB E ; E=1 MOV DAT,P0 CLR E ; E=0 POP ACC RET; 定

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 学术论文 > 其它学术论文

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号