




已阅读5页,还剩7页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
数字电压表设计总体设计1.数字电压表的设计即将连续的模拟电压信号经过a/d转换器转换成二进制数值,再经由单片机软件编程转换成十进制数值并通过显示屏显示。 2.按系统实现要求,决定控制系统采用at89c51单片机,a/d转换由于仿真软件里的adc0808.3.采用adc0808。数字电压表系统整体框图如下图1所示。模拟电 压at89c51 单片机adc0808转换数据显 示 ( 图一)整体设计框图系统通过软件设置单片机的内部定时器t1产生中断信号。通过片选选择8路通道中的一路,将该路电压送入adc0808的eoc端口产生高电平,同时将adc0808的oe端口置为高电平,单片机将转换后结果存到片内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”时,其管脚被内部上拉电阻拉高,且作为输入。并因此作为输入时,p2口的管脚被外部拉低,将输出电流。这是由于内部上拉的缘故。p2口当用于外部程序存储器或16位地址外部数据存储器进行存取时,p2口输出地址的高八位。在给出地址“1”时,它利用内部上拉优势,当对外部八位地址数据存储器进行读写时,p2口输出其特殊功能寄存器的内容。这里只用到了p2.0p2.3四个端口,其中p2.1p2.3都是作为输出端口控制显示电路的寄存器选择、读写信号和使能端口。p3口:p3口管脚是8个带内部上拉电阻的双向i/o口,可接收输出4个ttl门电流。当p3口写入“1”后,它们被内部上拉为高电平,并用作输入。作为输入,由于外部下拉为低电平,p3口将输出电流(ill)这是由于上拉的缘故。 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口相或取反输入,高电平有效。 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为读写信号线,高电平时进行读操作,低电平时进行写操作。当rs和r/w共同为低电平时可以写入指令或者显示地址,当rs为低电平r/w为高电平时可以读忙信号,当rs为高电平r/w为低电平时可以写入数据。由单片机p2.2口控制e端为使能端,当e端由高电平跳变成低电平时,液晶模块执行命令。由单片机p2.3口控制 d0d7为8位双向数据线。由单片机p0口输入,经过阻值为1k的上拉电阻连接。软件设计主程序的内容包括:起始地址、中断服务程序的起始地址、有关内存单元及相关部件的初始化和一些子程序的调用等。根据设计要求,设计出如图所示的主程序流程图。a/d转换子程序设计: a/d转换程序的功能是采集数据,在整个系统设计中占有很高的地位。当系统置好后,单片机扫描转换结束管脚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 30h,#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位) 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,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 ; 设置输入方式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 写指令代码子程序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 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; 定时器t0中断服务程序,读取adc0809第0通道的a/d转换结果并化为显示值bt0: push acc ;保护现场push pswmov psw,#08hclr tr0 ;停止t0mov th0,#00h ;重装定时常数mov tl0,#00hmov dptr,#0f6ffh ;0809端口地址mov a,#0 ;0通道movx dptr,a ;启动0809mov r7,#0ffh ;等待a/d转换完djnz r7,$movx a,dptr ;读0809转换结果 mov b,#03h ;将转换的值除以3再累加,存入40h中 div ab add a,40h mov 40h,a mov a,b ;将除以3后的余数累加放入41h中 add a,41h mov 41h,a dec 24h ;3次中断未到则返回mov a,24hjnz rnt1 mov 24h,#03h ;重装中断次数 mov a,41h ;将累加的余数再除3后相加 div ab add a,40h mov 40h,#0 ;清零累加数 mov 41h,#0rtn: mov b,#0fh ;a/d转换结果化为显示值 mul ab ;(ad*5)/256 mov r0,a mov a,b mov b,r0 mov r0,a add a,#246 mov a,r0 mov 30h,#00h jnc loop add a,#06h mov 30h,#01hloop: mov 31h,a ;ad*5的高字节为整数部分 mov a,b mov b,#0ah mul ab ;ad*5的低字节为/256的结果,为小数部分 mov 33h,b ;二进制小数换为10进制数 mov b,#0ah mul ab mov 34h,b ljmp rtn1rtn1: setb tr0 orl
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2024年销售团队季度目标制定指南
- 物业公共设施维护管理办法
- 法律文书申请书写作模板合集
- 高处作业吊篮安装拆卸工岗位操作规程考核试卷及答案
- 小学二年级下册数学口算训练题选
- 物料索道操作工基础考核试卷及答案
- 塑料焊工基础考核试卷及答案
- 矿车修理工协同作业考核试卷及答案
- 海岸带隧道工程影响评价分析
- 显示器件流程变革分析报告
- 数字化设计与制造技术专业教学标准(高等职业教育专科)2025修订
- 2025至2030年中国中试基地行业市场全景调查及发展趋向研判报告
- 承兑汇票转让协议书
- 业主直接参与物业管理区域的物业管理
- 《运动医学与康复》课件
- 2025年自建房施工合同书 (包工不包料 C款)
- 军事心理战试题及答案
- 2025年北京市第一次普通高中学业水平合格性考试历史试题(含答案)
- 二年级上册数学《观察物体》教学设计
- 检验科消防安全知识培训
- 心肾综合征诊疗实践指南解读
评论
0/150
提交评论