您好,欢迎来到叨叨游戏网。
搜索
您的当前位置:首页单片机重点(详)

单片机重点(详)

来源:叨叨游戏网
MSP430单片机种类:MSP430F1xx系列MSP430F2xx系列Msp430G2xx系列MSP430F4xx系列MSP430F5xx系列MSP430F6xx系列MSP430FRAM系列RF SoC系列

注:(MSP430系列单片机种类繁多,每一系列的单片机又包含若干不同种类的单片机)

命名规则:(MSP430F6638IPZ):MSP(Mixed Signal Processor)为处理器类型(CC:嵌入式射频无线电,MSP:混合信号处理器,XMS:实验性)、430代表430微控制器平台、F为器件类型(C:ROM,F:Flash,FR:FRAM),第一个6表示6XX系列(1~6xx系列),第二个6表示子系列,38表示存储容量为256kb及相应的外设配置,I表示工业级,PZ表示LQFP封装。

MSP430系列单片机的特点:1超低功耗2强大的处理能力3高性能模拟技术及丰富的片内外围设备4系统工作稳定5方便高校的开发环境

超低功耗单片机的造型与设计原则:1电源电压一般采用1.8~3.6V低电压2独特的时钟系统设计,包括两个不同的时钟系统:基本时钟系统和锁频环(FLL和FLL+)时钟系统或DCO数字控制振荡器时钟系统。3采用矢量中断,支持多个中断源,并可以任意嵌套。

CPU有16个16位寄存器,包括4个专用寄存器(R0~R3)和12个通用寄存器(R4~R15)

1、R0:程序计数器(PC)

16位的程序计数器存放着下一条将要从程序存储器中取出的指令的地址; 程序计数器的实现依赖于指令使用的字节数(总是偶数); 由于指令是16位的,所以程序计数器一定是在偶数地址对齐。 2、R1:堆栈指针(SP)(R1可用于保存堆栈指针)

*用户可使用堆栈指针存储数据 {PUSH指令用来存数据,POP指令用来取数据}

*用户和编译器均可使用堆栈为子函数传递参数(PUSH,POP用于调用函数,被调函数使用SP来计算偏移) *系统进入子函数之前,把PC值存储到堆栈中,从子函数返回时,在取出堆栈中的值,重新赋值给PC *系统堆栈在系统进入中断服务程序时,首先保护PC,然后将中断矢量的地址送入PC,再执行中断服务程序。中断服务程序执行完毕,遇到返回指令时,堆栈的内容送PC,程序又回到原来的地方继续执行。在函数调用之前保存的寄存器变量、局部变量和参数都不会变。

3、R2:状态寄存器(SR)状态寄存器用来存储状态位和控制位。CPU根据计算结果自动修改系统标志 状态寄存器的预留位用来支持常量发生器 SR各位描述如下

V:溢出位,当运算结果超出有符号数范围时置位,对字和字节格式均有效。 SCG1:系统时钟生成器 0,SCG1=1时DOC生成器被关闭 SCG0:系统时钟生成器 1 ,SCG0=1时FLL+循环控制被关闭

注:SCG0/1:系统时钟生成器控制位(0/1),控制系统时钟生成器的4种状态。 OSCOFF:振荡器关闭,为1时关闭LFXT1 CPUOFF:CPU关闭,为1时禁用CPU

GIE:一般中断使能位,为1时使能可屏蔽中断 N:负数位(求反标志位),为1表示负数 Z:零位(零标识位),为1时表示0

C:进位位(进位标识位),为1时表示字节或字运算产生进位

4、R2/R3: 常量发生寄存器(CG1/CG2)根据源寄存器寻址模式(AS)的值,常量发生寄存器不需要通过代码字或代码内存访问即可生成6个常用常量。

R2/R3 与AS(00~11)值组合有8种方式,如下: R2 00:寄存器寻址模式 R2 01:绝对寻址模式

R2 10:生成常量00004h, +4,位处理 R2 11:00008h, +8,位处理 R3 00:00000h, 0,字处理 R3 01:00001h, +1

R3 10:00002h, +2,位处理 R3 11:0FFFFh, -1,字处理 5、通用寄存器

可以用来保存数据值、地址指针或索引值可以通过字节或字指令访问通用寄存器

指令系统(仿真、内核指令)

1、指令集包括27种内核指令,支持24种仿真指令。 2、内核指令是唯一的操作码

3、汇编器和编译器用来生成仿真指令的助记符

4、3种内核指令格式:双操作数、单操作数、程序流控制—跳转。 1、MSP430系列单机 5个时钟模块构成:低频振荡器、高频振荡器、控制逻辑、数字控制振荡器(DOC)锁频环(FLL) 2、各系列单片机的基础时钟模块都输出3种时钟:辅助时钟(ACLK)、主系统时钟(MCLK)、子系统时钟(SMCLK)

ALCK一般用于低速外设模块MCLK主要用于CPU和系统SMCLK主要用于高速外设模块 3、5XX/6xx时钟模块有5个时钟输入源

*XT1CLK:低频时钟源(可工作于高频模式),4MHz~32MHz。可作为FLL的参考时钟 *XT2CLK:高频时钟源,4MHz~32MHz。某些型号没有XT2CLK *VLOCLK:低功耗低频内部时钟源,典型值10kHz

*REFOCLK:低频修整内部参考时钟源,典型值32768Hz,FLL基准时钟 *DCOCLK:片内数字控制时钟源,可通过FLL稳定

P53 UCSCTL6寄存器及其每个字段的含义-----重点标准时钟系统控制寄存器6

Bits 15~14:XT2DRIVE,默认最大驱动(即11),可自行减小驱动

00 最低电流消耗。XT2晶振频率 4MHz~8MHz 01 驱动力稍增大。8MHz~16MHz 10 驱动力增大。16MHz~24MHz

11 驱动力和电流消耗均达到最大。 24MHz~32MHz Bit 12:XT2BYPASS,XT2旁路模式选择

0 XT2由晶振产生 1 XT2由外部引脚输入 Bit 8:XT2OFF,关闭XT2晶振

0 XT2已通过端口选择,非旁路模式,则XT2被打开 1 XT2没有被用作时钟源和FLL的校验源,则XT2关闭 Bits 7~6:XT1DRIVE,默认最大驱动可自行减小驱动

00、01、10、11与XT2相同 Bit 5:XTS,XT1模式选择

0 低频模式 1 高频模式

Bit 4:XT1BYPASS ,XT1旁路模式选择(与XT2相同) Bits 3~2:XCAP,低频晶振电容选择

Bit 1:SMCLKOFF,用于关闭SMCLK信号

0 SMCLK开启 1 SMCLK关闭

Bit 0:XT1OFF,用于关闭XT1晶振

0 已经通过端口选择,非旁路模式,则XT1被打开 1 没有被用作时钟源和FLL的校验源,则XT1关闭

1、中断是应用程序的外部事件,CPU能够快速响应中断,在没有中断请求时,CPU执行其他程序,中断发生时执行中断服务程序(ISR),当中断程序执行结束后,程序返回到中断发生前的状态继续执行。

2、MSP430中断源:内部中断、外部中断

3、中断分为:复位中断、不可屏蔽中断(NMI),可屏蔽中断。

P61 低功耗模式(1种活跃,7种非活跃)、SCG1、SCG0、OSCOFF、CPUOFF如何设置

1、MSP430系列单片机各个模块运行完全,可在CPU休眠状态下运行。系统以最低功耗运行,当需要CPU工作时,任何模块都可以通过中断唤醒CPU。

2、为了充分利用CPU低功耗性能,可使CPU处于突发状态。 3、MSP430的瞬间响应特性是超低功耗事件驱动的重要保证

4、控制位SCG1、SCG0、OSCOFF、CPUOFF可配置8中工作模式:1种活跃模式与7种低功耗模式。转换P63图3.12

P65 响应中断堆栈的变化

1、#1:PC入栈-->SR入栈-->中断向量赋给PC-->GIE、CPUOFF、OSCOFF、SCG1清除(进入活动模式)-->IFG标志位清楚。#2:执行中断子程序。3#:SR出栈、PC出栈。堆栈的变化参考P65图3.13以及实例图3.14和图3.15. P72 通用输入/输出端口(GPIO):PXDIR、PXOUT、PXSEL、PXIN 上电为什么状态

1、GPIO可配置为可中断型和不可中断型;

2、这些端口可被的配置成通用性I/O或者专用型I/O; 3、MSP430输入/输出都是通过指令来完成的

4、PxDIR输入/输出寄存器(8个引脚方向):使用输入和输出功能时先定义端口方向(如:P1DIR = 0x01;表示P1端口的P1.0设置为输出方向,其余(P1.1~P.7)为输出)。作为输入时,只能读;作为输出时可读可写。

5、PxIN输入寄存器:只读寄存器。(操作如:P2.6连接一个按键,若按键按下,则P2.6输入信号为低电平) 6、PxOUT输出寄存器:可读可写,读寄存器时读出的值为上一次写入的值(P1OUT |= 0x01;表示P1.0为高电平,其余保持不变)

7、PxREN上拉或下拉电阻使能寄存器:为0禁用上拉/下拉电阻,为1使能上拉/下拉电阻。 8、PxSEL功能选择寄存器:0选择引脚为I/O端口,1选择引脚为外围模块功能 9、PxDS输出驱动强度寄存器:0低驱动强度,1高

P80 定时器A的4种工作模式、两个中断(TAIFG、CCIFG)

1、Timer_A由一个16位定时器和多个捕获/比较器组成 2、4种工作模式(停止、增计数、连续计数、增/减计数) (1) MCx为00:停止模式:定时器停止

(2) 01 增计数模式:定时器重复从0计数到TAxCCR0 (3) 10 连续计数模式:定时器重复从0计数到0FFFFh

(4) 11 增/减计数模式:定时器重复从0计数到TAxCCR0,再减计数到零 3、Timer_A中断可由计数器溢出引起,也可来自捕获/比较寄存器

4、Timer_A模块使用两个中断向量:一个单独分配给捕获/比较寄存器TAxCCR0;另一个为共用中断向量,用于定时器和其他的捕获/比较寄存器。

5、TAIFG:Timer_A中断标志位,0无中断发生,1有中断发生 6、CCIFG:捕获/比较中断标志,0无中断发生,1有中断发生 P93 TACCRx寄存器(捕获/比较模式)----重点

1、在捕获/比较模块中中,可读可写

2、比较模式:TAxCCRn与TAR进行比较。

3、捕获模式:当满足捕获条件时,硬件自动将计数器TAR数据写入该寄存器。

测量某窄脉冲的高电平宽度(长度),定义上升沿和下降沿均捕获(数据在捕获寄存器中读出),两次捕获的定时器数据差就是窄脉冲的高电平宽度。

P96 例题、Timer_A实现PWM(相关R的设置)

PWM信号是一种具有固定周期、不定占空比的数字信号。

例题:Timer_A实现PWM举例;设ACLK=TACLK=LFTC1=32768,MCLK=SMCLK=DCOCLK=32*ALK=1.048576MHz,利用Timer_A输出周期为512/32768=15.625ms、占空比分别为75%和25%的PWM矩形波。代码如下:

#include void main(void) {

WDTCTL = WDTPW + WDTHOLD; //关看门狗 FLL_CTL0 |= XCAP14PF;

TACTL = TASSEL0 + TACLR; //ALCK清楚TAR CCR0 = 512-1; //PWM周期 CCTL1 = OUTMOD_7;

CCR1 = 384; //占空比384/512=0.75 CCTL2 =OUTMOD_7;

CCR2 = 128; //占空比 128/512=0.25 P1DIR |= 0x04; //P1.2输出 P1SEL |= 0x04; //P1.2 TA1

P2DIR |= 0x01; //P2.0输出 P2SEL |= 0x01; //P2.0 TA2 TACTL |= MC0; for(;;) {

//Timer_A增计数模式

_BIS_SR(LPM3_bits); //进入 LPM3 ——NOP(); } }

P103 WDT的功能、复位后的状态

1、看门狗定时器:用于在“程序跑飞”时,WDT就会产生溢出,从而产生系统复位,CPU需要重新运行用户程序,这样程序就可以又回到正常运行状态。

2、PUC(上电复位)后,WDT 进入默认状态。如果系统不用看门狗功能,应该在程序开始处禁止看门狗功能。 3、在看门狗模式下,如果计数器超过了定时时间,就会产生复位和激活系统上电清零信号。

4、WDTTMSEL设置为1时,WDT工作在定时器模式,定时间隔到了以后,不会产生PUCWDTIFG置位(1)。 5、当不需要看门狗定时器时,可使用 WDTHOLD 位来停止看门狗计数器 WDTCNT,以降低功耗。 例,使用看门狗定时功能产生一个方波(周期性的取反P1.0)

# include voidmain(void) {

WDTCTL = WDT_MDLY_32; // 定时周期为32ms SFRIE1 |= WDTIE; // 使能WDT中断 P1DIR |= 0x01; // P1.0输出 __enable_interrupt(); // 系统中断允许 for (;;) { __bis_SR_register(LPM0_bits); // 进入 LPM0

__no_operation(); } }

#pragma vector= WDT_VECTOR// 看门狗中断服务子程序 __interrupt void watchdog_timer (void) {

P1OUT ^= 0x01; // P1.0取反 }

P144 ADC12_A、16个模拟输入通道、转换开始通道、ADC12CTL1

1、ADC12_A支持快速12位模数转换; 2、ADC12_A的构成

1) 参考电压发生器 2) 模拟多路器(ADC12_A配置12路外部通道(模拟信号输入)与4路内部通道(待转换模拟输入信号)) 3) 具有采样与保持功能的12位转换器内核 4) 采样及转换所需的时序控制电路

5) 转换结果缓存(ADC12_A共有16个转换通道) 6) 转换时钟的选择

7) 内部参考电压低功耗特性和自动掉电

3、ADC12_A提供四种转换模式:

1) 单通道单次转换序列通道单次转换单通道多次转换序列通道多次转换

P156 ADC12_A、中断向量、18个中断源共一个向量、优先级

1、ADC12IFG:中断标志寄存器是一个16位字结构。 2、ADC12IV中断向量寄存器。

3、ADC12_A是一个多源中断:有18个中断标志(ADC12IFG0~ADC12IFG15和ADC12TOV、ADC12OV),但是只有一个中断向量。所以需要设置这18个标志的优先级顺序,按照优先级来安排中断标志的响应,高优先级的请求能中断正在服务的低优先级。

P177 4MUX驱动特点及方式、COM、SPX的数量

1、4MUX方式有4个公共极,所以可以用显示缓存器的位4、5、6、7和位0、1、2、3来存储段信息。每个字的全部8段被安排在同一个显存字节中。4MUX方式是最简单、方便的显示方式。

2、com数量4

P192 Flash操作(注意写操作)、擦除后全为1,如何实现写1,写0

1、在对Flash存储器进行写操作时,可以以字节或字为单位,但对flash存储器进行擦除操作时,必须以段为单位,即使要改变存储器中某个地址处的字节内容,也必须先讲该字节所在的段擦除,然后再将该地址的内容写入。

2、由于擦除操作会擦掉整段内容,所以应先将有用的内容存到RAM中,然后再进行擦除操作。

3、擦除后flash存储器的值为逻辑1。每一位可通过单独的编程从1变到0,但是要将其重新变成从0变到1需要进行擦除操作。(实现写1,写0)

4、Flash写操作:可通过WRT和BLKWRT来控制写模式 P196 FCTL1寄存器、BLKWRT、WRT(表3.38)

1、对Flash模块的操作有三种:读、写、擦除

2、FCTL1(控制寄存器1):用于控制所有写编程或者删除操作的有效位。

0 0 保留

void main(void)

{ // 初始化FLASH信息段SegD的指针,该指针指向Flash地址0x1800 unsigned long * FLASH_ptrD = (unsigned long *) 0x1800; unsigned long value = 0x12345678;

WDTCTL = WDTPW+WDTHOLD; // 关闭看门狗 While(FCTL3 & BUSY); // 判断是否处于忙碌状态

FCTL3 = FWKEY; // 清除LOCK标志

FCTL1 = FWKEY+ERASE; // 置位ERASE位,选择段擦除

*FLASH_ptrD = 0; // 空写操作,地址可以为段范围内的任意值 FCTL1 = FWKEY+BLKWRT; // 写允许,长字 *FLASH_ptrD = value; // 写FLASH

While(FCTL3 & BUSY); // 判断是否处于忙碌状态 FCTL1 = FWKEY; // 清除WRT位 FCTL3 = FWKEY+LOCK; // 置位LOCK标志 } 第四章

1、所有数字通信系统都具有3种设备:发送器、接收器、通信介质 2、数字设备之间的通信分为并行通信和串行通信 3、两种典型的串行传输模式:

(1) 异步:发送器确定传输速率(波特率),接收器必须知道该速率,并在检测到起始位置后立即和发送器同步 (2) 同步:接收器和发送器之间有一个同步时钟信号

P211 波特率的概念、波特率为4800bps字符/s、整数和小数因子的计算 低频/高频BR的生成、UCBRX/UCBRSX、UCBRX/UCBRFX

1、波特率的概念:单片机或计算机在串口通信时的速率波特率是由分频器和调制器中获得的

2、对于特定的时钟频率,分频值

3、分频因子的整数部分通过预分频器实现:4、小数部分由带有下面公式的调制器实现:

通常情况下,N不是一个整数,因此,需要使用调制器。

P213 多机通信模式、UCMODEx、UCAXCTLO等

1、异步通信字符格式由5部分组成:1位起始位ST、7~8位数据位、0~1位奇偶校验位、1位地址位、1~2位停止位

2、在异步模式下,USCI支持两种多机通信模式:线路空闲多机模式、地址多机模式

3、线路空闲多机模式用于同类处理器之间的串行通信,这种模式下,数据块被空闲时间分隔。 4、当有多机进行通信时,应当充分利用线路空闲多机模式,使用此模式可以使多机通信的CPU在接收数据之前首先判断地址,如果地址与自己软件中设定的一致,则CPU被激活接收下面的数据;如果不一致,则保持睡眠状态,最大限度地降低UART的消耗。

5、当UCMODEx=2时,异步串行口工作于地址多机通信模式。字符块的第一个字符为地址,并有地址标志。当接收到含有地址标志的第一个字符时,UCADDR被置位,并且接收到的字符会被转入到接收缓存器RXBUF中。 P215 UART模块寄存器

1、UART总线协议:总线结构、工作模式、数据传输协议

2、 UART(Universal Asynchronous Receiver and Transmitter,异步通信收发器),俗称“串口”。 3、P216关于UART模块寄存器。

因篇幅问题不能全部显示,请点此查看更多更全内容

Copyright © 2019- gamedaodao.net 版权所有 湘ICP备2024080961号-6

违法及侵权请联系:TEL:199 18 7713 E-MAIL:2724546146@qq.com

本站由北京市万商天勤律师事务所王兴未律师提供法律服务