欢迎来到冰点文库! | 帮助中心 分享价值,成长自我!
冰点文库
全部分类
  • 临时分类>
  • IT计算机>
  • 经管营销>
  • 医药卫生>
  • 自然科学>
  • 农林牧渔>
  • 人文社科>
  • 工程科技>
  • PPT模板>
  • 求职职场>
  • 解决方案>
  • 总结汇报>
  • ImageVerifierCode 换一换
    首页 冰点文库 > 资源分类 > DOCX文档下载
    分享到微信 分享到微博 分享到QQ空间

    东南大学单片机实验一实验二解析.docx

    • 资源ID:9774653       资源大小:123.12KB        全文页数:15页
    • 资源格式: DOCX        下载积分:1金币
    快捷下载 游客一键下载
    账号登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录 QQ登录
    二维码
    微信扫一扫登录
    下载资源需要1金币
    邮箱/手机:
    温馨提示:
    快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如填写123,账号就是123,密码也是123。
    支付方式: 支付宝    微信支付   
    验证码:   换一换

    加入VIP,免费下载
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    东南大学单片机实验一实验二解析.docx

    1、东南大学单片机实验一实验二解析实验一 & 实验二04011003 杨阳一、实验目标:1. 熟悉FFTB6638实验平台。2. 熟悉CCS集成开发环境,学习MSP430单片机编程及调试方法。3. MSP430 IO端口输入、输出操作,按键输入的状态查询、按键的消抖和按键输入的中断获取。4. 掌握MSP430单片机时钟模块的配置。二、实验内容:课堂验收实验:实验一:实验内容:1使ACLK频率为16384Hz,并用示波器观测2使SMCLK的频率为2MHz,并用示波器观测3使用按键控制SMCLK的频率在2MHz和16MHz之间切换关键代码: UCSCTL3 = SELREF_2;/ Set DCO F

    2、LL reference = REFO UCSCTL4 |= SELA_2; / Set ACLK = REFO UCSCTL0 = 0x0000; / Set lowest possible DCOx, MODx UCSCTL5 = 0x1000; /set ACLK/2 do UCSCTL7 &= (XT2OFFG + XT1LFOFFG + DCOFFG); SFRIFG1 &= OFIFG; / Clear fault flags while (SFRIFG1 & OFIFG); _bis_SR_register(SCG0); / Disable the FLL control loo

    3、p UCSCTL1 = DCORSEL_2; / Select DCO range 16MHz operation UCSCTL2 |= 63; / Set DCO Multiplier for 2MHz / (N + 1) * FLLRef = Fdco, (63 + 1) * 32768 = 2MHz _bic_SR_register(SCG0); / Enable the FLL control loop _delay_cycles(63000); P2IE |= BIT7; P2IFG &= BIT7; _enable_interrupt(); while(1); #pragma ve

    4、ctor=PORT2_VECTOR_interrupt void port_2(void) _delay_cycles(5000); if(P2IN & BIT7) _bis_SR_register(SCG0); / Disable the FLL control loop UCSCTL1 = DCORSEL_5; / Select DCO range 16MHz operation UCSCTL2 |= 511; / Set DCO Multiplier for 16MHz / (N + 1) * FLLRef = Fdco, (511 + 1) * 32768 = 16MHz _bic_S

    5、R_register(SCG0); / Enable the FLL control loop P2IFG &=BIT7; 实验现象:1、ACLK=16.39kHz2、按键前,SMCLK=2MHz3、按键后,SMCLK=16MHz实验二:实验内容:试修改PWM的频率为16Hz,占空比为1:2和2:1关键代码:#includevoid main(void) WDTCTL = WDTPW + WDTHOLD; / Stop WDT P3DIR |= BIT2+BIT3; / P3.2 and P3.3 output P3SEL |= BIT2+BIT3; / P3.2 and P3.3 optio

    6、ns select TA1CCR0 = 131072-1; / PWM Period TA1CCTL1 = OUTMOD_7; / CCR1 reset/set TA1CCR1 = 87381; / CCR1 PWM duty cycle TA1CCTL2 = OUTMOD_7; / CCR2 reset/set TA1CCR2 = 43691; / CCR2 PWM duty cycle UCSCTL4 |= SELS_2; / Set SCLK = REFO TA1CTL = TASSEL_2 + MC_1 + TACLR; / SMCLK, up mode, clearTAR _bis_

    7、SR_register(LPM0_bits); / Enter LPM0 _no_operation(); / For debugger思考题:1、MSP430所需的定时信号可以用什么方法获得?答:MSP430所需的定时信号可以用软件和硬件两种方法来获得。2、MSP430F6xx系列单片机有哪些定时器资源?答:看门狗定时器(WDT), 定时器A(Timer_A), 定时器B(Timer_B)和定时器D(Timer_D)等。3、MSP430系列单片机看门狗定时器可以有什么用途?答:基本定时、当程序发生错误时执行一个受控的系统重启动4、MSP430F6xx看门狗定时时间是如何确定的?答:用IS2、

    8、IS1、IS0端口选择看门狗定时器的定时长度5、简述MSP430系列单片机TIMER_A的特性。答: 带有4 种操作模式的异步16 位定时/计数器。输入时钟可以有多种选择,可以是慢时钟,快时钟以及外部时钟。可配置捕获/比较寄存器数多达7 个。可配置的PWM(脉宽调制)输出。异步输入和同步锁存。不仅能捕获外部事件发生的时间还可锁定其发生时的高低电平。完善的中断服务功能。快速响应Timer_A中断的中断向量寄存器。8种输出方式选择。可实现串行通讯。6、MSP430系列单片机TIMER_A 由哪几个部分组成?答:MSP430系列单片机TIMER_A 由定时计数器、时钟源的选择和分频、捕获/比较器、输

    9、出单元四个部分组成7、TimerA有哪几种计数模式?答:停止模式、增计数模式、连续计数模式、增/减计数模式8、TimerA输出PWM的频率和占空比是如何确定的?答:如果Timer_A定时器的计数器工作在增计数方式,输出采用输出模式7(复位/置位模式),则可利用寄存器TAxCCR0控制PWM波形的周期,用某个寄存器TAxCCRx控制占空比。这样Timer_A就可以产生出任意占空比的PWM波形。其他实验:实验一、LED跑马灯实验内容:开发板上3 个LED 定时翻转,实现闪烁的效果。实验原理:开发板上的3 个LED 灯和IO 口对应关系如下:LED_YELLOW-P4.1、LED_GREEN-P4.

    10、2、LED_RED - P4.3从MSP430F6638 的芯片手册中找到,与P4 端口相关的寄存器地址信息,P4 端口的基地址为 0x0220,要完成该实验,只需要设置两个相关寄存器。P4OUT 和P4DIR。P4DIR 为方向寄存器,P4OUT 为数据输出寄存器。从图一可以知道,P4OUT 和P4DIR 的偏移地址分别为0x03 和0x05。这两个寄存器的地址我们采用“基地址+偏移地址”的方式来表示。实验现象分析:例程1、2分别为看门狗打开和关闭,看门狗打开时延时程序(for语句循环次数)不改变LED灯闪烁频率。看门狗关闭后闪烁频率由延时程序决定。改变MCLK的时钟频率改变例程2闪烁频率,

    11、不改变例程1的闪烁频率。思考题:(1) MSP430 的IO 口都具备哪些功能? 答:输入输出、中断等功能。(2) 与IO 口相关的寄存器有哪些? 答:PxDIR,PxIN,PxOUT,PxREN,PxSEL,PxDS,PxIE,PxIES,PxIFG。(3) 如何确定一个寄存器的地址? 答:基地址+偏移地址。实验二、按键输入与中断实验内容:本实验通过中断的方式演示了按键的操作。与查询方式相比,中断按键具有响应速度快,占用MCU 资源少的优点。实验原理:开发板上的按键和MCU 的IO 口对应关系如下:P2.6-KEY1P2.7-KEY2开发板上三个LED 灯和MCU 的IO 口对应关系如下:实

    12、验现象:按下开发板上的按键,产生一个中断请求,在中断服务函数中,点亮对应的LED 灯。思考题:(1) 如何定义一个MSP430 的中断函数?答:中断函数的写法:在MSP430 中,用扩展关键字来_interrupt 来表明该函数为中断函数。_interrupt void port_2(void);语法:interrupt void 函数名()或者Interrupt【中断向量】void 函数名()参数:中断函数没有参数。中断函数需要指定中断向量。返回:中断返回一般是void,没有返回值。(2) 在中断服务程序中,为什么要清楚中断标志位?答:一般的情况下,中断的优先级比较高,系统或者硬件都是优先响

    13、应处理中断的;而中断标志则是是否有中断产生的标识,所以没有清除中断标志,系统或者硬件会认为有中断产生,而去响应,这样就可能导致出错了。中断标识有些是会自动清除的,比如MSP430中的通信时发送,接收中断标志,而有些是必须手动清除的。(3) MSP430 单片机与IO 中断相关的寄存器有哪些?(2)答:PxIE,PxIES,PxIFG。实验三、按键消抖实验内容:按键是电子产品中的一个常用器件。通常的按键所用的开关为机械开关,当机械触点断开、闭合时,由于机械触点的弹性作用,一个按键开关在闭合时不会马上稳定的接通,在断开时也不会一下子断开。因而在闭合及断开的瞬间均伴随有一连串的抖动,为了不产生这种现

    14、象而采取的措施就是按键消抖。实验原理:按键和MCU 连接有两种方式:(1) Pull-UP:在按键没有按下的时候,MCU 相应的管脚为低电平。按键按下时,MCU 的管脚连接到VCC,此时为高电平。(2) Pull-DOWN:在按键没有按下的时候,MCU 相应的管脚为高电平。按键按下时,MCU 的管脚连接到地,此时为低电平。按键按下的前后存在一个抖动的时间。实验现象:按下按键,相应的LED 灯点亮。思考题:(1) 软件消抖方法,除了采用延时以外,是否还有其它方法可以实现去抖的效果?答:还可以通过中断的方法实现去抖的效果。(2) 延时函数delay_ms 延时精确吗?如果不精确,用什么方法可以达到

    15、精确的延时效果?答:不太精确,可以用内部定时器达到更精确的延时效果。(3)如果用中断来检测按键,和延时方法相比,是否更有优势?答:中断可以通过边沿触发,在中断服务程序中把是否有键按下的信息反馈给主函数,省去 了延时函数的等待过程,所以更有优势。实验四、按键输入查询实验内容:实验演示了按键的基本功能,MUC 通过检测相应I/O 的电平变化,来判断是否有按键按下。有按键按下时,实验平台上的三个LED 点亮。松开按键的时候,LED 灯熄灭。实验原理:(1) 当按键没有按下时:DVCC 进过两个电阻连接到MCU 的IO 口,此时MCU 相应的IO口电平为高电平。(2) 当按键按下时:DVCC 经过电阻

    16、R76 之后对地导通,此时MCU 相应的I/O 口电平为低。(3) 所以,通过检测与key1、key2 相连的两个IO 口电平状况就可以知道按键有无按下。完成该实验,我们只需要用到3 个寄存器:PxIN、PxOUT、PxDIR实验现象:按下按键,相应的LED 灯点亮。思考题:(1) 该实验代码的效果是只有按键按下时,LED 灯才会点亮。按键松开后,LED 熄灭。如何修改程序,使按下按键一次,LED 点亮,再次按下按键时,LED 熄灭?答:while (1) if (P2IN & 0x40) = 0)/If key is pressed P4OUT = BIT1+BIT2+BIT3;/XOR P

    17、4.1,P4.2,P4.3 (2) 下面这种操作IO 的方法和直接对IO 口赋值相比,有什么好处?P2DIR &= (16); /IO口方向设置为输入P4DIR |= (11)|(12)|(13); /IO口方向设置为输出答:避免对P2和P4其他的IO口造成影响(3) 去掉该句代码,程序是否能正常运行?为什么?WDTCTL = WDTPW+WDTHOLD; / 关闭看门狗答:不能。因为在程序开始之前,关门狗计时器是开启状态,如果不先关掉,有可能在程序 运行过程中发生复位。实验五、ACLK,SMCLK,MCLK时钟的产生实验内容:(1)ex5_1使用了XT1, 查看ACLK=XT1=32768H

    18、z;(2)ex5_2 使用了REFO和XT2,查看ACLK=REFO=32768Hz,SMCLK=XT2=4MHz实验原理:UCS 模块包括5 个时钟源(1) XTICLK:低频/高频振荡器,可以使用32768Hz 外部晶振;(2) VLOCLK:内部低功耗、低频率振荡器,典型频率为10KHz;(3) REFOCLK:进过调整的内部振荡器,典型值为32768hz,可以用作FLL 的参考时钟;(4) DCOCLK:内部数字时钟,可以通过FLL 得到稳定的时钟信号;(5) XT2CLK:可选的高频振荡器。可以用作FLL 的参考时钟。UCS 模块提供的3 个可利用的时钟信号:(1) ACLK:辅助时

    19、钟。可ACLK 可以为某些外围模块提供时钟。ACLK 可以被1,2,4,8,16,32 分频。ACLK/n 就是ACLK 经过1,2,4,8,16,32 分频获得的,同时也可以通过外部引脚输出;(2) MCLK:主时钟。MCLK 可以被1,2,4,8,16,32 分频后为CPU 和系统提供时钟。MCLK 的获得和来源ACLK 的相同;(3) SMCLK:子系统时钟。SMCLK 被1,2,4,8,16,32 分频后为个别外围模块提供时钟。其来源和ACLK 相同。实验过程:通过示波器实际测量,MSP430 可以通过软件配置,选择不同的时钟源,工作在不同的时钟频率下。使ACLK频率为16384Hz:

    20、更改UCSCTL5的DIVPA在dowhile语句前,加UCSCTL5 |=DIVPA_1;SMCLK的频率为2MHz:更改UCSCTL5的DIVS在dowhile语句前,加UCSCTL5 |=DIVS_1;思考题:(1) MSP430 系列单片机有哪些时钟输入信号?答:辅助时钟ACLK,系统主时钟单元MCLK,系统子时钟SMCLK(2) MSP430 系列单片机的DCO 振荡器有什么重要用途?答:MSP430的两个外部振荡器产生的时钟信号可经分频后用作系统时钟MCLK,当振荡器失效时,DCO振荡器会自动被选为MCLK的时钟源,因此由振荡器失效引起的NMI中断请求可以得到响应,甚至在CPU关闭

    21、的情况下也能得到处理。MSP430可以让任意被允许的中断请求在低功耗下得到服务,甚至在LPM4模式下(所有振荡器停止工作,CPU、MCLK、SMCLK、ACLK处于禁止状态)。MCLK在中断服务时自动有效。当DCO振荡器没有用作SMCLK和MCLK时钟信号时,可用控制位SCG0关闭直流发生器消耗的电流定义了DCOCLK的基本频率。(3) MSP430 系列单片机不接任何振荡器是否可以正常工作?答:可用DCO振荡器(一个可数字控制的RC振荡器,可通过软件调节)F4xx应用了增强型锁频环技术FLL+,硬件自动调整频率,支持时钟配置超低功耗应用。F41/42X系列没有XT2,而MSP430X1XX系

    22、列单片机时钟模块通过软件调节DCO频率,都有三个时钟源。实验六、FLL与时钟校正实验内容:使用了XT1、DCO和FLL;查看ACLK=?SMCLK=?实验过程:ACLK=XT1=32768Hz,MCLK=SMCLK=DCO=(74+1)*REFO=2457600HzMCLK、SMCLK倍频:设置FLL的相关参数,包括分频器(N+1)FLLN和分频值FLLD以及FLL的参考时钟,通过f(DCOCLK)=D*(N+1)*f(FLLREFCLK)得到稳定的DCOCLK频率。SMCLK的频率改为16MHz:UCSCTL1 = DCORSEL_6;UCSCTL2 = FLLD_1 + 511;MCLK=

    23、SMCLK=DCO=(511+1)*REFO=16MHz用按键控制SMCLK的频率在2MHz和16MHz之间切换:while (1) if (P2IN & 0x40) = 0)/If key is pressed UCSCTL1 = DCORSEL_6;UCSCTL2 = FLLD_1 + 511;MCLK=SMCLK=DCO=(511+1)*REFO=16MHz if (P2IN & 0x80) = 0)/If key is pressed UCSCTL1 = DCORSEL_3;UCSCTL2 = FLLD_1 + 63;MCLK=SMCLK=DCO=(511+1)*REFO=2MHz 思

    24、考题:(1) MSP430 系列单片机有哪些时钟输入源?答:LFT1CLK(低速32768Hz,高速450Hz到8MHz),XT2CLK(450Hz到8MHz),DCOCLK。(2) MSP430 系列单片机提供几种时钟信号?每种时钟信号的通常用途是什么?答:三种ACLK辅助时钟:一般用于低速外设MCLK系统主时钟:主要用于CPU和系统SMCLK子系统时钟:主要用于高速外围模块(3) MSP430 系列单片机的DCO 振荡器有什么重要用途?答:MSP430的两个外部振荡器产生的时钟信号可经分频后用作系统时钟MCLK,当振荡器失效时,DCO振荡器会自动被选为MCLK的时钟源,因此由振荡器失效引起

    25、的NMI中断请求可以得到响应,甚至在CPU关闭的情况下也能得到处理。MSP430可以让任意被允许的中断请求在低功耗下得到服务,甚至在LPM4模式下(所有振荡器停止工作,CPU、MCLK、SMCLK、ACLK处于禁止状态)。MCLK在中断服务时自动有效。当DCO振荡器没有用作SMCLK和MCLK时钟信号时,可用控制位SCG0关闭直流发生器消耗的电流定义了DCOCLK的基本频率。实验七、时钟配置和输入选择实验内容:使用了XT1、XT2;查看ACLK=?SMCLK=?实验原理:本实验演示了使用一个外部的32KHz 晶振作为ACLK 的时钟输入源,使用一个更高频率的晶振作为SMCLK 的时钟输入源。供CPU 使用的MCLK 由内部的DCO 产生。32kHz的晶振连接到CPU 的XIN 和XOUT 管脚。高频率的晶振连接到CPU 的XT2IN 和XT2OUT。ACLK 通过P1.0 输出,SMCLK 通过P3.4 输出。实验结果:ACLK=XT2=32768Hz,SMCLK=XT2=4MHz思考题:(同实验五思考题)总结: 前两次课是在理论课的基础上,在老师的带领下,我们的初次单片机实践,我对msp430有了更清楚的认识,特别是对于时钟的分频,中断的触发,以及看门狗的运用等等。更重要的是学会了学习的方法,对类似的问题知道如何着手解决,为将来更深入的学习打下了坚实的基础。


    注意事项

    本文(东南大学单片机实验一实验二解析.docx)为本站会员主动上传,冰点文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰点文库(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

    copyright@ 2008-2023 冰点文库 网站版权所有

    经营许可证编号:鄂ICP备19020893号-2


    收起
    展开