版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
Msp430单片机应用技术
第二讲2.1MSP430F169单片机结构图2.1MSP430F169单片机结构原理图
MSP430F169具有丰富的片内外设包括16位定时器;
12位快速A/D转换器;双12位D/A转换器;比较器;一个或者两个通用同步/异步串行通讯接口(USART)、I2C;
MA控制器和48个I/O引脚单片机还包括60K的FLASH,2K的RAM,支持串行在线编程和可编程的保密熔丝代码保护
CPU通过地址总线(MAB)、数据总线(MDB)、控制总线(MCB)与片上外设建立联系。图2.2MSP430F169封装图及实物图
表2.1MSP430F169单片机引脚功能说明引脚名称编号I/O功能说明Avcc64模拟供电电源正端.只为ADC和DAC的模拟部分供电Avss62模拟供电电源负端.只为ADC和DAC的模拟部分供电DVcc1数字供电电源正端.为所有数字部分供电DVss63数字供电电源负端.为所有数字部分供电P1.0/TACLK12I/O通用数字I/O引脚/定时器A时钟信号TACLK输入P1.1/TA013I/O通用数字I/O引脚/定时器A捕捉:CCI0A输入,比较:OUT0输出P1.2/TA114I/O通用数字I/O引脚/定时器A捕捉:CCI1A输入,比较:OUT1输出P1.3/TA215I/O通用数字I/O引脚/定时器A捕捉:CCI2A输入,比较:OUT2输出P1.4/SMCLK16I/O通用数字I/O引脚/SMCLK信号输出P1.5/TA017I/O通用数字I/O引脚/定时器A,比较:OUT0输出P1.6/TA118I/O通用数字I/O引脚/定时器A,比较:OUT1输出P1.7/TA219I/O通用数字I/O引脚/定时器A,比较:OUT2输出P2.0/ACLK20I/O通用数字I/O引脚/ACLK输出P2.1/TAINCLK 21I/O通用数字I/O引脚/定时器A,INCLK上的时钟信号P2.2/CAOUT/TA022I/O通用数字I/O引脚/定时器A捕获:CCI0B输入/比较器输出
P2.2/CAOUT/TA022I/O通用数字I/O引脚/定时器A捕获:CCI0B输入/比较器输出P2.3/CA0/TA123I/O通用数字I/O引脚/定时器A,比较:OUT1输出/比较器A输入P2.4/CA1/TA224I/O通用数字I/O引脚/定时器A,比较:OUT2输出/比较器A输入P2.5/Rosc25I/O通用数字I/O引脚,定义DCO标称频率的外部电阻输入P2.6/ADC12CLK/DMAE026I/O通用数字I/O引脚,转换时钟-12位ADC,DMA通道0外部触发器P2.7/TA027I/O通用数字I/O引脚/定时器A比较:OUT0输出P3.0/STE028I/O通用数字I/O引脚,USART0/SPI模式从设备传输使能端P3.1/SIMO0/DSDA29I/O通用数字I/O引脚,USART0/SPI模式的从入/主出,I2C数据P3.2/SOMI030I/O通用数字I/O引脚,USART0/SPI模式的从出/主入P3.3/UCLK0/SCL31I/O通用数字I/O引脚,USART0/SPI模式的外部时钟输入,USART0P3.4/UTXD032I/O通用数字I/O引脚,USART0/UART模式的传输数据输出P3.5/URXD033I/O通用数字I/O引脚,USART0/UART模式的接收数据输入P3.6/UTXD134I/O通用数字I/O引脚,USI1/UART模式的发送数据输出P3.7/URXD135I/O通用数字I/O引脚,USI1/UART模式的接收数据输入P4.0/TB036I/O通用数字I/O引脚,捕获I/P或者PWM输出端口-定时器B7CCR0P4.1/TB137I/O通用数字I/O引脚,捕获I/P或者PWM输出端口-定时器B7CCR1P4.2/TB238I/O通用数字I/O引脚,捕获I/P或者PWM输出端口-定时器B7CCR2P4.3/TB339I/O通用数字I/O引脚,捕获I/P或者PWM输出端口-定时器B7CCR3P4.4/TB440I/O通用数字I/O引脚,捕获I/P或者PWM输出端口-定时器B7CCR4P4.5/TB541I/O通用数字I/O引脚,捕获I/P或者PWM输出端口-定时器B7CCR5P4.6/TB642I/O通用数字I/O引脚,捕获I/P或者PWM输出端口-定时器B7CCR6P4.7/TBCLK43I/O通用数字I/O引脚,输入时钟TBCLK-定时器B7
P6.4/A43I/O通用数字I/O引脚,模拟量输入A4-12位ADCP6.5/A54I/O通用数字I/O引脚,模拟量输入A5-12位ADCP6.6/A6/DAC05I/O通用数字I/O引脚,模拟量输入A6-12位ADC,DAC.0输出P6.7/A7/DAC1/SVSIN6I/O通用数字I/O引脚,模拟量输入A7-12位ADC,DAC.1输出,SVS输入/NMI58I复位输入,不可屏蔽中断输入端口或者BootstrapLload启动(FLASH器件)TCK57I测试时钟,TCK是芯片编程测试和bootstraploader启动的时钟输入端口TDI/TCLK55I测试数据输入或时钟输入,器件保护熔丝连接到该引脚TDO/TDI54I/O测试数据输出端口,TDO/TDI数据输出或者编程数据输出引脚TMS56I测试模式选择,TMS用作芯片编程和测试的输入端口VeREF+10I外部参考电压的输入VREF+7O参考电压的正输出引脚VREF-/VeREF-11O内部参考电压或者外加参考电压的引脚XIN8I晶体振荡器XT1的输入端口,可连接标准晶振或者钟表晶振XOUT/TCLK9I/O晶体振荡器XT1的输出引脚或测试时钟输入XT2IN53I晶体振荡器XT2的输入端口,只能连接标准晶振XT2OUT52O晶体振荡器XT2的输出引脚
2.2MSP430F169的中央处理单元(CPU)图2.3CPU组成
MSP430F169单片机CPU具有如下特征:
16位RSIC精简指令集,支持7种寻址方式正交化设计,每条指令都支持全部寻址方式
16位宽地址总线允许对整个存储器的访问寄存器资源丰富常数发生器直接的存储器到存储器访问2.2.2MSP430F169CPU的寄存器资源CPU寄存器资源丰富,16个16-bit寄存器R0~R15。其中,R0~R3具有特殊功能:程序计数器R0/PC、堆栈指针R1/SP、状态寄存器R2/SR/CG1和常数发生器R3/CG2;R4~R15为通用寄存器。
表2.2MSP430F169CPU寄存器说明寄存器名称功能R0程序计数器PCR1堆栈指针SPR2状态寄存器SR/常数发生器CG1R3常数发生器CG2R4通用寄存器R4……R15通用寄存器R15
1.程序计数器PC
程序计数器PC总是指向程序存储器中下一条将要执行的指令的地址。MSP430指令长度分别为2、4或6字节长,PC相应递增。
PC内容总是偶数,指向偶字节地址。PC是16位寄存器,可以寻址64K存储空间,对程序存储器的访问以字为单位。在执行条件或无条件转移指令、调用指令或响应中断时,程序计数器PC都会被赋新值,其他情况下,程序计数器PC的值自动增加。
2.堆栈指针SP
堆栈是遵循“先入后出”原则的特殊数据存储区,用来保护现场数据:(1)系统调用子程序或进入中断服务程序时,将PC值(程序未跳转之前的值)压入堆栈进行保护,然后程序计数器PC被赋予子程序入口地址或中断向量地址,执行子程序或中断服务程序。子程序或中断服务程序执行完毕后,遇到返回指令,则将堆栈的内容送到程序计数器PC中,程序又返回主程序继续执行;(2)堆栈可在函数调用期间保存寄存器变量、局部变量和参数等。
堆栈指针SP则总是指向堆栈的顶部,即栈顶。根据堆栈地址的生成方向,堆栈可分为“向下增长型(高地址向低地址增长)”或“向上增长型(低地址向高地址增长)”。
MSP430堆栈属于“向下增长型”,即系统在将数据压入堆栈时,即压栈,总是先将堆栈指针SP值减2,然后再将数据送到SP所指向的RAM单元中。将数据从堆栈中弹出,即弹栈,与压栈过程相反:先将数据从SP所指向的内存单元中读取出来,再将SP值加2。
3.状态寄存器SR
状态寄存器SR/R2反映了程序执行过程中控制器的现场状态,用于指示ALU的运算结果状态以及CPU、时钟状态等。作用?15~9876543210保留VSCG1SCG0OSCOFFCPUOFFGIENZCBit8V溢出标志位,当算术运算结果超出有符号数范围时置位,否则为0Bit7SCG1系统时钟控制位1。置位,禁止SMCLK。Bit6SCG0系统时钟控制位0。复位,使能直流发生器;SCG0置位,且DCOCLK没有被用作MCLK或SMCLK时,直流发生器才能被禁止。Bit5OSCOFF晶体控制位。
复位,激活LFXT1。OSCOFF置位且LFXT1CLK不用于MCLK或
SMCLK时,LFXT1禁止;
置位,使晶体振荡器处于停止状态。设置OSCOFF=1必须同时设置
CPUOFF=1,只有系统允许的外部中断或NMI可唤醒CPU。
Bit4CPUOFFCPU控制位。置位使CPU进入关闭模式,此时除了
RAM内容、端口、寄存器保持外,CPU处于停止状态,可用所有允许的中断将CPU从此状态唤醒。
0CPU进入关闭模式
1CPU处于工作状态Bit3GIE可屏蔽中断控制位。置位允许可屏蔽中断,复位禁止所有可屏蔽中断。该位由中断复位,RETI指令置位,也可以用指令改变。
0允许可屏蔽中断
1禁止所有可屏蔽中断Bit2N负标志,当运算结果为负时置位,否则为0。Bit1Z零标志,当运算结果为0时置位,否则为0。Bit0C进位标志,当运算结果产生进位时置位,否则为0。
4.常数发生器CG1和CG2R2和R3为常数发生器,利用CPU的27条内核指令配合常数发生器可以生成一些简洁高效的模拟指令。表2.3CG1、CG2产生常数值寄存器As常数说明R200-寄存器模式R201(0)绝对寻址模式R21000004H+4位处理R21100008H+8位处理R30000000H0字处理R30100001H+1R31000002H+2位处理R3110FFFFH-1字处理
5.通用寄存器
R4到R15为通用工作寄存器。具有暂存运算结果,执行算数逻辑运算等功能,是控制器访问最频繁的场所,可以进行字节、字操作,可作为地址指针或数据寄存器,使用通过寄存器可以大大提高程序的执行效率,当中断发生时,需对其内容进行保护。2.3系统复位和工作模式2.3.1系统复位和初始化1.系统复位
MSP430系列单片机有两种复位方式:上电复位POR(Power–OnReset);上电清除PUC(Power–UpClear)。不同的信号可触发不同的复位方式,而系统初始化的状态取决于复位方式。
图2.4MSP430系统复位电路功能模块组成
触发PUC信号复位的信号条件中,除POR信号产生外,其它都可以通过读取相应的中断向量来判断是什么原因引发了复位。
2.3.2工作模式及功耗1.工作模式——低功耗模式图2.6MSP430各个工作模式结构示意图
表2.7各工作模式、各控制位及相应的时钟状态工作模式控制位CPU状态振荡器及时钟状态AMSCG1=0SCG01=0OscOFF=0CPUOFF=0CPU、MCLK、SMCLK、ACLK均处于活动状态LPM0SCG1=0SCG0=0OscOFF=0CPUOFF=1CPU、MCLK禁止,SMCLK、ACLK活动LPM1SCG1=0SCG0=1OscOFF=0CPUOFF=1CPU禁止,如果DCO未用做MCLK或SMCLK,直流发生器被禁止,否则仍保持工作;SMCLK、ACLK活动;LPM2SCG1=1SCG0=0OscOFF=0CPUOFF=1CPU、MCLK、SMCLK、DCO禁止;如果DCO未用做MCLK或SMCLK,则自动禁止;直流发生器保持工作;ACLK活动;LPM3SCG1=1SCG0=1OscOFF=0CPUOFF=1CPU、MCLK、SMCLK、DCO禁止;直流发生器被禁止;ACLK活动;LPM4SCG1=1SCG0=1OscOFF=1CPUOFF=1CPU和所有的时钟被禁止
2.模式及功耗在各个模式下,MSP430单片机功率消耗与工作模式、供电电压、振荡频率等有关,图2.7给出了在1MHz振荡频率下,不同供电电压下各模式功耗情况。图2.7MSP430各个工作模式下的耗电情况2.5MSP430的基础时钟模块MSP430基础时钟模块与其低功耗相匹配,用户可以利用三种时钟信号,找到功能实现和低功耗的平衡。基础时钟模块无需外部器件,利用一个外部电阻、一个或两个外部晶振或者谐振器,在软件的配置控制下,为系统提供时钟信号。
三个时钟源:(1)LFXT1CLK:低频/高频振荡器。可外接32768Hz的时钟芯片,或者450kHz~8MHz的标准晶体或谐振器;(2)XT2CLK:高频振荡器。外接450kHz~8MHz的标准晶体、谐振器和外部时钟源。较常用的晶体振荡器是8MHZ;(3)DCOCLK:内部数控RC振荡器。
3个时钟信号输出:(1)ACLK:
辅助时钟信号。ACLK是从FLXT1CLK信号经1/2/4/8(BCSCTL1寄存器设置DIVA相应位设置)分频后得到。ACLK可用于提供CPU外围功能模块作时钟信号使用。(2)MCLK:
主时钟信号。MCLK的振荡源可由软件配置选择来自LFXT1CLK、XT2CLK(部分型号有)或DCOCLK。MCLK经1/2/4/8分频(软件设置)后给CPU或系统提供时钟信号。(3)SMCLK:
子系统时钟信号。SMCLK的振荡源可由软件配置选择来自
LFXT1CLK、XT2CLK(部分型号有)或DCOCLK。SMCLK经1/2/4/8分频后(软件设置)给各独立外设模块提供时钟信号。
当处理器发生PUC复位后,MCLK和SMCLK的振荡源来自DCOCLK(默认值为800kHz);
ACLK振荡源来自LFXT1(处于低频模式)。
设置状态寄存器SR的SCG0,SCG1,OSCOFF和CPUOFF位,可以设置CPU的操作模式,使能或关断部分基础时钟模块。基础时钟模块可以在程序运行的任何时候用软件进行配置。2.5.1基础时钟各模块介绍为了优化低功耗配置:
ACLK振荡源可以配置取自外部32.786KHz时钟晶振,给低功耗系统提供一个稳定时钟基准或作为备用操作模式;
MCLK振荡源可以配置取自DCO,DCO能够在中断驱动事件被激活时立即响应;
SMCLK振荡源可以配置取自外部晶振或DCO(取决于外设要求)。灵活的时钟配置和分频系统可以为系统提供精密准确的时钟信号,满足用户不同需求。
2.5.1.1LFXT1低频振荡器
2.5.1.2XT2CLK高频振荡器XT2Sx位选择XT2的操作范围。如果XT2CLK没有被用作MCLK或SMCLK的时钟源,则XT2OFF可禁止XT2振荡器;当XT2Sx=11和XT2OFF=0时,XT2可通过XT2IN管脚接外部时钟信号,但外部频率必须满足XT2的参数要求。当输入频率低于最低值时,XT2OFF要置位以禁止CPU采用XT2CLK时钟。
MSP430外接高频振荡器XT2的频率为450kHz~8MHz。
2.5.1.3数字控制振荡器DCO
2.5.2时钟模块的寄存器
配置DCOvoidmain(void){
WDTCTL=WDTPW+WDTHOLD;
//StopWatchdogTimer
DCOCTL=DCO0+DCO1+DCO2;
//MaxDCO
BCSCTL1=RSEL0+RSEL1+RSEL2;
//XT2on,maxRSEL
BCSCTL2|=SELS;
//SMCLK=XT2
P5DIR|=0x70;
//P5.6,5,4outputs
P5SEL|=0x70;
//P5.6,5,5options
while(1)
{
}}实测DCO最低128K,最高4.58M。
2.5.3时钟应用举例课堂作业设置MCLK=XT2,SMCLK=DCOCLK,将MCLK由P5.4输出设置ACK=MCK=LFXT1,LFXT1为低频(LF)模式,将MCK通过P5.4输出2.6中断中断的概念?2.6.1中断的结构和类型特点
MSP430中断源很多,每个中断源都有指定的优先级,离CPU越近的模块,其优先级越高。中断优先级决定了,当多个中断来临时,优先级高的中断先被响应。
2.6.2中断响应过程
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 课题开题报告模板
- 重庆三峡学院《设计史》2021-2022学年第一学期期末试卷
- 重庆三峡学院《全媒体节目制作与包装》2022-2023学年第一学期期末试卷
- 重庆人文科技学院《国家公务员制度》2021-2022学年第一学期期末试卷
- 重庆人文科技学院《传统文化艺术》2021-2022学年第一学期期末试卷
- 重庆三峡学院《继电保护及自动装置》2022-2023学年期末试卷
- 重庆三峡学院《机械设计》2023-2024学年第一学期期末试卷
- 重庆三峡学院《化工过程模拟》2022-2023学年第一学期期末试卷
- 重庆三峡学院《创意写作》2021-2022学年第一学期期末试卷
- 2024北京北京中学七年级(上)期中数学(教师版)
- 《精装修成品保护》课件
- 2024年房地产开发商与装修公司装修合同
- 2024年畜牧业经营管理教案:转型与升级
- 浙江省绍兴市建功中学教育集团2024-2025学年八年级上学期10月份学科素养竞赛语文试卷
- 2024 ESC慢性冠脉综合征指南解读(全)
- 2024二十届三中全会知识竞赛题库及答案
- (高清版)JTG 5142-2019 公路沥青路面养护技术规范
- 物流运输项目 投标方案(适用烟草、煤炭、化肥、橡胶等运输项目)(技术方案)
- 大学生生涯发展展示 (二版)
- 电力企业合规培训课件
- 领导干部任前谈话记录表
评论
0/150
提交评论