基于msp430g2211实现风速测试仪_第1页
基于msp430g2211实现风速测试仪_第2页
基于msp430g2211实现风速测试仪_第3页
基于msp430g2211实现风速测试仪_第4页
基于msp430g2211实现风速测试仪_第5页
已阅读5页,还剩57页未读 继续免费阅读

下载本文档

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

文档简介

目录第一 概 1.1基本情况介 1.2总体设计方案介 1.2.1硬件设计方案介 目录第一 概 1.1基本情况介 1.2总体设计方案介 1.2.1硬件设计方案介 1.2.2软件设计方 第二章硬件系统的设 2.1MSP430G2系列LaunchPad开发板组成及硬件资源情况介 2.2传感器选型和性能指标参数介 2.3单元电路的介 2.4系统组成原理图和器件清 2.4.1系统组成框 2.4.2系统组成原理 2.4.3元器件清 2.5PCB板的设计要求及注意事项说 2.5.1原理图的绘 2.5.2PCB的绘 2.6硬件的安装、调试和测 第三章软件系统的设 3.1监控程序总体流程框图的介 3.2各功能子程序在CCS环境下的设计与调 3.2.1工程的创 3.3程序的调 第四章总结与思 第一概1.1基本情况介绍TILaunchPadMSP430G2211单片机CPU风扇的转动(1.2总体设计方案介绍 硬件设计方案介绍调节电位器使CPU第一概1.1基本情况介绍TILaunchPadMSP430G2211单片机CPU风扇的转动(1.2总体设计方案介绍 硬件设计方案介绍调节电位器使CPU风扇(实际上就是一个直流无刷电机)1s1.1CPU(直流电机1.1-11.2.2软件设计方案1.2钟、I/O、定时器和液晶模块,然后开启I/O1s0定时器中断开始I/O由计数值计算风扇转速,同时使1.2.2软件设计方案1.2钟、I/O、定时器和液晶模块,然后开启I/O1s0定时器中断开始I/O由计数值计算风扇转速,同时使计数值清上升沿捕获计数值加液晶显示转速值中断返中断返-2设备初始化(看门狗、时钟、I/O口、定时器和液晶)等待中(I/O上升沿捕获和定时器1s)第二系统的2.1MSP430G2系列LaunchPad开发板组成及硬件第二系统的2.1MSP430G2系列LaunchPad开发板组成及硬件资源情况介绍CPULaunchPad(1)Lauchpad(2)MinUSB(3)两块MSP430G系列芯有容量的128Bytes(4)210210(5)132.768KHzLaunchPad大家拿到开发板的时候可以看到在仿真器中最大的那块芯片也是一 1xx系-3eZ430-2012/F2013TeZ430-ChronosPC9600minUSBIAR(ForMSP430)TI自己推出的CCS(CodeeZ430-2012/F2013TeZ430-ChronosPC9600minUSBIAR(ForMSP430)TI自己推出的CCS(CodeStudio)对应用进行仿真、调试以及下载。仿真器对全速硬件断点以及单步执行是完全20针的DIP插座可以用于更换MSP430Reset板上有很多的跳线J1和J2IO引出的,J3eZ430J42.12.1信号12T3D4D-45CJ5选择MSP430IOP1.0和P1.6LED连接,J6连接可以参考附录中的电路图(MSP-EXP430G25CJ5选择MSP430IOP1.0和P1.6LED连接,J6连接可以参考附录中的电路图(MSP-EXP430G2LaunchPadExperimenterBoard2.2传感器选型和性能指标参数介绍本风速测试仪的设计采用单光束反射式光电传感器(ST188)1.特点(1)(2)检测距离可调整范围大,4-12mm(3)(4)ST288A2.外形尺寸(单位2.2ST1883.极限参数表 -5 4.光电特2.3ST1887mm-6 正向_5反向--集电极暗--1集电极亮----饱和-4.光电特2.3ST1887mm-6 正向_5反向--集电极暗--1集电极亮----饱和--4V传输响应IF=20mA,-5--5-s输入6VP输出V6V-℃-℃2.35.应用电2.35.应用电2.4ST188注:由于刚开始并不知道所购的 风扇带有测速信号输出端,故设计了基-72.3单元电路的介绍1.电机供电模LED1.8V20mA。C2输出电压在2.测速信号的处理模2.3单元电路的介绍1.电机供电模LED1.8V20mA。C2输出电压在2.测速信号的处理模2.6R5将其上拉至电源电压,然后经过简单的一阶RC低通滤波(截止频率为-8f 211033.核心板和扩展板供电电源模f 211033.核心板和扩展板供电电源模2.73.3VLaunchPadUSB压(12V)3.3VLM111710uF2.82.94.核心板与扩展板连接模-95.12864液晶显示模5.12864液晶显示模2.112.12V0和VEE12864M1的(1)实物2.1312864M1-10(2)模块特(a)128×64(b)(c)8位、4(2)模块特(a)128×64(b)(c)8位、4行ROM(HCGROM(g)64×16位字符产生(i)自动复位(RESET)功(j)(3)引脚特-111接地2345R/W/H:读L:6IO和背光正引脚接正电源,接地引脚和背光负引脚接地,V0和VEE1K可动端和一固定端,电位器的另一固定端接地。由于串口液晶采 的接口方式,(4)原理2.14IO和背光正引脚接正电源,接地引脚和背光负引脚接地,V0和VEE1K可动端和一固定端,电位器的另一固定端接地。由于串口液晶采 的接口方式,(4)原理2.14(5)最大工作范(a)逻辑工作电压(Vdd(b)电源地(GND(c)LCD驱动电压(op-12L:(d)输入电压(6)电气特性(测试条件(ih(il(d)输入电压(6)电气特性(测试条件(ih(il(oh(ol2.2~3.0mA(不含背光(f)(g)侧白光工作电流(7)串口时序2.156.CPU风扇模2.16CPU-13Freq:CPUI/OFreq:CPUI/OPower:接地Vin:代替开关电源的+12VGND:代替开关电源的外部电源的接地端-142.4系统组成原理图和器件清单2.4.1系统组成框图CPU(直流电机2.172.4.2系统组成2.4系统组成原理图和器件清单2.4.1系统组成框图CPU(直流电机2.172.4.2系统组成原理图TILaunchPad(MSP430G2211为核心)的实例扩展板的最终原-15-162.4.3元器件2.4.3元器件-172.5PCB板的设计要求及注意事项说明2.5.1原理图的绘图画原理图前先将自己构思的电路模块借助于Multisim或Proteus2.5PCB板的设计要求及注意事项说明2.5.1原理图的绘图画原理图前先将自己构思的电路模块借助于Multisim或ProteusPCBProtel99SE或AltiumDesigner接)就倒成PCB2.5.2PCB的绘1.制作物理边Keep-out-182.元件的布局(1)上的特殊元件和大的元器件,如发热元件、变压器、IC(2)3.布线布线(Layout)PCB个系统性能的好坏,这一点在高速PCB0.050mm,宽度为1~1.5mm2.元件的布局(1)上的特殊元件和大的元器件,如发热元件、变压器、IC(2)3.布线布线(Layout)PCB个系统性能的好坏,这一点在高速PCB0.050mm,宽度为1~1.5mm时,通过2A于31.5mm可满足要求(PCB应的关系如表2.6所示。对于集成电路,尤其是数字电路,通常选0.02~0.3mm2.6PCB-195~8mm,线电阻大,线上的电压降也就大,影响电路的性能;线宽太宽,则布线密度不高,加,除了增加成本外,也不利于小型化1.2~2.5mmPCB可用宽的地导线组成一个回路,个地网来使用(模拟电路的地不能这样使用)用大面积铜层作地线用,但是对大电流的话,如果电流负荷以20A/mm2计算,当覆铜箔厚度0.5mm时,(5~8mm,线电阻大,线上的电压降也就大,影响电路的性能;线宽太宽,则布线密度不高,加,除了增加成本外,也不利于小型化1.2~2.5mmPCB可用宽的地导线组成一个回路,个地网来使用(模拟电路的地不能这样使用)用大面积铜层作地线用,但是对大电流的话,如果电流负荷以20A/mm2计算,当覆铜箔厚度0.5mm时,(能满足一般的应用要求,大功率设备板上的地线和电源,根据功率大小,可适当增加线宽而在小功率的数字电路上,为了提高布线密度,最小线宽取0.254--1.27mm(10—15mil)能满足20A20mm,(1)-2022111324226PCBWW2.19(a)拐角可以等效为传输线上的容性负载,减缓上升时间(b)阻抗不连续会造成信号的反射PCBWW2.19(a)拐角可以等效为传输线上的容性负载,减缓上升时间(b)阻抗不连续会造成信号的反射(c)直角尖端产生的EMI(2)(a)抗干扰能力强,因为两根差分走线之间的耦合很好,当外界存在噪声干扰时(b)能有效抑制EMI,同样的道理,由于两根信号的极性相反,他们对外辐射的(c)时序定位精确,由于差分信号的开关变化是位于两个信号的交点,而不像普(a)等长。这是为了保证两个差分信号时刻保持相反极性,减少共模分量(b)等距。这主要是为了保证两者差分阻抗一致,减少反射(3)-212.20S2.21尽量增加平行线间的距离(S),3H,H(1)2.20S2.21尽量增加平行线间的距离(S),3H,H(1)-22(3)PCB(5)(6)(3)PCB(5)(6)(7)4.覆铜PCB时在覆铜之前,首先加粗相应的电源连线:5.0V、3.3V(2)-235.5.PCB-242.6硬件的安装、调试和测试一、元件的焊接和调试(按模块进行1.电机(CPU风扇)供电电源模J1、电源导通/S1D1R1D1LM31712VR22.6硬件的安装、调试和测试一、元件的焊接和调试(按模块进行1.电机(CPU风扇)供电电源模J1、电源导通/S1D1R1D1LM31712VR22.232.3.3V电源模3.3V电源模块包括滤波电容C3、C5、C6和稳压芯片LM1117-3.3111712V3.3V将电源指示灯D29、滤波电容C3C33.3V-253.电机和外部电源接线源线和地线分别通过排针接到排针P3相应的针脚(1、23)一步的焊接了。这里,4和512V4.电机测速信号的调理整形模-262.26R53.3V必须的。R5R6C4R22.26R53.3V必须的。R5R6C4R20Hz90HzR55.液晶模2.279脚排针焊接到电路板P41K的电位器焊接到R10用排线P419引脚接到液晶的VSS、VDD、VO、CS、SID、SCLK、VEE、-27BLKR106.核心板和扩展板的连接端板上的P1.0、P1.1、P1.2分别和液晶上的SID、SCLK和电机的测速信号输出管脚,BLKR106.核心板和扩展板的连接端板上的P1.0、P1.1、P1.2分别和液晶上的SID、SCLK和电机的测速信号输出管脚,二、硬件的安装、调试和测1.核心板和扩展板的连-282.29核心板和扩展板的连接如图22.29核心板和扩展板的连接如图2核心板的USB接口和PC机的主USB如图所示核心板和PC机的连接是通过USB3.开关电源与扩展板上的电源插座相连-292.314.CPU风扇与扩展板上的2.314.CPU风扇与扩展板上的对应接线端子的连接5.液晶模块和扩展板上的对应接线端子-302.332.336.风速测试仪完整的硬件组装结果2.347.通过手动调节电位器(电源接通后)调节风扇的转速-312.358CPU(2.358CPU(的频率越高2.36(a)和(b)-32--33第三系统的3.1监控程序总体流程框图的介绍P1.1量加1sIO1min圈数,及RPM(RevolutionPerMinute,每秒转动圈数)IO第三系统的3.1监控程序总体流程框图的介绍P1.1量加1sIO1min圈数,及RPM(RevolutionPerMinute,每秒转动圈数)IO0IO01s定时器中断开始I/O由计数值计算风扇转速,同时使计数值清上升沿捕获计数值加液晶显示转速值中断返中断返3.1-34设备初始化(看门狗、时钟、I/O口、定时器和液晶)等待中(I/O上升沿捕获和定时器1s)3.2各功能子程序在CCS3.2各功能子程序在CCS环境下的设计与调试3.2.1工程的创建双击CodeComposerStudioVxCoreEdition图标,出现WorkspaceLauncher3.2-35File->NewCCSFile->NewCCSproject(CreatanewCCSProject将此工程命名为WindSpeedTester3.43.4-363.5MSP430next3.5MSP430nextnext3.6-373.7ProjectsettingDeviceVariant3.7ProjectsettingDeviceVariant下的<selectfilter>MSP430GXXXFamily,在其右边的下拉框中选择MSP430G2211,其他的选项保持默认3.8Finish源文件、头文件的创建和源代码的编写-38右击C/CProjectsWindSpeedTester[ActiveDebug],右击C/CProjectsWindSpeedTester[ActiveDebug],newSourceFile,弹出的提示为创建一个新的源文件(Creatanew3.10LCD_12864.cnew后选择HeadFile,弹出的提示为创建一个新的头文件(Creatanewheader3.11HeaderfileLCD_12864.h,点击Finish,这LCD_12864.h3.9-393.11子程序就可以点击工具栏的“编译活动的工程(BuildActiveProject)”图3.11子程序就可以点击工具栏的“编译活动的工程(BuildActiveProject)”图Project”。3.12(1)main.c在编写 函数时,首先应在文件的开头加上两个头文和 前者的作用是将本MSP430G2211单片机的标准的main.cG2211LCD_12864.cmain-40LCD_12864.c中也应包含头文件#include<msp430g2211.h>IOSpeedNummainLCD_12864.c中也应包含头文件#include<msp430g2211.h>IOSpeedNummain//"看门狗配置//时钟配置//GPIO配置,P10液晶串行数据输P11液晶时钟输出//P12上升沿中断使能//"TimerA0配置产生1s定时中init_lcd//LCD配置voidFaultRoutine(void)//时钟故障,进入此"陷阱{陷}voidWatchdog_Config(void)//"看门狗"配{}voidClocks_Config(void)//时钟配{if//如果校准数据被擦除,则运行//设定范围 模式选择:低频模式(Lowfrequency-41//设定DCO步长调制BCSCTL3|=//LFXT1=VLO=//清除OSC故障标志(OSCFaul//设定DCO步长调制BCSCTL3|=//LFXT1=VLO=//清除OSC故障标志(OSCFaulBCSCTL2|=SELM_0+DIVM_3+DIVS_3//DCO=12MHz,MCLK=DCO/8,SMC//=}voidGPIO_Config(void)//I/O{//P1.0(SID)和P1.1(SCLK)输//P1.2输入风扇输出脉冲//上升沿中断//中断使能}voidTimerA0_Config(void)//0.5Hz1Hz{CCR0=10500-//每秒产生1次中断//时钟源:ACLK计数模式增计数//模块0中断使能}//开总中断这样void-42{Watchdog_Config();//"看门狗"配//时钟配置//GPIO配置,P10液晶串行数据输P11液晶时钟输出//P1.2上升沿中断使能//"TimerA0配置产生{Watchdog_Config();//"看门狗"配//时钟配置//GPIO配置,P10液晶串行数据输P11液晶时钟输出//P1.2上升沿中断使能//"TimerA0配置产生1s定时中init_lcd//LCD配置//开总中断}1s#pragma//定时中断向量声明interruptTimer_A0(void)//TimerA01s定时中断服务程{//计算风扇每分钟转速RPM转速1s内上升沿个数//*60(1分钟60秒)/2(风扇转一圈输出2周期脉冲//脉冲上升沿计数清//风扇转速送液晶显示}#pragma//P1口中断源interruptP1_ISR(void)//声明一个中断服务程序,名为{//判断P1中断标志位第2{//中断处理程序:来一个上升沿,计数值加}//清除P1所有中断标志位-43}(2)LCD_12864.cg2211IOtypedefunsignedcharuchar,将unsignedint定义成uint,typedefunsignedchartypedefunsigned}(2)LCD_12864.cg2211IOtypedefunsignedcharuchar,将unsignedint定义成uint,typedefunsignedchartypedefunsignedint//x1液晶屏上半屏的列起始地址//x2液晶屏下半屏的列起始地址y//y液晶屏点阵的行起始地址#definecomm//comm代表命令#define1//dat代表数据LCD_SCLK_RESET-44voidwr_lcd(uchardat_comm,ucharvoiddelay(uint(constuhrconst"当前转速是//显示的物理量"voidwr_lcd(uchardat_comm,ucharvoiddelay(uint(constuhrconst"当前转速是//显示的物理量"//显示的//显示的物理量的单位};//本项目液晶显示内再下面是关于液晶初始化的程序, 初始化voidinit_lcd{wr_lcd//30基本指令动作wr_lcd//清屏,地址指针指向delay//执行时间:1wr_lcd//光标的移动方向:显示向右移动,游标跟着移动wr_lcd//}voidwr_lcd(uchardat_comm,uchar{-45uchardelay//要写入的内容//数据操作for(i=0;i<5;i++)//延{}LCD_SID_RESET;//写数//dat_comuchardelay//要写入的内容//数据操作for(i=0;i<5;i++)//延{}LCD_SID_RESET;//写数//dat_comm0写命令;dat_comm1写数据{}{}//时钟上升沿,数据写入LCD_SID_RESET;//写数{{-46if((a&0x80)==0x80)//判断该位是0还是{}{}a=a<<1;//输出一位,左if((a&0x80)==0x80)//判断该位是0还是{}{}a=a<<1;//输出一位,左移一位,1帧8位的数据移位8}for(i=0;i<4;i++)//延{}}}/*-----------------------------------voiddelay(uint//延时时间{while(us--}voidLCD_Display(uint{-47uchari,gewei,shiwei,qianwei/*转速值分离//////////千位消隐处理uchari,gewei,shiwei,qianwei/*转速值分离//////////千位消隐处理{}//百位消隐处理{}if(shiwei==0&&qianwei==10&&baiwei==10)//十位"消隐"处{}//基本指令集//从第1行第1字开始显示{wr_lcd(dat,display[i]);//"当前转}//wr_lcd(dat,0x3A);冒//从第2行第4字开始显示-48//wr_lcd(dat,0x20);//冒/*----------以下四个语句是关于转速值的分 //显示千位//显示百位////wr_lcd(dat,0x20);//冒/*----------以下四个语句是关于转速值的分 //显示千位//显示百位//显示十位//显示个位{//显示单位RPM(RevolutioMinute,//转/分}}(3)LCD_12864.hmain.ctypedefunsignedchartypedefunsignedintinit_lcdchn_disp(constucharchn_disp1(constuchar-49img_disp(constucharimg_disp1(constucharlat_disp(uchardata1,ucharcon_disp(uchardata1,uchary0,ucharxl,ucharclrramwr_lcdimg_disp(constucharimg_disp1(constucharlat_disp(uchardata1,ucharcon_disp(uchardata1,uchary0,ucharxl,ucharclrramwr_lcd(uchardat_comm,uchardelay(uintdelay1(uintLCD_Display(uintconstucharLCD_128643.3程序的调试3.13可以点击Debug视窗上的“运行(Run)”模式(从Debug视窗回到C/C++视窗),可以用“取消全部(Terminate,-50单步执行(Step逐程序执行(Step单步执行返回(Step单步执行(Step逐程序执行(Step单步执行返回(StepIO口(P1.2)图3.14所示,在行标68~72的中任意一个数字上右击鼠标,选择Breakpoint->Breakpoint或选择TooggleBreakpoint,3.14IO-513.153.15标,选择选择TooggleBreakpoint,3.16681s如图3.17,在行标58~62的中任意一个数字上右击鼠标,选择Breakpoint->Breakpoint或选择TooggleBreakpoint,3.171s-523.18标,选择选择TooggleBreakpoint,3.193.193.18标,选择选择TooggleBreakpoint,3.193.1968大家可以触类旁通,将断点设置在工程中的任意一个.c我们在调试视窗(DebugPerspective)中还可以看到有复位重启(1)View->Outline:可以在Outline的视窗中浏览到当前源文件或头文件下面的所有-533.20main.c、LCD_12864.cLCD_12864.hOutline3.20main.c、LCD_12864.cLCD_12864.hOutline(2)/(3)View->Console&View->ProblemsViewView->Problems3.21while(1);例如我将main()函数中while(1);语句后面的分号;3.22编译后Console-543.23编译后Problems3.23编译后Problems标志,如图3.24错误修改后Console视窗提示信3.26错误修改后Problems-55(4)View->Debug与C/CPerspective(5)View->TargetConfiguration:目标板(4)View->Debug与C/

温馨提示

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

评论

0/150

提交评论