大学生电子设计竞赛.docx
《大学生电子设计竞赛.docx》由会员分享,可在线阅读,更多相关《大学生电子设计竞赛.docx(35页珍藏版)》请在冰点文库上搜索。
大学生电子设计竞赛
2014大学生电子设计竞赛计电院初赛
B题
低功耗数字多功能表的设计制作
摘要:
本系统采用宏晶公司提供的STC12C5A60S2微控制器为控制核心,以电源模块、直流电压测量模块、交流电压测量模块、电阻测量模块、电容测量模块、晶体三极管β参数测量模块、AD转换模块、液晶显示模块等为主要模块,实现了对直流电压、交流电压、电阻、三极管β的精确测量,并成功地完成了发挥部分自动关机等内容。
最终经过测试,系统各项测试指标都达到了题目精度要求。
在整体设计中,充分考虑到了系统对功耗的要求。
低功耗也是本系统的一大特色。
关键字:
低功耗 STC12C5A60S2 精确测量
Abstract:
ThissystemadoptsmacrocrystalprovidestheSTC12C5A60S2microcontrollerasthecontrolcore,thepowersupplymodule,DCvoltagemeasurementmodule,ACvoltagemeasurementmodule,resistancemeasurementmodule,capacitancemeasurementmodule,acrystaltriodebetaparametermeasurementmodule,ADconversionmodule,LCDmoduleasthemainmodule,andrealizesaccuratemeasurementtheDCvoltage,ACvoltage,resistance,atriodebeta,andsuccessfullycompletedtheplayapartofautomaticshutdownetc..Afterthefinaltest,systemtestindexeshavereachedthesubjectaccuracyrequirements.Intheoveralldesign,givefullconsiderationtothesystemofpowerrequirements.Oneofthecharacteristicsoflowpowerconsumptionisalsothesystem.
KeyWords:
low-power-consumptionSTC12C5A60S2accurate-measurement
目录
1.系统方案................................................................................5
1.1系统总体方案设计与原理框图..........................................5
1.2方案设计与论证..................................................................5
1.2.1电源模块...................................................................................5
1.2.2直流电压测量模块...................................................................6
1.2.3电阻测量模块...........................................................................7
1.2.4交流电压测量模块...................................................................7
1.2.5电容测量模块............................................................................8
1.2.6三极管β值测量模块...........................................................9
1.2.7显示模块....................................................................................9
2.系统软件设计..........................................................................9
2.1主程序流程图..............................................................................10
2.2系统自动休眠设计.......................................................................10
3.各模块测试及结果分析........................................................11
3.1电源模块测量结果.......................................................................11
3.2直流电压测量模块结果...............................................................11
3.3电阻测量模块结果.......................................................................11
3.4交流电压测量模块结果...............................................................12
35电容测量模块结果........................................................................12
3.6三极管β值测量模块结果......................................................13
4.设计总结................................................................................13
参考文献................................................................................14
附录1:
系统源程序.............................................................14
附录2:
电路实物图.............................................................29
1.系统方案
1.1系统总体方案设计与原理框图
根据题目要求,系统总体由电源模块,单片机控制模块,AD采集转换模块,直流电压测量,交流电压测量,电阻测量模块,电容测量模块,三极管β参数测量模块,液晶显示模块等基本模块组成。
系统原理结构框图如图1所示:
图1系统原理框图
1.2方案设计与论证
1.2.1电源模块
各模块和芯片所需的电压,由直流供电系统电路提供。
电源模块电路如图2所示
图2电源模块原理图
如图,9V放电池输出的电压经过TPS5430DDA芯片的转换,加上滤波电路滤除干扰,输出稳定的+5V电压。
+5V电压经过TPS60400DBVR芯片的转换,变为-5V输出。
+5V电压经过TPS79633芯片,输出3.3V电压,作为电阻测量模块的基准电压。
1.2.2直流电压测量模块
直流电压测量电路,根据欧姆定律串联分压原理,由R1,R2串联组成。
电路输入阻抗为10M,满足题目要求。
电路图如下图3所示:
图3直流电压测量模块
电路分0~2V量程和2V~20V量程。
1.2.3电阻测量模块
电阻测量电路由OPA211精密放大器及外围器件构成,以提高测量精度,和减小测量误差。
电阻测量电路图如图4所示:
图4电阻测量电路原理图
待测电阻接在排针P5两端,阻值
。
当单刀三掷开关1,2接通时,选择0~200Ω量程,Ri=1K;当单刀三掷开关2,3接通时,选择200Ω~2K量程,Ri=10K;当单刀三掷开关2,4接通时,选择2K~20K量程,Ri=100K;
1.2.4交流电压测量模块
交流电压电路由三级组成,第一级采用跟随器,可提高输入阻抗。
第二级由OPA211精密放大器及其外围电路构成,可减小误差,提高精度。
第三级由AD736组成交流变直流电路。
电路图如下图5
图5交流电压测量电路原理图
输入电压
当单刀三掷开关1,2接通时,选择0~0.2V量程,Ri=1K;当单刀三掷开关2,3接通时,选择0.2~2V量程,Ri=10K;当单刀三掷开关2,4接通时,选择2V~5V量程,Ri=100K;
1.2.5电容测量模块
电容测量电路采用555定时器构成多谐振荡器来测量电容。
电容测量电路如下图6所示
图6电容测量电路原理图
电容测量分为两个量程当量程为100µF时,将R2短接即R2=0,R1=200Ω。
量程为100nF时,R1=R2=1MΩ。
多谐振荡器的震荡周期为T=(R1+2R2)C,其中R1,R2为已知电阻,通过单片机在某个下降沿触发,再到第n个下降沿截止,通过计数器计数m个机器周期T1,根据mT1=nT,计算出震荡周期T,即可得出电容C。
1.2.6三极管β值测量模块
三极管测量电路如下图7所示:
图7三极管测量模块
Q1为测试NPN型三极管J2为输出端口,通过测量电压Ue,根据公Ie=Ue/R1,Ie=Ic-Ib,β=Ic/Ib。
Q2为测试PNP型三极管,通过测量电压Ue,根据公Ie=Ue/R4,Ie=Ic-Ib,β=Ic/Ib。
1.2.7显示模块
显示屏采用5110液晶显示屏,具有运算速度快,接口简单等特点。
2.系统软件设计
2.1主程序流程图
系统采用C语言编程,如图8所示:
图8主程序流程图
2.2系统自动休眠设计
系统自动休眠定时由单片机定时器完成,当1分钟没有按键按下时,系统自动进入休眠,此时按任意键则有单片机中断唤醒,进入工作状态。
系统自动休眠程序框图如图9所示:
图9系统自动休眠程序框图
3.各模块测试及结果分析
3.1直流电压测量
测量方法:
用直流稳压电源输入直流电压,用数字万用表测量输出电压,二者比较,求出误差。
测量结果:
测量数据如表1所示。
标准电压Ui(V)
0.05
0.15
1
3
6.2
11
18.5
实测电压Uo(V)
0.05
0.149
1.004
3.01
6.18
11.02
18.43
误差(%)
0
0.6
0.4
0.3
0.3
0.2
0.4
表1直流电压测量数据
3.2电阻测量
测量方法:
将电阻接到对应的位置,读出数值。
再用万用表测出电阻,并记录数值。
二者比较,求出误差。
测试结果:
测量数据如表2所示。
标准R
10Ω
100Ω
150Ω
0.62KΩ
1.8KΩ
2.6KΩ
17KΩ
实测R
10.1Ω
101.2Ω
148.7Ω
0.64KΩ
1.76KΩ
2.61KΩ
17.4KΩ
误差(%)
1
1.2
0.8
3.2
2.2
0.4
2.3
表2电阻测量数据
3.3交流电压测量
测量方法:
用函数信号发生器输入交流电压,用数字示波器测量输出电压,观察波形,并读取数值。
二者比较,求出误差。
测量结果:
芯片损坏,无法测量。
3.4电容测量
测量方法:
将电容插到对应测量插孔,读取数值。
再用万用表测量电容,读取数值。
二者比较,求出误差。
测量结果:
测量数据如表4所示。
标准C
10nF
33nF
100nF
0.1uF
10uF
47uF
实测C
7.2nF
38nF
111nF
0.13uF
11.8uF
51uF
误差(%)
28
15
11
30
18
8.5
表4电容测量数据
3.5三极管β测量
测量方法:
分别将NPN型或PNP型三极管,插入E、B、C对应的插孔,读取β读取数值。
再用数字万用表测量三极管β值,读取数据。
二者比较,求出误差。
测量结果:
测量数据如表5所示。
三极管型号
9013(NPN)
8050(NPN)
9012(PNP)
8550(PNP)
标准β(倍数)
380.2
230.1
140.1
330.1
实测β(倍数)
383
228
141
333
误差(%)
0.4
0.9
0.6
0.9
表5三极管测量数据
4.设计总结
经过近一个月的努力,我们完成了本次比赛的硬件设计任务。
在硬件部分实现了题目的各项要求,精度也能够达到要求。
开始时由于对AD模块的不了解,在处理模拟信号转换成数字信号时,出现了严重的错误,导致无法在显示屏上显示数据。
后来查阅了很多资料,在同学的帮助下,成功的实现了AD模块的功能。
我们同样也从中学到了很多知识,提高了我们的创新精神,动手能力和团队协作能力,这将是我们人生当中的一笔宝贵的财富。
经过此次电子设计大赛让我们对电路的设计、调试有了深刻的印象,对电子电路和微处理器的知识加深了理解。
同时也深刻地体会到了共同协作和团队精神的重要性,提高了我们解决问题的能力。
参考文献
[1]康华光.电子技术基础(模拟部分)[M],高等教育出版社,2006
[2]陈永真,陈之勃.全国大学生电子设计竞赛硬件电路设计精解[M],电子工业出版社,2011
[3]秦龙. MSP430单片机应用系统开发典型实例,中国电力出版社,2005
附录1:
系统源程序
#include"main.h"
unsignedlongxdatacount=0;//计数AD转换次数
voidmain()
{
inti,j;
LCD_Init();
LCD_Clear();
Init7705();
interrupt_Init();//即频率测量
ad9850_reset_serial();
while
(1)
{
AD_get_display();
LCD_Write_Number(0,0,AD_value);
for(i=0;i<300;i++)
{
for(j=0;j<50;j++);
}
}
}
#include"main.h"
//------------------函数声明--------------------//
voiddelay_1us(void);//延时1毫秒
voidLCD_Init(void);//LCD初始化
voidLCD_Clear(void);//LCE清屏
voidLCD_Set_XY(unsignedcharX,unsignedcharY);//设置LCD坐标
voidLCD_Write_Char(unsignedcharc);//显示英文字符
voidLCD_Write_String(unsignedcharX,unsignedcharY,unsignedchara[]);//显示字符串
voidLCD_Write_Number(unsignedcharX,unsignedcharY,unsignedlonga);//显示数字0~9,只可显示一位
//voidLCD_Write_Chinese_String(unsignedcharX,unsignedcharY,//显示中文字符
//unsignedcharch_with,unsignedcharnum,
//unsignedcharline,unsignedcharrow);
voidLCD_Write_Byte(unsignedchardat,unsignedcharcommand);//模拟SPI接口时序写数据/命令LCD
//----------------定义位变量---------------------//
sbitLCD_RST=P2^0;
sbitLCD_CE=P2^1;
sbitLCD_DC=P2^2;
sbitSDIN=P2^3;
sbitSCLK=P2^4;
//-------------中文字符编码,用字模提取软件获得,需要用时在这里输入中文的字符编码----------------//
//codeunsignedcharwrite_chinese[9][32]={};
//-------------------------------------------------
//--该数组包含了各种字符,各字符的ASIIC码=各字符在数组中的位置+32
//-------------------------------------------------
codeunsignedcharfont6x8[][6]=
{
{0x00,0x00,0x00,0x00,0x00,0x00},//space空格0
{0x00,0x00,0x00,0x2f,0x00,0x00},//!
1
{0x00,0x00,0x07,0x00,0x07,0x00},//"2
{0x00,0x14,0x7f,0x14,0x7f,0x14},//#3
{0x00,0x24,0x2a,0x7f,0x2a,0x12},//$4
{0x00,0x62,0x64,0x08,0x13,0x23},//%5
{0x00,0x36,0x49,0x55,0x22,0x50},//&6
{0x00,0x00,0x05,0x03,0x00,0x00},//'7
{0x00,0x00,0x1c,0x22,0x41,0x00},//(8
{0x00,0x00,0x41,0x22,0x1c,0x00},//)9
{0x00,0x14,0x08,0x3E,0x08,0x14},//*10
{0x00,0x08,0x08,0x3E,0x08,0x08},//+11
{0x00,0x00,0x00,0xA0,0x60,0x00},//,12
{0x00,0x08,0x08,0x08,0x08,0x08},//-13
{0x00,0x00,0x60,0x60,0x00,0x00},//.14
{0x00,0x20,0x10,0x08,0x04,0x02},///15
{0x00,0x3E,0x51,0x49,0x45,0x3E},//016
{0x00,0x00,0x42,0x7F,0x40,0x00},//117
{0x00,0x42,0x61,0x51,0x49,0x46},//218
{0x00,0x21,0x41,0x45,0x4B,0x31},//319
{0x00,0x18,0x14,0x12,0x7F,0x10},//420
{0x00,0x27,0x45,0x45,0x45,0x39},//521
{0x00,0x3C,0x4A,0x49,0x49,0x30},//622
{0x00,0x01,0x71,0x09,0x05,0x03},//723
{0x00,0x36,0x49,0x49,0x49,0x36},//824
{0x00,0x06,0x49,0x49,0x29,0x1E},//925
{0x00,0x00,0x36,0x36,0x00,0x00},//:
26
{0x00,0x00,0x56,0x36,0x00,0x00},//27
{0x00,0x08,0x14,0x22,0x41,0x00},//<28
{0x00,0x14,0x14,0x14,0x14,0x14},//=29
{0x00,0x00,0x41,0x22,0x14,0x08},//>30
{0x00,0x02,0x01,0x51,0x09,0x06},//?
31
{0x00,0x32,0x49,0x59,0x51,0x3E},//@32
{0x00,0x7C,0x12,0x11,0x12,0x7C},//A33
{0x00,0x7F,0x49,0x49,0x49,0x36},//B34
{0x00,0x3E,0x41,0x41,0x41,0x22},//C35
{0x00,0x7F,0x41,0x41,0x22,0x1C},//D36
{0x00,0x7F,0x49,0x49,0x49,0x41},//E37
{0x00,0x7F,0x09,0x09,0x09,0x01},//F38
{0x00,0x3E,0x41,0x49,0x49,0x7A},//G39
{0x00,0x7F,0x08,0x08,0x08,0x7F},//h40
{0x00,0x00,0x41,0x7F,0x41,0x00},//I41
{0x00,0x20,0x40,0x41,0x3F,0x01},//J42
{0x00,0x7F,0x08,0x14,0x22,0x41},//K43
{0x00,0x7F,0x40,0x40,0x40,0x40},//L44
{0x00,0x7F,0x02,0x