张天圆Word下载.docx

上传人:b****6 文档编号:18959247 上传时间:2023-01-02 格式:DOCX 页数:18 大小:426.88KB
下载 相关 举报
张天圆Word下载.docx_第1页
第1页 / 共18页
张天圆Word下载.docx_第2页
第2页 / 共18页
张天圆Word下载.docx_第3页
第3页 / 共18页
张天圆Word下载.docx_第4页
第4页 / 共18页
张天圆Word下载.docx_第5页
第5页 / 共18页
点击查看更多>>
下载资源
资源描述

张天圆Word下载.docx

《张天圆Word下载.docx》由会员分享,可在线阅读,更多相关《张天圆Word下载.docx(18页珍藏版)》请在冰豆网上搜索。

张天圆Word下载.docx

第六章结论分析及体会-15-

6.2结论分析-15-

参考文献-17-

附录-18-

华科学院课程设计报告

0-3.3V电压表

设计人:

张旭

专业:

电子信息工程

班级:

电子092202H

学号:

200922070228

指导教师:

赵熹

二零一二年

概述

数字电压表(DigitalVoltmeter)简称DVM,它是采用数字化测量技术,把连续的模拟量(直流输入电压)转换成不连续、离散的数字形式并加以显示的仪表。

传统的指针式电压表功能单一、精度低,不能满足数字化时代的需求,采用单片机的数字电压表,由精度高、抗干扰能力强,可扩展性强、集成方便。

目前,由各种单片A/D转换器构成的数字电压表,已被广泛用于电子及电工测量、工业自动化仪表、自动测试系统等智能化测量领域,示出强大的生命力。

与此同时,由DVM扩展而成的各种通用及专用数字仪器仪表,也把电量及非电量测量技术提高到崭新水平。

本章重点介绍单片A/D转换器以及由它们构成的基于单片机的数字电压表的工作原理。

 

第一章设计目的及要求

1.1设计目的

本装置将实现0-3.3V的电压测量,IOA6接要测量的电压,经AD转换后,计算出当前电压值,在数码管上显示当前电压。

具体要求如下:

1.通过IOA6接入要测量的电压,单片机自动检测。

2.在数码管上实时显示当前电压值。

1.2设计要求

1.熟悉凌阳十六位单片机系统板-61板的基本构成。

2.掌握LED数码管原理及使用方法。

3.掌握61板的使用方法。

4.初步掌握SPCE061A单片机汇编语言一般编程技巧。

5.初步掌握61板系统调试的一般步骤及方法。

6.掌握ADC的使用。

第二章设计原理及方案

2.1电源提供方案

为使模块稳定工作,须有可靠电源,采用单片机控制模块提供5v电源。

此方案的优点是系统简明扼要,节约成本;

缺点是输出功率不高。

综上所述,我们选择第二种方案。

2.2复位方案

复位方式有两种:

按键复位与软件复位。

由考虑到程序的简洁,避免冗长,本设计采用按键复位,使用芯片的复位键,通过按键对单片机输入一个高电平脉冲,达到复位的目的。

2.3输入输出方案

方案一:

采用SPCEO61A扩展I/O口及键盘,显示等。

该方案的优点是:

使用灵活可编程,并且有RAM。

若用该方案,可提供较多I/O口,但操作起来稍显复杂。

方案二:

直接在IO口线上接上按键开关。

因为设计时精简和优化了电路,所以剩余的口资源还比较多。

由于该系统对于数码管的控制,只用单片机本身的I/O口就可实现,且本身的RAM已经够用,故选择方案二

第三章硬件设计

3.1系统原理及基本框图

模拟电压经过档位切换到不同的分压电路衰减后,经隔离干扰送到A/D转换器进行A/D转换,然后送到单片机中进行数据处理。

处理后的数据送到LED中显示,同时通过串行通讯与上位机通信。

61板作为单片机控制处理部分,利用4位LED数码管作为显示部分。

如图3.1所示。

图3.1

3.2系统各模块原理图

3.2.1电源区原理框图如图3.2所示

图3.2

3.2.2下载区原理框图

ICE基本运作方式是通过控制clock及通过ICE喂入指令方式,来控制CPU的运行及缓存器资料和内存资料的存取,因此必须透过控制缓存器值的设定来控制目前CPU的动作.每个相连接的不同ICE模块都拥有自己独特的3-bitID,当PC在传送control信号时都会先传送该3-bitID,只有ICE本身的ID和control信号的ID相同时才会执行该命令或回传资料。

61板上的74HC244主要在我们选用下载线的时候起作用,主要奇缓存的作用和完成SDA是作为数据回送还是数据下传的选择。

原理图如图3.3所示。

图3.3

3.2.3音频输入部分

如下图所示电路,MICP和MICN将随着MIC产生的波形变化,并在两个端口处形成两路反相的波形,再经过两级运放放大,把放大的语音信号交给ADC转换为数字量,这个时候我们就可以通过单片机编程对这些数据进行处理,比如说语音数据压缩、语音识别样本处理。

音频输入外围电路如图3.4所示。

图3.4

3.2.4音频输出部分

SPY0030是凌阳公司开发的专门用于语音信号放大的芯片,它的增益如图3.5所示:

Gain=2*5000/(5000+R1)

图3.5

3.2.5按键部分

按键是通过通断控制来实现它的功能,61板上的按键在没按下时,它的1、3脚是断开的,当按下时这两个脚是连通的。

若此时我们在1脚接一个高电平,把第三脚连到一个I/O口上,这就形成了一个人机操作界面,通过编程对I/O扫描,单片机就能识别到我们的按键命令。

第四章软件设计

4.1软件流程图

在主程序中,首先初始化AD和数码管驱动程序,然后不断执行AD采集,将采到的数字量换算成0~3.3V区间的电压值,在数码管上显示出来。

其流程如下:

开始初始化AD及数码管驱动程序获压值在数码管上显示显示器片选1*8Key显示器段选IOA8-15IOA0-7IOB0-7IOB8-15。

流程图如图4.1所示。

图4.1

AD转换程序连续采集8个数字量,取其平均值,返回给主程序。

YN开始ADC_Sum=0AD转换完成?

将AD转换值累加至ADC_Sum已执行8次转换?

ADC_Sum=ADC_Sum/8返回ADC_SumYN。

如图4.2所示。

图4.2

4.2程序内容

程序名称为VoltageTest。

工程名称:

VoltageTest

功能描述:

0~3.3V电压表参考程序

实现0-3.3V的电压测量,IOA6接要测量的电压,经AD转换后,计算出当前电压值,在数码管上显示当前电压。

1.通过IOA6接入要测量的电压,单片机自动检测。

2.在数码管上实时显示当前电压值。

涉及的库:

CMacro.lib

组成文件:

main.c,AD.c

Dig.asm

AD.h,Dig.h

硬件连接:

LED键盘模组的2*4KEY接IOA低8位,DIG接IOB高8位,SEG接IOB低8位,61板的电压选择跳线J5跳至"

3V"

4.2.1主程序

文件名称:

main.c

0~3.3V电压的程序

#include"

AD.h"

//AD采集程序头文件

DIG.h"

//包含数码管驱动头文件

#defineCLR_WDT()*(unsigned*)0x7012=1//清看门狗

语法格式:

voidDispFloat(floatfNum)

实现功能:

显示10以内浮点数,保留2位小数

参数:

fNum-要显示的数值,范围0.00~9.99

返回值:

constunsignedDigNum[]={//0~9十个数字对应的数码管显示编码

0x3f,0x06,0x5b,0x4f,0x66,

0x6d,0x7d,0x27,0x7f,0x6f

};

voidDispFloat(floatfNum)

{

unsignedintTempNum,i;

if(fNum>

10)return;

TempNum=(unsignedint)fNum;

//获得整数部分

DIG_Set(1,DigNum[TempNum]|0x80);

//在第1位上显示整数部分(以及小数点)

for(i=2;

i<

=3;

i++)

{

fNum=(fNum-TempNum)*10;

TempNum=(unsignedint)fNum;

DIG_Set(i,DigNum[TempNum]);

//在第i位上显示第i-1位小数

}

}

intmain(void)

主函数

intmain()

unsignedintAD_Data;

floatAD_Result;

ADC_Init();

DIG_Init();

while

(1)

CLR_WDT();

AD_Data=ADC_Get();

AD_Result=((float)AD_Data/0xffc0)*4.0;

DispFloat(AD_Result);

#defineP_INT_Ctrl(unsignedint*)0x7010//硬件端口定义

#defineP_INT_Clear(unsignedint*)0x7011//硬件端口定义

#defineC_IRQ4_4KHz0x0040//常数助记符定义

voidIRQ4(void)__attribute__((ISR));

//将IRQ4函数声明为中断服务函数/语法格式:

voidIRQ4(void)

IRQ4中断服务函数,用于LED数码管驱动

voidIRQ4(void)//IRQ4函数体

if((*P_INT_Ctrl&

C_IRQ4_4KHz)!

=0x0000)//如果是4KHz中断

*P_INT_Clear=C_IRQ4_4KHz;

//清中断标志位

DIG_Drive();

4.2.2顶头文件

voidADC_Init(void);

unsignedintADC_Get(void);

#endif;

第五章系统调试

采用凌阳大学计划的LED键盘模组和61板搭配可以很容易的完成这个课程设计的题目。

它的连结图如图4.38所示,IOB的低八位控制数码管显示段位,IOB高八位控制点亮哪一个数码管,IOA6连接模拟电压输入端AV(图中并没有画出具体连线)。

LED键盘模组的左上角有一个可变电阻,调整它的阻值即可在IOA6获得不同电压。

具体如图5.1所示。

图5.1

发光二极管数码管1数码管2数码管3数码管4数码管5数码管6KEY1KEY2KEY3KEY4KEY5KEY6KEY7KEY8按键状态跳线2*4Key

第六章结论分析及体会

6.1实验显示结果:

6.2结论分析

电压测量通过不同的接口电路可实现温度、湿度、压力等测量,广泛应用于工业领域。

本电路设计别具一格,是一种高精度、低功耗、宽量程、智能化的电压表。

可扩展键盘、报警电路,实现电压异常记录、报警。

但在实验过程中由于没有LCD显示器,没有实现带播报电压语音和在LCD液晶屏显示电压数据的结果,用LED显示缺一个插口,不能同时实现语音播报和数字显示。

1功能描述:

(1)、改进为两路电压数据采集;

(2)、用61板的KEY1与KEY2切换采集通道;

(3)、按下KEY3键语音播报当前电压值。

2方案论证:

(1)、多路AD采集;

(2)、61板播放语音;

(3)、按键扫描.

6.3心得体会

经过半个月的单片机课程设计我认识到61板的作用以及它能实现的功能,但是我觉得自己所学的基础知识不太扎实,在实践方面还存在很大的问题。

感觉到理论和实践结合起来还是有难度的。

我的动手操作能力有点差,在焊电路板的时候出现了很多问题,由于自己急于求成,所以结果不令人满意。

有些问题自己还解决不了,需要老师和同学们的帮助,课程设计实践过程中需要我把原理搞清楚,这一点是很重要的。

而要搞清楚原理,需要查找很多资料,然后自己认真琢磨、深入思考。

再把理论搞清楚的前提下,然后在电路板上进行操作试验。

在这个过程中会遇到很多挫折,但是我们要永不放弃,坚持到最后,就一定能成功!

参考文献

【1】孔祥红凌阳十六位单片机实训教程2009年

【2】李晓林牛昱光阎高伟单片机原理与接口技术2012年

附录

附图1

附图2

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 总结汇报 > 实习总结

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

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