基于STC12C5A60S2单片机数字电压表的设计

上传人:ji****72 文档编号:28605828 上传时间:2018-01-18 格式:DOC 页数:26 大小:1.47MB
返回 下载 相关 举报
基于STC12C5A60S2单片机数字电压表的设计_第1页
第1页 / 共26页
基于STC12C5A60S2单片机数字电压表的设计_第2页
第2页 / 共26页
基于STC12C5A60S2单片机数字电压表的设计_第3页
第3页 / 共26页
基于STC12C5A60S2单片机数字电压表的设计_第4页
第4页 / 共26页
基于STC12C5A60S2单片机数字电压表的设计_第5页
第5页 / 共26页
点击查看更多>>
资源描述

《基于STC12C5A60S2单片机数字电压表的设计》由会员分享,可在线阅读,更多相关《基于STC12C5A60S2单片机数字电压表的设计(26页珍藏版)》请在金锄头文库上搜索。

1、基于 STC12C5A60S2 单片机数字电压表的设计专业班级:电子信息工程二班学号:xxx姓名:xxx指导教师:xxx基于 STC12C5A60S2 单片机数字电压表的设计实训目的:1、对安全用电知识的基本了解 1) 了解一般情况下对人体的安全电流和电压,了解触电事故的发生原因及安全用电的原则。2) 掌握用电安全操作技术。3) 培养严谨的科学作风和良好的工作作风。2、常用工具的基本使用1) 了解常用电工电子工具的用途、规格;2) 掌握常用电工电子工具的使用方法和注意事项。3 、数字电压表的组装1) 了解电路的原理,掌握数字电压表的作用。2) 注意安全,先接线,在通电。4、一般室内电气线路的安

2、装1) 了解室内电路的原理,掌握各个元件的作用。2) 注意电器间的连接,注意安全。3) 增强动手、合作能力。5、常用电子仪器的使用1) 了解直流稳压电源、万用表、信号发生器、示波器等常用电子仪器的功能。2) 掌握直流稳压电源、万用表、信号发生器、示波器的基本操作方法,为后续实习打下基础。 6、常用电子元器件的认识和检测1) 通过实物认识各种常用的电子元器件。2) 掌握常用电子元器件参数的识读方法。3) 掌握使用万用表测量常用电子元器件参数的方法。4) 通过简单的实验,了解常用电子元器件的功能。7、常用工具的使用(二)1) 了解常用电工电子工具的用途、规格;2) 掌握常用电工电子工具的使用方法和

3、注意事项。8、焊接工艺焊接训练1) 掌握焊接工艺的方法,了解焊接工具的原理。2) 安全用电和注意事项9、电子整机产品装配(数字电压表的制作)1) 掌握数字电压表的电路原理、元件的作用。2) 学会检测各个元件的好坏、3) 独立动手能力10、印制电路板(PCB)的制作1) 了解印制电路板的功能和种类。2) 了解 PCB 板的快速制作方法。3) 简单了解专业电路板厂 PCB 板制作的流程和工艺。11、电路组装及调试1) 了解热转印法制作 PCB 板的工艺流程;2) 掌握使用热转印法来制作 PCB 板的技能。实训时间、地点:第十七周,第十八周工程训练中心实训内容: 第 1 章 引言在电量的测量中,电压

4、、电流和频率是最基本的三个被测量,其中电压量的测量最为经常。而且随着电子技术的发展,更是经常需要测量高精度的电压,所以数字电压表就成为一种必不可少的测量仪器。数字电压表简称 DVM,它是采用数字化测量技术,把连续的模拟量转换成不连续、离散的数字形式并加以显示的仪表。由于数字式仪器具有读数准确方便、精度高、误差小、测量速度快等特而得到广泛应用。 传统的指针式刻度电压表功能单一,精度低,容易引起视差和视觉疲劳,因而不能满足数字化时代的需要。采用单片机的数字电压表,将连续的模拟量如直流电压转换成不连续的离散的数字形式并加以显示,从而精度高、抗干扰能力强,可扩展性强、集成方便,还可与 PC 实时通信。

5、数字电压表是诸多数字化仪表的核心与基础。以数字电压表为核心,可以扩展成各种通用数字仪表、专用数字仪表及各种非电量的数字化仪表。目前,由各种单片机和 A/D 转换器构成的数字电压表作全面深入的了解是很有必要的。目前,数字电压表的内部核心部件是 A/D 转换器,转换的精度很大程度上影响着数字电压表的准确度,因而,以后数字电压表的发展就着眼在高精度和低成本这两个方面。本文是以简易数字直流电压表的设计为研究内容,本系统主要包括三大模块:转换模块、数据处理模块及显示模块。第 2 章 系统总体方案设计选择与说明2.1 设计要求1、增强型 MCS-51 系列单片机 STC12C5A60S2 为核心器件,组成

6、一个简单的直流数字电压表。2、采用 1 路模拟量输入,能够测量 0-10V 之间的直流电压值。3、电压显示采用数码管显示。 4、尽量使用较少的元器件。2.2 设计思路1、根据设计要求,选择 STC12C5A60S2 单片机为核心控制器件。2、A/D 转换采用 STC12C5A60S2 内部自带 A/D 实现。3、电压显示采用共阳数码管。2.3 设计方案硬件电路设计由 7 个部分组成:STC12C5A60S2 单片机系统,数码管显示系统、时钟电路、复位电路档位调节电路以及测量电压输入电路。硬件电路设计框图如图 1 所示。 时钟电路 测量电压输入入数码管显示STC12C5A60S2 P1 P0P2

7、 P2P0复位电路 图 2.1 数字电压表系统硬件设计框图第 3 章 硬件电路设计3.1 STC12C5A60S2 单片机3.1.1 STC12C5A60S2 单片机图 3.1.1 STC12C5A60S2 单片机引脚图及实物图3.1.2 STC12C5A60S2系列单片机主要性能1)高速:1个时钟/机器周期,增强型8051内核,速度比普通8051快612倍。2)宽电压:5.53.3V,2.23.6V(STC12LE5A60S2系列)。3)增加第二复位功能脚/P4.6(高可靠复位,可调整复位门槛电压,频率/ 包含 51 单片机寄存器定义的头文件#include#define uint unsi

8、gned int#define uchar unsigned charuchar value,bai,shi,ge;uint value0;uchar code Tab=0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90,0x88,0x83,0xc6,0xa1,0x86,0x8e,0x7f; void delay(void) unsigned char i;for(i=0;i#include intrins.h#include adc.h#define FOSC 18432000L#define BAUD 9600#define WORD uns

9、igned int#define BYTE unsigned charunsigned int ss;#define URMD 3 sfr T2H = 0xd6; /定时器 2 高 8 位sfr T2L = 0xd7; /定时器 2 低 8 位sfr ADC_LOW2 = 0xBE; /ADC 低 2 位结果#define ADC_POWER 0x80 /ADC 电源控制位#define ADC_FLAG 0x10 /ADC 完成标志#define ADC_START 0x08 /ADC 起始控制位#define ADC_SPEEDLL 0x00 /540 个时钟#define ADC_SPE

10、EDL 0x20 /360 个时钟#define ADC_SPEEDH 0x40 /180 个时钟#define ADC_SPEEDHH 0x60 /90 个时钟BYTE idata disadch2; /通道号BYTE idata disadcval5; /adc 电压值/*-发送 ADC 结果到 PC-*/void ShowResult(BYTE ch)float value;change_long_data_to_array(disadch,2,ch);value=GetADCResult(ch);value=value/255*4.8;change_data_to_array(disa

11、dcval,5,1,value);/*-读取 ADC 结果-*/BYTE GetADCResult(BYTE ch)ADC_CONTR = ADC_POWER | ADC_SPEEDLL | ch | ADC_START;_nop_(); /等待 4 个 NOP_nop_();_nop_();_nop_();_nop_(); /等待 4 个 NOP_nop_();_nop_();_nop_();_nop_(); /等待 4 个 NOP_nop_();_nop_();_nop_();while (!(ADC_CONTR /等待 ADC 转换完成ADC_CONTR /返回 ADC 结果/*-初始化

12、 ADC-*/void InitADC(void)P1ASF = 0x58; /设置 P1 口为 AD 口 0100 0111 0101 1000ADC_RES = 0; /清除结果寄存器ADC_CONTR = ADC_POWER | ADC_SPEEDLL;Delay(50); /ADC 上电并延时/*-软件延时-*/void Delay(WORD n)WORD x;while (n-)x = 5000;while (x-);int mi(uchar dat, uchar mi)uchar i;int sum = 1;for(i=0; i= 0)if(i != point_position)

13、arrayi = (temp%10)|0x30;temp = temp / 10;elsearrayi = .;i-;/将长整形转化为字符串 用作显示频率void change_long_data_to_array(unsigned char *array, unsigned char length,long dat)char i = length-1;arraylength-1 = 0;while(i = 0)arrayi = (dat%10)|0x30;dat = dat / 10;i-;void delay1ms(uint ms)while(ms-)uchar i;for(i=0;iby

14、s) displychar(4,i,);实训总结:通过俩个星期的学习,我觉得自己在以下几个方面与有收获:首先对电子元件有了初步的了解。我们了解到了焊普通元件与电路元件的技巧、电路板图的工作原理与组成元件的作用等。这些知识不仅在课堂上有效,对以后的学习也有很大的指导意义,在日常生活中更是有着现实意义。 其次对自己的动手能力是个很大的锻炼。实践出真知,纵观古今,所有发明创造无一不是在实践中得到检验的。没有足够的动手能力,就奢谈在未来的科研尤其是实验研究中有所成就。在实习中,我锻炼了自己动手技巧,提高了自己解决问题的能力。比如做数字电压表组装与调试时,好几个焊盘的间距特别小,稍不留神,就焊在一起了,但是我还是完成了任务。三、对印制电路板图的制作实习的感受。 焊接挑战我得动手能力,那么印制电路板图的制作则是挑战我的快速接受新知识的能力。在这过程中主要是锻炼了我与我与其他同学的团队合作、共同探讨、共同前进的精神。因为我对电路知识有很多不是很清楚,可以说是模糊。但是当我有什么不明

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 建筑/环境 > 综合/其它

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号