您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 咨询培训 > 单片机综合训练msp430
班级:电信12-2姓名:李猛学号:1206110207指导教师:刘桂红时间:2015.06.29成绩:单片机综合训练项目电子与信息工程学院信息与通信工程系1基于MSP430G2程序设计前言本次实训需要运用MSP430G2芯片写入C语言程序控制LED灯的变化。单片机编程语言常用的有二种,一种是汇编语言,一种是C语言。汇编语言的程序运行的速度快,但可读性却并不强,复杂一点的程序就更是难读懂,而C语言在运行的速度上可能不及汇编语言,但是二者运行速度相差不大,可读性和可移植性远远超过汇编语言。而且C语言还可以嵌入汇编来解决高时效性的代码编写问题。对于开发周期来说,中大型的软件编写用C语言的开发周期通常要小于汇编语言很多。综合以上C语言的优点,在本次学习时选择了C语言。1MSP430G2系列介绍1.1MSP430G2系列简介MSP430G2系列是德州仪器近期推出的一款产品,在秉承MSP430超低功耗,高集成度的优点的同时,具有高性价比的特点。该系列被称为ValueLine,旨在以8位单片机的价格实现16位单片机的性能。MSP-EXP430Launchpad是TI推出的又一套用于MSP430和电路实验的开发板。在该套不到名片大小的开发板上集成了一片超低功耗16位MSP430单片机,USB口仿真器电路以及各引脚接口等。利用LaunchPad开发板,仅需一台笔记本电脑,就可以在基于图形界面的编程软件CCS上进行嵌入式软硬件系统的开发和调试,真正做到将实验室装进口袋里,让使用者可以随时随地,不受场地和设备的限制进行430的开发工作。除了学生自主创新实践外,LaunchPad开发板还可以用于本科低年级课程,如嵌入式C语言,电子技术基础,微机原理,单片机等课程的自主实验环节以及课程设计。该套开发板为单片机热爱者提供了一个很好的学习平台。1.2MSP430G2系列特点MSP430系列单片机是一个16位的单片机,采用了精简指令集(RISC)结构,具有丰富的寻址方式(7种源操作数寻址、4种目的操作数寻址)、简洁的27条内核指令以及大量的模拟指令;大量的寄存器以及片内数据存储器都可参加多种运算;还有高效的查表处理指令。这些特点保证了可编制出高效率的源程序。2(1)运算速度快MSP430系列单片机能在25MHz晶体的驱动下,实现40ns的指令周期。16位的数据宽度、40ns的指令周期以及多功能的硬件乘法器(能实现乘加运算)相配合,能实现数字信号处理的某些算法(如FFT等)。(2)超低功耗MSP430单片机之所以有超低的功耗,是因为其在降低芯片的电源电压和灵活而可控的运行时钟方面都有其独到之处。首先,MSP430系列单片机的电源电压采用的是1.8-3.6V电压。因而可使其在1MHz的时钟条件下运行时,芯片的电流最低会在165μA左右,RAM保持模式下的最低功耗只有0.1μA。其次,独特的时钟系统设计。在MSP430系列中有两个不同的时钟系统:基本时钟系统、锁频环(FLL和FLL+)时钟系统和DCO数字振荡器时钟系统。可以只使用一个晶体振荡器(32.768kHz)DT-26ORDT-38,也可以使用两个晶体振荡器。由系统时钟系统产生CPU和各功能所需的时钟。并且这些时钟可以在指令的控制下,打开和关闭,从而实现对总体功耗的控制。由于系统运行时开启的功能模块不同,即采用不同的工作模式,芯片的功耗有着显著的不同。在系统中共有一种活动模式(AM)和五种低功耗模式(LPM0~LPM4)。在实时时钟模式下,可达2.5μA,在RAM保持模式下,最低可达0.1μA。(3)片内资源丰富MSP430系列单片机的各系列都集成了较丰富的片内外设。它们分别是看门狗(WDT)、模拟比较器A、定时器A0(Timer_A0)、定时器A1(Timer_A1)、定时器B0(Timer_B0)、UART、SPI、I2C、硬件乘法器、液晶驱动器、10位/12位ADC、16位Σ-ΔADC、DMA、I/O端口、基本定时器(BasicTimer)、实时时钟(RTC)和USB控制器等若干外围模块的不同组合。其中,看门狗可以使程序失控时迅速复位;模拟比较器进行模拟电压的比较,配合定时器,可设计出A/D转换器;16位定时器(Timer_A和Timer_B)具有捕获/比较功能,大量的捕获/比较寄存器,可用于事件计数、时序发生、PWM等;有的器件更具有可实现异步、同步及多址访问串行通信接口可方便的实现多机通信等应用;具有较多的I/O端口,P0、P1、P2端口能够接收外部上升沿或下降沿的中断输入;10/12位硬件A/D转换器有较高的转换速率,最高可达200kbps,能够满足大多数数据采集应用;能直接驱动液晶多达160段;实现两路的12位D/A转换;硬件I2C串行总线接口实现存储器串行扩展;3以及为了增加数据传输速度,而采用的DMA模块。MSP430系列单片机的这些片内外设为系统的单片解决方案提供了极大的方便。另外,MSP430系列单片机的中断源较多,并且可以任意嵌套,使用时灵活方便。当系统处于省电的低功耗状态时,中断唤醒只需5μs。(4)方便高效的开发环境MSP430系列有OTP型、FLASH型和ROM型三种类型的器件,这些器件的开发手段不同。对于OTP型和ROM型的器件是使用仿真器开发成功之后烧写或掩膜芯片;对于FLASH型则有十分方便的开发调试环境,因为器件片内有JTAG调试接口,还有可电擦写的FLASH存储器,因此采用先下载程序到FLASH内,再在器件内通过软件控制程序的运行,由JTAG接口读取片内信息供设计者调试使用的方法进行开发。这种方式只需要一台PC机和一个JTAG调试器,而不需要仿真器和编程器。开发语言有汇编语言和C语言。2CCS软件介绍2.1CCS软件简介CodeComposerStudio是一种针对TI的DSP、微控制器和应用处理器的集成开发环境。CCStudio包括一套用于开发和调试嵌入式应用程序的工具。它包括用于各种TI设备系列的编译器、源代码编辑器、项目生成环境、调试程序、探查器、模拟器和其他许多功能。CCStudio提供一个单一用户界面,指导用户完成应用程序开发流程的每一步骤。类似的工具和界面使用户能够比以前更快地开始使用,并且能够向他们的应用程序添加功能,这些都归功于成熟的生产能力工具。2.2CCS软件的功能(1)调试CCStudio的集成调试程序具有用于简化开发的众多功能和高级断点。条件断点或硬件断点以全C表达式、本地变量或寄存器为基础。高级内存窗口允许您检查内存的每一级别,以便您可以调试复杂的缓存一致性问题。CCStudio支持复杂的多处理器或多核系统的开发。全局断点和同步操作提供了对多个处理器和多核的控制。(2)分析CCStudio的交互式探查器使快速测量代码性能并确保在调试和开发过程中目标资源的高效使用变得更容易。探查器使开发人员能够轻松分析其应用程序中指令周期内或其他4事件内的所有C/C++函数,例如缓存未命中/命中率、管道隔栏和分支。分析范围可用于在优化期间将精力集中在代码的高使用率方面,帮助开发人员开发出经过优化的代码。分析可用于任何组合的汇编、C++或C代码范围。为了提高生产能力,所有分析设备在整个开发周期中都可供使用。(3)脚本某些任务,例如测试,需要运行数小时或数天而不需要用户交互。要完成此类任务,IDE应能自动执行一些常见任务。CCStudio拥有完整的脚本环境,允许自动进行重复性任务,例如测试和性能基准测试。一个单独的脚本控制台允许您在IDE内键入命令或执行脚本。CCStudio拥有许多图像分析及图形虚拟化功能。其中包括以图形方式在能够自动刷新的屏幕上查看变量和数据的能力。CCStudio还能以本机格式(YUV、RGB)查看主机PC或在目标电路板中加载的图像和视频数据。(4)编译器TI已经开发了专门为了最大程度地提高处理器的使用率和性能而优化的C/C++编译器。TI编译器使用各种各样经典的、面向应用的、成熟的、因设备而异的优化,专为所有支持的结构而优化。其中部分优化包括:消除公共子表达式;软件流水;强度折减;自动增量寻址;基于成本的寄存器分配;指令预测;硬件循环;函数内联;矢量化。TI编译器还执行程序级别优化,在应用程序级别评估代码性能。通过程序级别视图,编译器能够像具有完整系统视图的汇编程序开发人员一样生成代码。编译器充分利用此应用程序级别视图,找出能够显著提升处理器性能的折衷。TIARM和MicrocontrollerC/C++编译器经过专门针对代码大小和控制代码效率的优化。它们具备行业领先的性能和兼容性。(5)模拟模拟器向用户提供一种在能够使用开发板之前开始开发的方式。模拟器还具有更加透彻地了解应用程序性能和行为的优势。提供了几种模拟器,让用户能够权衡周期精确性、速度和外围设备模拟,一些模拟器特别适合算法基准测试,而另一些特别适合更加详细的系统模拟。(6)仿真TI设备包含高级硬件调试功能。这些功能包括:IEEE1149.1(JTAG)和边界扫描;对寄存器和内存的非侵入式访问;实时模式,用于调试与不得禁用的中断进行交互的代码。实时模式允许您在中断事件挂起后台代码,同时继续执行时间关键中断服务例程;多核操作,例如同步运行、步进和终止。其中包括跨核触发,该功能可以让一个核触发另一个核终止;5高级事件触发(AET),可在选定设备上使用,允许用户依据复杂事件或序列,例如无效数据或程序内存访问,终止CPU或触发其他事件。它能够以非侵入式方式测量性能及统计系统事件数量(例如缓存事件)。CCStudio提供有关选定设备的处理器跟踪,帮助客户发现以前“看不到的”复杂实时缺陷。跟踪能够探测很难发现的缺陷-事件之间的争用情况、间歇式实时干扰、堆栈溢出崩溃、失控代码和不停用处理器的误中断。跟踪是一种完全非侵入式调试方法,依赖处理器内的调试单元,因此不会干扰或更改应用程序的实时行为。跟踪可以微调复杂开关密集型多通道应用程序的代码性能和缓存优化。处理器跟踪支持程序、数据、计时和所选处理器与系统事件/中断的导出。可以将处理器跟踪导出到XDS560跟踪外部JTAG仿真器或选定设备上,或导出到芯片缓存嵌入式跟踪缓存(ETB)上。(7)实时操作系统支持CCS具有两个版本的TI实时操作系统:DSP/BIOS5.4x是一种为DSP设备提供预清空多任务服务的实时操作系统。其服务包括ISR调度、软件中断、信号灯、消息、设备I/O、内存管理和电源管理。此外,DSP/BIOS5.x还包括调试诊断和加工,包括低系统开销打印和统计数据收集。63MSP430系列电路图7894设计程序设计C语言程序,通过CCS软件下载到MSP430G2中,观察到的现象是当不按下按键是LED灯交替闪烁,时间大约为1s。当按键按下时,两个灯同时闪烁,时间大约为1s,按下复位键,程序恢复初始状态。4.1C语言程序#includemsp430G2553.hvoidmain(){WDTCTL=WDTPW+WDTHOLD;//关闭看门狗BCSCTL1=CALBC1_1MHZ;DCOCTL=CALDCO_1MHZ;BCSCTL2|=SELM_1+DIVM_1;P1DIR|=BIT0+BIT6;//P1.0与P1.6为LEDP1OUT=BIT0+BIT3;//P1IN低电平跳转P1REN=BIT3;//上拉电阻,缺了好像不能用TACCR0=2500;//计到2500,约20msTACTL|=TASSEL_2+ID_3+MC_1;//TASSEL_x计数器时钟源选择,x=0,外时钟TACLK,1选ACLK,2选SMCLK,3选外部时钟//ID_x是分频选择,x=0不分频,1是2分频,2是4分频,3是8分频后(125K)//MC_x是计数模式,x=0,停止,1是up到CCR0,2是连续到满0xffff,3增减计数,先增到CCR0,再减到0TACCTL0|=CCIE;//CCR0启用中断_BIS_SR(GIE);//开总中断}#pragmavector=TIMER0_A0_VECTOR__interruptvoidTimer_A(voi
本文标题:单片机综合训练msp430
链接地址:https://www.777doc.com/doc-2594599 .html