1_第2章MSP430单片机的内部资源

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

09HO2主编第2章MSP430单片机的内部资源2.1MSP430单片机选型2.2I/O口2.3时钟系统与低功耗模式2.4BasicTimer基础定时器2.5LCD控制器2.6存储器与Flash控制器2.716位ADC2.816位定时器TimerA2.9增强型异步串行通信接口2.1MSP430单片机选型MSP430单片机家族型号繁多,TI公司用3或4位数字表示型号,其中第一位数字表示大系列。目前有4个大系列:带有液晶驱动器的MSP430F4xx系列单片机、不带液晶驱动器的MSP430F1xx系列单片机、16MIPS高速MSP430F2xx系列单片机、一次性写入(OTP)型低价MSP430C系列单片机。2.2I/O口2.2.1I/O口寄存器2.2.2I/O口中断2.2.3“线与”逻辑2.2.4电平冲突2.2.5兼容性2.2.6电容感应式触控2.2.1I/O口寄存器例2.2.1在MSP430单片机系统中,P1.5、P1.6、P1.7接有按键,P1.1、P1.3、P1.4接有LED,将P1.5、P1.6、P1.7的方向设为输入,P1.1、P1.3、P1.4的方向设为输出:2.2.1I/O口寄存器PxDIR寄存器在复位过程中会被清0,没有被设置的I/O口方向均为输入状态,所以第二句也可以省略。注意未用的I/O口线应当设为输出,以降低漏电流。例2.2.2在P1.5口接有一按键,按下为低电平。要求判断:若该按键处于按下状态(低电平),则从P1.1口输出高电平点亮LED。2.2.1I/O口寄存器PxSEL寄存器用于设置每一位I/O的功能:0=普通I/O口1=第二功能•在MSP430单片机中,很多内部功能模块也需要和外界进行数据交流,为了不增加芯片管脚数量,大部分都和I/O口复用管脚。导致MSP430单片机大多数I/O管脚都具有第二功能。通过寄存器PxSEL可以指定某些I/O管脚作为第二功能使用。例如从DataSheet的管脚排布图中查到MSP430x42x系列单片机的P2.4、P2.5口和串口的TXD、RXD公用管脚。若需要将这两个管脚配置为串口收发脚,则须将P2SEL的4、5位置高:2.2.1I/O口寄存器2.2.2I/O口中断在MSP430所有的单片机中,P1口、P2口总共16个I/O口均能作引发中断。在MSP430x42x系列中,14个I/O都属于P1或P2口,因此每个I/O都能作为中断源使用。通过下列两个寄存器配置I/O口作为中断使用:■PxIE寄存器用于设置每一位I/O的中断允许:0=不允许1=允许■PxIES寄存器用于选择每一位I/O的中断触发沿:0=上升沿1=下降沿例2.2.3将P1.5、P1.6、P1.7口设为中断源,下降沿触发:PxIFG寄存器是I/O中断标志寄存器:0=中断条件不成立1=中断条件曾经成立过无论中断是否被允许,也不论是否正在执行中断服务程序,只要对应I/O满足了中断条件(例如一个下降沿的到来),PxIFG中的相应位都会立即置1并保持,只能通过软件人工清除。这种机制的目的在于最大可能的保证不会漏掉每一次中断。在MSP430系列单片机中,P1口的8个中断和P2口8个中断各公用了一个中断入口,因此该寄存器另一重要作用在于中断服务程序中用于判断哪一位I/O产生了中断。例2.2.4在MSP430单片机系统中,P1.5、P1.6、P1.7发生中断后执行不同的代码:例2.2.4在MSP430单片机系统中,P1.5、P1.6、P1.7发生中断后执行不同的代码:图2.2.1按键过程产生的毛刺例2.2.5在MSP430单片机系统中,P1.5、P1.6、P1.7口各接有一只按键(见图2.2.2)。要求按KEY1键时速度变量值增加,按KEY2键时速度降低,按KEY3键时速度变为0。图2.2.2用I/O口作键盘输入2.2.3“线与”逻辑MSP430单片机的I/O口是CMOS型,特点是当I/O处于输入状态时,呈高阻态;当I/O处于输出状态时,高低电平都具有较强输出能力。若输出高电平的I/O口和输出低电平的I/O口直接连接,则会因短路造成损坏,不像8051的I/O那样能实现“线与”功能。但可以通过I/O方向切换的方法模拟出来。2.2.4电平冲突例2.2.6电平冲突的问题经常发生在数据输入和双向数据交换的应用中,要特别注意。例如下面一些代码都很可能是单片机的毁灭者:2.2.5兼容性(1)5V逻辑器件输出至MSP430单片机这是最简单的一种情况,将5V逻辑通过10kΩ和20kΩ电阻分压后即转换成3V逻辑(见图2.2.3a)。(2)MSP430单片机输出至5V逻辑器件输入这种情况首先要看接收器件的高电平门限,一般接收芯片或设备的手册都会给出(VIH值)。(3)双向数据传输双向数据传输中,不仅要转换电平,还需要切换方向。(4)驱动5V以上的逻辑利用漏级开路的门电路(如74HC07/06等)可以实现逻辑电平的变化,输出端的上拉电阻所接的电压就决定了输出逻辑电平。图2.2.3逻辑电平转换电路2.2.6电容感应式触控图2.2.4电容感应式触控按键的结构与原理2.2.6电容感应式触控图2.2.5两个触控键公用电阻2.2.6电容感应式触控图2.2.6常见触控键排列方式2.3时钟系统与低功耗模式2.3.1时钟系统结构与原理2.3.2低功耗模式2.3.3低功耗模式的应用2.3.1时钟系统结构与原理MCLK:主时钟(MasterClock)。MCLK是专为CPU运行提供的时钟。SMCLK:子系统时钟(SubsystemMasterClock),也称辅助时钟。ACLK:活动时钟(ActiveClock)。ACLK一般是由32.768kHz晶体直接产生的低频时钟,在单片机运行过程中一般不关闭,用于产生节拍时基,或和定时器配合间歇唤醒CPU。2.3.1时钟系统结构与原理图2.3.1MSP430F42x/41x系列单片机时钟系统2.3.1时钟系统结构与原理图2.3.2MSP430F42x单片机时钟振荡器例2.3.1MSP430F42x单片机外部接有32.768kHz晶振,为其配置时钟:例2.3.2MSP430F42x单片机外部接有1MHz晶振,并要从P1.5输出250kHz时钟给某外部逻辑电路使用:图2.3.3MSP430F42x/41x单片机时钟倍频器结构2.3.1时钟系统结构与原理例2.3.3MSP430F42x单片机外部接有32.768kHz手表晶振,CPU需要2MHz左右时钟频率:例2.3.4MSP430F42x单片机外部接有32.768kHz手表晶振,CPU需要2.752MHz时钟频率。2.752MHz是32.768kHz的84倍。因此分频系数N=84-1=83。图2.3.4MSP430F4xx/1xx单片机时最高钟频率与电源电压关系2.3.1时钟系统结构与原理2.3.2低功耗模式表2.3.1MSP430F42x单片机低功耗模式2.3.2低功耗模式表2.3.2MSP430F42x单片机低功耗模式与时钟的关系2.3.2低功耗模式2.3.3低功耗模式的应用(1)间歇工作(2)替代程序流程中的等待过程(3)作为电源开关(1)间歇工作实际的系统中,很多设备都不必一直连续工作,让大部分设备间歇工作,并尽可能延长工作时间间隔、减少活动时间、加深休眠深度。这是超低功耗系统设计最重要的方法。(2)替代程序流程中的等待过程MSP430单片机中,几乎所有的设备都能产生中断,目的在于让CPU无需查询也能等待设备。方法是用休眠替代查询等待,设备在发生状态变化时将会主动唤醒CPU进行后续的处理。(3)作为电源开关在所有的休眠模式中,LPM4的功耗是最低的,仅0.1μA。进入LPM4后单片机内部所有的部件都不再活动,仅保持RAM内数据和I/O口状态不变。利用LPM4可以在不切断电源的情况下实现“软件关机”。2.4BasicTimer基础定时器2.4.1BasicTimer结构与原理2.4.2BasicTimer中断2.4.3BasicTimer的应用2.4.1BasicTimer结构与原理图2.4.1MSP430F4xx单片机BasicTimer结构图例2.4.1在某MSP430单片机系统中,ACLK时钟频率为32.768kHz。用BasicTimer定时器产生周期为1/4s的定时中断,同时为LCD提供512Hz的刷新时钟。例2.4.2在某MSP430单片机系统中,ACLK时钟频率为32.768kHz。用BasicTimer定时器产生周期为1/1024s的定时中断,同时为LCD提供256Hz的刷新时钟。2.4.2BasicTimer中断在BasicTimer第二级分频器的8个输出抽头中,被选中的抽头每次由0到1的跳变(计数进位)会产生中断标志。例2.4.3在某MSP430单片机系统中,ACLK时钟频率为32.768kHz。用BasicTimer定时器让P2.0口上的LED每秒闪烁一次,同时为LCD提供256Hz的刷新时钟。2.4.3BasicTimer的应用(1)周期性唤醒CPU当MSP430单片机系统进入低功耗模式后,周期性地将其唤醒,查询是否有需要处理的事件,这种方法叫做定时查询。(2)产生延时利用BasicTimer可以设计超低功耗的延迟函数。(3)RTC计时BasicTimer的结构就是一个二进制计数器,而作为时钟源的低频晶振一般都是32.768kHz(215Hz),经过分频后恰好能产生(1/2N)s的定时节拍。(4)获得更高分辨率BasicTimer的结构使得它适合产生(1/2N)s的定时中断。例2.4.5编写延时程序,要求延时期间CPU休眠,以降低功耗。例2.4.6在某MSP430单片机系统中,ACLK时钟频率为32.768kHz。用BasicTimer定时器产生0.75s的定时中断。例2.4.7在某430单片机系统中,ACLK时钟频率为32.768kHz。用BasicTimer定时器为0.25s、0.5s、0.75s、1.5s共4个定时服务程序提供时钟节拍。2.5LCD控制器2.5.1LCD的工作原理2.5.2LCD与MSP430单片机的连接2.5.3LCD控制器的结构与原理2.5.4LCD的显示缓存2.5.5LCD控制器的应用2.5.1LCD的工作原理图2.5.1LCD剖面示意图2.5.2LCD与MSP430单片机的连接MSP430F4xx系列单片机的LCD控制器支持静态、2-MUX、3-MUX、4-MUX这4种驱动方式,不同方式下硬件连接关系略有不同,其中静态方式与4-MUX方式最常用,3-MUX方式极罕见,本书略。单片机与LCD相关的管脚分为以下3组:1)COM0~COM3:公共端,与LCD的COM端相连。2)S0~S31:段驱动,与LCD的SP端相连。3)R03、R13、R23、R33:由外部分压电阻提供LCD驱动波形所需偏压V1~V5。图2.5.2静态驱动方式LCD与单片机的连接2.5.2LCD与MSP430单片机的连接图2.5.32-MUX驱动方式LCD与单片机的连接2.5.2LCD与MSP430单片机的连接图2.5.44-MUX驱动方式LCD与单片机的连接2.5.2LCD与MSP430单片机的连接2.5.3LCD控制器的结构与原理图2.5.5LCD控制器内部结构例2.5.1某MSP430单片机系统,接有4位数字的静态LCD,为其配置LCD控制器。例2.5.2某MSP430单片机系统,接有6位数字的4-MUX模式LCD,为其配置LCD控制器。例2.5.3让LCD显示器的显示内容每秒闪烁2次,可以在1/4s定时中断内调用:图2.5.6用运放为特大尺寸LCD提供偏压2.5.3LCD控制器的结构与原理2.5.4LCD的显示缓存MSP430单片机的LCD控制器提供了最多20字节的显存(不同型号数量不一样,MSP430F42x系列带有16字节显存)用于控制LCD显示内容。在不同的驱动模式以及不同的硬件连接情况下,都会导致显存字节中各比特与LCD笔划之间的对用关系发生变化。2.5.4LCD的显示缓存例2.5.4在4-MUX方式的LCD中,有8位显示数字,

1 / 191
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功