ImageVerifierCode 换一换
格式:DOCX , 页数:22 ,大小:194.56KB ,
资源ID:12052561      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/12052561.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(单片机课程设计10.docx)为本站会员(b****5)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

单片机课程设计10.docx

1、单片机课程设计10目 录绪论 1第1章 系统总体结构与工作原理 21.1 系统总体方案选择与说明 21.1.1 通道转换方案设计 21.1.2 显示部分方案设计 21.2系统总体方案总结 31.3 系统结构框图 31.4 工作原理 4第2章 硬件设计及计算方法 42.1 单片机的选择及时钟电路 42.2 LED显示器件选择 52.3 A/D转换模块及转化电路设计 62.3.1 ADC0808简介 72.3.274HC4066简介 7 2.3.3 A/D转换以及量程选择电路 8第3章 软件设计与说明 93.1 数字电压表系统软件设计方案确定 9第4章 总结 12参考文献 13附录1 系统原理图

2、14附录2 系统源程序 15绪论传统的模拟式(即指针式)电压表已有100多年的发展史,虽然不断改进与完善,仍无法满足现代电子测量的需要,数字电压表自1952年问世以来,显示强大的生命力,现已成为在电子测量领域中应用最广泛的一种仪表。数字电压表简称DVM(Digital Voltmeter),它是采用数字化测量技术,把连续的模拟量(直流输入电压)转换成不连续、离散的数字形式并加以显示的仪表。智能化数字电压表则是最大规模集成电路(LSI)、数显技术、计算机技术、自动测试技术(ATE)的结晶。一台典型的直流数字电压表主要由输入电路、A/D转换器、控制逻辑电路、计数器(或寄存器)、显示器,以及电源电路

3、等级部分组成。本设计采用了以单片机为开发平台,控制系采用AT89C52单片机,A/D转换采用ADC0808。系统除能确保实现要求的功能外,还可以方便进行8路其它A/D转换量的测量、远程测量结果传送等扩展功能。简易数字电压测量电路由A/D转换、数据处理、显示控制等组成。关键词: 单片机 AT89C52 A/D转换 ADC0808 74HC4066 数据处理第1章 系统总体结构与工作原理1.1 系统总体方案选择与说明 实现数字电压表的方案很多,目前广泛采用的时基于74系列逻辑器件,本设计将介绍基于单片机实现的方案。方案设计此设计包含两个模块,通道转换和显示部分方案。1.1.1 通道转换方案设计 方

4、案一:考虑到ADC0808的8路模拟量输入本质上也是模拟开关,因此可以利用其8个模拟通道中的IN0与IN1个作为通道转换器,即根据通道对应的电压测量范围确定对应的电压方法倍数设计对应的放大电路。用ADC0808对74HC4066进行控制,能实现量程的自动切换。 方案二:利用手动开关实现通道转换。该方案可简化控制程序,消减系统开销。缩短反应时间,不足之处在于操作麻烦。 综上所述:方案一操作方便更加满足实际需求,故选择方案一。1.1.2 显示部分方案设计 方案一:单片机的P0口接74HC573芯片来驱动四位数码管 方案二:直接用单片机的P10-P1.7口驱动数码管。 综上所述,两个方案都可行,但方

5、案二所需方便快捷,则选择此方案。1.2系统总体方案总结根据数字电压表的功能实现要求,选用AT89C51单片机作控制系统 ,低电压经放大器选用OPA820实现放大10倍、高电压经大电阻分压从而控制输入ADC0808的信号在0到5V左右实现AD转换经AT89C51送入LED显示。其精度和显示可以精确控制,且电路相对简单成本低,稳定性较高,故采用此设计。1.3 系统结构框图根据项目要求,确定该系统的设计方案,图1-3-1为该系统设计方案的结构框图。硬件电路由6各部分组成,即单片机、时钟电路、复位电路、LED显示电路、A/D装唤器和测量电压输入电路。 单片机 电源 LEDAD转换复位电路电压转化 输入

6、 图1-3-1 系统结构框图1.4 工作原理对待测模拟电压值按不同的范围,分为500mv、10v两个档位,分别为档位1与档位2。对于高于500mv的档位,采用高电阻分压电路,其比例为1/2等比例转换为05V的电压值,对于500mv档位,等比例放大10倍左右,再将电压送入AD进行转换,再将处理的信号送入单片机进行处理并显示。同时单片机对74HC4066进行控制,实现自动切换量程。当电压超过500mv时,p3.2输出低电平,关闭档位1电路中的开关74HC4066,档位2的电路工作,如此实现自动切换量程。 在本系统设计中采用AT89C51单片机的端口P1.0 P 1.7作为 4位 LED数码管的显示

7、控制。P 3.2与P 3.3 作为档位控制端口。P0作为AD输入端口,P2作为AD转换控制端口。AT89C51单片机的晶体振荡器振荡频率为11.0592MHz 。4位LED数码管的采用动态显示方式显示。第2章 硬件设计及计算方法 根据设计要求与思路,确定该系统的设计方案。硬件电路由5个部分组成,即单片机时钟电路、复位电路、4位显示器电路、A/D转换电路,电压转换电路。2.1 单片机的选择及时钟电路根据初步设计方案的分析,设计这样一个简单的应用系统,可以选择带有EPROM的单片机,应用程序直接存储在片内,不用在外部扩展程序存储器,电路可以简化。此电路选择Atmel公司生产的AT89C51。AT8

8、9系列与MCS-51系列单片机相比有两大优势:第一,片内程序存储器采用闪速存储器,使程序的写入更加方便;第二,提供了更小尺寸的芯片,使整个电路体积更小。它以较小的体积、良好的性价比倍受青睐。单片机工作的时间基准是由时钟电路提供的。在单片机的XTAL1和XTAL2两个管脚,接一只晶振及两只电容就构成了单片机的时钟电路,如图2-1-1所示。图2-1-1 单片机的时钟电路电路中,电容C1和C2对震荡电路有微调的作用,通常的取值范围位(30+10)pF。石英晶体选择6MHz或12MHz都可以,其结果只是机器周期时间不同,影响计数器的计数初值,此设计取12MHz。本设计使用的是CLOCK时钟脉冲触发。2

9、.2 LED显示器件选择单片机应用系统中,通常都需要进行人机对话。这包括人对应用系统的状态干预与数据输入,以及应用系统向人们显示运行状态与运行结果。显示器、键盘电路就是用来完成人机对话活动的人机通道。 图2-2-1 LED显示管脚LED显示器的驱动是一个非常重要的问题,由图2-2-1可知,显示电路由LED显示器、段驱动电路和位驱动电路组成。用AT89C52单片机的端口P1.0 P 1.7作为4位LED数码管的显示控制。2.3 A/D转换模块及转化电路设计 A/D转换器的功能是将模拟量转换为与其大小成正比的数字量信号。能实现这种转换的原理和方法很多,此设计采用ADC0808转换器。ADC0808

10、是属于连续渐进式的A/D转换器,这类型的A/D转换器除了转换速度快(几十至几百us)、分辨率高外,还有价钱便宜的优点,普遍被应用于微电脑的接口设计上。2.3.1 ADC0808简介ADC0808的管脚图如图2-3-1所示 图2-3-1 ADC0808管脚图15和2628(IN0IN7):8路模拟量输入端。 8、14、15和1721:8位数字量输出端。 22(ALE):地址锁存允许信号,输入,高电平有效。 6(START): A/D转换启动脉冲输入端,输入一个正脉冲(至少100ns宽)使其启动(脉冲上升沿使0809复位,下降沿启动A/D转换)。 7(EOC): A/D转换结束信号,输出,当A/D

11、转换结束时,此端输出一个高电平(转换期间一直为低电平)。 9(OE):数据输出允许信号,输入,高电平有效。当A/D转换结束时,此端输入一个高电平,才能打开输出三态门,输出数字量。 10(CLK):时钟脉冲输入端。要求时钟频率不高于640KHZ。 12(VREF(+)和16(VREF(-):参考电压输入端 主电源输入端。 2325(ADDA、ADDB、ADDC):3位地址输入线,用于选通8路模拟输入中的一路。2.3.2 74HC4066 概述 74HC4066是一款高速CMOS器件,74HC4066引脚兼容HEF4066B。74HC4066遵循JEDEC标准no.7A。74HC4066包含4个独

12、立的模拟开关。每个开关包含2个输入/输出引脚(nY或nZ)和1个高有效使能输入引脚(nE)。当引脚nE为低时,其对应的开关将被关断。74HC4066引脚兼容74HC4016,但具备更低的导通阻抗。此外,导通阻抗在整个输入信号范围内保持恒定。2.3.3 A/D转换以及量程选择电路 集成摸数转换芯片ADC0808实现的A/D转换电路被测信号由ADC0808模拟输入端输入,完成A/D转换后送入单片机,经相应处理后送出显示。系统硬件电路设计,对待测模拟电压值按不同的范围,分为500mV,10V两个档位,对于高于500mV的档位,采用高电阻分压电路,等比例转换为05V的电压值,对于500mV档位,等比例

13、放大10倍左右,再将电压送入AD进行转换,再将处理的信号送入单片机进行处理并显示,单片机的P3.2与P3.3口分别对74HC4066进行控制,实现对量程的切换。量程选择方式:自动。具体电路图2-3-2 如下。图2-3-2 A/D转换以及量程选择电路第3章 软件设计与说明进行应用软件设计时可以采用模块化结构设计,其优点是:每个模块的程序结构简单,任务明确,易于编写、调试和修改;程序可读性好,对程序的修改可局部进行,其他部分可以保持不 变,易于功能扩充和版本升级;易于使用频繁的子程序可以建立子程序,便于多个模块调用;便于分工合作,多个程序员同时进行程序的编写和调试工作,加快软件研制进度。3.1 数

14、字电压表系统软件设计方案确定(1)根据设计要求,根据系统所要完成的功能,设计如图3-1-1所示的功能模块。 图3-1-1 数字电压表软件设计的模块(2)程序的设计主程序的设计 主程序的内容一般包括:主程序的起始地址、中断服务额程序的起始地址、有关内存单元及相关部件的初始化和一些子程序调用等。根据设计要求,设计出如图3-1-2所示的主程序流程图。 图3-1-2 主程序流程图 A/D转换子程序的设计 A/D转换程序的功能是采集数据,再整个系统设计中占有很高的地位。程序流程图如图3-1-3所示。图3-1-3 A/D转换子程序流程图数码转换及显示子程序的设计 由于人们日常习惯使用十进制数,而计算机的键

15、盘输入、输出以及显示常采用二进制编码的十进制数(即BCD码)或ASCII码。因此,在程序设计中经常要进行数码转换。 5.2所用芯片及参数 表5-2-1 所用芯片及参数序号名称元件编号参数数量1单片机AT89C5212差动放大器OPA82013开关74HC4066247段数码管7SEG-MPX2-CC45电容CAP30pF26晶振 CRYSTAL12Mhz17电阻RES1k18电阻RES2k19电阻RES20k310电阻RES4.7k111电阻RES180k112电解电容CAP-ELEC22F113模数转换芯片ADC80881第4章 总结这一次的课程设计,我觉得是十分有意义的,我不仅学到了不少东

16、西,同时在与同组同学合作中建立了深厚的友谊。 此次我做的是数字电压表这个基础的设计,虽然该设计十分简单,但是上课所学的很多知识都能应用在这个电压表设计中。确定课设内容后,我查找大量相关材料,然后知识汇总,把有关课题的内容经过对比与分析,最后来完成课程设计。电压测量在很多参考书上都有介绍,但运用到软件中时,出现各种不同的错误,在参考别人的程序时,在老师的指导下,根据书本上所讲的有关知识点加以改进,编了一个新的程序,来实现功能。编程我运用的是C语言来说,C语言在很多领域的功能都很强大使用C语言,感觉比较简洁清晰,函数关系较为清晰,并可以减少程序的冗长。通过这次课程设计我也发现了自身存在的不足之处,

17、虽然感觉理论上已经掌握,但在运用到实践的过程中仍有意想不到的困惑,经过一番努力才得以解决。这也激发了我今后努力学习的兴趣,我想这将对我以后的学习产生积极的影响。一周的设计完满结束了,经过自己的努力和同学的帮忙终于有了成果,特别离不开指导老师南老师与叶老师悉心教导,相信他们的工作作风和知识筑成都是我们学习榜样,给我很大的启迪。感谢这些老师不畏辛劳,热心精心的指导。在这里向他们说声谢谢,你辛苦了。参考文献1 彭为等.单片机典型系统设计实例精讲M.北京:电子工业出版社,20062 张毅刚等。单片机原理与应用设计M.北京:电子工业出版社, 3 王迎旭.单片机原理与应用.北京:机械工业出版社,2004.

18、74 周向红.51系列单片机应用与实践教程.北京:北京航空航天大学出版社,2008.55 刘国荣.单片机微型计算机技术.北京:机械工业出版社,1996附录1 系统原理图附录2 系统源程序#include#includesbit adcs=P20;sbit adrd=P21;sbit adwr=P22;sbit duanla=P26;sbit weila=P27;sbit v1=P30;sbit v2=P31;sbit v3=P32;sbit v4=P33;unsigned long int adval;unsigned char qian,bai,shi,ge,a;/段低电平有效,位高电平有效

19、unsigned char table=0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90, /不带小数点 0x40,0x79,0x24,0x30,0x19,0x12,0x02,0x78,0x00,0x10, ;/带小数点编码void delay(unsigned int z) /延时函数 unsigned char x,y; for(x=z;x0;x-); for(y=110;y0;y-);main() for(;) adcs=0; adwr=1; _nop_(); adwr=0; _nop_(); adwr=1; for(a=10;a0;a-

20、) P1=0xff; adrd=1; _nop_(); adrd=0; _nop_(); adval=P1; adrd=1; if(v1=0) /2v档位 adval=500*adval/256; qian=adval/1000; bai=adval/100%10; shi=adval%100/10; ge=adval%10; weila=1; P0=0x01; weila=0; P0=0xff; duanla=1; P0=0xff; duanla=0; delay(65535);delay(65535); weila=1; P0=0x02; weila=0; P0=0xff; duanla=

21、1; P0=tablebai+10; duanla=0; delay(65535);delay(65535); weila=1; P0=0x04; weila=0; P0=0xff; duanla=1; P0=tableshi; duanla=0; delay(65535);delay(65535); weila=1; P0=0x08; weila=0; P0=0xff; duanla=1; P0=tablege; duanla=0; delay(65535);delay(65535); else if(v2=0) /20v档位 adval=500*adval/256; qian=adval/

22、1000; bai=adval/100%10; shi=adval%100/10; ge=adval%10; weila=1; P0=0x02; weila=0; P0=0xff; duanla=1; P0=tablebai; duanla=0; delay(65535);delay(65535); weila=1; P0=0x04; weila=0; P0=0xff; duanla=1; P0=tableshi+10; duanla=0; delay(65535);delay(65535); weila=1; P0=0x08; weila=0; P0=0xff; duanla=1; P0=t

23、ablege; duanla=0; delay(65535);delay(65535); else if(v3=0) /200v档位 adval=500*adval/256; qian=adval/1000; bai=adval/100%10; shi=adval%100/10; ge=adval%10; weila=1; P0=0x02; weila=0; P0=0xff; duanla=1; P0=tablebai; duanla=0; delay(65535);delay(65535); weila=1; P0=0x04; weila=0; P0=0xff; duanla=1; P0=t

24、ableshi; duanla=0; delay(65535);delay(65535); weila=1; P0=0x08; weila=0; P0=0xff; duanla=1; P0=tablege; duanla=0; delay(65535);delay(65535); else if(v4=0) /200mv档位 adval=500*adval/256; qian=adval/1000; bai=adval/100%10; shi=adval%100/10; ge=adval%10; weila=1; P0=0x02; weila=0; P0=0xff; duanla=1; P0=

25、tablebai; duanla=0; delay(65535);delay(65535); weila=1; P0=0x04; weila=0; P0=0xff; duanla=1; P0=tableshi; duanla=0; delay(65535);delay(65535); weila=1; P0=0x08; weila=0; P0=0xff; duanla=1; P0=tablege; duanla=0; delay(65535);delay(65535); else /空档显示 weila=1; P0=0x02; weila=0; P0=0xff; duanla=1; P0=table0; duanla=0; delay(65535);delay(65535); weila=1; P0=0x04; weila=0; P0=0xff; duanla=1; P0=table0; duanla=0; delay(65535);delay(65535); weila=1; P0=0x08; weila=0; P0=0xff; duanla=1; P0=table0; duanla=0; delay(65535);delay(65535);

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1