无人机微控制器技术课件 9、简单的微处理器应用系统_第1页
无人机微控制器技术课件 9、简单的微处理器应用系统_第2页
无人机微控制器技术课件 9、简单的微处理器应用系统_第3页
无人机微控制器技术课件 9、简单的微处理器应用系统_第4页
无人机微控制器技术课件 9、简单的微处理器应用系统_第5页
已阅读5页,还剩9页未读 继续免费阅读

下载本文档

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

文档简介

《无人机微控制器技术》简单的微处理器应用系统简单的微处理器应用系统0101简单的微处理器应用系统简单的微处理器应用系统本节课我们继续来学习微处理器的应用。首先,我们来看一个常见的应用:呼吸灯。1、呼吸灯简单的微处理器应用系统呼吸灯的设计,也许大家最先想到的就是手机。我们利用MSP430做一个呼吸灯,起到装饰和工作状态指示效果。1、呼吸灯简单的微处理器应用系统呼吸分为两个过程:吸气:指数曲线上升,该过程需要1.5S呼气:指数曲线下降,该过程需要1.5S上面的参数是在均匀呼吸情况下的次数,可以用来做休眠时候的指示用。2、呼吸特性和时间参数简单的微处理器应用系统呼吸灯不再是一高一低的变化规律,而有渐变性,是连续变化的。呼吸灯核心——实现亮度的均匀变化。单片机只有高低两种状态。渐变的话要有中间不高不低的这种亮度。实现方法——PWM调制。2、呼吸特性和时间参数简单的微处理器应用系统3、实际效果视频网址(/v_show/id_XNDI4Nzc4MzQ0.html?x)简单的微处理器应用系统MSP430G2553呼吸灯演示程序-使用Timer_A,UpMode,DCOSMCLK////介绍:该程序利用TIMERA的UP模式在P1.6脚产生PWM输出//将CCR0设置为1500来定义PWM的周期,利用循环不断改变CCR1的值,//实现利用改变PWM的占空比来改变LED亮度.//ACLK=na,SMCLK=MCLK=TACLK=defaultDCO////MSP430G2553//-----------------//|XIN|-//||(端口接法)//--|RSTXOUT|-//||//|P1.6/TA1|-->CCR1-PWM////使用MSP430LaunchPad,MSP430G2553芯片//在IAREmbeddedWorkbenchforMSP4305.40下编译测试通过//******************************************************************************4、代码简单的微处理器应用系统4、代码#include"msp430g2553.h"//*************************************************************//延时函数,对于1M主频,约延时1ms//*************************************************************voiddelay_1ms(void){unsignedintk;for(k=0;k<195;k++);}//*************************************************************//延时函数,延时n*ms//*************************************************************voiddelay_nms(unsignedintn){unsignedintj;for(j=0;j{delay_1ms();}}//******************************************************************************简单的微处理器应用系统4、代码voidmain(void){unsignedconstPWMPeriod=1500;//设置PWMPeriod参数

volatileunsignedinti;//变量

WDTCTL=WDTPW+WDTHOLD;//关闭看门狗

BCSCTL1=CALBC1_1MHZ;//1M内部时钟,其他也可以

DCOCTL=CALDCO_1MHZ;P1DIR|=BIT6;//设置P1.6为输出

P1SEL|=BIT6;//设置P1.6为TA0.1输出

TACCR0=PWMPeriod;//设置PWM周期

TACCTL1=OUTMOD_7;//设置PWM输出模式为:7-PWM复位/置位模式,

//即输出电平在TAR的值等于CCR1时复位为0,当TAR的值等于CCR0时置位为1,改变CCR1,从而产生PWM。TACTL=TASSEL_2+MC_1;//设置TIMERA的时钟源为SMCLK,计数模式为up,到CCR0再自动从0开始计数************简单的微处理器应用系统4、代码while(1){CCR1=0;//确保开始是暗的

//渐亮过程:不断设置CCR1的值,使翻转的时间变长,改变PWM的占空比

//由于只有1个定时器,编程有些困难,故仍引入delay函数

for(i=0;i{CCR1=i;delay_nms(4-(i/500));//占空比变化的延时,调整延迟时间可改变呼吸灯变暗的速度

//在暗的时候延长delay时间,可增强效果

}//渐暗过程:不断设置CCR1的值,使翻转的时间变短,改变PWM的占空比

for(i=PWMPeriod;i>0;i-=1){CCR1=i;delay_nms(4-(i/500));//占空比变化的延时,调整延迟时间可改变呼吸灯变暗的速度

温馨提示

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

评论

0/150

提交评论