片机课程设计---基于单片机的数字电压表设计_第1页
片机课程设计---基于单片机的数字电压表设计_第2页
片机课程设计---基于单片机的数字电压表设计_第3页
片机课程设计---基于单片机的数字电压表设计_第4页
片机课程设计---基于单片机的数字电压表设计_第5页
已阅读5页,还剩17页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、.单片机原理及应用课程设计报告 学 院: 源与动力工程学院_ 班 级:_建电1001_ 学 号:_101605121_ 姓 名:_刘兹平_时 间:2012-12-17 2012-12-21目 录任务书1第一章方案设计2第二章硬件系统设计3第三章软件设计7第四章系统调试10小 结11附录1:原理图13附录2:源程序14;单片机原理及应用课程设计任务书1、题 目:基于单片机的数字电压表设计2、设计要求: (1)利用单片机及ADC0809构成一个电压采集系统,实现8通道循环采样,循环显示。 (2)显示采用ZLG7290,显示精度到小数点后一位。第一章 方案设计 1、总体设计方案本设计使用ADC080

2、9对模拟信号进行转换,然后经过AT89C51转换后的结果来进行运算和处理,然后由数码管直接显示数字电压信号,其中分辨率为0.02v。用电位器控制输入电压,经ADC0809模数转换,然后数据被单片机采集,并经过单片机利用相应的算法进行调整,最后利用串口将处理好的数据输出至数码管。其中ADC0809通过IN0IN7采集模拟电压信号送给单片机,单片机将采集来的信号通过一定的处理然后通过串口输出至共阳极的LED数码管显示采集到的电压值。2、总体设计框图时钟电路 复位电路A/D转换电路测量电压输入显示系统AT89C51 P1 P2 P2 P0 第二章 硬件系统设计1、 硬件系统设计思路 8路数字电压表应

3、用系统硬件电路由单片机、A/D转换器、数码管显示电路等组成。ADC0809具有8路模拟量输入通道IN0-IN7,通过3位地址输入端C、B、A(引脚23-25)进行选择。引脚22为地址锁存控制端ALE,当输入为高电平时,C、B、A引脚输入的地址锁存于ADC0809内部是锁存器中,经内部译码电路译码选中相应的模拟通道。引脚6为启动转换控制端START,当输入一个2s宽的高电平脉冲时,就启动ADC0809开始对输入通道的模拟量进行转换。引脚7为A/D转换器,当开始转换时,EOC信号为低电平,经过一段时间,转换结束,转换结束信号EOC输出高电平,转换结果存放于ADC0809内部的输出数据寄存器中。引脚

4、9脚为A/D转换数据输出允许控制端OE,当OE为高电平时,存放于输出数据锁存器中的数据通过ADC0809的数据线D0D7输出。引脚10为ADC0809的时钟信号输入端CLOCK。在连接时,ADC0809的数据线D0D7与AT89S52的P0口相连接,ADC0809的地址引脚、地址锁存端ALE、启动信号START、数据输出允许控制端OE分别与AT89S52的P2口相连接,转换结束信号EOC与AT89S52的P3.7相连接。时钟信号输入端CLOCK信号,由单片机的地址锁存信号ALE得到。2、 模块分析 (1)AT89C51单片机 P0口:P0口为一个8位漏级开路双向I/O口,每脚可吸收8TTL门电

5、流。当P1口的管脚第一次写1时,被定义为高阻输入。P0能够用于外部程序数据存储器,它可以被定义为数据/ 地址的第八位。在这里P0口作为输入与输出分别与ADC0808的输出端和LCD显示的输入端相连,且P0外部被阻值为1K的电阻拉高。 P2口:P2口为一个内部上拉电阻的8位双向I/O口,P2口缓冲器可接收,输出4个TTL门电流,当P2口被写“1”时,其管脚被内部上拉电阻拉高,且作为输入。并因此作为输入时,P2口的管脚被外部拉低,将输出电流。这是由于内部上拉的缘故。P2口当用于外部程序存储器或16位地址外部数据存储器进行存取时,P2口输出地址的高八位。在给出地址“1”时,它利用内部上拉优势,当对外

6、部八位地址数据存储器进行读写时,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(外部数据存储器读选通)。 (2)A/

7、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

8、口(转换期间一直为低电平)。 OE为数据输出允许信号,高电平有效。当AD转换结束时,此端由单片机P3.7读信号与P2.0口相或后取反输入一个高电平,才能打开输出三态门,输出数字量。 (3)显示电路 RS为寄存器选择,高电平时选择数据寄存器、低电平时选择指令寄存器。由单片机P2.1口控制R/W为读写信号线,高电平时进行读操作,低电平时进行写操作。当RS和R/W共同为低电平时可以写入指令或者显示地址,当RS为低电平R/W为高电平时可以读忙信号,当RS为高电平R/W为低电平时可以写入数据。由单片机P2.2口控制E端为使能端,当E端由高电平跳变成低电平时,液晶模块执行命令。由单片机P2.3口控制D0D

9、7为8位双向数据线。由单片机P0口输入,经过阻值为1K的上拉电阻连接。第三章 软件设计1、 设计说明本实验采用AT89C51 单片机芯片配合 ADC0809 模/数转换芯片构成一个简 易的数字电压表,原理电路如图1-1 所示。该电路通过 ADC0809 芯片采样输入口 AI0 输入的05V 的模拟量电压,经过模/数转换后,产生相应的数字量经过其输出通道D0D7 传送给 AT89C51 芯片的F0口。AT89C51负责把接收到的数字量经过数据处理,产生正确的7段数码管的显示段码,并通过P1 口传送给数码管。同时它还通过其三位 I/O 口 P3.0、P3.1、P3.2 产生位片选信号,控制数码管的

10、亮灭。另外,AT89C51 还控制着 ADC0809 的工作。其ALE管脚为 ADC0809提供了 1MHZ 工作的时钟脉冲;P2.3 控制 ADC0809 的地址锁存端(ALE); P2.4 控制 ADC0809 的启动端(START); P2.5 控制 ADC0809 的输出允许端(OE); P3.7 控制 ADC0809 的转换结束信号(EOC)。2、 主程序设计主程序包含初始化部分、调用A/D转换子程序和调用显示程序,如图所示。初始化部分包含存放通道数据缓冲区初始化和显示缓冲区初始化。3、 A/D转换子程序设计 A/D转换子程序用于对ADC0809的8路输入模拟电压进行A/D转换,并将

11、转换的数值存入8个相应的存储单元中,如图所示。A/D转换子程序每隔一定时间调用一次,即隔一段时间对输入电压采样一次。4、 显示子程序设计 显示子程序采用动态扫描法实现八位数码管的数值显示。高位数码管显示通道数,低两位显示所测电压数值。测量所得的A/D转换数据放在70H内存单元中,测量数据在显示时需转换成10进制BCD码放在66H6DH单元中。寄存器R1用作显示数据地址指针。第四章 系统调试1、 由于单片机为8位处理器,当输入电压为5.00V时,输出数据值为255(FFH)因此单片机最大的数值分辨率为0.0196V(5/255)。这就决定了该电压表的最大分辨率(精度)只能达到0.0196V。测试

12、时电压数值的变化一般以0.02的电压幅度变化,如要获得更高的精度要求,应采用12位、13位的A/D转换器或者使用双字节指令。2、 由于实验箱只有两个电位器接口,因此要实现八通道,可通过其它不用接线口串联实现等电位,进而实现模拟电压八通道输入。3、当显示过快时可通过改变程序设置跳转时间,可便于观察。小 结经过一个多星期的不断学习、不断尝试、不断提问,单片机课程设计终于完成了。课题不是很难,但是由于是第一次接触这种类型的学习过程,所以一开始效率有点低,主要是无从下手,不知该做什么。课程设计前一天我在网上搜索了很多关于课题的文档资料,有一定参照作用,但是也有很多不同之处,比如选用的单片机器件、A/D

13、转换器件或者显示器件的不同,往往会令我在设计时不知如何正确接线。本次课程设计是理论与实践相结合的一次实用性学习,要学会学以致用,将所学知识用到实处。这在编程调试时尤其突出重要,比如小数点的显示,精度的提高,误差的减小,这些内容一部分取决于器件的优劣,还有一部分来自于程序设计的好坏。所以,熟练汇编语言,熟练编程是我从此次课程设计中得到的一个重要启示,因为这将是我们将来学以致用的关键。我的课题虽然是基于单片机的数字电压表设计,但是实际上就是一个数据采集的程序设计,只不过这里数据采集的是模拟电压罢了,采集后的数据然后通过ZLG7290显示出来。显示程序来源于以前的实验,我的U盘里面正好有,因此节省了

14、不少力气。其次在调试程序仿真时,需要认真仔细,随机应变。课程设计时间虽短暂,却是另一种完全不同的学习过程,它让我意识到理论联系实践的重要性以及应用时可能会出现很多意想不到的问题,这些东西不是书本上的知识可以学到的,而要通过实践不断积累经验,不断虚心请教和学习才能真正掌握的,因此以后要积极实验、实践,认真学习这些课本之外的东西。总的来说,课程设计还是让我学到了不少新知识,也有不少新领悟,当然,对单片机也有了更深层次的认识,也让我对单片机有了更高的兴趣,希望学到更多关于单片机的知识,做更多的实践内容。附录1:原理图附录2:源程序SDABITP3.0;I2C总线定义SCLBITP3.1RSTBITP

15、1.7MTDEQU63H;发送数据缓冲器ZLG7290EQU70H;ZLG7290的器件地址ACKBIT10H;应答标志位SLADATA60H;器件的从地址SUBADATA61H;器件的子地址NUMBYTEDATA62H;读/写的字节数变量 ORG 00H SJMP MAIN ORG 00BH LJMP INT_T0 ORG 0003H LJMP INT_EX0ORG 030HMAIN: MOV SP,#70HMOV R2,#08H MOV TMOD, #01H MOV TL0, #0B0H MOV TH0, #3CH SETB EX0 SETB IT0 SETB ET0 SETB EA SE

16、TB TR0 MOV 66H,#0MOV 67H,#0MOV 68H,#0MOV 69H,#0MOV 6AH,#0MOV 6BH,#0MOV 6CH,#0MOV 6DH,#0MOV R1,#30HMOV R7,#20SJMP $INT_T0:MOV TL0, #0B0H MOV TH0, #3CHMOV DPTR,#0000HMOVX DPTR,AMOV R0,#30HMOV A,R1MOV B,#5DIV ABMOV B,#10DIV ABMOV 66H,BMOV B,#10DIV ABMOV 67H,BORL 67H,#80HMOV 68H,AMOV 6DH,R1ANL 6DH,#07HL

17、CALL LEDDISPDJNZ R7,T0_ENDMOV R7,#20INC R1CJNE R1,#38H,T0_ENDMOV R1,#30HT0_END:RETIINT_EX0:MOVX A,DPTRMOV R0,A INC DPTRINC R0CJNE R0,#38H,LOPRETILOP: MOVX DPTR,ARETIleddisp:push psw push accsetb rs1setb rs0mov r0,#66Hmov r4,#8mov r5,#60hloop: MOV MTD,R5 MOV MTD+1,R0MOV SLA,#70HMOV SUBA,#07HMOV NUMBY

18、TE,#02HLCALL IWRNBYTELCALL DELY1INC R0INC R5DJNZ R4,LOOPPOP ACCPOP PSWRETre7290: clr rst lcall delysetb rstlcall delyretdely :mov r7,#80Hmin :djnz r7,ys500 retys500 :lcall ys500us ljmp minys500us:mov r6,#80h djnz r6,$retdely1 :mov r7,#40h djnz r7,$ret;启动I2C总线子程序 START: nop nop nop SETB SDA NOP SETB

19、SCL ;起始条件建立时间大于4.7us NOP NOP NOP NOP NOP CLR SDA NOP ;起始条件锁定时大于4us NOP NOP NOP NOP CLR SCL ;钳住总线,准备发数据 NOP nop nop RET;结束总线子程序STOP: NOP NOP NOP CLR SDA NOP SETB SCL ;发送结束条件的时钟信号 NOP ;结束总线时间大于4us NOP NOP NOP NOP SETB SDA ;结束总线 NOP ;保证一个终止信号和起始信号的空闲时间大于4.7us NOP NOP NOP nop nop RET;检查应答位子程序;返回值,ACK=1时表示有应答CACK:NOP NOP NOPSETB SDA NOP NOP SETB SCL CLR ACK NOP NOP MOV C,SDA JC CEND SETB ACK ;判断应答位CEND:NOP CLR SCL NOPnopnop

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论