下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、MSP430F552映验指导书()2014 年 10 月 27 日东北林业大学机电工程学院“3+1”实验室实验一基础GPIO实验键盘与液晶显示实验时钟系统配置实验看门狗与定时器实验AD/DA 实验比较器实验Flash 实验串行通信实验实验一基础GPIO实验【实验目的】1、熟悉CCS的基本使用方法;2、掌握MSP43集列单片机程序开发的基本步骤;3、掌握MSP430 IO口的基本功能。【实验仪器】1、开发板一套;2、PC机操作系统 Windows XP或Windows 7,集成开发环境。【实验原理】CCS (Code Composer Studio )是TI公司研发的一款具有环境配置、源文 件编
2、辑、程序调试、跟踪和分析等功能的集成开发环境,能够帮助用户在一个软 件环境下完成编辑、编译、链接、调试和数据分析等工作。为CCS软件的最新版本,功能更强大、性能更稳定、可用性更高,是MSP430软件开发的理想工具。开发板上的有8个可操作的LED灯,与MCU勺IO 口对应关系如图1-1所示:图1-1 LED与MCU勺IO对应关系电路我们可以通过控制单片机IO 口的输出电平状态来控制各个 LED灯的亮灭。 开发板上还有2个可操作的按键S1, S2。如图1-2所示。图1-2按键电路我们可以通过读取与按键相连的IO 口的输入电平状态来执行相应的操作。 此外,S1, S2还可以作为外部中断源,触发中断。
3、【实验内容】1、用调用头文件的方法,使能 MSP430F5529F发板上的8个LED灯依次按顺序 循环点亮;2、用按键S1控制开发板上LED1的亮灭状态(查询法); 3、用按键S2控制开发板上跑马灯的循环速度(中断方式)。【实验步骤】内容1:使能开发板上的8个LED灯依次按顺序循环点亮1、打开CCSv5并确定工作区间,然后选择 File->New->CCS Project 弹出图 1-3对话框。图1-3新建一个CCST程2、在Project name 中输入新建工程的名称,在此输入 lab1_1 。3、在Device 部分选择器件的型号: 在此 Family 选择MSP43;0 V
4、ariant 选择MSP430X5XX family,芯片选择 MSP430F552其余保持默认。4、在左下角对话框中,选择Empty Projects 下拉菜单下的 Empty Project (空工程) ,单击 Finish 。5、在新窗口中输入如下代码:#include <> void main( void ) volatile unsigned int i;WDTCTL=WDTPW+WDTHOLD;/ 32 x 32 x MHz / 32,768 Hz = 76563 = MCLKcycles for DCO to settle _delay_cycles( 76563)
5、;/ Loop until XT1,XT2 & DCO fault flag is cleared doUCSCTL7 &= ( XT2OFFG + XT1LFOFFG + 0x0004 + DCOFF)G; / Clear XT2,XT1,DCOfault flagsSFRIFG1 &= OFIFG;/ Clear fault flags while ( SFRIFG1&OFIFG);/ Test oscillator fault flagwhile ( 1) ;/ Loop in place 3、编译、调试并下载程序到开发板。4、运行程序,用示波器观察、口的
6、输出波形。【思考与分析】1、在不做任何配置的情况下,MSP430F552卵片机的各个时钟的默认值是多少? 试编程加以验证。2、试编写程序验证 MSP430F5529t片机的主时钟频率最大可达到多少?3、MSP43朦列单片机最大的特点是低功耗,低功耗是如何体现的?查阅资料, 加以详细论述。实验四 看门狗与定时器实验【实验目的】1、了解看门狗定时器的基本作用;2、学会使用定时器在MSP430勺某一引脚输出特定占空比的方波;3、掌握MSP430S列单片机定时器的几种工作模式;4、熟悉MSP430S列单片机定时器的比较/捕获功能。【实验仪器】1、MSP430G2553 Launch PacF块,MSP
7、430F5529 Mini Board 一块;2、键盘接口一块,液晶屏一块;3、TDS21CK踪示波器一台;4、PC机操作系统 Windows XP或Windows 7,集成开发环境。【实验原理】看门狗定时器主要用于在程序跑飞时, 则不会在看门狗定时时间到达之前执 行看门狗清零指令,看门狗就会溢出,从而使系统产生复位,保证程序的正常运 行。16位定时器的计数值寄存器 TAR在每个时钟信号的上升沿进行增加/减少, 可利用软件读取TAR寄存器的计数值。此外,当定时时间到,产生溢出时,定时 器可产生中断。置位定时器控制寄存器中的TACLR空制位,可自动消除TARW存 器的计数值,同时,在增/减计数模
8、式下,清除了时钟分频器和计数方向。Timer_A共有4种工作模式:停止模式、增计数模式、连续计数模式和增 / 减计数模具体工作模式可以通过 MC空制位进行选择,具体配置如表 4-1所 示。表4-1 Timer_A工作模式配置列表MC控制位配 置值Timer_A工作模式描述00停止模式Timer_A 停止01增计数模式Timer_A 从 0 到 TAxCCR0t复计数10r连续计数模式Timer_A从0至U 0FFFFh重复计数11增/减计数模式Timer_A从0增计数到TAxCCR而后减1f数到0, 循环往复定时器Timer_A的捕获模式:当CAP控制位置为1时,捕获/比较模块配置为捕获模式。
9、捕获模式被用于 捕获事件发生的时间。捕获/&入CCIxA和CCIxB可连接外部引脚或内部信号,这 需通过CCIS控制位进行配置。可通过CM空制位将捕获输入信号触发沿配置为上 升沿触发、下降沿触发或两者都触发。捕获事件在所选输入信号触发沿产生, 如 果产生捕获事件,定时器将完成以下工作:?主计数器计数值复制到TAxCCRnf存器中;?置位中断标志位CCIFG【实验内容】1、使用看门狗定时功能产生一个方波(周期性的取反);2、利用定时器TAQ使其工作在增计数模式下,选择 ACLK乍为其参考时钟。将 和引脚配置为定时器输出,且使CCR向CCR2T作在比较输出模式7下,最终使 引脚输出75贴空
10、比的PWMS形,使引脚输出25贴空比的PWMfc形。3、选择键盘上的一个按键,当该按键按下一次时,打开定时器开始计时,利用 定时器的捕获功能,捕捉该按键再次按下时的精确时间, 并将该时间显示在液晶 显示屏上。【实验步骤】内容1:看门狗定时器产生方波信号1、建立新工程,并命名为lab4_1。2、在新建工程的编辑窗口输入如下代码:#include <>void main( void ) WDTCTL = WDTPW+WDTCNTCL+WDTSSEL0+WDTIS_5;/看门狗定时器工作在看门狗模式,定时1S,选择ACLK乍为参考时钟P1DIR |= 0x01;/设置端口为输出P1OUT
11、 A= 0x01;/反转端口状态_bis_SR_register ( LPM3_bits + GIE ); / 进入低功耗模式 3,并启用中断 3、编译、调试并下载程序到开发板。4、运行程序,用示波器观察口的输出波形。内容2:用定时器产生特定占空比的PWM1号1、建立新工程,步骤同上,并命名为lab4_22、在新建工程的编辑窗口输入如下代码:#include <>void main( void )WDTCTL = WDTPW + WDTHOLD;P1DIR |= BIT2+BIT3;P1SEL |= BIT2+BIT3;TA0CCR0 = 512-1;TA0CCTL1 = OUTM
12、OD_7;TA0CCR1 = 384;TA0CCTL2 = OUTMOD_7;TA0CCR2 = 128;TA0CTL = TASSEL_1 + MC_1 + TACLR;_bis_SR_register ( LPM3_bits );/关闭看门狗/和设为输出/和引脚功能选为定时器输出/ PWM周期定义/ CCR1比较输出模式7:复位/置位/ CCR1 PWM占空比定义/ CCR2比较输出模式7:复位/置位/ CCR2 PWM占空比定义/ ACLK,增计数模式,清除TAR十数器/ 进入LPM33、编译、调试并下载程序到开发板。4、运行程序,用示波器观察、口的输出波形。内容3:用定时器的捕获功能捕
13、捉开发板上按键按下的精确时间1、将单片机、独立键盘和 MSP430G2553aunch Pad仿真器部分用杜邦线连接起2、导入工程“ Lcd_and_Key',并在此基础上添加Timer的相关文件:和。文件如下:/*Copyright(c)*3+1*/东北林业大学机电工程学院创新实验室文件信息* * 文件名 :* * 创建人: 刘 毅* * 最后修改日期 : 2014 年11月 13日* * 描述 :* 历史版本信息 * 创建人: 刘毅* 版本:* 日期: 2014 年11月13日* 描述: 原始版本*#include <>#include ""#inc
14、lude ""#include <>int pressent_time;/ 定义当前时间/*函 数 名: TA1_Init()功 能:对 TimerA1 进行初始化入 口 参 数: 返 回 值:*/void TA1_Init () P1DIR &= BIT7;P1SEL |= BIT7;/ 将引脚配置为定时器捕获输入P1OUT |= BIT7;P1REN |=BIT7;/ 设置为内部上拉TA1CTL = TASSEL_1 + ID_3; /TA1 主计数器时钟选择 ACLK,8分频/TA1EX0 = TAIDEX_7; / 分频扩展, 8分频, time
15、r clock = 32768/8/8=512Hz/ 最大定时时间: 65526/512=128sTA1CCTL0 = CM1 + SCS + CAP + CCIE; /CCR0 工作于捕获模式,下降沿触发/*函 数 名: TA1_Start()功 能:启动 TimerA1 入 口 参 数: 返 回 值:void TA1_Start () TA1CTL |= MC_2 + TACLR; /清除TAR选择连续计数模式 /* 函 数名:TimerAI中断服务子程序 功能:读取捕获值入口参数: 返 回值:*/*#pragma vector = TIMER0_A1_VECTORinterruptvoi
16、d TIMER0_A1_ISR( void )/char str80;pressent_time =(TA1CCR0+1/512; / 捕获当前时间,单位 msLCD_ShowNum32,16,pressent_time,3 );sprintf(str,"The perssent is: %d",pressent_time);/LCD_ShowString(32,16,str);_delay_cycles (300000);TA1CCTL0 &= CCIFG;/清除中断标志位 文件如下:/*Copyright(c)*3+1东北林业大学机电工程学院创新实验室文件信息*
17、文件名:*创建人:刘毅*最后修改日期:2014年11月13日*描述*-历史版本信息*创建人:刘 毅*版本:*日期:2014年11月13日*描述:原始版本*/#ifndef TIMER_H#define TIMER_Hextern void TA1_Init ();extern void TA1_Start ();#endif /* TIMER_H_ */3、在文件的主函数中调用Timer 相关函数。void main( void )WDTCTL = WDTPW + WDTHOLD; / 关闭开门狗TA1_Init () ;TA1_Start () ;_bis_SR_register( GIE)
18、 ;while ( 1)4、编译、调试并下载程序到开发板。5、运行程序,按下按键,观察液晶屏上捕获到的时间值。【思考与分析】1、利用定时器TA0实现开发板上的第一个LED灯以200ms间隔闪烁,同时利用定时器 TA2 实现液晶屏上的一个两位数以 59s 循环计时。2、试利用MSP430勺定时器捕获功能做一个频率计。AD/DA 实验【实验目的】1、了解AD的工作原理;2、熟悉ADC12勺4种转换模式;3、掌握MSP430F5529勺ADC121本使用方法。4、掌握MSP430F6638勺DAC的基本使用方法。【实验仪器】1、开发板一套;2、键盘接口一块,液晶屏一块;3、PC机操作系统 Windo
19、ws XP或Windows 7,集成开发环境。【实验原理】模数转换器的作用是把从传感器采集到的连续变化的模拟电压信号转换为 单片机可识别的数字信号。在转换的过程中,数字输出代码与模拟输入电压之间 的关系如图5-1所示。图5-1数字输出代码与模拟输入电压之间的关系数字量的计算方法:ADCft核一般要使用两个参考电压 VR并口 VR-, 一般这两个电压可以是用户接 入或者是使用内部参考电压。VR+1定义的转换最大值,VR-则是转换的最小值。 以12位分辨率为例。? Vin> =VR+ ADC12 输出满量程值 0X0FFF;? Vin< =VR- ADC12 输出 0;? VR-<
20、;Vin<VR+ ADC12的转换结果满足如下公式: NADC = 4095 * (Vin- VR-)/(VR+ - VR-)【实验内容】1、利用开发板上的齿轮电位器进行采样,并将采样得到的模拟电压转换为数字 量,在液晶屏上显示出来,并同时显示所采样的模拟电压值。2、利用A10通道采样内部温度传感器,并将采样的数值转化为摄氏和华氏温度, 分别在液晶屏上显示出来。3、试编写程序,从MSP430F663第片机的DA引脚输出一个正弦波。【实验步骤】内容1:用电位器采样模拟电压并显示1、导入工程“ Lcd_and_Key',改写程序,将开发板与键盘接口连接起来,将原 程序中的P1 口改写
21、为P7 口。2、并在此基础上添加ADC12勺相关文件:和。文件如下:/*Copyright(c)*3+1*东北林业大学机电工程学院创新实验室文件信息*文件*创建*最后修改日期*描*名:人:刘 毅:2014年11月13日述:历史版本信息*创建人:刘 毅*版本:*日期:2014年11月13日*描述:原始版本*#include ""#include ""#include <>#include <>/*函数名:ADC_Init()功 能:ADC1初始化入口参数:返回值:*/*void ADC_Init () volatile unsign
22、ed int i;P6SEL |= BIT5;/将引脚设为AD编入功能ADC12CTL0 = ADC12ON+ADC12SHT02+ADC12MSC;打开 ADC12,设置采样间隔,序歹U采样 ADC12CTL1 = ADC12SHP+ ADC12CONSEQ_2 + ADC12SSEL_1 + ADC12CSTARTADD_5;/采样保持触发信号选择采样定时器,设置单通道多次标换模式,时钟源选择ACLK ADC专换开始地址ADC12MEM5ADC12MCTL5 |= ADC12SREF_0 + ADC12INCH_5; / Vr+=AVcc , Vr-=AVss ,输入通道 5ADC12IE
23、 = BIT5;/ 使能AD冲断for ( i=0; i<0x30; i+);/延迟以使参考电压产生稳定ADC12CTL0 |= ADC12ENC;/ 置位 ADC12ENC制位,使能 AD专换 /* 函数名:ADC_Start() 功 能:启动AD专换 入口参数: 返回值:*/*void ADC_Start ()/启动AD专换ADC12CTL0 |= ADC12SC; /* 函数名:ADC_Stop()能:停止AD专换入口参数:返回值:*/ void ADC_Stop()ADC12CTL0 &= ADC12ON;/ADC12CTL0 &= ADC12SC; /禁止 AD
24、专换/*函 数名:ADC1冲断服务程序功能:入口参数:返回值:#pragma vector = ADC12_VECTOR_interrupt void ADC12_ISR( void )float a;volatile float u;switch (_even_in_range(ADC12IV,34) case0:break ;/ Vector 0:无中断case2:break ;/ Vector 2:ADC溢出中断case4:break ;/ Vector 4:ADC转换时间溢出中断case6:break ;/ Vector 6:ADC12IFG0case8:break ;/ Vector
25、 8:ADC12IFG1case10:break ;/ Vector 10:ADC12IFG2case12:break ;/ Vector 12:ADC12IFG3case14:break ;/ Vector 14:ADC12IFG4case16:/ Vector 16: ADC12IFG5/ if (ADC12MEM5 >= 0x7ff)/ ADC12MEM = A0 > ?/ P8OUT |= BIT1;/ = 1/ else/ P8OUT &= BIT1;/ = 0/a=ADC12MEM5;u=(a/4096)*;/ 计算输出电压公式LCD_ShowFloatNum(
26、100,100,a);/ 输出 ADC12MEM5值LCD_ShowFloatNum(100,150,u);/ 输出电压值LCD_ShowChar(200,150,'V' ,0);/ 输出单位“V”case 18: break ;/ Vector 18: ADC12IFG6case 20: break ;/ Vector 20: ADC12IFG7case 22: break ;/ Vector 22: ADC12IFG8case 24: break ;/ Vector 24: ADC12IFG9case 26: break ;/ Vector 26: ADC12IFG10ca
27、se 28: break ;/ Vector 28: ADC12IFG11case 30: break ;/ Vector 30: ADC12IFG12case 32: break ;/ Vector 32: ADC12IFG13case 34: break ;/ Vector 34: ADC12IFG14default : break 文件如下:/*Copyright(c)*3+1东北林业大学机电工程学院创新实验室文件信息* 文件* 创建* 最后修改日期* 描名:人: 刘 毅: 2014 年11月13日述:*历史版本信息*创建人:刘 毅*版本:*日期:2014年11月13日*描述:原始版本*
28、/#ifndef ADC12_H_#define ADC12_H_#include ""extern void ADC_Init ();/ADC12 初始化extern void ADC_Start ();启动 AD专换extern void ADC_Stop();/ 停止 AD专换#endif /* ADC_H_ */3、在文件的主函数中调用 AD采样函数,并使能ADC断。P8DIR |= BIT0;P8OUT |= BIT0;/将齿轮电位器的输出端置为高电平P8DIR |= BIT1;/设置为输出功能ADC_Init();/ ADC12 初始化ADC_Start();/
29、启动采样转换_enable_interrupt();/ 使能中断4、编译、调试并下载程序到开发板。5、运行程序,拨动齿轮电位器,观察液晶屏上显示的电压值的变化。内容2: Xt ADC12勺通道10进行采样,得到温度传感器的输出值并显示温1、改写内容1的AD采样的通道号,将其设置为采样内部温度传感器, 度值。文件如下:/*Copyright(c)*3+1创新实验室 文件信息东北林业大学机电工程学院*文件*创建*最后修改日期*描名:人:刘 毅:2014年11月13日述:* * 历史版本信息* *创建人:刘 毅* *版本:* *日期:2014年11月13日* *描述:原始版本*#include &q
30、uot;"#include ""#include <>#include <>/*函 数 名: ADC_Init()功 能:ADC1初始化入 口参 数:返 回 值:*/void ADC_Init ()volatile unsigned int i;REFCTL0 &= REFMSTR; /复位REFMSTR制位以控制 ADC1参考电压控制寄存器 ADC12CTL0 = ADC12ON+ADC12SHT0_5+ADC12MSC+ ADC12REFON;/打开ADC12,设置采容间隔,序列采样,打开内部参考电压产生器,参 考电压设置为AD
31、C12CTL1 = ADC12SHP+ADC12CONSEQ_2+ ADC12SSEL_1 ; / 采样保持触发信号选择采样定时器,设置单通道多次转换模式,时 钟源选择ACLK, ADCADC12MCTL0 = ADC12SREF_1 + ADC12INCH_10; / A10 通道作为输入,采样温度ADC12IE = 0x001;/ 使能 ADC12IFG冲断for ( i=0; i<0x30; i+);/ 延迟以使参考电压产生稳定ADC12CTL0 |= ADC12ENC;/ 使能转换/*函 数 名: ADC_Start()功 能:启动AD专换入 口参 数:返 回 值:*/ void
32、 ADC_Start ()/启动AD专换ADC12CTL0 |= ADC12SC; /*函 数 名: ADC_Stop()功 能:停止AD专换入 口参 数:返 回 值:*/*void ADC_Stop() ADC12CTL0 &= ADC12ON;/ADC12CTL0 &= ADC12SC;/禁止 AD专换/*函 数名:ADC1冲断服务程序功 能:入 口参 数:返 回 值:*/#pragma vector = ADC12_VECTOR_interruptvoid ADC12_ISR( void )long temp;volatilelong IntDegF;volatilelo
33、ng IntDegC;switch (_even_in_range(ADC12IV,34)case0:break;case2:break;case4:break;case 6:temp = ADC12MEM0;IntDegC = (temp - 1855) * 667) / 4096;IntDegF = (temp - 1748) * 1200) / 4096;LCD_ShowFloatNum(100,100,IntDegC);LCD_ShowFloatNum(100,150,IntDegF); default : break ;/ Vector 0:无中断/ Vector 2: ADC 溢出
34、中断/ Vector 4: ADC 转换时间溢出中断/ Vector 6: ADC12IFG0/ 采样结果转化为摄氏温度/ 采样结果转化为华氏温度/ 输出摄氏温度/ 输出华氏温度 /*Copyright(c)*3+1东北林业大学机电工程学院创新实验室文件信息* * 文件名 :* * 创建人: 刘 毅* * 最后修改日期 : 2014 年11月 13日* * 描述 :* * 历史版本信息 * 创建人: 刘毅* 版本:* 日期: 2014 年11月13日* 描述: 原始版本*/#ifndef ADC12_H#define ADC12_H#include ""externvoid
35、ADC_Init ();/ADC12初始化externvoidADC_Start ();/启动AD专换extern#endifvoid ADC_Stop();/* ADCH */停止AD专换文件如下:2、在文件的主函数中调用 AD采样函数,并使能ADC断。P8DIR |= BIT0;P8OUT |= BIT0;/将齿轮电位器的输出端置为高电平P8DIR |= BIT1;/设置为输出功能ADC_Init();ADC_Start();_enable_interrupt();/ ADC12初始化/启动采样转换/使能中断3、编译、调试并下载程序到开发板。4、运行程序,拨动齿轮电位器,观察液晶屏上显示的
36、温度值的变化内容3:从MSP43印片机的DA引脚输出一个正弦波1、建立新工程,并命名为lab5_3。2、在新建工程的编辑窗口输入如下代码:#include <>#include <>#define PIvoid main( void ) float i;int dacVal;WDTCTL = WDTPW + WDTHOLD;/ Stop watchdog timerDAC12_0CTL0 = DAC12IR + DAC12SREF_1 + DAC12AMp_5 + DAC12CALON;/选择DAC12_0 on ,VCC作为参考电压,初始化偏移量校正 DAC12_0C
37、TL0 |= DAC12ENC;/ Enable DAC12while (1) i+=PI/36;dacVal=(int )( sin (i )+1) *2048);/每个j对应的sin换算为12位分辨率(0x0000 0X0FFF )时的数据 DAC12_0DAT=dacVal;/ 将计算出的值写入 DAC12_0DAT 3、编译、调试并下载程序到开发板。4、运行程序,用示波器观察 DA输出端口的输出波形。 【思考与分析】1、MSP430 ADC2哪些转换方式?各自的特点是是什么?2、MSP430F552奥片机的ADC12R大转换率是多少?试配置寄存器使ADC12勺转换率达到最大。3、能否用
38、MSP430F663的DA皿能产生特定频率的正弦波,若能,怎样确定频4、试编写程序,从MSP430F663第片机的DA引脚输出一个三角波。比较器实验【实验目的】1、了解MSP430!(列单片机比较器 B的主要功能;2、掌握MSP430F552的比较器B基本使用方法;3、了解比较器B 的简单应用,如测量电阻、电容触摸按键等。【实验仪器】1、MSP430G2553 Launch PacF块,MSP430F5529 Mini Board 一块;2、LED灯一个,电位器一个;2、PC机操作系统 Windows XP或Windows 7,集成开发环境。【实验原理】比较器B是一个实现模拟电压比较的片内外设
39、,主要用来比较模拟电压“ +” 输入端和“-”输入端的电压大小,然后设置输出信号CBOUT勺值。如果、”输 出端电压高于“-”输出端电压,输出信号 CBOUTS高,反之,CBOU拉低。通过相应寄存器的配置,比较器B 可进行如下模拟电压信号的比较:( 1)两个外部输入电压信号的比较;( 2)每个外部输入电压信号与内部基准电压的比较。我们还可以通过设置, 当比较器输出产生上升沿或者下降沿时, 触发中断并置位中断标志位。此时如果 CBIE (比较器B中断使能)和GIE (CPU+断使能) 都被置位,CBIFG等产生中断请求。【实验内容】1、比较器B输入通道CB5()接外部模拟输入信号(齿轮电位器),
40、并引至比较器“ +”输入端。内部参考电压发生器利用共享电压源产生参考电压,并引至比较器“-”输入端。最终产生以下结果:当CB5输入模拟信号电压高于时,CBOUT ()输出高电平;当CB5输入模拟信号电压低于时,CBOU输出低电平。将开发 板上的LED1引接到观察现象。2、在内容1的基础上,利用比较器中断,当 CB5输入模拟信号电压高于时,拉 高引脚;当CB5输入模拟信号电压低于时,拉低引脚。【实验步骤】内容1:比较模拟输入电压(电位器输入)与参考电压1、建立新工程,步骤同上,并命名为lab6_1。2、在新建工程的编辑窗口输入如下代码:#include <>void main( vo
41、id )WDTCTL = WDTPW + WDTHOLD;/关闭看门狗P1DIR |= BIT6;P1SEL |= BIT6;/选择功能为比较器输出 CBOUT/以下步骤设置比较器BCBCTL0 |= CBIPEN + CBIPSEL_5;/启用CB5,并将其引至正输入端CBCTL1 |= CBPWRMD_1;/正常电源模式CBCTL2 |= CBRSEL;/内部参考电压VRE引至负输入端CBCTL2 |= CBRS_3+CBREFL_2;/梯形电阻电路禁用,产生内部共享电压CBCTL3 |= BIT5;/启用CB5:匕较器功能CBCTL1 |= CBON;/打开比较器B_delay_cycl
42、es (75);_bis_SR_register ( LPM4_bits );/延迟以待参考电压稳定进入LPM4将电位器的3个引脚分别连接VCC(中间引脚)、GND并在上外好个LED灯便于观察现象。4、编译、调试并下载程序到开发板。5、运行程序,调节电位器,观察现象。内容2:比较B中断的应用1、建立新工程,步骤同上,并命名为lab6_22、在新建工程的编辑窗口输入如下代码:#include <>void main( void )WDTCTL=: WDTPW + WDTHOLD;/关闭看门狗P1DIR |= BIT0;/将设为输出/以下步骤设置比较器BCBCTL0 |=CBIPEN
43、+ CBIPSEL_5;/启用CB5,并将其引至正输入端CBCTL1 |=CBPWRMD_1;/正常电源模式CBCTL2 |=CBRSEL;/内部参考电压VRE引至负输入端CBCTL2 |=CBRS_3+CBREFL_2;/梯形电阻电路禁用,产生内部共享电压CBCTL3 |=BIT5;/启用CB5:匕较器功能delay cycles (75);/延迟以待参考电压稳定CBINT &= (CBIFG + CBIIFG );CBINT |= CBIE;CBCTL1 |= CBON;/ 清除比较器中断标志位/使能比较器CBIFG±升沿中断(CBIES=0)/ 打开比较器Bbis_SR
44、_register ( LPM4_bits+GIE) ; / 进入 LPM4 / Comp_B 中断服务程序- 反转口状态#pragma vector=COMP_B_VECTOR_interruptvoid Comp_B_ISR ( void )CBCTL1 A= CBIES;CBINT &= CBIFG;P1OUT A= 0x01;/切换中断触发方式/清除中断标志位/反转口状态3、将LED灯改接到上。4、编译、调试并下载程序到开发板。5、运行程序,调节电位器,观察现象。【思考与分析】 1、比较器B与模数转换器ADCT什么异同点?2、如何利用比较器B 测量未知电阻?Flash 实验【实
45、验目的】1、了解 Flash 存储器的分段结构;2、掌握MSP43cm片机对Flash控制器的基本操作, 包括数据的写入、数据的读出、数据的擦除,数据的修改等。【实验仪器】1、开发板一套; 2、键盘接口一块,液晶屏一块;3、PC机操作系统 Windows XP或Windows 7,集成开发环境。【实验原理】MSP430片机的Flash存储器是以段为基本结构进行存储的,总体上可分为 3部分:128KB的Flash主存储器、2KB的BSL存储器和512B的信息存储器。Flash 主要用于存储程序代码, 被分割为 4 个扇区, 每个扇区 128 段, 每段256B。 Flash控制器可以以位、 字节
46、或者字的格式写入Flash 主存储器, 但 Flash 主存储器的最小擦出单位是段。BSL存储器为引导加载存储器,可以用来存储引导加载程序, 其分为4段,每段512B,并且每段可单独进行擦除。信息存储器主要用来存储 需要掉电后永久保存的数据,可分为 4段,每段128B,每段也可单独进行擦除。 其存储器的分段结构示意图如图 7-1 所示 。7-1 Flash 存储器分段结构示意图MSP430F552的存储器结构图如图7-2所示:图7-2 MSP430F552x系列单片机存储结构图Flash 控制器主要用来实现对Flash 存储器的烧写程序、写入数据和擦除功能,可对Flash存储器进行字节/字/长字(32位)的寻址和编程【实验内容】 1、实现基本的擦出和写入操作,将已设定的数据0x写入InfoD ,地址为0x1800。 当写入完成时,使能开发板上的 LED1闪烁。2、实现在InfoC中写入递增的自然数数值,并将InfoC的数据拷贝到InfoD, InfoD中的数据也是同样递增的数值。当操作完成时,使能开发板上的LED1闪烁。【实验步骤】内容1:基本的擦
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- GB/T 18654.5-2026鱼类种质检验第5部分:食性分析
- 2026福建事业单位统考平潭综合实验区招聘27人笔试备考试题及答案解析
- 2026年兰州资源环境职业技术学院单招职业适应性测试题库有答案详细解析
- 2026广西崇左凭祥产业园区企业服务中心驾驶员招聘1人笔试备考题库及答案解析
- 2026四川德阳农业科技职业学院教师招聘11人考试备考题库及答案解析
- 2026上海中医药大学附属闵行晶城中学教师第三批招聘笔试模拟试题及答案解析
- 2026年贵州省六盘水市高职单招职业适应性测试考试题库含答案详细解析
- 2026中铁诺德生活服务有限公司北京分公司招聘8人笔试备考题库及答案解析
- 2025-2026学年云南省临沧市临翔区市级名校初三下学期第一次月考-英语试题含解析
- 山东省莱芜市名校2025-2026学年初三下学期第二次质量检测试题语文试题含解析
- 投资项目《项目建议书》《可性研究报告》等编制服务方案投标文件(技术方案)
- 国开2026年春季《形势与政策》专题测验1-5答案
- 2026离婚协议书标准范文
- 2026年邮政从业职业技能鉴定考试题库(附答案)
- 2026年临汾职业技术学院单招职业技能考试题库带答案详解(精练)
- 2026年及未来5年市场数据中国公募基金行业市场全景评估及投资策略咨询报告
- 2025-2026学年春季第二学期学校教导处工作计划及安排表
- 北京市丰台区2026届(年)高三年级(上)学期期末考试政治试题卷+答案
- 放射性肠炎诊疗指南(2025年版)
- 2025云南事业单位考试d类真题及答案
- 医疗设备报废环保合规处置指南
评论
0/150
提交评论