




已阅读5页,还剩17页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
课程设计说明书1 引言单片机是指一个集成在一块芯片上的完整计算机系统。尽管它的大部分功能集成在一块小芯片上,但是它具有一个完整计算机所需要的大部分部件:CPU、内存、内部和外部总线系统,目前大部分还会具有外存。同时集成诸如通讯接口、定时器,实时时钟等外围设备。单片机具有体积小、功耗低、控制功能强等优点。单片机作为微型计算机一个重要的分支,以它优异的控制功能,在工业控制、智能化仪器仪表系统等领域中日益显示着强大的生命力。数字电压表(Digital Voltmeter)简称DVM,它是采用数字化测量技术,把连续的模拟量(直流输入电压)转换成不连续、离散的数字形式并加以显示的仪表。与此同时,由DVM扩展而成的各种通用及专用数字仪器仪表,也把电量及非电量测量技术提高到崭新水平。本次课程设计基于单片A/D 转换器以及由它们构成的基于单片机的数字电压表的工作原理。目前,由各种单片A/D 转换器构成的数字电压表,已被广泛用于电子及电工测量、工业自动化仪表、自动测试系统等智能化测量领域,示出强大的生命力。本设计AT89C51单片机的一种电压测量电路,该电路采用ADC0808本文介绍一种基于A/D转换电路,测量范围直流 05V 的8路输入电压值,并在四位LED数码管上显示或单路选择显示。测量最小分辨率为0.019V,测量误差约为正负0.02V。2 数字电压表的设计及方案2.1数字电压表概述数字电压表(Digital Voltmeter)简称DVM,它是采用数字化测量技术,把连续的模拟量(直流输入电压)转换成不连续、离散的数字形式并加以显示的仪表。传统的指针式电压表功能单一、精度低,不能满足数字化时代的需求,采用单片机的数字电压表,由精度高、抗干扰能力强,可扩展性强、集成方便,还可与PC进行实时通信。目前,由各种单片A/D 转换器构成的数字电压表,已被广泛用于电子及电工测量、工业自动化仪表、自动测试系统等智能化测量领域,示出强大的生命力。与此同时,由DVM扩展而成的各种通用及专用数字仪器仪表,也把电量及非电量测量技术提高到崭新水平。输入电路A/D转换89C51单片机LED显示图1 电压表设计基本框图2.2电压表设计的基本框图2.3 数字电压表的工作原理系统首先通过按键逐路选择八路通道中的一路或是循环显示,将该路某一路电压送入ADC0808相应通道,单片机软件设置ADC0808开始A/D转换,转换结束ADC0808的EOC端口产生高电平,同时将ADC0808的EO端口置为高电平,单片机将转换后结果存如片内RAM。系统调出计算子程序,将保存结果转化为0.00-5.00V分别保存在片内RAM。系统调用显示子程序,将转化后数据查表,输出到LED显示电路,将相应电压显示出来,程序进入下一个循环。2.4数字电压表设计方案说明2.4.1显示电路设计系统通过对LED灯的动态显示及不停的轮流给数码管位选端加驱动电压,及在给其中一个数码管位选段加驱动电压的时候它才能变亮,而其他的是暗的,由于数码管暗下来需要一定的时间,人眼具有视觉暂留特点,同时系统又给其它的施加驱动电压,所以我们看到的就是稳定的亮着的数字了。2.4.2 A/D转换电路设计A/D 转换电路主要由ADC0808芯片组成,IN0IN7与八路模拟电压相连,单片机的P2口高四位分别对应ADC0808的CLK、ALE、EOC和OE端,用软件设定给定的值。转换后的数字量输出给单片机的P1口进行显示。ADC0808是采样分辨率为8位的、以逐次逼近原理进行模/数转换的器件。其内部有一个8通道多路开关,它可以根据地址码锁存译码后的信号,只选通8路模拟输入信号中的一个进行A/D转换。ADC0808是ADC0809的简化版本,功能基本相同。一般在硬件仿真时采用ADC0808进行A/D转换,实际使用时采用ADC0809进行A/D转换。P3A/D转换器复 位P1P0P2图2 数字电压表设计方案框图3 芯片选择和介绍3.1 电压表转换电路所用芯片3.1.1 A/D转换器ADC0808的管脚说明器件引脚如图3:图3 ADC0808引脚图IN0IN7:为模拟量的输入口,我们选取IN3口为入口,外接可变电阻,通过改变阻值来控制模拟量的输入。A、B、C:3位地址输入,2个地址输入端的不同组合选择八路模拟量输入。ALE:地址锁存启动信号,在ALE的上升沿,将A、B、C上的通道地址锁存到内部的地址锁存器。D0D7:八位数据输出线,A/D转换结果由这8根线传送给单片机。OE:允许输出信号。当OE=1时,即为高电平,允许输出锁存器输出数据。START:启动信号输入端,START为正脉冲,其上升沿清除ADC0808的内部的各寄存器,其下降沿启动A/D开始转换。EOC:转换完成信号,当EOC上升为高电平时,表明内部A/D转换已完成。CLK:时钟输入信号,选用频率500KHZ。多路模拟开关可选通8路模拟通道,允许8路模拟量分时输入,并共用一个A/D转换器进行转换。地址锁存与译码电路完成对A、B、C三个地址位进行锁存与译码。3.1.2 AT89C51管脚说明AT89C51引脚如图4:图4 AT89C51引脚图VCC:供电电压。GND:接地。P0口:P0口为一个8位漏级开路双向I/O口,每脚可吸收8TTL门电流。当P1口的管脚第一次写1时,被定义为高阻输入。P0能够用于外部程序数据存储器,它可以被定义为数据/地址的第八位。在FIASH编程时,P0 口作为原码输入口,当FIASH进行校验时,P0输出原码,此时P0外部必须被拉高。P1口:P1口是一个内部提供上拉电阻的8位双向I/O口,P1口缓冲器能接收输出4TTL门电流。P1口管脚写入1后,被内部上拉为高,可用作输入,P1口被外部下拉为低电平时,将输出电流,这是由于内部上拉的缘故。在FLASH编程和校验时,P1口作为第八位地址接收。 P2口:P2口为一个内部上拉电阻的8位双向I/O口,P2口缓冲器可接收,输出4个TTL门电流,当P2口被写“1”时,其管脚被内部上拉电阻拉高,且作为输入。并因此作为输入时,P2口的管脚被外部拉低,将输出电流。这是由于内部上拉的缘故。P2口当用于外部程序存储器或16位地址外部数据存储器进行存取时,P2口输出地址的高八位。在给出地址“1”时,它利用内部上拉优势,当对外部八位地址数据存储器进行读写时,P2口输出其特殊功能寄存器的内容。P2口在FLASH编程和校验时接收高八位地址信号和控制信号。P3口:P3口管脚是8个带内部上拉电阻的双向I/O口,可接收输出4个TTL门电流。当P3口写入“1”后,它们被内部上拉为高电平,并用作输入。作为输入,由于外部下拉为低电平,P3口将输出电流(ILL)这是由于上拉的缘故。P3口也可作为AT89C51的一些特殊功能口,如下表所示:口管脚 备选功能P3.0 RXD(串行输入口)P3.1 TXD(串行输出口)P3.2 /INT0(外部中断0)P3.3 /INT1(外部中断1)P3.4 T0(记时器0外部输入)P3.5 T1(记时器1外部输入)P3.6 /WR(外部数据存储器写选通)P3.7 /RD(外部数据存储器读选通)P3口同时为闪烁编程和编程校验接收一些控制信号。RST:复位输入。当振荡器复位器件时,要保持RST脚两个机器周期的高电平时间。ALE/PROG:当访问外部存储器时,地址锁存允许的输出电平用于锁存地址的地位字节。在FLASH编程期间,此引脚用于输入编程脉冲。在平时,ALE端以不变的频率周期输出正脉冲信号,此频率为振荡器频率的1/6。因此它可用作对外部输出的脉冲或用于定时目的。然而要注意的是:每当用作外部数据存储器时,将跳过一个ALE脉冲。如想禁止ALE的输出可在SFR8EH地址上置0。此时, ALE只有在执行MOVX,MOVC指令是ALE才起作用。另外,该引脚被略微拉高。如果微处理器在外部执行状态ALE禁止,置位无效。/PSEN:外部程序存储器的选通信号。在由外部程序存储器取指期间,每个机器周期两次/PSEN有效。但在访问外部数据存储器时,这两次有效的/PSEN信号将不出现。/EA/VPP:当/EA保持低电平时,则在此期间外部程序存储器(0000H-FFFFH),不管是否有内部程序存储器。注意加密方式1时,/EA将内部锁定为RESET;当/EA端保持高电平时,此间内部程序存储器。在FLASH编程期间,此引脚也用于施加12V编程电源(VPP)XTAL1:反向振荡放大器的输入及内部时钟工作电路的输入。XTAL2:来自反向振荡器的输出。振荡器特性:XTAL1和XTAL2分别为反向放大器的输入和输出。该反向放大器可以配置为片内振荡器。石晶振荡和陶瓷振荡均可采用。如采用外部时钟源驱动器件,XTAL2应不接。有余输入至内部时钟信号要通过一个二分频触发器,因此对外部时钟信号的脉宽无任何要求,但必须保证脉冲的高低电平要求的宽度。AT89C2051是一种带2K字节闪烁可编程可擦除只读存储器的单片机。单片机的可擦除只读存储器可以反复擦除100次。该器件采用ATMEL高密度非易失存储器制造技术制造,与工业标准的MCS-51指令集和输出管脚相兼容。由于将多功能8位CPU和闪烁存储器组合在单个芯片中,ATMEL的AT89C51是一种高效微控制器,AT89C2051是它的一种精简版本。AT89C单片机为很多嵌入式控制系统提供了一种灵活性高且价廉的方案。3.2 电压显示电路所用芯片设计中采用的是8段LED数码管来显示电压值。LED具有耗电低、亮度高、视角大、线路简单、耐震及寿命长等优点,它由8个发光二极管组成,其中7个按“8”字型排列,另一个发光二极管为圆点形状,位于右下角,常用于显示小数点。把8个发光二极管连在一起,公共端接高电平,叫共阳极接法,相反,公共端接低电平的叫共阴极接法,我们采用共阴极接法。当发光二极管导通时,相应的一段笔画或点就发亮,从而形成不同的发光字符。其8段分别命名为dp g f e d c b a。例如,要显示“0”,则dp g f e d c b a分别为:00111111B;若要显示多个数字,只要让若干个数码管的位码循环为高电平就可以了。图5为8段LED数码管结构图:图5 LED数码管结构图3.3 数字电压表完整电路原理图图6 电路连接图本电路采用AT89C51单片机芯片配合ADC0808模/数转换芯片构成一个简易的数字电压表,原理电路如图1所示。该电路通过ADC0808芯片采样输入口IN7输入的05 V的模拟量电压,经过模/数转换后,产生相应的数字量经过其输出通道D0D7传送给AT89C51芯片的P1口。AT89C51负责把接收到的数字量经过数据处理,产生正确的7段数码管的显示段码,并通过其P0口传送给数码管。同时它还通过其P2口的低四位产生位选信号,控制数码管的亮灭,实现动态显示。P2.5控制ADC0808的地址锁存启动信号(ALE)和启动信号输入端(START);2.7控制ADC0808的输出允许端(OE);P2.6连接ADC0808的转换结束信号(EOC)。完整电路原理图如图6。4软件设计与说明4.1 KeilC51软件介绍Keil C51集成开发环境主要由菜单栏、工具栏、源文件编辑窗口、工程窗口和输出窗口五部分组成。工具栏为一组快捷工具图标,主要包括基本文件工具栏、建造工具栏和调试工具栏,基本文件工具栏包括新建、打开、拷贝、粘贴等基本操作。建造工具栏主要包括文件编译、目标文件编译连接、所有目标文件编译连接、目标选项和一个目标选择窗口。调试工具栏位于最后,主要包括一些仿真调试源程序的基本操作,如单步、复位、全速运行等。在工具栏下面,默认有三个窗口。左边的工程窗口包含一个工程的目标(target)、组(group)和项目文件。右边为源文件编辑窗口,编辑窗口实质上就是一个文件编辑器,我们可以在这里对源文件进行编辑、修改、粘贴等。下边的为输出窗口,源文件编译之后的结果显示在输出窗口中,会出现通过或错误(包括错误类型及行号)的提示。如果通过则会生成“HEX”格式的目标文件,用于仿真或烧录芯片。KEIL运行界面如图7:图7 keil运行界面4.2 ISIS 7 Professional软件介绍ISIS 7 Professiona软件是它不仅具有其它EDA工具软件的仿真功能,还能仿真单片机及外围器件。它是目前最好的仿真单片机及外围器件的工具。虽然目前国内推广刚起步,但已受到单片机爱好者、从事单片机教学的教师、致力于单片机开发应用的科技工作者的青睐。它从原理图布图、代码调试到单片机与外围电路协同仿真,一键切换到PCB设计,真正实现了从概念到产品的完整设计。是目前将电路仿真软件、PCB设计软件和虚拟模型仿真软件三合一的设计平台,其处理器模型支持8051、HC11、PIC10/12/16/18/24/30/DsPIC33、AVR、ARM、8086和MSP430等,2010年即将增加Cortex和DSP系列处理器,并持续增加其他系列处理器模型。在编译方面,它也支持IAR、Keil和MPLAB等多种编译器。ISIS 7 Professional运行界面如图8:图8 ISIS 7 Professional运行界面4.3 A/DC0808转换流程图数字量电压值输入89C51启动ADC0808等待转换是否结束将结果转换成BCD码并输出图9 A/D C0808的转换流程图其软件中实现其数字量电压转换为三位模拟量电压的部分程序如下:MOV A,#0FFHMOV P1,AMOV A,P1;读取AD转换结果CLR P2.7MOV B,#51;AD转换结果转换成BCD码DIV ABMOV R1,A;A中为电压数值第一位,存放在R1中MOV A,BMOV B,#2MUL ABMOV B,#10DIV AB;A中存放电压数值第二位,并存放入R2中MOV R2,AMOV R3,B;余数B中存放电压数值第三位4.4显示电路将P2口低四位地址取出A/D转换出的结果传送给P1端口经过程序的两次除法通过P0端口将数据送给显示器LED_3因P3.6-P3.4对A/D输入端口的选择经过寄存器R0自加循环显示8个路数开 始结 束图10 显示电路流程图流程图程序流程如图10:用四个数码管进行显示的程序如下所示:LOOP: MOV A,LED_0;显示子程序 MOVC A,A+DPTRCLR P2.3MOV P0,ALCALL DELAYSETB P2.3MOV A,LED_1MOVC A,A+DPTRCLR P2.2MOV P0,ALCALL DELAYSETB P2.2MOV A,LED_2MOVC A,A+DPTRADD A,#80HCLR P2.1MOV P0,ALCALL DELAYSETB P2.1MOV A,LED_3MOVC A,A+DPTRCLR P2.0MOV P0,ALCALL DELAYSETB P2.0 DJNZ R4,LOOPRET5 软件仿真5.1电路原理图图11数字电压表电路原理图1.把“单片机系统”区域中的P0.0P0.7与“动态数码显示”区域中的ABCDEFGH端口用8芯排线连接。2.把“单片机系统”区域中的P2.0P2.3与“动态数码显示”区域中的片选14端口连接。3.把“单片机系统”区域中的P2.6、p2.5、p2.6分别与“模数转换模块”区域中的ST、EOC、OE端子用导线相连接。 4.给“模数转换模块”区域中的 CLK端子送时钟脉冲。5.把“模数转换模块”区域中的A2A1A0端子用导线连接到P3.6-P3.4端口上。6.把“模数转换模块”区域中的IN0IN7端子用导线分别连接到“可调电阻”端上。7.把“单片机系统”区域中的P1.0P1.7用8芯排线连接到“模数转换模块”区域中的D0D1D2D3D4D5D6D7端子上。数字电压表设计电路接线图如图11所示: 5.2 仿真结果通过ISIS 6 Professional软件画出该课设的电路图,运行无误,并通过Keil C51软件编写程序编译无误并生成“HEX”格式的目标文件之后,将其加载入单片机使其运行。具体方法为:右击工作区并选中使用的89C51单片机,左击出现“Edit Component”对话框,点击“Program File”选项选择Keil C51软件中已经生成的.HEX文件确定。启动软件,观察其仿真结果如图12,13,14所示。通过电路中的自锁开关闭合实现电路中电压的循环显示各路的电压值,通过断开自锁开关,则每按一次不自锁开关,则路数加一并显示该路电压值。图12为循环显示情况下第八路的仿真结果,图13为单路显示情况下第七路的仿真显示结果,图14为单路显示情况下第一路的电压值。图12 循环显示仿真结果图13 单路显示第七路仿真结果图14 单路显示第一路仿真结果6 总结通过这次单片机课程设计,我不仅加深了对单片机理论的理解,将理论很好地应用到实际当中去,而且我还学会了如何去培养我们的创新精神。这次的课程设计作品的制作让我对单片机的应用有了更加深入的了解,同时在具体的制作过程中我们发现现在书本上的知识与实际的应用存在着不小的差距,书本上的知识很多都是理想化后的结论,忽略了很多实际的因素,或者涉及的不全面,可在实际的应用时这些是不能被忽略的,我们不得不考虑这方的问题,这让我们无法根据书上的理论就轻易得到预想中的结果,有时结果甚至很差别很大。通过这次实践使我更深刻的体会到了理论联系实际的重要性,我们在今后的学习工作中会更加的注重实际。 通过这一周的课设使我充分意识到自己所掌握的知识还是很有限的,而且自己所想的和实际的结果并不相符,不过在老师和同学的帮助下还是顺利的完成了最后的设计。通过这次的课程设计锻炼了我们的实践能力,也使我们对单片机的具体应用有了更加深刻的认识,现在的科技是高度集成化的,单片机作为一种微型的计算机,其应用领域非常广阔,我们应该学好这门课程,为以后的学习和工作打下坚实的基础。参考文献1 高惠芳.单片机原理及应用,科学出版社,20102 谢筑森.单片机开发与典型应用技术.北京:中国科技大学出版社,1997.9:54-663 何立民.单片机中级教程.北京航空航天大学出版社19904 张玉璞.李庆常.电子技术课程设计.北京:北京理工大学出版社,1994.9:10-305 陈雪丽.单片机原理及接口技术.北京:化学工业出版社,2005.1:45-606 胡健.单片机原理及接口技术实践教程.北京:机械工业出版社,2004.5:108-119附录 程序代码LED_0 EQU 30HLED_1 EQU 31HLED_2 EQU 32HLED_3 EQU 33HADC EQU 35HST BIT P2.6OE BIT P2.4EOC BIT P2.5 ORG 0000HSJMPSTARTSTART:MOVDPTR,#TAB;段码表首地址WAIT: MOV A,#0FFHMOV P3,AMOV A,P3ANL A,#07HJNB P2.7,XUNHUAN MOV R0,A MOV LED_3,ASWAP AMOV P3,ACLR ST SETB STCLR ST;启动AD转换 JNB E
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 贺州经营场所管理办法
- 群文件批量管理办法
- 项目库管理办法大学
- 补课班退费管理办法
- 鄞州区犬类管理办法
- 专项环保资金管理办法
- 三新食品管理办法细则
- 证监会统计管理办法
- 项目制用工管理办法
- 青年kpi管理办法
- 2023年政府采购评审专家考试题库(含答案)
- GB/T 45083-2024再生资源分拣中心建设和管理规范
- 大型运输车辆交通安全教育
- 《国有资产管理》课件
- 语文开学第一课课件 2024-2025学年统编版语文七年级上册
- 人教版高中生物必修1全册教学课件
- 青岛版小学数学五年级上册教案全册
- 连续性肾替代治疗抗菌药物剂量调整专家共识(2024年版)解读
- 11节约我们在行动(教学课件)五年级综合实践活动上册(苏少版)
- 2024年浙江省单独招生文化考试语文试卷(含答案详解)
- 国家职业技术技能标准 6-28-01-03 汽轮机运行值班员 人社厅发202226号
评论
0/150
提交评论