东南大学_单片机-实验一实验二.doc

  1. 1、本文档共13页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
东南大学_单片机-实验一

实验一 实验二杨阳 一、实验目标: 1. 熟悉FFTB6638实验平台。 2. 熟悉CCS集成开发环境,学习MSP430单片机编程及调试方法。 3. MSP430 IO端口输入、输出操作,按键输入的状态查询、按键的消抖和按键输入的中断获取。 4. 掌握MSP430单片机时钟模块的配置。 二、实验内容: 课堂验收实验: 实验一: 实验内容: 使ACLK频率为16384Hz,并用示波器观测 使SMCLK的频率为2MHz,并用示波器观测 使用按键控制SMCLK的频率在2MHz和16MHz之间切换 关键代码: UCSCTL3 = SELREF_2;// Set DCO FLL 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 loop 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 vector=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_SR_register(SCG0); // Enable the FLL control loop P2IFG =~BIT7; } } 实验现象: 1、ACLK=16.39kHz 按键前,SMCLK=2MHz 按键后,SMCLK=16MHz 实验二: 实验内容:试修改PWM的频率为16Hz,占空比为1:2和2:1 关键代码: #includemsp430f6638.h void main(void) { WDTCTL = WDTPW + WDTHOLD; // Stop WDT P3DIR |= BIT2+BIT3; // P3.2 and P3.3 output P3SEL |= BIT2+BIT3; // P3.2 and P3.3 options 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; // CCR

文档评论(0)

shuwkb + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档