- 1、本文档共24页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
实验一
验证性试验
#include msp430f6638.h
int flag;
void DCmotor(int p)
{ switch(p)
{
case 0: {P1OUT =~ BIT0; //停转
P1OUT =~ BIT6;
P1OUT =~ BIT7;
break;
}
case 1: {P1OUT |= BIT0; //正转
P1OUT |= BIT6;
P1OUT =~ BIT7;
break; }
case 2: { P1OUT |= BIT0;
P1OUT =~ BIT6;
P1OUT |= BIT7;
break;
}
}
}
int main(void) {
WDTCTL = WDTPW | WDTHOLD; // Stop watchdog timer
P4REN |=BIT0+BIT1+BIT2+BIT3+BIT4; // 上下拉电阻使能
P4OUT |=BIT0+BIT1+BIT2+BIT3+BIT4; //设置为上拉电阻
P4DIR |=BIT5+BIT6+BIT7; //LED管脚设置
P5DIR |=BIT7;
P8DIR |=BIT0;
P1DIR |= BIT0+BIT6+BIT7;
while(1)
{
if((P4INBIT0)==0){ //按键S7
__delay_cycles(160000);
if((P4INBIT0)==0) {
flag=2;}}
if((P4INBIT4)==0){ //按键S3
__delay_cycles(160000);
if((P4INBIT4)==0) {
flag=1;}}
DCmotor(flag);
}
}
设计性试验
#include msp430f6638.h
int main(void)
{ WDTCTL = WDTPW +WDTHOLD;
P4REN |=BIT0+BIT2+BIT4;
P4OUT |=BIT0+BIT2+BIT4;
P1DIR |=BIT0+BIT6+BIT7;
while(1)
{ if((P4INBIT0)==0)
{ __delay_cycles(160000);
if((P4INBIT0)==0)
{ P1OUT |=BIT0;
P1OUT |=BIT6;
P1OUT =~BIT7;
}
}
if((P4INBIT4)==0)
{ __delay_cycles(160000);
if((P4INBIT4)==0)
{ P1OUT |=BIT0;
P1OUT =~BIT6;
P1OUT |=BIT7;
}
}
if((P4INBIT2)==0)
{ __delay_cycles(160000);
if((P4INBIT2)==0)
{ P1OUT =~BIT0;
}
}
}
}
1、验证性实验:
利用 MSP430F6638 开发板上的拨盘电位器,控制改变AD 转换的输入电压值,转换后
的数字量显示在段式液晶上面。使用万用表测得当前输入电压,通过计算得到转换后的理想
的数字量与液晶显示的数字量进行比较。
/*
* main.c
*/
#include msp430f6638.h
#include stdint.h
#include stdio.h
#include string.h
#include dr_lcdseg.h //调用段式液晶驱动头文件
#define XT2_FREQ 4000000
#define
文档评论(0)