搜档网
当前位置:搜档网 › msp430学习笔记

msp430学习笔记

msp430学习笔记
msp430学习笔记

MSP430单片机flash型学习笔记

2012年1月17日

一存储器:

Sfr和外围设备设在0x0000h-0x01ffh(512B)00h-ffh为字节模块,100h-1ffh为字模块

二寄存器

SR(状态寄存器)

V溢出位

SCG系统时钟发生器oscoff晶振关闭位cpuoffcpu关闭位

GIE通用中端允许位N负数位Z零C进位

常数发生器R2,R3

P3 P4 P5 P6通用端口各有四个寄存器,输入寄存器PnIN,PnOUT,PnDIR,PnSEL

三时钟

三个来源,LFXT1CLK XT2CLK DCO

如果LFXT1CLK没有作用于MCLK或SMCLK则可以通过oscoff关闭LFXT1;XT2时钟不使用时可以通过XT2Off关闭XT2,如果CPUOff位复位,且SELM=2则XT2用作主时钟;如果SCG1复位且SELS置位则XT2用作子时钟SMCLK。

C430常用技巧与知识:

中断响应函数编写:

#pragma vector=中断向量

__interrupt void 中断响应函数名称(void)

{

用户程序;

}

说明:vector可以在IAR的头文件msp430x14x.h中查找

MSP430单片机实验报告v3.0

MSP430单片机课程设计 一.设计要求 数字温度计 (1)用数码管(或LCD)显示温度和提示信息; (2)通过内部温度传感器芯片测量环境温度; (3)有手动测量(按测量键单次测量)和自动测量(实时测量)两种工作模式; (4)通过按键设置工作模式和自动测量的采样时间(1秒~1小时); (5)具备温度报警功能,温度过高或过低报警。 二.系统组成 系统由G2Launch Pad及其拓展板构成,单片机为MSP430G2553。 I2的通信方式对IO进行拓展,芯片为TCA6416A; 使用C 使用HT1621控制LCD; 三.系统流程 拓展的四个按键key1、key2、key3、key4分别对应单次测量、定时测量、定时时间的增、减。定时时间分别为1s,5s,15s,30s,60s。在自动测量模式下,当温度超过设定温度上限

即报警,报警时在LCD屏幕显示ERROR同时LED2闪烁,在5s后显示0℃。此时可重新开始手动或自动测量温度。 系统示意图: 四.演示 a)手动测量温度 b)自动测量温度 c)报警

显示ERROR同时LED闪烁d)设置时间界面 五.代码部分 #include "MSP430G2553.h" #include "TCA6416A.h" #include "LCD_128.h" #include "HT1621.h" #include "DAC8411.h" #define CPU_F ((double)8000000) #define delay_us(x) __delay_cycles((long)(CPU_F*(double)x/1000000.0)) #define delay_ms(x) __delay_cycles((long)(CPU_F*(double)x/1000.0)) static int t=0; long temp; long IntDeg; void ADC10_ISR(void); void ADC10_init(void); void LCD_Init(); void LCD_Display(); void GPIO_init(); void I2C_IODect(); void Error_Display(); void WDT_Ontime(void); void LCD_Init_AUTO(); void LCD1S_Display();

单片机实验报告

院系:计算机科学学院专业:智能科学与技术年级: 2012 学号:2012213865 姓名:冉靖 指导教师:王文涛 2014年 6月1日

一. 以下是端口的各个寄存器的使用方式: 1.方向寄存器:PxDIR:Bit=1,输出模式;Bit=0,输入模式。 2.输入寄存器:PxIN,Bit=1,输入高电平;Bit=0,输入低电平。 3.输出寄存器:PxOUT,Bit=1,输出高电平;Bit=0,输出低电平。 4.上下拉电阻使能寄存器:PxREN,Bit=1,使能;Bit=0,禁用。 5.功能选择寄存器:PxSEL,Bit=0,选择为I/O端口;Bit=1,选择为外设功能。6.驱动强度寄存器:PxDS,Bit=0,低驱动强度;Bit=1,高驱动强度。 7.中断使能寄存器:PxIE,Bit=1,允许中断;Bit=0,禁止中断。 8.中断触发沿寄存器:PxIES,Bit=1,下降沿置位,Bit=0:上升沿置位。 9.中断标志寄存器:PxIFG,Bit=0:没有中断请求;Bit=1:有中断请求。 二.实验相关电路图: 1 MSP430F6638 P4 口功能框图: 主板上右下角S1~S5按键与MSP430F6638 P4.0~P4.4口连接: 2按键模块原理图: 我们需要设置两个相关的寄存器:P4OUT和P4DIR。其中P4DIR为方向寄存器,P4OUT 为数据输出寄存器。 主板上右下角LED1~LED5指示灯与MSP430F6638 P4.5~P4.7、P5.7、P8.0连接:

3 LED指示灯模块原理图: P4IN和P4OUT分别是输入数据和输出数据寄存器,PDIR为方向寄存器,P4REN 为使能寄存器: #define P4IN (PBIN_H) /* Port 4 Input */ #define P4OUT (PBOUT_H) /* Port 4 Output */ #define P4DIR(PBDIR_H) /* Port 4 Direction */ #define P4REN (PBREN_H) /* Port 4 Resistor Enable */ 三实验分析 1 编程思路: 关闭看门狗定时器后,对P4.0 的输出方式、输出模式和使能方式初始化,然后进行查询判断,最后对P4.0 的电平高低分别作处理来控制LED 灯。 程序流程图: 2 关键代码分析: #include void main(void) { WDTCTL = WDTPW + WDTHOLD; // 关闭看门狗 P4DIR |= BIT5; // 设置4.5口为输出模式 P4OUT |= BIT0; // 选中P4.0为输出方式 P4REN |= BIT0; // P4.0使能 while (1) // Test P1.4 { if (P4IN & BIT0) //如果P4.0为1则执行,这是查询方式按下去后是低,否则为高

南理工 王宏波 MSP430F6638单片机实验报告

MSP430单片机应用技术 实验报告 学号:XXXXXXXX

实验1 一、实验题目:UCS实验 二、实验目的 设置DCO FLL reference =ACLK=LFXT1 = 32768Hz, MCLK = SMCLK = 8MHz,输出ACLK、SMCLK,用示波器观察并拍照。 UCS,MCLK、 SMCLK 8MHz 的 1 2 六、实验结果 实验2 一、实验题目:FLL+应用实验 二、实验目的

检测P1.4 输入,遇上升沿进端口中断,在中断服务程序内翻转P4.1 状态。 三、实验仪器和设备 计算机、开发板、示波器、信号源、电源、Code Comeposer Studio v5 四、实验步骤 1、用电缆连接开发板USB2口和电脑USB口,打开电源开关SW1,电源指示灯D5点亮; 2、运行CCSV5; WDT 1、用电缆连接开发板USB2口和电脑USB口,打开电源开关SW1,电源指示灯D5点亮; 2、运行CCSV5; 3、新建工作空间workspace; 4、新建工程project与源文件main.C; 5、编写程序; 6、编译、调试、下载程序到单片机;

7、观察、分析、保存运行结果。 五、实验程序 实验4 一、实验题目:WDT_A实验 二、实验目的 定时模式 1 2 六、实验结果 实验5一、实验题目:Timer_A实验

二、实验目的 比较模式-Timer_A0,两路PWM 输出,增减计数模式,时钟源SMCLK,输出模式7 TACLK = SMCLK = default DCOCLKDIV。PWM周期CCR0 = 512-1,P1.6 输出PWM占空比CCR1 = 37.5%,P1.7输出PWM占空比CCR1 =12.5%。 要求: (1)用示波器观察两路PWM 输出的波形并拍照,测量周期、正脉宽等参数,与理论值进行对比分析。 (2 (3 1 2 实验6 一、实验题目:ADC12实验 二、实验目的 ADC12 单次采样A0 端口,根据转换结果控制LED 状态。

430单片机点亮LED实验报告

430单片机点亮LED实验报告 一.安装实验软件IAR 二.编写点亮LED灯程序 1.使P1.0口LED灯会不停的闪烁着,程序 #include typedef unsigned int uint; typedef unsigned char uchar; /*延时函数*/ void Delay_Ms(uint x) { uint i; while(x--)for(i=0;i<250;i++); } /*主函数*/ int main( void ) { WDTCTL = WDTPW + WDTHOLD;// Stop watchdog timer to prevent time out reset P2DIR|=BIT0;//定义P1口为输出 while(1)//死循环 { P2OUT^=BIT0;//P1.0口输出取反

Delay_Ms(600);//稍作延时 } } 下载进去看到了P1.0口LED灯会不停的闪烁着。 2.实验目的让两盏灯交换闪烁程序 #include"msp430g2553.h" void main(void) { void Blink_LED(); WDTCTL=WDTPW+WDTHOLD; //关闭看门狗 P1DIR=BIT6; P2DIR=BIT0; while(1) { Blink_LED(); } } void Blink_LED() { _delay_cycles(1000000); //控制第二个LED P1OUT^=BIT6; _delay_cycles(1000000); //控制第一个LED P2OUT^=BIT0;

MSP430单片机实验报告

MSP430单片机实验报告 专业: 姓名: 学号:

MSP430单片机实验报告 设计目标:使8位数码管显示“5201314.”,深入了解串行数据接口。 实现过程:主要分为主函数、驱动8位数码管函数、驱动1位数码管函数及延时函数。 延时函数:采用for循环。 驱动1位数码管子函数:设置74HC164的时钟传输和数传输,声明变量,使数据表中每一个要表示的字符的每一位都与shift做与运算从而进行传输,上升沿将传输数据传送出去。驱动1位数码管子函数的流程图如图1所示。 图1 驱动1位数码管子函数流程图 驱动8位数码管子函数:调用8次驱动1位数码管子函数。驱动8位数码管子函数流程图如图2所示。 图2 驱动8位数码管流程图

while 图3 主函数流程图 实验结果:供电后,数码管显示“5201314.”字样。 源程序: /************* 程序名称:5201314.*************/ /***程序功能:通过模拟同步串口控制8个共阳数码管***/ /*******P5.1 数据管脚,P5.3 同步时钟管脚*******/ #include // 头文件 void delay(void); // 声明延迟函数void seg7_1 (unsigned char seg7_data); // 声明驱动1 位数码管函数void seg7_8 ( unsigned char seg7_data7, unsigned char seg7_data6, unsigned char seg7_data5, unsigned char seg7_data4, unsigned char seg7_data3, unsigned char seg7_data2,

MSP430 按键程序范例(附原理图)

#i nclude void Init_Port(void) { //将P1口所有的管脚在初始化的时候设置为输入方式 P1DIR = 0; //将P1口所有的管脚设置为一般I/O口 P1SEL = 0; // 将P1.4 P1.5 P1.6 P1.7设置为输出方向 P1DIR |= BIT4; P1DIR |= BIT5; P1DIR |= BIT6; P1DIR |= BIT7; //先输出低电平 P1OUT = 0x00; // 将中断寄存器清零 P1IE = 0; P1IES = 0; P1IFG = 0; //打开管脚的中断功能 //对应的管脚由高到低电平跳变使相应的标志置位 P1IE |= BIT0; P1IES |= BIT0; P1IE |= BIT1; P1IES |= BIT1; P1IE |= BIT2; P1IES |= BIT2; P1IE |= BIT3; P1IES |= BIT3; _EINT();//打开中断 return; } void Delay(void) { int i; for(i = 100;i--;i > 0) ;//延时一点时间 } int KeyProcess(void) { int nP10,nP11,nP12,nP13; int nRes = 0;

//P1.4输出低电平 P1OUT &= ~(BIT4); nP10 = P1IN & BIT0; if (nP10 == 0) nRes = 13; nP11 = P1IN & BIT1; if (nP11 == 0) nRes = 14; nP12 = P1IN & BIT2; if (nP12 == 0) nRes = 15; nP13 = P1IN & BIT3; if (nP13 == 0) nRes = 16; //P1.5输出低电平 P1OUT &= ~(BIT4); nP10 = P1IN & BIT0; if (nP10 == 0) nRes = 9; nP11 = P1IN & BIT1; if (nP11 == 0) nRes = 10; nP12 = P1IN & BIT2; if (nP12 == 0) nRes = 11; nP13 = P1IN & BIT3; if (nP13 == 0) nRes = 12; //P1.6输出低电平 P1OUT &= ~(BIT4); nP10 = P1IN & BIT0; if (nP10 == 0) nRes = 5; nP11 = P1IN & BIT1; if (nP11 == 0) nRes = 6; nP12 = P1IN & BIT2; if (nP12 == 0) nRes = 7; nP13 = P1IN & BIT3; if (nP13 == 0) nRes = 8; //P1.7输出低电平 P1OUT &= ~(BIT4); nP10 = P1IN & BIT0; if (nP10 == 0) nRes = 1; nP11 = P1IN & BIT1; if (nP11 == 0) nRes = 2; nP12 = P1IN & BIT2; if (nP12 == 0) nRes = 3; nP13 = P1IN & BIT3; if (nP13 == 0) nRes = 4; P1OUT = 0x00;//恢复以前值。

MSP430单片机定时器实验报告

实验四定时器实验 实验目的: MPS430F5529片内集成的定时器A的使用,学习计数器的补捕获比较模块的使用。实验内容: 定时器采用辅助时钟ACLK作为计数脉冲,fACLK=32768Hz,实现以下功能: 1.定时器TA0延时1s,点亮或熄灭LED6,即灯亮1s灭1s,如此循环,采用中断服务程序实现。 2.定时器TA0延时1s,点亮或熄灭LED4,采用捕获比较器CCR0的比较模式,设定输出方式,输出方波,不用中断服务程序 3.采用捕获比较器CCR1的比较模式LED5,设定输出方式,输出PWM波形,使LED 亮2s,灭1s。 4.用定时器实现30s倒计时,在液晶模块上显示,每过一秒显示数字变化一次。 5.使用TA1的捕获比较器CCR0捕获按键的间隔时间,在液晶模块上显示。 程序代码: 程序1: #include void main() {WDTCTL = WDTPW + WDTHOLD; //关看门狗 P1DIR |= BIT3; //设置P1.0口方向为输出。 TA0CCTL0 = CCIE; //设置捕获/比较控制寄存器中CCIE位为1, //CCR0捕获/比较功能中断为允许。 TA0CCR0 = 32767; //捕获/比较控制寄存器CCR0初值为32767 TA0CTL = TASSEL_1 + MC_1+TACLR; //设置定时器A控制寄存器TACTL, //使时钟源选择为SMCLK辅助时钟。 //进入低功耗模式LPM0和开总中断 _BIS_SR(LPM0_bits +GIE); } //定时器A 中断服务程序区 #pragma vector=TIMER0_A0_VECTOR __interrupt void Timer_A (void) {

单片机原理及应用_第十讲_MSP430单片机的ADC实验报告

单片机原理及应用 第十讲 MSP430单片机的ADC 实验报告 报告人:学号:同组人员: 实验内容 实验1 AD采集输入电压并比较 实验2 AD内部温度采集实验 实验3 验收实验:温度采集与显示 把实验2中的实测温度值以摄氏度数值显示在段码LCD上。 实验步骤 步骤: (1) 将PC 和板载仿真器通过USB 线相连; (2) 打开CCS 集成开发工具,选择样例工程或自己新建一个工程,修改代码; (3) 选择对该工程进行编译链接,生成.out 文件。然后选择,将程序下载到实验板中。程序下载完毕之后,可以选择全速运行程序,也可以选择

单步调试程序,选择F3 查看具体函数。也可以程序下载之后,按下,软件界面恢复到原编辑程序的画面。再按下实验板的复位键,运 行程序。(调试方式下的全速运行和直接上电运行程序在时序有少许差别,建议 上电运行程序)。 关键代码: 实验1 AD采集输入电压并比较 #include int main(void) { WDTCTL = WDTPW + WDTHOLD; // Stop WDT ADC12CTL0 = ADC12SHT02 + ADC12ON; // Sampling time, ADC12 on ADC12CTL1 = ADC12SHP; // Use sampling timer ADC12IE = 0x01; // Enable interrupt ADC12CTL0 |= ADC12ENC; P6SEL |= 0x01; // P6.0 ADC option select P4DIR |= BIT1; // P4.1 output while (1) { ADC12CTL0 |= ADC12SC; // Start sampling/conversion __bis_SR_register(LPM0_bits + GIE); // LPM0, ADC12_ISR will force exit __no_operation(); // For debugger } } #pragma vector = ADC12_VECTOR __interrupt void ADC12_ISR(void) { switch(__even_in_range(ADC12IV,34)) { case 0: break; // Vector 0: No interrupt case 2: break; // Vector 2: ADC overflow case 4: break; // Vector 4: ADC timing overflow

MSP430单片机AD转换实验

A/D转换实验 一、转换原理 MSP430F149的A/D转换器原理请参考相关书籍。 实验板上与AD相关的硬件电路 : 编程工作实际就就是对以下寄存器的操作: 寄存器类型寄存器缩写寄存器的含义 转换控制寄存器ADC12CTL0 转换控制寄存器0 ADC12CTL1 转换控制寄存器1 中断控制寄存器ADC12IFG 中断标志寄存器ADC12IE 中断使能寄存器ADC12IV 中断向量寄存器 存储及其 控制寄存器ADC12MCTL0 ~ ADC12MCTL15 存储控制寄存器0~15 ADC12MEM0 ~ ADC12MEM15 存储寄存器0~15 设计主程序与中断服务程序。 二、转换程序 1、程序1:转换结果发送到PC 主程序中进行A/D初始化,中断服务程序读A/D转换结果,主程序中通过串口发送结果。

“main、c”主程序与中断程序: /********************************************************* 程序功能:将ADC对P6、0端口电压的转换结果按转换数据与对应的模拟电压的形式通过串口发送到PC机屏幕上显示 ----------------------------------------------------------- 通信格式:N、8、1, 9600 ----------------------------------------------------------- 测试说明:打开串口调试精灵,正确设置通信格式,观察接收数据 **********************************************************/ #include #include "allfunc、h" #include "UART0_Func、c" #include "ADC_Func、c" #define Num_of_Results 32 uint results[Num_of_Results]; //保存ADC转换结果的数组 uint average; uchar tcnt = 0; /***********************主函数***********************/ void main( void ) { uchar i; uchar buffer[5]; WDTCTL = WDTPW + WDTHOLD; //关狗 /*下面六行程序关闭所有的IO口*/ P1DIR = 0XFF;P1OUT = 0XFF; P2DIR = 0XFF;P2OUT = 0XFF; P3DIR = 0XFF;P3OUT = 0XFF; P4DIR = 0XFF;P4OUT = 0XFF; P5DIR = 0XFF;P5OUT = 0XFF; P6DIR = 0XFF;P6OUT = 0XFF; P6DIR |= BIT2;P6OUT |= BIT2; //关闭电平转换 P6DIR|=BIT6;P6OUT&=~BIT6; //关闭数码管显示 InitUART(); Init_ADC(); _EINT(); buffer[4] = '\0';

MSP430单片机实验指导书

试验一 一、实验目的 进一步熟悉IAR for MSP430编程软件和PROTEUS仿真软件的使用。了解并熟悉单片机I/O口和LED灯的电路结构,学会构建简单的流水灯电路。掌握MSP430单片机I/O口的编程方法和使用I/O口进行输入输出的注意事项。掌握PROTEUS仿真软件仿真MSP430单片机过程中的注意事项。 二、实验内容 1、运用PROTEUS仿真软件绘制LED流水灯电路; 2、运用IAR for MSP430编程软件编辑led流水灯程序,并且生成.hex 或.d90文件,并且将生成的文件加载到单片机中,程序使用P1或其它端口来演示跑马灯,输出低电平驱动。 三、实验器材 电脑一台 四、实验原理及介绍 LED流水灯实际上是一个带有发光二极管的单片机最小系统,即由led灯、电阻、电容器、电源等电路和必要的软件组成的单个的单片机;如果要让接在P1或其它端口的LED灯亮起来,那么只需要将P1或其它端口的电平变为低电平就可以了。同理,将该端口电平变为高电平,LED灯就会熄灭。 五、程序流程图 开始 端口初始化 LED顺序点亮 结束 六、实验步骤 1、运用PROTEUS仿真软件绘制电路图; 2、运用IAR for MSP430编写流水灯程序,并且生成‘’.hex’’或“.d90”文件

3、将‘’.hex’’或“.d90”文件软件加载到PROTEUS仿真软件中; 4、换一种流水灯的亮灭顺序,改变延时时间的大小,多次实验,灵活使用 七、参考程序 #include "msp430f249.h" #define uint unsigned int /******************** 主函数 **************************/ void main(void) { Uint I; WDTCTL = WDTPW + WDTHOLD; P1DIR = ox0ff; while(1) { PIOUT = 0x00; For(I = 0;I < 65565;I ++); PIOUT = 0x0ff; For(I = 0;I < 65565;I ++); } } 八、心得体会(二页以上)

基于MSP430单片机的交流电压测量设计

基于MSP430单片机的交流电压测量设计 东南大学仪器科学与工程学院 许欢 摘要:在单片机的一些测量中,有时候需要我们直接测量交流信号, 现介绍一种基于 msp430 单片机实现的交流电压的测量方法。 关键字:MSP430单片机,交流电压,测量,中断 日常生活及学习中, 我们一般需要之间测量交流信号, 测量交流信号的方法有很多, 而在 应用单片机的测量中,我们常常用来测量直流电压,现在将介绍一种基于 msp430单片机实 现的交流电压的测量方法。 系统的构成主要分硬件设计和软件设计两块来介绍。 硬件设计: 为了保证硬件电路设计的通用性, 采用单级性电压测量的方法, 将输入的双极性电压转换 成单级性电压进行测量。 整个电路主要包括极性转换电路和输入处理电路。 其中,极性转换 电路主要由放大电路实现,在此我采用 MCP 601放大芯片。 MCP601芯片:(Microchip 公司的一款高性能的放大芯片) Vcc 管脚:电源管脚 GND 管脚:接地管脚 VIN-管脚:负输入端管脚 VIN+管脚:正输入端管脚 OUT 管脚:输出管脚 极性转换电路设计: 在进行A/D 转换时,我们一般会采用芯片的工作电压作为 A/D 转换的参考电压。由于一般 芯片的工作电压都为正电压, 而我们在这里要测量交流电压, 所以要对输入的交流信号进行 极性转换,将双极性变成单级性。下图为极性转换电路: 如图所示,该芯片共有 8个管脚,

在极性转换电路中,ADOUT 为输出信号。输出信号是在输入信号 ADIN 的基础上叠加了一 个直流分量,调节上面的 Vref 的值就可以改变直流分量的值。如果调节 Vref 使直流分量的 值为1.5V ,并且此时输入信号是幅值为 1.5V 的交流正弦信号,那么输出信号就为最大值为 3V ,最小值为0V 的单级性正弦信号。在极性转换电路基础上我们将很容易设计出我们要的 输入电路。 输入处理电路: 在极性转换电路基础上,输入处理电路需要将 220V 的交流电压信号变为幅值为 1.5V 左右 的交流信号,此外,还需要为 MCP 601提供适当的参考电压信号。电路如下图所示: 从所设计的电路中我们可以得到, 首先通过变压器将 220V 的交流电压降成 8V 的交流电压, 再经过极性转换电路将双极性的交流电压转换为单级性的交流电压。电路中的 R405电位器 主要用于调节参考电压, R404电位器用于调节交流输入电压的幅度。 经过上面电路的处理, 可以将输入的交流电压转换成 0?3V 的单级性交流电压,这样很容易使用 MSP430单片机 自带的A/D 转换通道进行模拟量采集,从而实现交流电压的测量。 在上面的电路中,电压采用 3V 供电,电源芯片采用 TPS76030,实现电路如下图所示: R403 0.0 4.19K 厂 C4M 二 R401 4 721t C404 O.O47nf tic NC _S O.lnf ^C4C2 V1H- Vcc 7 J ■ ? r riTTT —s UU 1 GHD HC _5 2 kDOUT 琴曲 3 MOI~ —斗 I 01肚

MSP430单片机教学综合实训一例共4页word资料

MSP430单片机教学综合实训一例 1 概述 单片机应用广泛,成本低,种类多,功耗低,能够方便地组装成各种智能的控制设备,能够完成相对比较复杂的控制任务,环境适应性较强,可以很方便的实现多机和分布式控制,已成为微型计算机的一个重要分支,发展速度极快。单片应用人才需求广泛,高职院校在计算机应用类职业人才培养中大多开设单片机应用类课程。专业实训是高职人才培养中的重要一环,包括了从知识准备到实训器材选择、从程序设计到电路设计等环节,对提高学生实践能力起到了重要作用。 2 实训设计与要求 本实训采用现技术已比较成熟且难度适中的“数字温度计”制作作为实训内容。根据系统的设计要求,选择DS18B20作为温度传感器,可以省去采样/保持电路、运放、数/模转换电路以及串/并转换电路,可以有效简化电路,缩短系统的工作时间,降低了实训难度。选择MSP430单片机为测控系统的核心来完成数据采集、处理、显示、报警等功能。本实训采用MSP430单片机作为核心部件,MSP430系列单片机是一种16位的单片机,相对于8位的51单片机来说,它具有功能丰富、较大的内部RAM和程序存储空间,适合开发较复杂的系统。采用C语言开发,程序更容易编写和较好的可读性,可以大大提高软件开发的工作效率。 温度传感器DS18B20把所测得的温度发送到MSP430单片机上,经过单片机处理,将温度在LED数码管以动态扫描法实现显示。系统由主控制器、测温电路和显示电路3个模块组成。

对学生实训具体要求如下: (1)熟悉各元器件原理与使用方法,编写程序,实现以单片机为核心器件,使用温度传感器采集温度,通过LED数码管显示器显示温度值。 (2)编写程序,通过液晶显示模块实现汉字和温度值输出显示,实现温度报警功能。 (3)设计制作独立完整实验电路。 3 实训器材 采用MSP430-DEMO16X开发试验板,单片机的所有引脚都已经引出,便于学生进行扩展试验,并对实验的原理、实验环境配置和源程序都进行了详细的说明。使用IAR Embedded Workbench V3.42A MSP430集成开发环境。 MSP430-DEMO16X开发试验版集成了MSP430F169单片机、MAX7219显示驱动器、DS18B20温度传感器,DS1302实时时钟芯片、LED数码管、蜂鸣器等器件。为进一步提高实训的难度增强实训效果,还需准备1062液晶显示模块和12864多功能液晶显示模块各一块。 4 实训过程 (1)知识准备阶段。在之前的教学过程中和在实训的开始阶段让学生熟悉MSP430-DEMO16X开发试验版的结构使和用方法,各应用元器件的原理、功能、各引脚作用,各元器件之间的连接方法。 (2)程序设计阶段。由于MSP430-DEMO16X开发试验版已将各器件进行了连接,在熟悉硬件后即可指导学生进入程序设计阶段。 系统程序主要包括:①主程序。主要功能是负责温度的实时显示,读

msp430f6638单片机实验程序

实验一 验证性试验 #include 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((P4IN&BIT0)==0){ //按键S7 __delay_cycles(160000); if((P4IN&BIT0)==0) { flag=2;}} if((P4IN&BIT4)==0){ //按键S3 __delay_cycles(160000); i f((P4IN&BIT4)==0) { flag=1;}} DCmotor(flag); } } 设计性试验 #include int main(void) { WDTCTL = WDTPW +WDTHOLD; P4REN |=BIT0+BIT2+BIT4; P4OUT |=BIT0+BIT2+BIT4; P1DIR |=BIT0+BIT6+BIT7; while(1) { if((P4IN&BIT0)==0)

串行通信技术实验报告

串行通信技术实验报告 姓名学号实验班号实验机位号50 一、实验目的 1.了解异步串行通信原理 2.掌握MSP430异步串行通信模块及其编程方法 二、必做实验任务 1.了解MSP430G2553实验板USB转串口的通信功能,掌握串口助手的使用 拆下单片机的功能拓展板,将主板上的eZ430-FET板载仿真器的BRXD,BTXD收发信号端口连接,通过串口调试助手即可实现串口的自发自收功能。接线如下图: 思考:异步串行通信接口的收/发双方是怎样建立起通信的? 答:异步串行通信的收发双方进行通信,在硬件与软件方面都有要求。 ①在硬件方面需要两条线,分别从一方的发送端口到另一方的接收端口,从而实现“异步”; ②需要一个通信协议,确保通信正确;

③在这个实验中由于是自发自收,因此收发两方均为PC机,所以两条线其实是同一条线,而且由于是自发自收所以信号格式也是统一的,因此可以实现自发自收功能。 2.查询方式控制单片机通过板载USB转串口与PC机实现串行通信 本实验通过编程实现单片机和PC机之间的通信,信号格式为波特率9600bps,无校验,8位数据,先低后高,1个停止位,字符串以@结尾,单片机将接收到的字符保存在RAM 中,收到@字符之后再将所储存的字符发给PC机。 连线方式如下图: 实验程序如下: #include "io430.h" unsigned char string[]; int main( void ) { // Stop watchdog timer to prevent time out reset WDTCTL = WDTPW + WDTHOLD; void USCIA0_int() { UCA0CTL1|=UCSWRST; //swrst=1; //置P1.1、P1.2为USCI_A0的收发引脚 P1SEL|=BIT1+BIT2; P1SEL2|=BIT1+BIT2; //时钟SMCLK选择为1.0MHz if (CALBC1_1MHz!=0xff) {BCSCTL1=CALBC1_1MHZ; DCOCTL=CALDCO_1MHZ;} //设置控制寄存器 UCA0CTL1|=UCSSEL_2+UCRXEIE; //设置波特率寄存器,采用低频波特率方式 UCA0BR1=0; UCA0BR0=104; UCA0MCTL=UCBRS_1; UCA0CTL1&=~UCSWRST; //swrst=0 } While(1) { unsigned int j;

MSP430单片机AD转换实验(20210119160218)

AD转换实验 一、转换原理 MSP430F14啲A/D转换器原理请参考相关书籍。实验板上与AD相关的硬件电路: RV3 10K ------------ 3-3\ J6 P61 SI?2 Al)输入电路 RV4 III-10K f > 2 ; ||| 设。 二、转换程序 1、程序1:转换结果发送到PC 主程序中进行A/D初始化,中断服务程序读A/D转换结果,主程序中通过串口发送结果。

”主程序与中断程序: /********************************************************* 程序功能:将ADC对端口电压的转换结果按转换数据和对应的模拟电 压的形式通过串口发送到PC机屏幕上显示通信格式:9600 测试说明:打开串口调试精灵,正确设置通信格式,观察接收数据 **********************************************************/ #include <> #include "" #include "" #include "" #define Num_of_Results 32 uint results[Num_of_Results]; // uint average; uchar tcnt = 0; 保存ADC转换结果的数组 /*********************** void main( void ) { uchar i; uchar buffer[5]; 主函数********************* WDTCTL = WDTPW + WDTHOLD; // 关狗 P1DIR = 0XFF;P1OUT = 0XFF; P2DIR = 0XFF;P2OUT = 0XFF; P3DIR = 0XFF;P3OUT = 0XFF; P4DIR = 0XFF;P4OUT = 0XFF; /* 下面六行程序关闭所有的IO 口*/ P5DIR = 0XFF;P5OUT = 0XFF; P6DIR = 0XFF;P6OUT = 0XFF; P6DIR |= BIT2;P6OUT |= BIT2; // P6DIR|=BIT6;P6OUT&=~BIT6; // 关闭电平转换 关闭数码管显示 InitUART(); Init_ADC(); _EINT(); buffer[4] = '\0';

MSP430单片机课程设计

文华学院学生课程考查报告 考查课程:MSP430单片机应用设计 设计题目:基于MSP430单片机的温度测量仪设计 专业班级:** 学号:**** 姓名: ** 指导教师:** 实验日期:2016年5月8日

基于MSP430单片机的温度测量仪设计 文华学院 摘要 MSP430单片机是德州公司最新开发的具有16位总线带FLASH的单片机,由于它的性价比和集成度高,受到广大技术开发人员的青睐。它的可靠性能比较好,加强电干扰运行不受影响,适应工业级的运行环境,在各种行业中都占有重要的位置,越来越多的领域应用到以单片机为控制核心,用液晶显示作为显示终端的数字化控制设备,通过单片机对被控制对象进行智能控制。 MSP430单片机将会在工程技术应用中得到广泛的应用。而且,它是通向DSP 系列的桥梁,随着自动控制的低功耗化和高速化,MSP430系列单片机将会得到越来越多人的喜爱。 通过这次毕业设计,我对MSP430单片机有了完整的了解,并且着重了解了MSP430F149芯片的原理图以及它的工作原理,对内部的硬件资源和自身的汇编语法进行了实验,把它和DS18B20温度传感器联系在一起实现了温度的测量以及报警。 关键词:MSP430;超低功耗;单片机;DS18B20 Abstract Texas MSP430 microcontroller is the latest development of a 16-bit bus with FLASH MCU, due to its cost-effective and highly integrated, by the majority of technology developers of all ages. Its reliability is better, enhancing electrical interference unaffected, adapt industrial-grade operating environment, in a variety of industry occupies an important position in both, applied to more and more areas to microcontroller core, with LCD as a digital control display terminal equipment, through the controlled object MCU intelligent control. MSP430 microcontroller applications engineering technology will be widely used. And, it is a bridge leading DSP family, with automatic control, low power consumption and high speed, MSP430 MCU will get more and more people's favorite.

南理工王宏波MSP430F6638单片机实验报告

MSP430 单片机应用技术 实验报告 学号: XXXXXXXX 姓名: XXX 分组:第X 组 同组同学 1 姓名: XXX 同组同学 2 姓名: XXX 南京理工大学 2016年 12月 08日

实验 1 一、实验题目: UCS实验 二、实验目的 设置 DCO FLL reference =ACLK=LFXT1 = 32768Hz, MCLK = SMCLK = 8MHz,输出 ACLK、SMCLK,用示波器观察并拍照。 UCS初始状态: XT1关闭,默认为 LFXT1,ACLK选择 XT1源(时钟错误时 自动切换至), MCLK、SMCLK选择 DCOCLKDIV源。 FLL 参考时钟源为 XT1CLK,DCOCLK/DCOCLKDIV,=2N=32。 因此程序需要进行的操作有,启动LFXT1,待 XT1稳定工作后,设置锁频环 将XT1分频为 8MHz的 DCOCLKDIV作为 MCLK和 SMCLK的时钟源,并分别通过 P1.0和P3.4 输出。 三、实验仪器和设备 计算机、开发板、示波器、信号源、电源、Code Comeposer Studio v5 四、实验步骤 1 、用电缆连接开发板 USB2口和电脑 USB口,打开电源开关 SW1,电源指示 灯 D5 点亮; 2、运行CCSV5; 3、新建工作空间workspace; 4、新建工程project与源文件main.c; 5、编写程序; 6、编译、调试、下载程序到单片机; 7、观察、分析、保存运行结果。 五、实验程序

六、实验结果

一、实验题目:FLL+应用实验 二、实验目的 检测P1.4输入,遇上升沿进端口中断,在中断服务程序内翻转P4.1状态。三、实验仪器和设备 计算机、开发板、示波器、信号源、电源、Code Comeposer Studio v5 四、实验步骤 1、用电缆连接开发板 USB2口和电脑 USB口,打开电源开关 SW1,电源指示灯 D5 点亮; 2、运行CCSV5; 3、新建工作空间workspace; 4、新建工程project与源文件main.C; 5、编写程序; 6、编译、调试、下载程序到单片机; 7、观察、分析、保存运行结果。 五、实验程序

相关主题