单片机课程设计 数字电压表 软件部分.doc_第1页
单片机课程设计 数字电压表 软件部分.doc_第2页
单片机课程设计 数字电压表 软件部分.doc_第3页
单片机课程设计 数字电压表 软件部分.doc_第4页
单片机课程设计 数字电压表 软件部分.doc_第5页
已阅读5页,还剩12页未读 继续免费阅读

下载本文档

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

文档简介

目 录1单片机简介及课程设计目的12课程设计题目及要求 23课程设计报告内容 3 3.1课程设计相关元器件及设备.3 3.2元器件的分析3 3.3原理图的设计与分析5 3.4程序设计流程及说明8 3.5课程设计仿真结果图示124总结14参考文献 15一、单片机简介及课程设计目的1、课程设计目的熟悉典型单片机( MCS-51, AT89S51, PIC, Motorola, AVR )的资源、性能,加深对单片机课程的全面认识和掌握,对单片机及其接口的应用作进一步的了解,掌握基于单片机的系统设计的一般流程、方法和技巧,为学生解决工程实际问题打下坚实的基础。同时课程设计也是让我们熟练掌握了课本上的一些理论知识,是一个学习新知识、巩固加深所学课本理论知识的过程,它培养了我们综合运用知识的能力,独立思考和解决问题的能力,加深了我们对单片机原理与应用课程的理解。 2、单片机简介单片机全称为单片机微型计算机(Single Chip Microsoftcomputer)。从应用领域来看,单片机主要用来控制,所以又称为微控制器(Microcontroller Unit)或嵌入式控制器。单片机是将计算机的基本部件微型化并集成在一块芯片上的微型计算机。单片机的存储器ROM和RAM时严格区分的。ROM称为程序存储器,只存放程序,固定常数,及数据表格。RAM则为数据存储器,用作工作区及存放用户数据。采用面向控制的指令系统。为满足控制需要,单片机有更强的逻辑控制能力,特别是单片机具有很强的位处理能力。3 .单片机的I/O口通常时多功能的。由于单片机芯片上引脚数目有限,为了解决实际引脚数和需要的信号线的矛盾,采用了引脚功能复用的方法,引脚处于何种功能,可由指令来设置或由机器状态来区分。4 .单片机的外部扩展能力很强。在内部的各种功能部件不能满足应用的需求时,均可在外部进行扩展,与许多通用的微机接口芯片兼容,给应用系统设计带来了很大的方便。二、主要内容和要求课程设计题目:数字电压表设计课程设计任务:以单片机为核心,设计一个数字电压表。完成原理图设计,软件编制及设计报告。具体要求如下:1) 对2路模拟信号连续采集16次,取平均值。2) 分别设定每一路的上限值,如采集的平均值超过上限值,则对应通道的指示灯闪烁10次后一直亮,并发出声音以示警告设计思路及任务分配一、设计思路:由于本设计要求为一个2路的可循环采集并设置数值上限且能在LED显示屏和指示闪烁灯上分别显示信息的多功能数字电压表。特将设计任务细化,如下所示:1、以单片机为控制器, 设计接口电路,将这些外设构成一个简单的单片机应用系统,画出接口的连接电路图,采用中断方式,对2路0-5V的模拟电压进行循环采集,采集的数据送LED显示,并存入内存。2、编写控制程序(1)对2路模拟信号输入实行循行采集,每路连续采集16次,取平均值。(2)分别设定每一路的上限值,若采集的平均值超过该界限值,则对应通道的指示灯闪烁10次后一直亮,指示灯闪烁时喇叭发声,以示警告。 2、任务分配:1、由王瑞负责基本电压表和LED显示、指示闪烁灯的电路连接,并使用Proteus7.8画出仿真电路图;2、由王鹏负责基本电压表和LED显示、指示闪烁灯的代码编写部分;3.由吴勃庆负责对2路模拟信号输入实行循行采集、取平均值以及超出界限值时LED、指示闪烁灯的警报响应的电路设计并使用Proteus7.8画出仿真电路图;4、由王强国负责对2路模拟信号输入实行循行采集、取平均值以及超出界限值时LED、指示闪烁灯的警报响应的代码编写。最后,本组四人共同将各自所负责的分支组合,形成一套完整的集仿真电路图和程序代码于一体的数字电压表设计报告。三、课程设计报告内容1、课程设计相关元器件及设备本次课程设计包括实物和仿真两种,我做的是用proteus软件进行原理图的设计和仿真。实验器材包括:装有proteus软件的pc机一台。2、元器件的分析实验中用到的仿真模型有:AT89C51,ADC0809,数码管,led,晶振,可变电阻,电容,按键等。AT89C51作为控制芯片,5v的电压源接上滑动变阻器模拟外部测量电压,外部模拟电压经过adc0808模数转换后,经过处理在数码管上显示出来。1)ADC0809简介:本实验我们选用ADC0808作为模数转换的芯片,其为逐次逼近式AD转换式芯片,其工作时需要一个稳定的时钟输入,根据查找资料,得到ADC0808的时钟频率在10khz1200khz,我们选择典型值640khz。课题要求测量电压范围是0到5V,又ADC0808的要求:Vref+=GND,故我们取Vref+=+5V,Vref-=0V。由于ADC0808有8个输入通道可供选择,我们选择IN0通道和IN1通道,使ADC0808的A、B、C选择通道,因为只有通道0和1,故将B,C接地,通过改变A的值来选择通道0和1,在当ADC0808启动时ALE引脚电平正跳变时变可以锁存A、B、C上的地址信息。ADC0808可以将从IN0得到的模拟数据转换为相应的二进制数,由于ADC0808输出为8位的二进制数。在AD转换完成后,ADC0809将在EOC引脚上产生一个8倍于自身时钟周期的正脉冲,以此来作为转换结束的标志。然后当OE引脚上产生高电平时,ADC0808将允许转换完的二进制数据输出。ADC0808是采样分辨率为8位的、以逐次逼近原理进行模/数转换的器件。其内部有一个8通道多路开关,它可以根据地址码锁存译码后的信号,只选通8路模拟输入信号中的一个进行A/D转换。ADC0808是ADC0809的简化版本,功能基本相同。一般在硬件仿真时采用ADC0808进行A/D转换,实际使用时采用ADC0809进行A/D转换。引脚功能(外部特性)ADC0808芯片有28条引脚,采用双列直插式封装。各引脚功能如下: 15和2628(IN0IN7):8路模拟量输入端。 8、14、15和1721:8位数字量输出端。 22(ALE):地址锁存允许信号,输入,高电平有效。 6(START): AD转换启动脉冲输入端,输入一个正脉冲(至少100ns宽)使其启动(脉冲上升沿使0809复位,下降沿启动A/D转换)。 7(EOC): AD转换结束信号,输出,当AD转换结束时,此端输出一个高电平(转换期间一直为低电平)。 9(OE):数据输出允许信号,输入,高电平有效。当AD转换结束时,此端输入一个高电平,才能打开输出三态门,输出数字量。 10(CLK):时钟脉冲输入端。要求时钟频率不高于640KHZ。 12(VREF(+)和16(VREF(-):参考电压输入端 11(Vcc):主电源输入端。 13(GND):地。 2325(ADDA、ADDB、ADDC):3位地址输入线,用于选通8路模拟输入中的一路。其结构与引脚图如下所示2)数码管简单说明:显示部分我使用的是7SEG_MPX6-CC,6合一数码管,共阴极。3、原理图的设计与分析总的设计电路如下所示,电路有几个功能模块共同组成:用proteus设计的仿真原理图1)时钟电路2)复位电路 3)模拟电压输入电路 4)AD转换电路 5)显示电路 6)报警提示电路 4、程序设计流程及说明1)程序流程图如下 程序流程图2)程序功能模块及说明1显示模块:void display() /数码管显示函数P1=0;P2=0xff;P1=dispcodedispbufdispcount; /显示数据输入P2=dispbitcodedispcount; /数码管选通if(dispcount=5) P1=P1 | 0x80; /显示小数点if(dispcount=2) P1=P1 | 0x80; /显示小数点 dispcount+; if(dispcount=8) dispcount=0; 本程序模块中P2通过循环计数器dispcount循环选通八个数码管,P1分别送入八个数码管的数据。2ad转换模块:void got_ad_data() /启动和获取ad转换结果 if(EOC=1)OE=1; /允许输出getdata=P0; OE=0; ST=1; /读取数据后送一个高脉冲重新开始转换 ST=0; 这个模块启动ad转换,并查询转换是否完成,完成后取出转换结构,然后重新开始转换。3求平均值并保存模块:void data_save()if(t=16)i=sum/t; /采样16次,求平均值,并保存temp=i;t=0;sum=0;if(A=0)dispbuf5=i/10000; /将通道0的数据存入5,6,7位置i=i%10000; dispbuf6=i/1000;i=i%1000; dispbuf7=i/100;else dispbuf2=i/10000; /江通道1的数据存入数组的2,3,4;i=i%10000; dispbuf3=i/1000;i=i%1000; dispbuf4=i/100;A=!A; /更换通道 程序段中A为ADC0808的通道选择的最低位,t为计数器,用于计数取样次数,sum为16次取样的和。4报警系统模块:void sounder() /报警函数if(A=0)if(temprange1)t2+;if(t2/16=range2)t3+;if(t3/1620)/取反20次,闪烁10次if(t3%16=0) /led2=!led2; /elseled2=led2;elseled2=1; t3=500;ring=!ring;elseled2=0;ring=0;t3=0; /temp小于额定数值时t3清零这个程序段中,我又引入了两个变量T2,和t3,用于计数led灯多少次反转,t2和t3每当定时器t1中断时加1. 5、课程设计仿真结果图示1)通道0和通道1正常测量2)单通道超出量程led灯闪烁十次后常亮,蜂鸣器报警。(通道0的上限为4.5V)3)双通道超界(通道1的上限为4.0)四总结通过这次的设计使我认识到掌握单片机方面的知识太重要了,它是我们作为在这科技飞速发展的时代里的新青年要掌握的必不可少的一项技术。我还发现自己对于书本上的很多知识还不够熟悉,有很多我们需要掌握的知识还没掌握,我会在以后的学习生活中弥补我所缺少的知识。本次的设计使我从中学到了一些很重要的东西,那就是如何从理论到实践的转化,怎样将我所学到的知识运用到我以后的工作中去。大学的课堂的学习只是在给我们灌输专业知识、打好理论基础,而我们应把所学的用到我们现实的生活中去,充分运用我们的知识体现我们的价值。我会在以后的学习、生活中不断磨练自己,使自己适应于以后的竞争,不会在激烈的竞争中掉队。在查找资料的过程中我也学到了许多单片机技术的相关知识,不仅拓展了我的知识面,同时激起了我对单片机相关技术的兴趣。当然不能忽略在协作过程中我和同组的同学一起设计增进了同学间的友谊。最后,感谢宋老师对我们的细心的指导,使得我的课程设计能够顺利的完成,相信这对我以后的课程设计和毕业设计将会有很大的帮助。参考文献1. 使用教材1 楼然苗,李光飞. 单片机课程设计指导.北京:北京航空航天大

温馨提示

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

评论

0/150

提交评论