版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、 题目:基于AT89C51单片机数字电压表的设计目录整体设计思路框图及原理图二、模块分析41.AT89C51单片机4A/D转换5显示电路.6三、软件设计5四、程序清单6五、仿真实验调试12六、总结与体会.13七、参考文献.14整体设计思路框图及原理图数字电压表的设计即将连续的模拟电压信号经过A/D转换器转换成二进制数值,再经由单片机软件编程转换成十进制数值并通过显示屏显示。按系统实现要求,决定控制系统采用AT89C51单片机,A/D转换由于仿真软件里的ADC0809元件有问题,这里用ADC0808代替,它和ADC0809区别很小。采用ADC0808。数字电压表系统整体框图如下图1所示。图1整体
2、框图系统通过软件设置单片机的内部定时器T1产生中断信号。通过片选选择8路通道中的一路,将该路电压送入ADC0808的EOC端口产生高电平,同时将ADC0808的OE端口置为高电平,单片机将转换后结果存到片内RAM。系统调出转换显示程序,将转换为二进制的数据在转换成十进制数并输出到LCD显示电路,将相应电压显示出来。原理图见附录图7。二、模块分析1AT89C51单片机接口分配电路设计如右图2所示:P0口:P0口为一个8位漏级开路双向I/O口,每脚可吸收8TTL门电流。当P1口的管脚第一次写1时,被定义为高阻输入。P0能够用于外部程序数据存储器,它可以被定义为数据/地址的第八位。在这里P0口作为输
3、入与输出分别与ADC0808的输出端和LCD显示的输入端相连,且P0外部被阻值为1KQ的电阻拉IbPt.I!1GL29giX.TAL2RSTPSENALEEApoPQFOpopopopnFOP1.Q/T2P1.1/T2EXP1.2XECIP1.3X匚ERP1.-VCEX1P1.5/CEX2P1.6/CEX3P1.7/CEFinKt.ASMO/ADO1/AD12ZA.D23/.A.D347AD46/AD6E/ADC7/AD7P2.O/GP2.1/GF2/A1O尸23/A11F2.A12P2.5/A13F2J5/AiaF2.7/A-I5P3.O/RXDP3.1/TXDP3.2/INKIP3.3/I
4、HT-IP3.4ZTOF3.5/T1POBAtfRP3.7/RD图2单片机接口电路P2口:P2口为一个内部上拉电阻的8位双向I/O口,P2口缓冲器可接收,输出4个TTL门电流,当P2口被写T”时,其管脚被内部上拉电阻拉高,且作为输入。并因此作为输入时,P2口的管脚被外部拉低,将输出电流。这是由于内部上拉的缘故。P2口当用于外部程序存储器或16位地址外部数据存储器进行存取时,P2口输出地址的高八位。在给出地址T”时,它利用内部上拉优势,当对外部八位地址数据存储器进行读写时,P2口输出其特殊功能寄存器的内容。这里只用到了P2.0P2.3四个端口,其中P2.1P2.3都是作为输出端口控制显示电路的寄
5、存器选择、读写信号和使能端口。P3口:P3口管脚是8个带内部上拉电阻的双向I/O口,可接收输出4个TTL门电流。当P3口写入T”后,它们被内部上拉为高电平,并用作输入。作为输入,由于外部下拉为低电平,P3口将输出电流(ILL)这是由于上拉的缘故。P3口也可作为AT89C51的一些特殊功能口,在这里用到了P3.3/INT1(外部中断1)、P3.6/WR(外部数据存储器写选通)、P3.7/RD(外部数据存储器读选通)。2.A/D转换接口分配电路设计如图3所示:IN0IN7为8路模拟量输入端,这里只接一路电压信号,其输入信号是由直流电源及可调电阻提供。0UT10UT8为8位二进制数字量输出端,其另一
6、端连接到AT89C51单片机进行数值转换。ADDA、ADDB、ADDC为3位片选地址输入线,用于选通8路模拟输入中的一路。需UK貉Ini0QD口-un:uoEEMDDPIW?1IH5IMj阑IHZIH1ALEMJDCA&REl=TFnU4A再U3ErTE.T.TTJflTALE为地址锁存允许信号,图3A/D转换电路由单片机P3.6口写信号与P2.0口相或取反输入,高电平有效。START为A/D转换启动脉冲输入端,由单片机P3.6口写信号与P2.0口相或取反输入一个正脉冲使其启动(脉冲上升沿使0808复位,下降沿启动A/D转换)。EOC为A/D转换结束信号,当A/D转换结束时,此端输出一个高电平
7、取反给P3.3口(转换期间一直为低电平)。OE为数据输出允许信号,高电平有效。当A/D转换结束时,此端由单片机P3.7读信号与P2.0口相或后取反输入一个高电平,才能打开输出三态门,输出数字量。显示电路接口分配设计如图4所示:RS为寄存器选择,高电平时选择数据寄存器、低电平时选择指令寄存器。由单片机P2.1口控制R/W为读写信号线,高电平时进行读操作,低电平时进行写操作。当RS和R/W共同为低电平时可以写入指令或者显示地址,当RS为低电平R/W为高电平时可以读忙信号,当RS为高电平R/W为低电平时可以写入数据。由图4显示电路单片机P2.2口控制E端为使能端,当E端由高电平跳变成低电平时,液晶模
8、块执行命令。由单片机P2.3口控制DOD7为8位双向数据线。由单片机P0口输入,经过阻值为1K的上拉电阻连接。三、软件设计主程序的内容包括:起始地址、中断服务程序的起始地址、有关内存单元及相关部件的初始化和一些子程序的调用等。根据设计要求,设计出如图5所示的主程序流程图。图5程序流程图A/D转换子程序设计:A/D转换程序的功能是采集数据,在整个系统设计中占有很高的地位。当系统置好后,单片机扫描转换结束管脚P3.7的输入电平状态,当输入为高电平则转换完成,将转换的数值显示输出。若输入为低电平,则继续扫描。程序流程图如图6所示。图6A/D转换子程序流程图四、程序清单COMEQU50H;指令寄存器D
9、ATEQU51H;数据寄存器RSEQUP2.1;LCD寄存器选择信号RWEQUP2.2;LCD读/写选择信号EEQUP2.3;LCD使能信号;主程序入口;T0中断入口;主程序,初始化ORG0000HLJMPMAINORG000BHLJMPBT0ORG0030HMAIN:MOVSP,#60HLCALLINTMOV30H,#30HMOV31H,#30HMOV32H,#0A5HMOV33H,#30HMOV34H,#30H;显示Voltage=00.00;定时器TO设为方式0;装入定时常数;启动T0;装入TO中断次数;开中断;显示缓冲区首地址;循环显示MOVR7,#30HLCALLN1MOVTMOD,
10、#00HMOVTH0,#00hMOVTL0,#00hSETBTR0MOV24h,#03hMOVIE,#82HLP:MOVR7,#30HLCALLDISPLYSJMPLPDISPLY:MOVCOM,#0CAH;设置数据起始地址(第而行第10位)LCALLPR1MOVR1,#05HMOVR0,#30Hl:MOVDAT,r0LCALLPR2INCR0DJNZR1,lRET;1.逐字依次输入方式演示程序段N1:MOVCOM,#01HLCALLPR1;清屏MOVCOM,#06HLCALLPR1;设置输入方式MOVCOM,#081HLCALLPR1;设置数据起始地址(第一行地二位)MOVDPTR,#TAB
11、1MOVR2,#0EHMOVR3,#00HWRIN1:MOVA,R3MOVCA,A+DPTRMOVDAT,ALCALLPR2INCR3DJNZR2,WRIN1MOVCOM,#0C1HLCALLPR1;设置数据起始地址(第二行地二位)MOVDPTR,#TAB2MOVR2,#9MOVR3,#00HWRIN2:MOVA,R3MOVCA,A+DPTRMOVDAT,ALCALLPR2INCR3DJNZR2,WRIN2RETTAB1:DBVOLTAGE=;LCD间接控制方式下的初始化子程序INT:LCALLDELAY;调延时子程序MOVCOM,#38H;设置工作方式(2行,8位数据)LCALLPR1MOV
12、COM,#01H;清屏LCALLPR1MOVCOM,#06H;设置输入方式LCALLPR1MOVCOM,#0CH;设置显示方式LCALLPR1RETDELAY:MOVR6,#0FH;延时子程序MOVR7,#00HDELAY1:NOPNOPDJNZR7,DELAY1DJNZR6,DELAY1RET;LCD间接控制方式的驱动子程序如下;1读BF和AC值PR0:PUSHACCMOVP0,#0FFH;P0置位,准备读CLRRS;RS=0SETBRW;R/W=1SETBE;E=1LCALLDELAYMOVCOM,P0;读BF和AC6-4值CLRE;E=0POPACCRET;2写指令代码子程序PR1:PU
13、SHACCCLRRS;RS=0SETBRW;R/W=1PR11:MOVPO,#OFFH;P0置位,准备读SETBE;E=1LCALLDELAYNOPMOVA,P0CLREJBACC.7,PR11;BF=1?CLRRW;R/W=0MOVP0,COMSETBE;E=1CLRE;E=0;E=0POPACCRET;3写显示数据子程序PR2:PUSHACCCLRRS;RS=0SETBRW;R/W=1PR21:MOVP0,#0FFHSETBE;E=1LCALLDELAYMOVA,P0;读BF和AC6-4值CLRE;E=0JBACC.7,PR21SETBRSCLRRWMOVP0,DAT;写入数据SETBEC
14、LREPOPACCRET;4读显示数据子程序PR3:PUSHACCCLRRS;RS=0SETBRW;R/W=1PR31:MOVP0,#0FFH;P0置位,准备读SETBE;E=1LCALLDELAYMOVA,P0;读BF和AC6-4值CLRE;E=0JBACC.7,PR31SETBRSSETBRW;R/W=1MOVP0,#0FFH;读数据SETBE;E=1MOVDAT,P0CLRE;E=0POPACCRETPUSHACC;保护现场PUSHPSWMOVPSW,#08HCLRTR0;停止T0MOVTH0,#00h;重装定时常数MOVTL0,#00hMOVDPTR,#0F6FFH;0809端口地址M
15、OVA,#0;0通道MOVXDPTR,A;启动0809MOVR7,#0FFH;等待A/D转换完DJNZR7,$MOVXA,DPTR;读0809转换结果MOVB,#03H;将转换的值除以3再累加,存入40H中DIVABADDA,40HMOV40H,AMOVA,B;将除以3后的余数累加放入41H中ADDA,41HMOV41H,ADEC24h;3次中断未到则返回MOVA,24HJNZRNT1MOV24h,#03h;重装中断次数MOVA,41H;将累加的余数再除3后相加DIVABADDA,40HMOV40H,#0;清零累加数MOV41H,#0MOVB,#0fh;A/D转换结果化为显示值;定时器T0中断
16、服务程序,读取ADC0809第0通道的A/D转换结果并化为显示值BT0:RTN:MULAB;(AD*5)/256MOVR0,AMOVA,BMOVB,R0MOVR0,AADDA,#246MOVA,R0MOV30H,#00HJNCLOOPADDA,#06HMOV30H,#01HLOOP:MOV31H,AMOVA,BMOVB,#0AHMULABMOV33H,BMOVB,#0AHMULABMOV34H,BLJMPRTN1RTN1:SETBTR0ORL30H,#30HORL31H,#30HMOV32H,#0A5HORL33H,#30HORL34H,#30HPOPPSW;AD*5的高字节为整数部分;AD*
17、5的低字节为/256的结果,为小数部分;二进制小数换为10进制数;小数点POPACCRETIEND五、仿真实验调试打开WAVE6000软件,菜单栏选择“文件”中的“新建文件”,在弹出的窗口中编写程序,然后保存后缀为“*.asm”的程序。菜单栏选择“项目”中的“编译”,如果程序无误即编译成功,否则修改程序直至编译成功。打开Proteus软件,新建文件FileNewDesign,同样在弹出的原理图编辑窗口中绘制原理图,然后保存。加载程序,选择SourceAdd/RemoveSourceFiles,在弹出的对话框中点击“New”选择在WAVE6000软件中编写保存的程序如“*.asm”,点击“OK”
18、即加载成功。在Proteus软件中的左下方点击图标匚匸仿真调试开始,即可看到仿真调试的结果。品-*zlFFPPrPPrRTHU!.=3一豈工:虫:丄L.KIMJXUELQLM-l-idEenaBLMJEEg.BEE菱曰LEJ直HdU3+.M-日面r-lJ蚩-r-iJOtlTEii+Q?riEmuEMis-.12-oo-OZLHzuroIaf-卜卜-“gH六、总结与体会这虽然是一个数字电压表的设计但是实际上就是一个数据采集的程序设计,只不过这里数据采集的是模拟电压罢了。虽然这个单片机的课题比较简单,但是从中我还是学到了许多新东西。在之前的学习过程中没有用到Proteus这个软件,所以刚刚开始的时候一边在百度里看Proteus入门教程一边实践操作Proteus这个软件,不过幸好以前学过Protell99绘图软件,举一反三的在短时间内把Proteus磕磕碰碰学会了。想想我们在大学里速学软件还是比较有心得:在一两天内只学
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026年一级建造师之一建铁路工程实务综合提升练习题(A卷)附答案详解
- 【低空经济】低空智能交通系统设计方案
- 2026学年历史八年级下学期第二单元-社会主义建设道路的探索素养提升题(含答案)
- 2026年幼儿园祥案带
- 2025福建省轻纺(控股)有限责任公司秋季招聘3人笔试参考题库附带答案详解
- 2025福建晋江市创新创业创造园开发建设有限公司招聘1人笔试参考题库附带答案详解
- 2025甘肃智鑫科技有限公司招聘35人笔试参考题库附带答案详解
- 2025渭南澄城县省内重点企业线上招聘(197人)笔试参考题库附带答案详解
- 2025浙江温州市白鹿人才科技发展有限公司招聘项目部工作人员2人笔试参考题库附带答案详解
- 2025浙江宁波市宁海县国有企业招聘52人笔试参考题库附带答案详解
- 2025四川省自然资源投资集团招聘30人笔试参考题库附带答案详解
- 广东省广州市2026年广州市普通高中毕业班综合测试(二)(广州二模)数学试题卷
- 国家义务教育质量监测八年级劳动素养试题
- 2026年自学考试大学英语(本科)真题单套试卷
- 2026全国高考体育单招考试语文试题试题(含答案)
- 初中化学常见的家庭小实验
- 成品栏杆施工方案(3篇)
- 2026年增值税章节测试题及答案
- 制冷设备安全检查标准流程
- 第5单元 单元教学设计 2026统编版三年级语文下册
- 《2026年》纪检监察室岗位高频面试题包含详细解答
评论
0/150
提交评论