ImageVerifierCode 换一换
格式:DOCX , 页数:30 ,大小:1.11MB ,
资源ID:3518434      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/3518434.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(MSP430单片机.docx)为本站会员(b****3)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

MSP430单片机.docx

1、MSP430单片机16位微控制器MSP430说明书目 录一 基本原理及基础实验1.1 MSP430单片机结构和特点 1.1.1 单片机的结构 1.1.2 单片机的特点1.2 MSP430 单片机程序设计基础 1.2.1 C语言设计基础 1.2.2 开发环境1.3 MSP430单片机外围模块 1.3.1 端口输入输出实验 1.3.2 端口中断与输出实验1.3.3 端口趣味实验音频1.3.4 通用独立按键式键盘设计1.3.5 液晶显示原理与应用1.3.6 使用 74HC373 扩展数码管显示1.3.7 MSP430 定时器的使用二 故障分析及处理三 课程设计总结正文内容1.1基本原理及基础实验单片

2、机是单片微型计算机的简称,也就是把微处理器(CPU)、一定容量的程序存储器(ROM)和数据存储器(RAM)、输入/输出接口(I/O)、时钟及其他一些计算机外围电路,通过总线连接在一起并集成在一个芯片上,构成的微型计算机系统。MSP430单片机是TI公司1996年开始推向市场的超低功耗微处理器,另外他还集成了很多模块功能,从而使得用一片MSP430 芯片可以完成多片芯片才能完成的功能,大大缩小了产品的体积与成本。1.1.1MSP430结构 在结构上MSP430系列单片机集成了一部计算机的各个基本组成部分。虽然其工作原理与普通微机并无差异,但MSP430系列单片机在结构上更加突出了体积小、功能强、

3、面向控制的特点,具有很高的性能价格比。MSP430的内核CPU结构是按照精简指令集的宗旨来设计的。具有丰富的寄存器资源、强大的处理控制能力和灵活的操作方式。MSP430的存储器结构采用了统一编址方式,可以使得对外围模块寄存器的操作象普通的RAM单元一样方便、灵活。MSP430存储器的信息类型丰富,并具有很强的系统外围模块扩展能力。 MSP430系列单片机由CPU、存储器和外围模块组成,这些部件通过内部地址总线、数据总线和控制总线相连构成单片微机系统。 直接嵌入仿真处理,具有JTAG接口。 能够降低功耗,降低噪声对存储器存取的影响。 16位数据宽度,数据处理更为有效。 16位CPU通过总线连接到

4、存储器和外围模块。 MSP430系列单片机包含以下主要功能部件:CPU:MSP430系列单片机的CPU和通用微处理器基本相同,只是在设计上采用了面向控制的结构和指令系统。MSP430的内核CPU结构是按照精简指令集和高透明的宗旨而设计的,使用的指令有硬件执行的内核指令和基于现有硬件结构的仿真指令。这样可以提高指令执行速度和效率,增强了MSP430的实时处理能力。 MSP430 CPU的主要特征 1)精简指令集高度正交化2)寄存器资源丰富3)寄存器操作为单周期4)16位地址总线5)常数发生器存储器:存储程序、数据以及外围模块的运行控制信息。有程序存储器和数据存储器。对程序存储器访问总是以字形式取

5、得代码,而对数据可以用字或字节方式访问。其中MSP430各系列单片机的程序存储器有ROM、OTP、EPROM和FLASH型。 外围模块:经过MAB、MDB、中断服务及请求线与CPU相连。MSP430不同系列产品所包含外围模块的种类及数目可能不同。它们分别是以下一些外围模块的组合:时钟模块、看门狗、定时器A、定时器B、比较器A、串口0、1、硬件乘法器、液晶驱动器、模数转换、数模转换、端口、基本定时器、DMA控制器等。 1.1.2单片机的特点 小巧灵活、成本低、易于产品化,它能方便地组装成各种智能式控制设备以及各种智能仪器仪表。 面向控制,能针对性地解决从简单到复杂的各类控制任务,因而能获得最佳性

6、能价格比。 抗干扰能力强,适应温度范围宽,在各种恶劣环境下都能可靠地工作,这是其他机型无法比拟的。可以很方便地实现多机和分布式控制。使整个系统的效率和可靠性大为提高。1.2 MSP430单片机程序设计基础1.2.1 C语言设计基础MSP430系列单片机支持标准的C语言,在标准的C语言基础上进行了扩展,因此掌握标准C语言对开发MSP系列单片机有着非常重要的作用。下面针对MSP430系列单片机开发介绍一些C语言的开发基础。一 常用结构的汇编设计方法A 顺序结构所谓的顺序结构就是CPU执行完了一条指令再执行下一条指令,程序计数器的内容每次增加当前指令的字节数。B 散转结构在进行键盘操作是,相应的按键

7、实现相应的功能。C 循环结构循环结构的使用使得程序量缩小,代码空间节省。常用的循环结构有两种形式,其流程分别如下图:D 选择结构选择结构首先对一个条件语句进行测试,当条件为真时,执行一个方向的流程;当条件为假时执行另一个方向上的流程。如图二 可以使用的数据类型三 表达式语句(结构) A 条件语句 a if(条件表达式) 语句b if(条件表达式) 语句1 else 语句2c if(条件表达式) 语句1 else if(条件表达式) 语句2 else if(条件表达式) 语句3B 开关语句 switch(表达式) case 常量表达式1:语句1 break; case 常量表达式2:语句2 br

8、eak; case 常量表达式3:语句3 break; default: 语句d C 循环语句 1)while(条件表达式) 语句; 当条件满足时,就反复执行后面的语句,一直执行到条件不满足时。以软件延时程序为例说明该语句是如何执行的。void delay(long v) while(v!=0)v-;2) do 语句 while(条件表达式) 先执行一次循环体的语句,再判断条件是否满足,以决定是否再执行循环体。下面的程将数组BUFF20中的全部数据相加。 Int x=0; Char I=0; Do x =BUFFI + x; I=I+1; while(I20);3) for(初值设定表达式;循

9、环条件表达式;条件更新表达式)语句 for语句常用于需固定循环次数的循环。下面的程序段同样实现将数组BUFF20中的全部数据相加的功能。Int x=0; Char I=0;for(I=0;I20;I+) x =BUFFI + x; 4) goto 语句标号 goto语句常用于跳转到一个固定的地址标号。其中固定的地址标号是一个带“:”的标志符。比如: MM: goto MMM 四 函数的定义与调用 函数类型 函数名(形式参数表) 形式参数说明 局部变量定义 函数体语句 存储变量类型 interrupt 中断矢量变量 函数类型 函数名(形式参数表) 形式参数说明 局部变量定义 函数体语句 五 经常

10、使用的延时函数 void delay(long v) while(v!=0)v-;delay(100)究竟延时多久呢?就是这句话执行需要的时间。时间等于:机器周期需要的机器周期数(在仿真环境中可以测试出来)1.2.2 开发环境第一步,创建新工作站。打开IAR Embedded Workbench。单击:“开始”、“程序”、IAR Systems、 IAR Embedded Workbench For MSP430 V3,自动创建一个新的工作站,出现如2.2所示的界面。 图2.2第一次进入Embedded Workbench界面提示如下:Create new project in current

11、 workspace:在新工作站中创建新的工程。Add existing project to current workspace:添加已经存在的工程到当前的工作站中。Open existing workspace:打开已经存在的工作站。Example workspace: 打开示例工作站。根据您的具体情况选择上述4个选项之一。第二步,创建并保存工程。单击选项中Create new project in new workbench。出现图2.3界面。图2.3 创建新工程选择工程类型(Empty project、asm、C、C+或xternally built executable),若选择的工

12、程类型为Empty project,单击“OK”按钮,出现图2.4界面,选择保存路径,同时输入工程文件名(如test),单击保存,一个工程就建立完成了。图2.4 保存新工程第三步,创建或加载源文件(1) 创建源程序。单击File,New,File(如图2.5所示)或按快捷键Ctrl+N,出现如图2.4所示的源程序编辑界面。图2.5 创建源程序图2.6 编写源程序将1.3.4中例子P1端口输出高电平源程序输入编辑窗,结果如图2.6。编辑过程要注意标点应为英文。程序代码如下: ORG 1100H ;以下指令机器码存储在1100开始的连续存储单元 MOV.B #0FFH,&22H ;P1方向寄存器P

13、1DIR切换为输出 MOV.B #0FFH,&21H ;P1输出寄存器设为全1,引脚输出高电平 ORG 0FFFEH ;以下指令机器码存储在0FFFEH开始的连续存储单元 DW 1100H ;在0FFFEH单元写入1100H ;对MSP430F149而言存储器FFFEH单元 ;存储的是第一条指令的地址号 END伪指令ORG ,只在汇编时有用,汇编成的目标程序中就没有了。在MSP430F149中汇编程序中ORG xxxxH表示下面紧接的一句汇编指令后放在地址xxxxH。如上述代码第一条指令ORG 01100H ,表示目标代码43F2 0022( MOV.B #0FFH, &022 H)等顺序存放

14、在地址单元号为1100H开始的存储器单元中,直到遇上另一个ORG 语句为止。 程序中DW是伪指令,它的作用是告汇编器在生成目标程序时,在DW当前地址上写入DW后面跟的数据,数据宽度为一个字,本段程序中DW 1100H,即在ORG 0FFFEH 指定的地址单元0FFFFH中 写入1100H。源程序编辑好之后,保存源文件。单击工具条的保存或文件菜单(File中的Save)出现如图2.7界面,“保存在框”中选择好文件路径目录,“文件类型”框中填入430P1.s43。注意不要忘记写上文件名后缀.s43,否则第步添加源程序时无法找到需要的文件。s43是430汇编语言的源文件扩展名。图2.5 保存源文件注

15、意,此时源程序虽然编辑完成,但仅仅是一个孤立的文件,不能进行编译、连接操作。下面需将它加载到工程中进行管理,以便编译、连接生成目标代码。(2) 加载源文件。点击菜单Project,Add files 出现图2.6所示加载源文件界面。选择相应的文件类型(此处选择汇编程序),出现相应的文件,选中需要加载的文件后,点击“打开”按钮。源文件加载完成后,出现如图2.7所示界面,在工程Test下出现430P1.s43和Output子目录。图2.6 加载源文件图2.7源文件加载完成第四步 保存工作站依次点击File,Save Workspace出现如图2.8所示界面,输入文件名TestWorkspace,点

16、击“保存”。保存工作站工作完成。 图2.8 保存工作站第五步 编译环境设置选中项目名称(test)后,单击鼠标右键,如图2.9所示。从快捷菜单中选择Options进入图2.10所示参数设置界面。环境设置需要设置目标芯片类型、仿真方式、仿真器类型等参数。 图2.9 进入环境设置(1) 目标芯片设置,即选择需要调试的单片机型号。在如图2.10设置界面中,从左边Category 列表下选择General Options,在Target页的Device选项中选择目标芯片型号,本例选择MSP430F149。如果是新建工程且只使用汇编语言需将Assembler only project 选中。否则会出现默

17、认C语言,连接时会出错。 图2.10 目标芯片设置(2) 仿真方式设置。设置软件模拟仿真或FET在线仿真调试。在ategory 列表下选择Debugger如图2.11界面,在Driver选项中选择FET Debugger 或Simulator。单使用FET仿真器连接目标板进行在线仿真调试时,选择FET Debugger,软件模拟仿真则选择Simulator。图2.11 仿真方式设置(3) 仿真器接口类型设置。设置并口FET或USB FET。若选择TET Debugger,最后需进入Category 列表下选择FET Debugger,出现如图2.12界面,在Connection选择项中有三个可

18、选项,单使用并口FET时,选择Lpt,同时根据连接并口的实际情况选择相应的并口Lpt1,Lpt2或Lpt3;若使用USB型仿真器,则选择TI USE FET。设置正确后单击“OK”按钮,完成环境设置。 图2.11 仿真器类型设置第六步工程编译和连接,调试。工程编译,连接,调试通过选择菜单Project下的Compile/Make/Debug,或点击图2.12界面右上方的快捷按钮完成。图2.12 编辑编译连接环境界面(1) 工程编译和修改源程序。在左侧工程管理选中源文件430P1.s43文件,双击鼠标左键,进入源程序编辑状态。编译图标有灰变黑,激活编译功能,此时单击Project,compile

19、或单击Ctrl+F7键,或单击按钮进行文件编译。 出现如图2.13下部分所示的错误提示,出错行前标注红色“”。图2.13 汇编之后产生的错误任意单击某一个错误提示,系统就会自动的跳到有错误的语句行。仔细阅读错误提示,发现该行“;”不是英文符号。修改后编译通过。(2) 连接生成目标代码。源文件编译通过之后,将连接生成目标代码。通过单击Project,Make,或按F7键,或单击按钮,进行连接。(3) 调试。在的程序通过了连接,生成目标代码之后。通过单击Project,Debugger,或按Ctrl+F7键,或单击按钮可以进入如图2.14所示的调试集成环境。该环境在原编辑编译环境的基础上,工具栏增

20、加了如图2.15所示的调试快捷按钮。图2.14 调试环境简介图2.15 调试快捷按钮1.3 MSP430单片机外围模块1.3.1 端口输入输出实验实验目的:演示端口的输入与输出功能,练习如何实现端口的输入与输出。实验电路图:电路中,4 只按钮连接在 P14、P15、P16、P17 上,4 只发光二极管连接在 P50、P51、P52、 P53 上。实验要求:当按下连接在 P14 上的按钮时,连接在 P50 上的发光二极管亮,没有按则熄; 当按下连接在 P15 上的按钮时,连接在 P51 上的发光二极管亮,没有按则熄; 当按下连接在 P16 上的按钮时,连接在 P52 上的发光二极管亮,没有按则熄

21、; 当按下连接在 P17 上的按钮时,连接在 P53 上的发光二极管亮,没有按则熄; 实验步骤:设置 P14、P15、P16、P17 为输入,设置 P50、P51、P52、P53 为输出,对应的语句为:P1DIR = 0x0F;P5DIR = 0x0f;当按钮按下的时候,根据电路图,可以知道,对应的输入寄存器为“0”,而没有按下的 时候,对应的输入寄存器为“1”。1.3.2 端口中断与输出实验实验目的:演示端口的输入与输出功能,练习如何实现端口的输入与输出。实验电路图:实验要求:当按下连接在 P14 上的按钮时,连接在 P50 上的发光二极管亮,没有按则熄; 当按下连接在 P15 上的按钮时,

22、连接在 P51 上的发光二极管亮,没有按则熄; 当按下连接在 P16 上的按钮时,连接在 P52 上的发光二极管亮,没有按则熄; 当按下连接在 P17 上的按钮时,连接在 P53 上的发光二极管亮,没有按则熄;Voidmain(void) WDTCTL = WDTPW + WDTHOLD / 关闭看门狗P5DIR|=0x0F; / 设置 P5.0P5.3 为输出方向P1DIR=0x0F; / 设置 P1.4 P1.7 为输入方向P1IE=0xf0; / 设置 P1.4 P1.7 可以中断P1IES=0xf0; / 设置 P1.4 P1.7 为下降中断_BIS_SR(LPM3_bits + GI

23、E)/ 进入最低功耗睡眠,打开总总断开关for (;)1.3.3 端口趣味实验音频扬声器发声的原理: 处在磁场中有电流的线圈产生震动,继而发声。不同的频率产生不同的声音;MSP430 的端口 可以输出不同的频率;继而可以推动扬声器产生不同的声音。图 2.4.1 为本实验的电路图。图 2.4.1 扬声器电路void s1(void)for(ff=30;ff500;ff+)P6OUT = BIT0; / 对输出置反for(tmp=0;tmpff;tmp+); / 延时1.3.4 通用独立按键式键盘设计按键的工作原理 在单片机设计中常用轻触按键作为输入设备键盘的单元电路。它一般是由两个电极与一个弹簧

24、金属片构成。如图实际上按键按下前后都有抖动,如图在系统中需要少量按键时,可使用按键与单片机的 I/O 口线直接连接的方法构成。4 只独立按键直接与 4 条口线相连相关程序:Delay 延时消除抖动1.3.5 液晶显示原理与应用图 2.7.1 表示了 4MUX 的显示原理。其中(a)说明了一个“8”字的四个公共端、 (b)说明了两个驱动端,当分别给 公共端与驱动端液晶信号时,就显示对应的数码。(a) (b)图 2.7.1 4MUX 显示模式下的公共端与驱动端在这种方式下,一个“8”字的显示只需要给 “COM0、COM1、COM2、COM3、SP1、SP2”对应的信号。而 COM0、COM1、CO

25、M2、 COM3 公共信号,所有的“8”字都需要与它们相连接。故真正表示一个“8”字的显示的就 只与 SP1、SP2 有关系了。所以在 4MUX 方式下,只需要两个驱动端即可表示一个“8”字的 显示。图 2.7.2 4MUX 方式下的液晶显示原理 液晶简介 此液晶一共 160 段,见图 3。上面为图标与 6 个“米”字,可以显示数字与英文字母,用 来表达一些指示性含义的符号。下面一排为 7 个“8”字与符号,显示数字,可以有具体的量 纲含义数据。图 2.7.3 与图 2.7.4 为此液晶“8”字、“米”字各笔段的定义。 表 1 为此液晶引脚真值表。图 2.7.3 液晶段码布局图 2.7.4 “

26、8”字、“米”字笔段定义表 2.7.1 引脚真值表硬件连接 硬件连接最简单,只需要 3 只电阻、一只晶体。然后将液晶的公共端与单片机的公共端; 液晶的各驱动段与单片机对应连接就可以了。具体电路如图 2.7.5 所示(MSP430F435)。图 2.7.5 液晶显示电路C 语言语句: LCDCTL = 0XFD;汇编语句: MOV.B #0FDH, &LCDCTLLCDMEM7=0xa; /显示两个表示时钟的”冒号”LCDMEM8=0x90; /显示 TIME1.3.6 使用 74HC373 扩展数码管显示数码管的原理 数码管为 8 只发光二极管按照一定规则排列构成。如图 2.8.1 所示,图中

27、的 abcdefg“” 为数码管的 8 只发光二极管的排列规则,由此可见:当这些发光二极管由不同的显示组合可 以得到不同的数字显示。图 2.8.1如果要显示数字“2”,如果 HGFEDCBA 对应一个字节的高到位 则显示码为:HGFEDCBA0 10 11 0 1 1 0x5b这样,每个数字就对应一个显示码。一般地,先将常用的显示数据对应的显示码放在数 组中,然后在数组中查表求得对应的显示码,再将对应的发光二级管显示。电路图见图 2.8.2。图 28.2 74HC373 扩展的数码管显示电路硬件连接:6 只数码管的显示电路,通过两片 373 扩展,其中 U5 为 8 位段码输出,U7 为 6

28、只数码 管的位选信号。也都连接在 P3 端口上。两片 74HC373 的输出由 P41、P40 数据锁存。扫描显示软件分析: 扫描显示的原理在于利用人眼睛的视觉暂停,让每个数码管只显示一点时间,所有的数码管轮流显示,而人眼睛看起来就象所有的都在显示一样。所以硬件上所有的数码管的段码端 都连接在一起,而每一个数码管的公共端(地)不连接在一起,而由 U7 选中每个是数码管。所以软件上,很明显,分几个步骤。 第一、将要显示的数码转换为段码。可使用查表的方式。比如要显示“1、2、3、4、5、6、7、8”分别在 8 个数码管上,首先安排段码表,设置一个数组 seg:unsigned char seg=0

29、x3f, 0x06, 0x5b, 0x4f, 0x66, 0x6d, 0x7d, 0x07, 0x7f, 0x6f, 0x77, 0x7c, 0x39, 0x5e, 0x79, 0x71则 5 的段码为 seg5。第二、将要显示的段码输出,这里使用 U5 输出。 第三、每输出一个要显示的段码,则使用 U7 选中应该显示的数码管。 第四、延时一小段时间。这个时间不能长,也不能短。太长则 8 只数码管看起来很抖动,太短则 8 只数码管一片模糊。 第五、循环第一到第四。1.3.7 MSP430 定时器的使用MSP430 系列单片机的定时器有基本定时器 BT、定时器 TA、定时器 TB、看 门狗定时器

30、 WDT 等。其中看门狗主要用于程序的完善性控制等方面;基本定时器除了可以用 于定时之外,还可以用于液晶显示的时序控制;TA、TB 基本相同,而且功能复杂。看门狗的目的在于阻止程序跑飞,其原理在于:看门狗定时器设置一定时时间,比如 250 毫秒,这个时间是所有用户程序一定能在此时间内执行完该程序的一个时间,设置好这个定 时时间之后,所有用户程序就必须在这个设定的时间内将看门狗计数器的值清零,使计数器 重新计数,如果 CPU 执行程序正确,则看门狗计数器始终能在规定的时间内被用户程序清零 而始终不能计数到 250 毫秒,而当 CPU 执行程序跑飞(PC 值指向用户程序以外),看门狗计 数器得不到用户程序清零,能计数到 250 毫秒,发生溢出,导致 CPU 复位,这样 CPU 又会 重新运行用户程序。所以使用看门狗时,用户软件必须周期性地在 WDTCTL 的 CNTCL 位写 “1”,使得看门狗计数器复位以防止其超过设定的定时时间。图 2.11.1 看门狗定时器的结构原理BT 是 MSP430X3XX、MSP430F4XX 系列器件中的模

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

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