1、学 号:200912010225HEBEI UNITED UNIVERSITY毕业设计说明书GRADUATE DESIGN设计题目:基于MSP430的人机交互界面的设计学生姓名:专业班级:09电科2班学 院:信息工程学院指导教师:讲师 2013年05月26日摘 要摘 要人机交互界面是人和机器进行沟通和交流的最直接的平台,即用户与机器互相传递信息的媒介,其中包括信息的输入和输出。在现代手持设备或便携式智能仪器中,人机交互界面已成为一种事实上的行业标准,人机交互技术的发展是伴随着计算机技术发展而快速的发展起来的,特别是计算机技术的推广和普及,显示技术的更新升级,以及大量便携式电子产品包括高端的智能
2、手机、平板电脑以及小到MP3音乐播放器、计算器的发展,都直接或间接的加大了对人机交互界面的需求。有需求的同时微功耗、小体积的界面设备更加的具有竞争力。基于低功耗的要求,本设计中采用了MSP430F149单片机作为系统的微控制器,充分发挥其优势,并且采用128*64像素的低电压液晶显示模块和矩阵式键盘构成一个中文的人机交互界面。以单片机原理、LCD显示技术等知识为基础,进行电子系统设计。关键词 人机交互界面;低功耗;MSP430F149;液晶显示;矩阵键盘-23-AbstractAbstractThe HMI interface is the most direct communication
3、and exchange platform for users and machines to pass each other information media, including input and output of information. The HMI interface is become a industry standard as in a fact for the mobile phone or some other intelligent instruments. With the development of the computer technology rapid
4、, especially the popularization of computer technology, technology updates and upgraded of display, and a large number of intelligence electronic products, including the intelligent mobile phone, Tablet PC as well as small as an MP3 music player, The HMI interface developed. And then its increase th
5、e demand of it. Which is more competitive as the demand as the micro-power and small size interface devices. Be based on the demand of the micro-power, the design use the SCM of MSP430F149 as a system. Give full play to their strengths, and low voltage of 128 * 64 pixel LCD module and keyboard matri
6、x to form a Chinese HMI interface. As the foundation of the principle of SCM, the display technology of the LCD to design the electronic system.Keywords: HMI interface; Low-power; MSP430F149; LCD display;Matrix keyboard 目 录目 录摘 要IABSTRACTII第1章 绪论11.1 人机交互技术的现状和前景11.1.1 人机交互技术发展现状11.1.2 人机交互技术发展前景11.
7、2 人机交互界面的发展21.3.本课题的来源31.4本文主要内容41.5 本章小结4第2章 主要芯片介绍52.1引言52.2 MSP430 系列单片机52.2.1 MSP430单片机的发展52.2.2 MSP430单片机的特点72.2.3 MSP430单片机的内部结构92.2.4 MSP430单片机的输入输出端口122.3 128*64 液晶显示器162.4本章小结18第3章 系统设计193.1引言193.2 系统需求分析193.2.1 系统功能分析193.2.2 系统操作流程图193.3系统功能硬件模块设计203.3.1 系统功能硬件模块的划分203.3.2单片机中心控制模块213.3.3液
8、晶显示模块223.3.4键盘输入模块233.3.5串行通信接口模块243.4 本章小结24第4章 系统软件设计254.1 引言254.2 LCD显示驱动函数编写254.2.1 接口定义254.2.2 检查忙标志信号BF264.2.3 写控制命令264.2.4 写数据274.2.5 液晶的初始化284.2.6 液晶显示汉字294.3 键盘控制驱动程序294.4 菜单程序设计314.5 串口通信程序设计354.6 本章小结39结 论40参考文献41谢 辞43附 录44 第1章 绪论第1章 绪论1.1 人机交互技术的发展现状和趋势1.1.1 人机交互技术发展现状人机交互是一门包括设计、评价和实现供人
9、们使用的交互式计算机系统,以及研究由此而发生的相关现象的学科。它包括机器通过输出或显示设备给人提供大量有关信息及提示请示等,人通过输入设备给机器输入有关信息,回答问题及提示请示等。人机交互技术是计算机用户界面设计中的重要内容之一。它与认知学、人机工程学、社会学、人类学等学科领域都有着密切的联系。通常人们可以通过使用键盘、鼠标、操作杆、位置跟踪器、数据手套等设备,用手、脚、声音、姿态和身体的动作、视线甚至脑电波等向计算机传递信息;计算机通过打印机,绘图仪、头盔式显示器、音频等输出设备或显示设备给人提供信息,从而实现信息的交互。人机交互技术是伴随计算机技术发展起来的,它经历了6个阶段:命令语言用户
10、界面、图形用户界面、直接操纵用户界面、多媒体用户界面、多通道用户界面、虚拟现实技术。从技术的发展趋势可以看出,人机接口界面的发展融合了多媒体多通道技术之后,使虚拟世界更像我们所熟识的现实世界,也更容易被人们所接受。目前,人机交互技术正处于多通道、多媒体的智能人机交互阶段,已经取得了不少研究成果,不少产品已经问世。人机交互技术领域热点技术在很多地方已经得到了应用,比如在智能手机中配备地理空间跟踪技术,应用于隐身技术、可穿戴式计算机、浸入式游戏等的动作识别技术,也可从各更高级的领域应用中找到身影,比如应用于虚拟现实、遥控机器人及远程医疗等的触觉交互技术,应用于呼叫路由、家庭自动化及语音拨号等场合的
11、语音识别技术,对于有语言障碍的人士的无声语音识别,应用于广告、网站、产品目录、杂志效用测试的眼动跟踪技术,针对有语言和行动障碍人开发的“意念轮椅”采用的基于脑电波的人机界面技术等。1.1.2 人机交互技术发展趋势人机交互技术的发展总是伴随计算机的发展不断向前进步,特别是CPU、GPU的运算能力日趋强大,网络和通信技术的飞速发展,显示技术的重大突破都将为人机交互提供新的起点与高度。互联网正在向“云端”计算时代发展,人机交互的发展仍将延续由以计算机为中心的复杂交互向以人为中心的简单、自然交互转移的理念。热点技术的应用开发是机遇也是挑战,基于视觉的手势识别率低,实时性差,需要研究各种算法来改善识别的
12、精度和速度,眼睛虹膜、掌纹、笔迹、步态、语音、唇读、人脸、DNA等人类特征的研发应用也正受到关注,自然语言理解虽然目前在语言模型、语料库等方面有进展外,仍将是人机交互的重要目标,多通道的整合也是人机交互的热点,另外,与“无所不在的计算”、“云计算”等相关技术的融合与促进也需要继续探索。综合计算机的发展趋势,我们可以得出结论是,人机交互技术的发展趋势有以下几个特点:1、朝着高科技的方向发展。计算机的发展趋势必然是趋向平面化、超薄型化、便携式、袖珍型,伴随着的输入方式的发展应是多通道化方式发展,比如,触摸屏、语音输入、跟踪球技术的发展,对应的输出方式多媒体技术、虚拟现实技术及强有力的视觉工作站将提
13、供真实、动态的影响和刺激灵感的用户界面,这将使得人机交互技术的发展必须满足快速发展的高科技。2、自然化。随着图形界面的广泛应用,将视觉、听觉、触觉、嗅觉技术和形体、手势或者口令自然的融入到环境空间中区,使得人们可以直接进行人机对话,从而获得更加身临其境的体验。3、人性化。从发展的眼光来看人机交互技术的发展,将会是朝着人的技术化和技术人性化的两个方向发展。在人的技术化方面,一方面是人们主动的去学习,探索从而使人的技术提高,另一方面是人们对技术的需求和受技术的约束性都在慢慢的加深人们对高科技技术的依赖性。技术人性化最大的提现就是在于计算机虚拟现实技术的实用化。虚拟现实和多通道用户界面的迅速发展显示
14、出未来人机交互技术的发展趋势是追求所谓“人机和谐”的多维信息空间和“基于自然交互方式的”的人机交互风格。1.2 人机交互界面的发展人机交互界面是指人和计算机系统之间的通信媒体或手段,是人与计算机之间符号和动作的双向信息交换的平台。基于人机交互技术上发展起来的人机交互界面技术同时具有着人机交互技术的发展特点和趋势。人和计算机的交互作用是通过用户界面来实现的。随着交互技术的发展,人机交互界面逐渐的成为一个独立的,比较新鲜的重要研究领域,并且正在受到世界各界的广泛关注,逐渐的成为20世纪90年代计算机行业的又一竞争领域。较之前的传统人机系统不相同的是,人机交互系统中人和计算机的交互形式已经发生了很大
15、的改变,已经渐渐转变成了两个“智能系统”即人和计算机之间的通讯和对话。人机交互研究的是人和计算机二者之间相互影响的方式,是集计算机科学、心理学、认知科学和社会学于一体的新兴学科。关键点是如何设计出一个有利于简化用户操作的界面同时又具有较多功能的设计。第一,以用户为中心,因为所有的设计最终都是面向用户的,因此在设计时必须要根据用户的实际需求来设计,使大多数的用户能够接受使用。第二,多通道。多通道指的就是要尽量的挖掘人机的各部分器官的功能特点,来符合用户的多方面的生理机能,达到身心舒适的效果的良好体验。第三,就是界面的细微设计上要遵循一定的原则,例如大小、明暗、粗细、曲线与直线、位置等方面的摆放都
16、有一定的原则。因此,在做人机交互界面设计前必须要先分析系统,然后根据具体需求来进行合理的布局安排,让使用者可以方便快捷的进行操作,减少使用出错率。计算机的出现导致了工业控制的一场革命,自动化技术的不断升级和发展,使得人机交互界面在工业自动化控制中频繁的使用。界面设计的引入对工业设计有着不可估量的意义。从此,人们将脱离功能与形式之争,从而把设计的中心转移到对人的关注。产品设计已经是软界面与硬界面的融合,以界面设计为中心的工业设计将会给产品设计带来新的设计理念和方法。1.3.本课题的来源随着社会需要和科学技术的发展,产品的竞争愈来愈激烈,更新的周期愈来愈短,因而要求设计者能很快地设计出新产品;而在
17、产品的整体设计中,人机交互界面的设计往往占据着很大一部分工作,这样,不但极大地增加了产品的开发成本而且延长了产品的上市周期,特别是在现代便携式智能仪器或手持设备中,中文人机界面成为一种事实上的行业标准。能显示汉字的图形点阵液晶和可输入数字的小键盘已成为智能设备必不可少的组成部分。随着电子技术和集成电路制造工艺的飞速发展,越来越多的领域应用到以单片机为控制核心的现代智能仪器设备,如果在这些以单片机为核心的控制系统中配上人机交互界面,通过液晶显示器和按键配合操作可更方便有效地完成各种功能选择、参数设置和分析结果显示,采用汉字显示菜单,界面友好且直观。随着液晶显示技术的进步,高质量的点阵液晶显示模块
18、由于具有显示信息丰富、功耗低、体积小、质量小、无辐射以及使用寿命长等优点被日趋广泛地应用于各种嵌入式系统中,同时低功耗特性也贯穿于中文人机界面的设计始终。本课题就是基于对低功耗的要求,且在便携式产品对人机交互界面的需求的不断上升的背景下,采用低功耗的单片机和低电压的液晶显示器进行设计一种控制面板简单,指令明确,表达丰富、确切且体积小的人机交互界面,可以进行信息的输入输出,是一种比较实用的人机交互工具。该人机交互界面可以应用在简单电子系统、工业自动控制等领域,并且在这些领域人机交互界面的具有广大的前景。1.4本文主要内容本文主要内容介绍了基于MSP430单片机进行人机交互界面设计。包括系统的设计
19、和各模块之间的设计,主要包括菜单设计和显示设计。基于对低功耗的要求,系统中采用的是低功耗MSP430系列单片机作为系统的微控制器,同时选取具有128*64像素的低电压液晶作为显示设备,在输入方面采用矩阵式键盘,通过响应的IO接口构成一个简易但实用的人机交互界面,系统具备了中文显示和图形显示功能,同时具有方便的控制界面菜单。在与外界的便携式系统进行通信的设计本文中是利用异步串行通信RS232接口实现,可以通过该通信方式进行信息交互和指令的设定。具有串口通信参数设置、温度参数校正、无线通信芯片参数数据修改、终端或路由功能选择路由树形结构设置等功能,按键信息显示,数据输入、修改、显示功能,数据图形显
20、示功能,,具有休眠功能和系统掉电信息保存功能。1.5 本章小结本章主要分析人机交互技术的发展现状和发展前景,了解人机交互技术发展的高科技化、自然化、人性化的趋势。通过分析人机交互技术的发展,更进一步理解了人机交互界面的发展在人机交互技术发展同时所提现出来的重要性。最后对本课题的来源以及本文主要内容进行了介绍。第2章 主要芯片介绍第2章 主要芯片介绍2.1引言MSP430系列单片机在超低功耗和功能集成等方面有明显的特点,在1996年问世,由于它具有极低的功耗、丰富的片内外设和方便灵活的开发手段,已成为众多单片机系列中的一颗耀眼的新星。在2000年该系列单片机又出现了几个FLASH型成员,他们处理
21、仍然具备适合应用在自动信号采集系统、电池供电便携式装置、超长时间连续工作的设备等领域的特点外,更具有开发方便、可以现场编程等优点。MSP430F14x系列是TI的MSP430F1x系列(FLASH存储器型)单片机中功能最强大的子系列。F14x具有更大的程序和数据存储区、更多的外围模块,其片内甚至还包括一个硬件乘法器。同时F14x系列单片机开发工具简便,固化于FLASH存储器内的程序易于在线升级和调试,非常适合于开发消费类便携式电子产品。 12864是128*64点阵液晶模块的点阵数简称,业界约定俗成的简称。图形点阵式液晶可显示用户自定义的任意符号和图形,并可卷动显示,它作为便携式单片机系统人机
22、交互界面的重要组成部分被广泛应用于实时检测和显示的仪器仪表中。支持汉字显示的图形点阵液晶在现代单片机应用系统中是一种十分常用的显示设备,汉字BP机、手机上的显示屏就是图形点阵液晶。它与行列式小键盘组成了现代单片机应用系统中最常用的人机交互界面。2.2 MSP430 系列单片机2.2.1 MSP430单片机的发展MSP430系列单片机是美国德州仪器1996年开始推向市场的一种16位超低功耗、具有精简指令集的混合信号处理器(Mixed Signal Processor)称之为混合信号处理器,是由于其针对实际应用需求,将多个不同功能的模拟电路、数字电路模块和微处理器集成在一个芯片上,以提供“单片机”
23、解决方案。该系列单片机多应用于需要电池供电的便携式仪器仪表中。回顾MSP430系列单片机的发展历程,我们可以总结出他的发展是经过以下三个阶段:1、开始阶段。从首先推出MSP430系列的1996年到2000年初,这个阶段首先推出有 33X、32X、31X 等几个系列,而后于2000 年初又推出了 11X、 11X1 系列。MSP430 的33X、32X、31X 等系列具有 LCD 驱动模块,对提高系统的集成度较有利。每一系列有 ROM 型( C )、 OTP 型( P )、和 EPROM 型( E )等芯片。 EPROM 型的价格昂贵,运行环境温度范围窄,主要用于样机开发。这也表明了这几个系列的
24、开发模式,即:用户可以用 EPROM 型开发样机;用 OTP 型进行小批量生产;而 ROM 型适应大批量生产的产品。 2000 年推出了 11X、11X1 系列。这个系列采用 20 脚封装,内存容量、片上功能和 I/O 引脚数比较少,但是价格比较低廉。这个时期的 MSP430 虽然已经体现出功耗低等一系列技术特点,但其所存在缺点也被逐渐的发现。它的许多重要特性,如:片内串行通信接口、硬件乘法器、足够的 I/O 引脚等,只有 33X系列才具备。 33X 系列价格较高,比较适合于较为复杂的应用系统。当用户设计需要更多考虑成本时,33X 并不一定是最适合的。而片内高精度 A/D 转换器又只有 32X
25、 系列才有。2、寻找突破,对Flash技术的引入阶段。随着 Flash 技术的迅速发展, TI 公司也将这一技术引入 MSP430 系列中。在2000年7月推出F13X、F14X系列,在2001年7月到2002年又相继推出F41X、F43X、F44X这些全部是Flash型单片机。F41X 单片机是目前应用比较广的单片机,它有 48 个I/O口,96段LCD 驱动。F43X、F44X系列是在13X、14X的基础上,增加了液晶驱动器,将驱动 LCD 的段数由 3XX 系列的最多 120 段增加到 160 段。并且相应地调整了显示存储器在存储区内的地址,为以后的发展拓展了空间。 MSP430 系列由
26、于具有 Flash 存储器,在系统设计、开发调试及实际应用上都表现出较明显的优点。这是 TI 公司推出具有 Flash 型存储器及 JTAG 边界扫描技术的廉价开发工具MSP-FET430X110 ,将国际上先进的 JTAG 技术和 Flash 在线编程技术引入MSP430。这种以 Flash 技术与 FET 开发工具组合的开发方式,具有方便、廉价、实用等优点,给用户提供了一个较为理想的样机开发方式。2001 年 TI 公司又公布了 BOOTSTRAP 技术,利用它可在烧断熔丝以后只要几根线就可更改并运行内部的程序。这为系统软件的升级提供了又一方便的手段。 BOOTSTRAP 具有很高的保密性
27、,口令可达到 32 个字节的长度。3、蓬勃发展阶段。在前一阶段,引进新技术和内部进行调整之后,为 MSP430 的功能扩展打下了良好的基础。于是 TI 公司在 2002 年底和 2003 年期间又陆续推出了 F15X 和 F16X 系列的产品。在这一新的系列中,有了两个方面的发展。一是从存储器方面来说,将 RAM 容量大大增加,如 F1611 的 RAM 容量增加到了 10KB 。这样一来,希望将实时操作系统( RTOS )引入 MSP430 的,就不会因 RAM 不够而发愁了。二是从外围模块来说,增加了I 2 C、 DMA 、DAC12 和 SVS 等模块。在2003年中,TI公司还推出了专
28、门用于电量计量的MSP430FE42X 和用于水表、气表、热表上的具有无磁传感模块的 MSP430FW42X 单片机。我们相信由于 MSP430 的开放性的基本架构和新技术的应用,新的 MSP430 的产品品种必将会不断出现。 2.2.2 MSP430单片机的特点具有Flash存储器的MSP430系列单片机,在系统设计、开发调试及实际应用中都表现出了明显的优点。MSP430 系列单片机的迅速发展和应用范围的不断扩大,主要取决于以下的特点:1、超低功耗。以在本设计中用到的MSP430F14X系列单片机进行说明。MSP430F14X单片机集中体现了现代单片机先进的低功耗设计理念。其设计结构完全以系
29、统低功耗运行为核心。 这种低功耗结构具体体现在以下四点: (1)高集成度的完全单片化设计。 将很多外围模块集成到了MCU芯片中,增大硬件冗余。内部以低功耗、低电压的原则设计,这样系统不仅功能强、性能可靠、成本降低,而且便于进一步微型化和便携化。(2)内部电路可选择性工作。 F14x单片机可以通过特殊功能寄存器选择使用不同的功能电路,即依靠软件选择其中不同的外围功能模块,对于不使用的模块使其停止工作,以减少无效功耗。(3)具有高速和低速两套时钟。系统运行频率越高,电源功耗就会相应增大。为更好地降低功耗,F14x单片机可采用三套独立的时钟源:高速的主时钟、低频时钟(如32.768kHz)以及DCO
30、片内时钟。可在满足功能需要的情况下按一定比例降低MCU主时钟频率,以降低电源功耗。在不需要高速运行的情况下,可选用副时钟低速运行,进一步降低功耗。通过软件对特殊功能寄存器赋值可改变CPU的时钟频率,或进行主时钟和副时钟切换。(4)具有多种节能工作模式。 F14x单片机具有五种节能模式:LPM0、LPM1、LPM2、LPM3、LPM4。这五种模式为其功耗管理提供了极好的性能保证。图2.1显示了活动状态(AM)与各种节能模式下消耗的实际工作电流大小。 图2.1 F14x的工作模式与工作电流关系由于MSP430F14x系列是专为超低功耗的便携式应用开发的。利用先进的集成电路技术和生产工艺,其功耗已经
31、跨越了毫安级,真正进军到了微安级。不仅如此,F14x的软件结构也针对低功耗而设计。如从备用模式唤醒MCU仅需6S。其中断和子程序调用无层次限制,这种丰富的中断能力减少了系统查询的需要,可以方便地设计出中断程序结构的控制程序。 利用F14x系列单片机,可以方便地构建一个低电压的工作平台。通过各功能模块的智能运行管理和MCU的节能模式相结合,可以解决运行速度、数据流量与低功耗设计的矛盾,将各功能模块的电流消耗降至最低状态,限制活动状态至最低要求。经过这样优化,可以实现单片机的极低功耗。如在1MHz工作频率下,F14x只消耗0.1400A电流(1.83.6V供电),如1.8V供电时,执行时仅消耗16
32、0uA的电流,备用时0.1uA,这时RAM中的数据还能有效保持。2、强大的处理能力。MSP430系列单片机是一个16位的单片机,采用了精简指令集(RISC)结构,具有丰富的寻址方式(7种源操作数寻址、4种目的操作数寻址)、简洁的27 条内核指令以及大量的模拟指令;大量的寄存器以及片内数据存储器都可参加多种运算;还有高效的查表处理指令;有较高的处理速度,在 8MHz 晶体驱动下指令周期为 125 ns 。这些特点保证了可编制出高效率的源程序。在运算速度方面,MSP430系列单片机能在 8MHz 晶体的驱动下,实现 125ns 的指令周期。16位的数据宽度、125ns 的指令周期以及多功能的硬件乘
33、法器(能实现乘加)相配合,能实现数字信号处理的某些算法(如 FFT 等)。MSP430系列单片机的中断源较多,并且可以任意嵌套,使用时灵活方便。当系统处于省电的备用状态时,用中断请求将它唤醒只用 6us 。3、系统工作稳定。上电复位后,首先由 DCOCLK 启动CPU,以保证程序从正确的位置开始执行,保证晶体振荡器有足够的起振及稳定时间。然后软件可设置适当的寄存器的控制位来确定最后的系统时钟频率。如果晶体振荡器在用做 CPU 时钟MCLK时发生故障,DCO会自动启动,以保证系统正常工作;如果程序跑飞,可用看门狗将其复位。 4、片内资源丰富。MSP430 系列单片机的各系列都集成了较丰富的片内外
34、设。它们分别是看门狗(WDT)、模拟比较器A、定时器A0(Timer_A0)、定时器A1(Timer_A1)、定时器B0(Timer_B0)、UART、SPI、I2C、硬件乘法器、液晶驱动器、10位/12位ADC、16位- ADC、DMA、I/O端口、基本定时器(Basic Timer)、实时时钟(RTC)和USB控制器等若干外围模块的不同组合。其中,看门狗可以使程序失控时迅速复位;模拟比较器进行模拟电压的比较,配合定时器,可设计出 A/D 转换器;16 位定时器(Timer_A 和 Timer_B)具有捕获/比较功能,大量的捕获/比较寄存器,可用于事件计数、时序发生、 PWM 等;有的器件更
35、具有可实现异步、同步及多址访问串行通信接口可方便的实现多机通信等应用;具有较多的 I/O 端口,P0、P1、P2 端口能够接收外部上升沿或下降沿的中断输入;10/12位硬件 A/D 转换器有较高的转换速率,最高可达200kbps ,能够满足大多数数据采集应用;能直接驱动液晶多达 160 段;实现两路的 12 位 D/A 转换;硬件I2C串行总线接口实现存储器串行扩展;以及为了增加数据传输速度,而采用的DMA模块。MSP430 系列单片机的这些片内外设为系统的单片解决方案提供了极大的方便。5、方便高效的开发环境。MSP430 系列有 OPT 型、 FLASH 型和 ROM 型三种类型的器件,这些
36、器件的开发手段不同。对于 OPT 型和 ROM 型的器件是使用仿真器开发成功之后烧写或掩膜芯片;对于 FLASH 型则有十分方便的开发调试环境,因为器件片内有 JTAG 调试接口,还有可电擦写的 FLASH 存储器,因此采用先下载程序到 FLASH 内,再在器件内通过软件控制程序的运行,由 JTAG 接口读取片内信息供设计者调试使用的方法进行开发。这种方式只需要一台 PC 机和一个 JTAG 调试器,而不需要仿真器和编程器。开发语言有汇编语言和 C 语言。6、多种存储形式和适应工业级运行环境。MSP14X的各个型号大多有性能相同而存储器不同的ROM型、OTP型,以适应产品在设计、开发、生产的各
37、个不同阶段的需要。同时,MSP430F1X的运行环境温度范围为-40+85,所以,用其设计的产品适合运行在工业环境下。2.2.3 MSP430单片机的内部结构MSP430系列采用存储器存储器结构,即用一个公共的空间对全部功能模块寻址,同时用精简指令组对全部功能模块进行操作。图2.2显示的是MSP430单片机的系统结构。图2.2 MSP430系统结构MSP430系列器件包含CPU、程序存储器(ROM和Flash ROM)、数据存储器(RAM)、运行控制器、外围模块和振荡器和倍频器等主要功能模块,从上面的图一可以看出,MSP430内部包含了计算机的所有部件,是一个真正的单片机(微控制器MCU)。C
38、PUMSP430的CPU运行正交的精简指令集,由16位ALU、指令控制逻辑和16个寄存器组成。寄存器中有4个具有特殊用途,即:程序计数器R0/PC、堆栈指针R1/SP、状态寄存器和常数发生器R2/SR/CG1、R3/CG2。除了CG1和CG2,所有的寄存器都可以作为通用寄存器,用所有指令操作。常数发生器只用用于指令执行时提供常数,但不能存储数据。对CG1、CG2访问时的寻址模式可以区分所获得的常数数值。PC、SP和SR配合精简指令所实现的控制,可以使用系统的程序设计实现复杂的寻址模式和软件算法。程序存储器对程序存储的访问,对于程序代码总是一字形式去的,而对于数据可以使用字或字节指令进行访问。每
39、次访问需要16位数据总线(MDB)和访问当前存储器模块所需的地址总线(MAB)。存储器模块由内部模块允许信号自动选中,这样可以减少总的电流消耗。对于MSP430F系列,程序存储器是FLASH的。在程序设计中,可以讲数据安排在程序存储器中,让门可以用字或字节指令方式访问,因此可以实现查表处理等应用。64KB空间顶部的16字(0FFFFh0FFE0h)保留用作抚慰及中断的向量地址。数据存储器数据存储器(RAM)与程序存储器相同,经地址总线(MAB)和数据总线(MDB)与CPU相连。RAM内的数据可以以字或字节宽度访问。由于RAM与程序存储器是经过相同的地址总线和数据总线与CPU相连,因此程序代码可
40、以装入RAM,也可以在RAM内运行。这对于程序的调试提供了很大的方便。所有指令都有字节操作或字操作形式。但是,对堆栈和PC的操作是按字宽度进行的,寻址时必须对准偶地址。运行控制MSP430的运行主要受控于存储在特殊寄存器(SFR)中的信息。SFR中的各位信息可以允许中断以支持取决于中断标志状态软件;可以定义外围模块的工作模式,被禁止的外围模块将暂停运行以减少电流的消耗,而所有存储在模块寄存器中的数据仍然保留。外围模块外围模块经MAB、MDB和中断服务及请求线与CPU相连。对于大多数外围模块,MAB通常是5位数,MDB是8位或者16位。大多数外围模块工作在字节形式。8位总线的模块经总线转换电路连
41、到16位的CPU。这些模块的数据交换毫无例外必须用字节指令操作,SFR的处理也全部为字节指令;部分工作在字形式的外围模块必须用字指令操作。振荡器与时钟发生器振荡器LFXT1是专门的为通用的低功耗32768Hz时钟晶振设计的,但是也可以用一个高速的晶振工作。当用32768Hz晶振时,除了晶体外接外,所有的模拟元件都集成在片内。如果采用高速晶振,仍需要外接负载电容。对于MSP430F13X和MSP430F14X,片内还有一个可实现高速晶振的XT2振荡器。除了晶体振荡器外,MSP430系列FLASH型芯片都有一个数控RC振荡器(DCO)。DCO与其他普通的RC振荡器不同,它是可以实现数字控制及频率调
42、节的。外围模块及CPU的时钟选择非常灵活。绝大多数外围模块设计成可以用32768Hz、高速晶振或DCO来工作。CPU可以用DCO工作,也可以哟in个晶振时钟信号运行。2.2.4 MSP430单片机的输入输出端口MSP430通用I/O端口的设计提供了最大的灵活性。每一个端口的所有引脚可以单独配置,大部分具有中断能力。MSP430的FLASH型芯片有2类I/O端口。P1和P2是一类,P3、P4、P5和P6是另一类。这两类I/O端口都具有控制I/O方向、输入、输出的能力。P1、P2具有中断能力,每一个引脚都可以单独选择中断触发沿、单独允许中断。F11x、F11x1只有P1和P2.由于封装的原因,P2
43、只有6个引脚,但是内部逻辑是完整的。F13x、F14x有全部的P1P6端口。端口P1、P2图2.3是P1、P2的结构,通用端口P1和P2各有8个引脚及各自的控制寄存器,每一个引脚可以单独控制,并且每一个引脚都可用作中断源。P1、P2各有一个中断向量。P1.0P1.7产生同一个中断,P2.0P2.7也产生同一个中断。它们各有7个寄存器用来控制端口的引脚。P1、P2经过8位MDB和MAB与处理内核连接,它们必须用字节指令以绝对地址模式进行访问。7个控制寄存器为I/O功能的配置提供了最大的灵活性,即:所有I/O位均可独立编程。可以有各种输入、输出和中断条件的组合。P1和P2的8位全部可用于对外部事件
44、的中断处理。P1和P2的7个寄存器分别见表2-1和表2-2。图2.3 P1、P2结构表2-1 P1寄存器寄存器简称寄存器类型地址初始状态输入寄存器P1IN只读020h输出寄存器P1OUT读/写021h不变方向寄存器P1DIR读/写022h复位中断标志位P1IFG读/写023h复位中断触发沿选择P1IES读/写024h不变中断允许P1IE读/写025h复位功能选择寄存器P1SEL读/写026h复位表2-2 P2寄存器寄存器简称寄存器类型地址初始状态输入寄存器P2IN只读028h输出寄存器P2OUT读/写029h不变方向寄存器P2DIR读/写02Ah复位中断标志位P2IFG读/写02Bh复位中断触
45、发沿选择P2IES读/写02Ch不变中断允许P2IE读/写02Dh复位功能选择寄存器P2SEL读/写02Eh复位以上所有寄存器为8位,必须用字节指令以绝对寻址模式进行访问。输入寄存器P1IN、P2IN:这两个只读存储器反映I/O引脚上的信号,对只读存储器的写入会在写有效期间增加电流消耗。输出寄存器P1OUT、P2OUT:如果I/O引脚用作输出,则8位的输出寄存器提供相应位的输出缓存信息。输出缓存可用所有含目的操作书的指令修改。在读取时,输出缓存的内容和引脚定义方向无关,改变方向不会改变输出缓存的内容。方向寄存器P1DIR和P2DIR:每个寄存器含有相互独立的8位,用于定义每个I/O引脚的方向。
46、各位在PUC后复位。0-I/O引脚切换成输入模式;1-I/O引脚切换成输出模式;中断标志寄存器P1IFG和P2IFG:每个寄存器对应于I/O应缴的8个标志位,表示是否有中断挂器。0-表示没有待处理的中断;1由于I/O引脚电平跳变或软件对这一位的设置会产生待处理的中断。对寄存器P1OUT和P1DIR及对P2OUT和P2DIR的操作可能是P1IFG和P2IFG中相应位置位。对某一个中断标志写“0”使它复位,写“1”使它置位并产生中断。每一组中断标志P1IFG.0P1IFG.7和P2IFG.0P2IFG.7只用一个中断向量,它们都是多源中断向量。当中断被受时这些标志位不会自动复位,要由中断服务程序来
47、确定中断源,并将响应的标志复位。中断触发沿选择寄存器P1IES和P2IES:中断触发沿选择寄存器中对应寄存器中对应每一个I/O引脚都有1位选择触发器中断标志的电平跳变,意义如下:电平由低到高跳变使标志置位;电平由高到低跳变使标志置位。中断允许寄存器P1IE和P2IE:中断允许寄存器对应每一个I/O引脚都有一相应的允许位,可允许或禁止中断,意义如下:禁止中断请求;允许中断请求。功能选择寄存器P1SEL和P2SEl:为了减少MSP430的引脚,P1、P2引脚与外围模块的引脚同用。P1SEL和P2SEl用来选择引脚的I/O端口功能或者外围模块功能。每个寄存器都有相互独立的8位来定义访问I/O引脚的功能为端口或者外围模块单元,各位在PUC后复位,意义如下:端口功能;外围模块功能。当端口功能选择为外围模块的输入时,输入到外围模块的信号是锁存的。锁存器用PnSEL.x位作使能信号,当PnSEL.x=1时,外围模块输入信号跟随引脚信号;PnSEL.x=0时,作为外围模块输入信号的锁存器输出信号实际上是PnSEL.x复位时的引脚信号。端口P3、P4、P5和P6通用端口P3、P4、P5和P6的结构见图2.每个引