基于STC15单片机数字电压表_第1页
基于STC15单片机数字电压表_第2页
基于STC15单片机数字电压表_第3页
基于STC15单片机数字电压表_第4页
基于STC15单片机数字电压表_第5页
已阅读5页,还剩7页未读 继续免费阅读

下载本文档

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

文档简介

1、精选优质文档-倾情为你奉上精选优质文档-倾情为你奉上专心-专注-专业专心-专注-专业精选优质文档-倾情为你奉上专心-专注-专业信息与电气工程学院单片机课程设计报告 题 目: 数字电压表 专 业: 班 级: 姓 名: 学 号: 指导教师: 单片机原理与应用课程设计评阅书题目数字电压表设计姓名专业班级学号指导教师评语:成绩评定为: 指导教师(签字): 年 月 日信息与电气工程学院课程设计任务书2014-2015学年第 2学期专业: 学号: 姓名: 课程设计名称: 单片机原理与应用课程设计 设计题目: 数字电压表 完成期限:自 2015 年 6 月 9 日至 2015 年 6 月 19 日共 2 周

2、设计依据、要求及主要内容(可另加附页):数字电压表设计用STC15F2K60S2单片机和ADC0809构成数字电压表,测量0-5v的电压,将所测电压用4位数码管动态显示出来。设计要求 数字电压表设计原理 利用A/D转换电路将待测的模拟信号转换成数字信号,通过相应换算后讲测试结果以数字形式显示出来。在高精度数字电压表中,常采用由积分式和比较式相结合起来的复合式A/D转换器。本设计以AT89C51单片机为核心,以逐次比较型A/D转换器ADC0808、LED四位数码管为主体功能:简易数字电压表可以测量05V范围内的电压输入值,并在4位LED数码管上轮流显示。 主要器件:单片机、AD转换器、LED数码

3、显示器指导教师(签字): 批准日期: 年 月 日 摘要: 本文介绍的是数字电压表的发展背景和利用AVR单片机的A/D转换功能设计一个直流数字电压表。它的具体功能是:最高量程为5V;可以通过按键设定极限电压值,并将极限电压值保存在EEPROM数据存储器,具有断电保护功能;可以显示当前电压值和极限设定值;具有预报警示功能,当被测电压值大于设定值时,指示灯亮。 关键字: ATmega16,数字电压表,A/D,EEPROM数据存储器关键词:STC15F2K60S2单片机 数字电压表 LED数码管 keil C51 stc-isp1课程设计目的通过单片微机原理与接口技术这门课的课程设计,学生应该能对ST

4、C15单片机有一个全面的认识,掌握以STC15单片机为核心的电子电路设计方法和应用技术。进一步掌握8位数码管显示电路的编程方法。进一步掌握定时器的使用方法和编程。进一步掌握中断处理程序的编程方法。2 数字电压表简介: 数字电压表出现在50年代初,60年代末发起来的电压测量仪表,简称DVM。它采用的是数字化测量技术,把连续的模拟量,也就是连续的电压值转变为不连续的数字量,加以数字处理然后再通过显示器件显示。这种电子测量的仪表之所以出现,一方面是由于电子计算机的应用逐渐推广到系统的自动控制信实验研究的领域,提出了将各种被观察量或被控制量转换成数码的要求,即为了实时控制及数据处理的需要;另一方面,也

5、是电子计算机的发展,带动了脉冲数字电路技术的进步,为数字化仪表的出现提供了条件。所以,数字化测理仪表的产生与发展与电子计算机的发展是密切相关的;同时,为革新电子测量中的烦锁和陈旧方式也催促了它的飞速发展,如今,它又成为向智能化仪表发展的必要桥梁。 如今,数字电压表已绝大部分取代了传统的模拟指针式电压表。因为传统的模拟 指针式电压表功能单一、精度低,读数的时候也非常不方便,很容易出错。而采用单片机的数字电压表由于测量精度高、速度快,读数时也非常方便,抗干扰能力强,可扩展性强等优点已被广泛的应用于电子及电工的测量、工业自动化仪表、自动测试系统等智能化测量领域,显示出强大的生命力。 数字电压表最初是

6、伺服步进电子管比较式,其优点是准确度比较高,但是采样速 度慢,重量达几十公斤,体积大。继之出现了斜波式电压表,它的速度方面稍有提高,但是准确度低,稳定性差,再后来出现了比较式仪表改进逐次渐近式结构,它不仅保持了比较式准确度高的优点,而且速度也有了很大的提高,但它有一缺点是抗干扰能力差,很容易受到外界各种因素的影响。随后,在斜波式的基础上双引伸出阶梯波式,它的唯一的进步是成本降低了,可是准确宽,速以及抗干扰能力都未能提高。而现在,数字电压表的发展已经是非常的成熟,就原理来讲,它从原来的一,二种已发展到多种,在功能上讲,则从测单一参数发展到能测多种参数;从制作元件来看,发展到了集成电路,准确度已经

7、有了很大的提高,精度高达1NV;读数每秒几万次,而相对以前,它的价格也有了降低了很多。 目前实现电压数字化测量的方法仍然模-数(A/D)转换的方法,而数字电压表种类繁多,型号新异,目前国际仍未有统一的分类方法。而常用的分类方法有如下几种: 按用途来分:有直流数字电压表,交、直流数字电压表,交直流万用表等。3数字电压表设计方案选择: 数字电压表有多种的设计方法,方案是多种多样的,由于大规模集成电路数字芯片的高速发展,各种数字芯片品种多样,导致对模拟数据的采集部分的不一致性,进而又使对数据的处理及显示的方式的多样性。又由于在现实的工作生活中,电压表的测量测程范围是比较大的,所以必须要对输入电压作分

8、压处理,而各个数据处理芯片的处理电压范围不同,则各种方案的分段也不同。由此结合设计要求选择由单片机系统及数字芯片构建。 这种方案是利用单片机系统与与其模数转换功能、显示模块等的结合构建数字电压表。由于单片机的发展已经成熟,利用单片机系统的软硬件结合,可以组装出许多的应用电路来。此方案的原理选用单片机的外部参考电压AREF为模数(A/D)转换功能的基准电压端,被测量电压输入端分别输入基准电压和被测电压。模数(A/D)转换功能将被测量电压输入端所采集到的模拟电压信号转换成相应的数字信号,然后通过对单片机系统进行软件编程,使单片机系统能按规定的时序来采集这些数字信号,通过一定的算法计算出被测量电压的

9、值。最后单片机系统将计算好了的被测电压值按一定的时序送入显示电路模块加以显示。 4单片机的选择 在这一设计中,我们涉及到了一个关键系统模块单片机系统模块,而目前单片机的种类是很繁多的,主要有主流的8位单片机和高性能的32位单片机,结合本 设计各方面因素,8位单片机对于本设计已经是绰绰有余了,但将用哪一种类8的单 片机呢。在这里,不得不先简单的介绍一下几种常用的8单片机。单片机是指一个集成在一块芯片上的完整计算机系统,具有一个完整计算机所需要的大部分部件:CPU,内存,总线系统等。而目前常用的单片机的8位有51系列单片机,AVR单片机,PIC单片机。 本设计中选用ATmegaAVR系列的ATme

10、ga16,它是低电压、低功耗的8位单片机,片内含16KB的在线可编程Flash程序存储器、512字节片内在线可编程EEPROM数据存储器,32个I/O口线,1个16位定时/计数器,2个8位定时/计数器,片内振荡器及时钟电路。在设计中,单片机起着连接硬件电路与程序运行及存储数据的任务,一方面,它将其A/D转换功能、显示模块和按键模块等通过I/O口地址线和数据线连接起来;另一方面,它将用户下载的程序通过控制总线控制数据的输入输出,从而实现册电压的功能。 5显示器件的选择 本次设计中有显示模块,设计要求显示最后电压的数字值,采用的是四位七段数码管。 数码管是一类显示屏,它的特点是显示清晰、使用简单、

11、价格相对便宜,特别是在家电领域应用极为广泛。其工作原理是通过对其不同的管脚输入相对的电流 会使其发亮 从而显示出 数字能够显示时间、日期、温度等所有可用数字表示的参数。 数码管按段数分为七段数码管和八段数码管,八段数码管比七段数码管多一个发光二极管单元(多一个小数点显示);按能显示多少个“8”可分为1位、2位、4位等等数码管;按发光二极管单元连接方式分为共阳极数码管和共阴极数码管。共阳数码管是指将所有发光二极管的阳极接到一起形成公共阳极(COM)的数码管。共阳数码管在应用时应将公共极COM接到+5V,当某一字段发光二极管的阴极为低电平时,相应字段就点亮。当某一字段的阴极为高电平时,相应字段就不

12、亮。共阴数码管是指将所有发光二极管的阴极接到一起形成公共阴极(COM)的数码管。共阴数码管在应用时应将公共极COM接到地线GND上, 某一字段发光二极管的阳极为高电平时,相应字段就点亮。当某一字段的阳极为低电平时,相应字段就不亮。 数码管要正常显示,就要用驱动电路来驱动数码管的各个段码,从而显示出我们要的数字,因此根据数码管的驱动方式的不同,可以分为静态式和动态式两类。静态显示驱动:静态驱动也称直流驱动。静态驱动是指每个数码管的每一个段码都由一个单片机的I/O端口进行驱动,或者使用如BCD码二-十进制译码器译码进行驱动。静态驱动的优点是编程简单,显示亮度高,缺点是占用I/O端口多,如驱动5个数

13、码管静态显示则需要5840根I/O端口来驱动,要知道一个89S51单片机可用的I/O端口才32个呢:),实际应用时必须增加译码驱动器进行驱动,增加了硬件电路的复杂性。 动态显示驱动:数码管动态显示接口是单片机中应用最为广泛的一种显示方式之一,动态驱动是将所有数码管的8个显示笔划a,b,c,d,e,f,g,dp的同名端连在一起,另外为每个数码管的公共极COM增加位选通控制电路,位选通由各自独立的I/O线控制,当单片机输出字形码时,所有数码管都接收到相同的字形码,但究竟是那个数码管会显示出字形,取决于单片机对位选通COM端电路的控制,所以我们只要将需要显示的数码管的选通控制打开,该位就显示出字形,

14、没有选通的数码管就不会亮。通过分时轮流控制各个数码管的的COM端,就使各个数码管轮流受控显示,这就是动态驱动。在轮流显示过程中,每位数码管的点亮时间为12ms,由于人的视觉暂留现象及发光二极管的余辉效应,尽管实际上各位数码管并非同时点亮,但只要扫描的速度足够快,给人的印象就是一组稳定的显示数据,不会有闪烁感,动态显示的效果和静态显示是一样的,能够节省大量的I/O端口,而且功耗更低。6 数字电压表电路图及原理: 数字电压表设计原理:利用A/D转换电路将待测的模拟信号转换成数字信号,通过相应换算后讲测试结果以数字形式显示出来。在高精度数字电压表中,常采用由积分式和比较式相结合起来的复合式A/D转换

15、器。本设计以AT89C51单片机为核心,以逐次比较型A/D转换器ADC0808、LED四位数码管为主体 简易的数字电压表设计。该设计主要有三个模块组成:A/D转换模块,数据处理模块及显示模块。A/D转换主要由芯片ADC0808来完成,它负责把采集到的模拟量转换为相应的数字量在传送到数据处理模块。数据处理模块则由芯片AT89C51来完成,其负责把ADC0808传送来的数字量经过一定的数据处理。产生相应的显示码送到显示模块进行显示了;此外,它还控制着ADC0808芯片工作。 该系统的数字电压表电路简单,所用的元件少,成本低,且测量精度和可靠性较高。此数字电压表可以测量0-5V的1路直流输入电压值,

16、并通过一个四位一体的七位数码管显示出来。 7 数字电压表程序:#define MAIN_Fosc L#include STC15Fxxxx.H#define Timer0_Reload (65536UL-(MAIN_Fosc/1000) #defineDIS_DOT 0 x20#defineDIS_BLACK 0 x10#defineDIS_ 0 x118codet_display= / 0123456789ABCDEF0 x3F,0 x06,0 x5B,0 x4F,0 x66,0 x6D,0 x7D,0 x07,0 x7F,0 x6F,0 x77,0 x7C,0 x39,0 x5E,0 x7

17、9,0 x71,/black -HJ K L N oP UtGQrMy0 x00,0 x40,0 x76,0 x1E,0 x70,0 x38,0 x37,0 x5C,0 x73,0 x3E,0 x78,0 x3d,0 x67,0 x50,0 x37,0 x6e,0 xBF,0 x86,0 xDB,0 xCF,0 xE6,0 xED,0 xFD,0 x87,0 xFF,0 xEF,0 x46; /0.1.2.3.4.5.6.7.8.9.-1u8codeT_COM=0 x01,0 x02,0 x04,0 x08,0 x10,0 x20,0 x40,0 x80; sbit P_HC595_SER=P

18、40; sbit P_HC595_RCLK=P54; sbit P_HC595_SRCLK=P43; u8 LED88; u8 display_index;bit B_1ms; u8 cnt10ms;u16 Get_ADC10bitResult(u8channel); /annel=07void DisplayAD(u16ADshu);/*/voidmain(void)u8 i;/u16 j;P0M1=0; P0M0=0; P1M1=0; P1M0=0; P2M1=0; P2M0=0; P3M1=0; P3M0=0; P4M1=0; P4M0=0; P5M1=0; P5M0=0; P6M1=0

19、; P6M0=0; P7M1=0; P7M0=0; display_index=0;P1ASF=0 x10; ADC_CONTR=0 xE0; AUXR=0 x80; TH0=(u8)(Timer0_Reload/256);TL0=(u8)(Timer0_Reload%256);ET0=1; TR0=1;EA=1; for(i=0;i=10) cnt10ms=0;DisplayAD(Get_ADC10bitResult(4); /*/void DisplayAD(u16ADshu)doublea=ADshu;a=a*4.8/1024;a=a*10;ADshu=(u8)a;LED84=ADshu

20、/1000;LED85=ADshu/100%10;LED86=ADshu/10%10;LED87=ADshu%10;LED86+=DIS_DOT;LED80=1;LED81=2;LED82=3;LED83=4;/*/u16 Get_ADC10bitResult(u8channel) /annel=07ADC_RES=0;ADC_RESL=0;ADC_CONTR=(ADC_CONTR&0 xe0)|0 x08|channel; NOP(4);while(ADC_CONTR&0 x10)=0) ;ADC_CONTR&=0 x10; return (u16)ADC_RES2)|(ADC_RESL&3);/*HC595*/voidSend_595(u8dat) u8 i;for(i=0;i8;i+)dat=8) display_index=0; /*Timer01

温馨提示

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

最新文档

评论

0/150

提交评论