MSP430单片机教学综合实训一例共4页word资料
- 格式:doc
- 大小:15.50 KB
- 文档页数:4
MSP430_单片机_资料MSP430_单片机_资料Ulrt-lao wowep drsien wigthTexas nsItumertn s超功低微耗控制器超低功耗控微器制SM4P0Augus3t 0 0/1MSP430_单片机_资料ltUra-lwo pwored signe withMSP340发展历程性能Flsh aFalhs1.-836. VL CDD riev r. 1….-3.6 8V Bsica lCoc Tiker_A meNwROM/OPT.525 -VL DC DrvireFL TiLmrePor/ tBasc Tiierm8- bi tT/ C33xxCD120L Tmeri_ ASAUTR MPFY14xTiermB _DAC2 21US RT MPAYC mo_Ap4F4NewxF13Tixmr_Be DCA1 2UASTRC op_AmF42x3x2xCDL48 ADC41X1xUSART24F1x3x1xLCD921x1x1Cop_AF40xm***-*****20XX年20XX年0202Agustu0 0 /2UlMSP430_单片机_资料ratl-wop wor eedisgn itwhSM4P3:全新的0微制控R器N THE *****NH ,NT TOH EMIEL. ITs’ lFah MsS430 MPU redCuces pwoer cnsuompton driatiscally s, youo rabtteire surn lnogr.eMS430P的效极能.高/IO和PC U运是行用能同的不时钟PC 功U 的耗关通过开状寄态器存控的位实现制MSP430 的耗功极低. 行执时为601A u@ .81 V(Fasl)h 备用时为0.1u A(Fl sh)a MPS403极地延长大电了池寿命电SM4P0 有3业级工16 itb RISCM CU. -40 8-5 C M SP34 0编程方便,发开工具廉价DA MED1M,EMM ;2EMM=2*****+E2hTeMSP 304 runswith aatcwhcr staylat p tou4MH zitenrnalclck!ouAugst 00 /3MSP430_单片机_资料lUra-ltw powero dsiegnw ith*****Fxx :LASH F列特性系New灵活样多外的围模块RUNTH ***** N,O ONT HTEM IL.ET ’Is lash*****MCU red cuesp wore conumptions drsticaaly, so ylou rabtetiesrrun l ongre. 12b-t iAD /8( +4 通道, 转换1 0s) 61-ib timTe_r wAthi C3C /寄器存1-6bt iTime_B wirth 7/C C存器寄1 2 个-SURA接口T 件硬法器乘模拟号信比较器基本时模钟块- 由可程内部电阻控编频制率-由单一部电外控制阻率频-2 3kHz 振产晶生低频- 高晶振频产高生频可选择外部-时钟源超低功耗1.8V . ..3 6.V 供电电压范2围00 A@ 1MH,z 2.2V,活动模式0.7 A 备用模式0. 1A 保持R AM 据数 6 s备从模式唤醒用强大C的U 内P核16Bit R-IC S构结251n 指令s期周@ MHz8Auugs t00/4UMSP430_单片机_资料lrt-alw oopewr edign swtihSP4M0 系3列注1 - :可C由mopaatorrA_实现2 -可由Ti mr/Poert实现3 -有562 FLASBH 和oot BRM O 4 I-punt/utpuOt+ Otpuu外t模围块: TIMRSE: WT Db8tiT B1T _A T_BT- aWchtdgo 定时器- 8位定器时/计器数-Baic siTemr 1- Tmie_r A(x )捕/捉比较寄存器T-ime_r (Bx 捕)捉比/较寄存器URAT 件实软,或现用通同步异/接口步数MPY硬乘法器I/O件数字I/O ,O及tuputAgusut 00/ 5MSP430_单片机_资料Ulrt-aowlp wore dsegin witMhSP403F LSAH 列系NweFie vnew lFas hcofinurgtiaon avsilaable now!号型LASH 1 FB 4 KB 8 KB 1K6KB 32 B K8 K4 B60KBA/ DlSpeo loSe p2-b1t 12i-itb 12-bti1 2b-it12 bit-Tmire sA3A3 A 3 +B 33 A +3 A3B +B7 A + B3 A7 +3B 7SUART 1 12 2M2P Yvv v/IO 4 114 8 448 8 4484 8FALH 型S超低功耗Falsh 内核10,000 次写/0周期擦程存储器序段:51分2 信B存储息分器:128B段可以分擦段除或整擦除体编和擦程除电由压内产生部有代读出码护保*****101 *****1F211MS P34F031 M3FS*****FMSP 40F317 4SPM*****F *****F94Augst 00 u/6MSP430_单片机_资料低功耗的超现实:速起动和快电省模式其他MCUIUltarlo- powewrd esig nithw* / 4b8tiC UP* 电流耗大消* 唤醒慢Ic c /A45 400 ***-*****IvAgr300 5022 00tVc c=3 V1 se ccylcetime**********ctAvei odMe PML0*****LLPMIAvrg3 t例L:P3, M备模式用(*****C1) 3276xHz 振8荡活动器基。
第1章MSP430单片机入门第一例1.1单片机简介单片微型计算机简称单片机,是典型的嵌入式微控制器(MicroController Unit),常用缩写MCU表示单片机。
单片机是一种集成电路芯片,采用超大规模集成电路技术把具有数据处理能力的中央处理器CPU、随机存储器RAM、只读存储器ROM、多种I/O口和中断系统、定时器/计时器等功能(可能还包括显示驱动电路、脉宽调制电路、模拟多路转换器、A/D转换器等电路)集成到一块硅片上构成的一个小而完善的微型计算机系统。
单片机已广泛地应用于军事、工业、家用电器、智能玩具、便携式智能仪表和机器人制作等领域。
目前,常用的单片机有Intel8051系列单片机;C8051F系列单片机;ATMEL 公司的AVR系列单片机;TI公司的MSP430系列单片机;Motorola单片机;PIC 系列单片机;飞思卡尔系列单片机;STM32系列单片机;ARM系列嵌入式等等。
单片机种类繁多,不同的单片机有着不同的硬件特性和软件特征,产品设计时单片机的选型是一项重要工作。
对于初学者来说千万不要贪多求全,最好的学习方法是选择一款单片机进行深入学习,学好这一款单片机后再触类旁通、举一反三选择最合适的单片机完成实际工程任务。
1.1.1超低功耗的MSP430单片机MSP430系列单片机是TI(Texas Instruments,美国德州仪器)公司近年来推出的一系列优秀的混合型微处理器产品。
MSP430单片机是一种基于RISC(精简指令集计算机)的16位混合信号处理器,专为满足超低功耗需求而精心设计,同时具备很好的数字/模拟信号处理能力,具有智能外设、易用性、低成本、业界最低功耗等优异特性,能满足仪器仪表、工业自动化、国防、家居智能化、医疗保健、智能农业等多方面的需求环境。
MSP430总体结构如图1.1所示,可分为八个部分:1)CPU:MSP430的CPU运行正交的精简指令集,采用16位的ALU(运算器)、指令控制逻辑和16个16位寄存器、27条内核指令及7种寻址模式。
MSP430单片机实验报告--段式LCD显示1.实验介绍:实验演示了将ADC结果用段式LCD显示,并且还原输入电压也采用段式LCD显示。
ADC的结果可以通过ADC12MEM0的值来显示。
当程序运行时,LCD屏幕采用10进制显示出ADC12MEM0的值。
2.实验目的:a.熟悉IAR5.0软件开发环境的使用b.了解MSP430段式LCD的工作方式c.掌握MSP430段式LCD的编程方法3.实验原理:驱动LCD需要在段电极和公共电极上施加交流电压。
若只在电极上施加直流电压,液晶本身发生劣化。
解决这个问题的一般方法是使用短时也就驱动器,如MSP430F4xx系列单片机就集成有段式液晶驱动。
如果要在没有液晶驱动器的情况下使用段式液晶显示器,就要用到如图1所示电路。
图1中,A为电极信号输入端,控制该段液晶是否被点亮;B为交流方波信号输入端,将有一个固定频率的方波信号从此端输入;com为公共背极信号。
工作原理为;固定的方波信号被直接加载到液晶公共背极,同时该信号通过一个异或门加载到液晶段极。
当A端为低电平时,液晶的段极与公共背极将得到一个同相、同频率、同幅度的方波信号,液晶的两端始终保持没有电压差;当A端为高电平时,液晶的段极也公共背极将得到一个反相、同幅度、同频率的方波信号,液晶两端将保持一个交流的电压差。
这样既能使液晶保持点亮状态,又不会发生劣化而损坏液晶显示器。
图一.段式液晶驱动电路4.实验步骤:(1)将PC 和板载仿真器通过USB 线相连;5.实验现象:段式LCD显示屏显示的数字为002031,ADC12MEM0的值为07EF,其值为16进制,将其转换后值为2031与屏幕显示一致。
6.关键代码分析:#include <msp430x26x.h>#include "General_File.h"#include "I2C_Define.h"void I2C_Start(void){DIR_OUT;SDA_1;I2C_Delay();SCL_1;I2C_Delay();SDA_0;I2C_Delay();SCL_0;}//End I2C_Start/*函数名:I2C_Stop 功能:遵循I2C总线协议定义的停止*/void I2C_Stop(void){DIR_OUT;SDA_0;I2C_Delay();SCL_1;I2C_Delay();SDA_1;}//End I2C_Stop/* 函数名:I2C_ReceiveACK 功能:待接受ACK 信号,完成一次操作*/void I2C_Write_ACK( void ){SDA_1;DIR_IN;SCL_1;I2C_Delay();while(SDA_IN );SCL_0;I2C_Delay();DIR_OUT;return;}//End I2C_ReceiveACK/* 函数名:2C_Read_Ack 功能:接受数据后发送一个ACK信号*/void I2C_Read_Ack(void){DIR_OUT;SCL_0;SDA_0;I2C_Delay();SCL_1;I2C_Delay();SCL_0;SDA_1;}//End I2C_Read_Ack/* 函数名:I2C_Read_NoAck 功能:最后接受数据后发送NoACK信号*/void I2C_Read_NoAck( void ){DIR_OUT;SCL_0;SDA_1;I2C_Delay();SCL_1;I2C_Delay();SCL_0;}//End I2C_Read_Ack/* 函数名:I2C_Receiveuchar 功能:接受一个字节的数据*/uchar I2C_Receiveuchar(void){uchar Read_Data = 0x00; //返回值uchar DataBit = 0x00; //每一个clk 接受到的数据SCL_0;I2C_Delay();SDA_1;DIR_IN;for( uchar i = 0;i < 8;i++ ){SCL_1;I2C_Delay();DataBit = SDA_IN;SCL_0;I2C_Delay();I2C_Delay();Read_Data = ( ( Read_Data << 1 ) | DataBit ); //将数据依次存入Read_Data }return( Read_Data );}//End I2C_Receiveuchar/* 函数名:I2C_Senduchar 功能:遵循I2C总线协议定义发送一字节数据*/void I2C_Senduchar( uchar Wr_Data ){DIR_OUT;SCL_0;SDA_1;for( uchar i = 0;i < 8;i++ ){if( Wr_Data & 0x80 ){SDA_1; //最高位是否为1,为1则SDA= 1 }else{SDA_0; //否则SDA=0}I2C_Delay();SCL_1;I2C_Delay();SCL_0;I2C_Delay();Wr_Data <<= 1; //数据左移一位,进入下一轮送数}SDA_1;return;}//End I2C_Senduchar/************ BU9796FS相关指令定义**********/#define Write_Com 0x80#define Write_Data 0x00#define Display_ON 0x48#define Half_Bias 0x44#define Set_Reset 0x6A#define Ext_Clock 0x69#define Blink_Mode0 0x70#define Blink_Mode1 0x71#define Blink_Mode2 0x72#define Blink_Mode3 0x73#define Pixel_ON 0x7E#define Pixel_OFF 0x7D#define BU9796_Addr 0x7C#define Base_Add 0x00/************** 引用的外部函数*********************/extern void I2C_Start(void);extern void I2C_Stop(void);extern void I2C_Write_ACK(void);extern void I2C_Senduchar( uchar Wr_Data );/************** 定义段式LCD的阿拉伯数字码*********************/const uchar Num_Code[] ={0xAF, // 00x06, // 10x6D, // 20x4F, // 30xC6, // 40xCB, // 50xEB, // 60x0E, // 70xEF, // 80xCF, // 90x10, //. 如果要显示小数点,必须要将此值与下一位值相加0x88 //: ,包括LCD上的两个":"};uchar Disp_Data[]={ 5,5,7,3,1,5 };/* 函数名:Segment_Display 功能:段式LCD数据包写入服务程序,负责将一串字符送到段式LCD 上去显示*/void Segment_Display( const uchar Addr,const uchar *P_Data, uchar Length ){uchar User_Addr = Addr;I2C_Start(); //启动BU9796I2C_Senduchar( BU9796_Addr ); //写BU9796的物理地址I2C_Write_ACK();I2C_Senduchar( Base_Add + User_Addr * 2 ); //发送起始地址,下一个紧跟的是数据I2C_Write_ACK();for( uchar i = Length ;i > 0;i-- ){if( *P_Data != 0x0A ) // 显存中是否有小数点?如果有,就将小数点码值与下一位码值相加{I2C_Senduchar( Num_Code[ *P_Data++ ] );}else{uchar Temp_Disp_Data = Num_Code[ *P_Data++ ];I2C_Senduchar( Temp_Disp_Data + Num_Code[ *P_Data++ ]);i--;}I2C_Write_ACK();}I2C_Stop(); //访问结束}/* 函数名:Init_BU9796FS 功能:初始化驱动芯片BU9796的相关参数*/void Init_BU9796FS( void ){I2C_Start(); //启动BU9796I2C_Senduchar( BU9796_Addr ); //写BU9796的物理地址I2C_Write_ACK(); //等待ackI2C_Senduchar( Write_Com + Set_Reset); //启动软复位I2C_Write_ACK(); //等待ackI2C_Senduchar( Write_Com + Blink_Mode2 );I2C_Write_ACK();I2C_Senduchar( Write_Com + Display_ON ); //开显示I2C_Write_ACK();I2C_Senduchar( Write_Data + Base_Add ); //发送起始地址,下一个紧跟的是数据I2C_Write_ACK();for( uchar i = 0;i<10;i++ ) //清LCD显示屏{I2C_Senduchar( 0x00 );I2C_Write_ACK();}I2C_Stop(); //访问结束}/* 函数名:Init_MCU 功能:初始化MSP430的相关参数*/void Init_MCU( void ){/* WDTCTL = WDTPW + WDTHOLD; */ // 关看门狗BCSCTL3 |= XT2S_2; // XT2频率范围设置BCSCTL1 &= ~XT2OFF; // 打开XT2振荡器do{IFG1 &= ~OFIFG; // 清振荡器失效标志BCSCTL3 &= ~XT2OF; // 清XT2失效标志for( uint i = 0x47FF; i > 0; i-- ); // 等待XT2频率稳定}while (IFG1 & OFIFG); // 外部时钟源正常起动了吗?BCSCTL2 |= SELM_2 + SELS ; // 设置MCLK、SMCLK为XT2P4OUT &= ~BIT4;P4DIR |= BIT4; // 打开LCD显示部分的电源//P8REN |= BIT3 + BIT4;P8DIR |= BIT3 + BIT4; // 配置MSP430与BU9796的数据数P8OUT |= BIT3 + BIT4;P5OUT &= ~BIT7; // 点亮外部LEDP5DIR |= BIT7;}/* 函数名:main 功能:系统入口主函数*/void main( void ){WDTCTL = WDTPW + WDTHOLD; // 停看门狗ADC12CTL0 = SHT0_2 + ADC12ON; // 设置采样时间,开ADC12,Vref = V ACC ADC12CTL1 = SHP; // 使用定时器采样ADC12MCTL0 = INCH_1; // 选用A1通道ADC12IE = 0x01; // 开ADC12MCTL0中断ADC12CTL0 |= ENC; // 启动转换ADC12MCTL0 = INCH_1;P5DIR |= BIT7; // P5.7输出-LED/*for (;;){ADC12CTL0 |= ADC12SC; // 软件启动转换_BIS_SR(CPUOFF + GIE); // LPM0模式,由ADC12中断唤醒}*//* 功能:将16进制转化为10进制*/int a,b;a=ADC12MEM0;Disp_Data[5]=a%10;b=a/10;Disp_Data[4]=b%10;a=b/10;Disp_Data[3]=a%10;b=a/10;Disp_Data[2]=b%10;a=b/10;Disp_Data[1]=a%10;b=a/10;Disp_Data[0]=b%10;Init_MCU();Init_BU9796FS();P5OUT |= BIT7;Segment_Display( 0,Disp_Data,6 );_BIS_SR( CPUOFF );}#pragma vector=ADC12_VECTOR__interrupt void ADC12_ISR (void){ _BIC_SR_IRQ(CPUOFF); }。
实验报告课程名称:单片机原理及应用实验题目:实用多功能定时器学生姓名:**学号:**********专业班级:自动化二零一六年五月七日目录一、课程实验目的 (1)二、实验要求 (1)三、课程实验硬件电路 (2)3.1、硬件电路结构 (2)3.2、电路原理 (2)3.2.1、显示电路 (2)3.2.2、按键检测电路 (3)四、实验步骤 (6)五、软件设计 (6)5.1、倒计时主程序 (6)5.2、中断程序设计 (7)六、调试与结论 (7)七、附录 (8)一、目的(1)熟练运用CCS开发环境和Proteus仿真软件,巩固和加深单片机原理课程知识的理解和运用。
(2)综合本学期所学的按键检测以及液晶的动态显示原理,设计出以MSP430G2553为核心的以LCD1602为显示的倒计时系统。
(3)熟悉各元器件的性能和设置元件参数,进一步提高学生单片机应用系统的设计能力。
(4)培养学生综合分析问题、发现问题和解决问题的能力。
二、实验要求(1)设计一个倒计时器,定时范围99分60秒,用液晶作为显示器。
4个按键控制,分别是分钟加一、秒钟加一、清零和开始停止键。
按分钟加一键时,分钟显示值加1,最大99 ;按秒钟加一键时,秒钟显示值加1,最大60;按清零键时,分钟、秒钟显示值都清零;按开始键,则开始倒计时。
显示值为零时停止倒计时,且报警器报警,直到按停止键报警器停止报警。
按开始键后,分钟加一、秒钟加一、清零键不起作用。
按停止键可以暂停。
倒计时为零后,按停止键,显示值恢复设定值,按开始键又可以工作。
(2)总体要求如下:1、方案论证,确定总体电路原理图。
2、画硬件仿真电路图。
3、绘制程序流程图,编写C语言源程序。
4、安装调试,实现倒计时器的基本功能。
三、硬件电路3.1、电路结构图:多功能定时器主要由三个最基本模块组成,一是以LCD1602液晶为基础的显示电路,二是以四个按键为核心的控制电路,三是以MSP430G2553为核心的信号发生电路。
目录目录 (I)实验一I/O端口控制实验 (1)实验二乘法器实验 (2)实验三PWM脉冲实验 (3)实验四LED数码显示实验 (4)实验五LCD段码屏显示实验 (6)实验六定时器实验 (8)实验七比较器实验 (10)实验八内部看门狗实验 (13)实验九电子时钟实验 (15)实验十独立键盘实验 (16)实验十一阵列键盘实验 (17)实验十二时钟模块FLL+操作实验 (18)实验十三 12位AD转换实验 (19)实验十四外部FLASH扩展实验 (20)实验十五I2C AT24C02实验 (22)实验十六 128×64点阵液晶显示实验(选配) (24)实验十七 RS-232通信实验 (25)IMSP430核心板的供电方式MSP430核心板有2种供电方式:1.由USB取提供,同时J0短路冒打在右边,J1短路冒打在左边,J6短路冒打在上方。
2.由外部5V的直流电源提供,把内正外负的5V电源插入JT9座,同时J0短路冒打在左边,J1短路冒打在右边,J6短路冒打在上方。
(注:5V电源用户选配)3.出厂程序为电子时钟程序,上电后自动运行电子时钟,数码管和段码LCD同时显示!II实验一 I/O端口控制实验一、实验目的1.掌握MSP430449一般IO口的应用2.掌握端口寄存器的组成和使用二、实验说明MSP430F1XX系列单片机最多有6个I/O口:P1~P6,每个端口有8个管脚。
每个管脚可以单独设置成输入或者输出方向,并且每个管脚都可以进行单独的读或者写。
P1口和P2口具有中断功能,P1口和P2口的每个管脚都可以单独设置成中断,并且可以设置成上升沿或者下降沿触发中断。
P1口的所有管脚共用一个中断向量,同样P2口的所有管脚也共用一个中断向量。
MSP430F1XX系列单片机的I/O口主要有以下特征:每个I/O口可以独立编程设置。
输入输出可以任意结合使用。
P1口和P2口的中断功能可以单独设置。
有独立的输入输出寄存器。
msp430 实验报告MSP430 实验报告引言:MSP430是一款低功耗、高性能的微控制器,广泛应用于嵌入式系统开发领域。
本实验报告将介绍我对MSP430进行的一系列实验,包括基本的GPIO控制、定时器应用、模拟信号采集和通信接口应用等。
实验一:GPIO控制在本实验中,我使用MSP430的GPIO引脚控制LED灯的亮灭。
通过配置引脚的输入/输出模式以及设置引脚电平,我成功地实现了对LED灯的控制。
这为后续实验奠定了基础,也让我更加熟悉了MSP430的寄存器配置。
实验二:定时器应用在本实验中,我探索了MSP430的定时器功能。
通过配置定时器的时钟源和计数模式,我实现了定时器中断功能,并利用定时器中断实现了LED灯的闪烁。
这个实验让我更加深入地了解了MSP430的定时器模块,并学会了如何利用定时器进行时间控制。
实验三:模拟信号采集在本实验中,我使用MSP430的模拟信号输入引脚和模数转换模块,成功地将外部的模拟信号转换为数字信号。
通过配置ADC模块的采样速率和精度,我实现了对模拟信号的准确采集,并将采集到的数据通过串口输出。
这个实验让我对MSP430的模拟信号处理有了更深入的了解。
实验四:通信接口应用在本实验中,我使用MSP430的串口通信模块,实现了与外部设备的数据传输。
通过配置串口的波特率和数据格式,我成功地实现了与计算机的串口通信,并通过串口发送和接收数据。
这个实验让我掌握了MSP430与外部设备进行数据交互的方法。
结论:通过一系列的实验,我对MSP430的基本功能和应用有了更深入的了解。
MSP430作为一款低功耗、高性能的微控制器,具备丰富的外设和强大的处理能力,适用于各种嵌入式系统的开发。
通过学习和实践,我掌握了MSP430的GPIO控制、定时器应用、模拟信号采集和通信接口应用等基本技能,为以后的嵌入式系统开发打下了坚实的基础。
未来展望:MSP430作为一款成熟的微控制器,具备广阔的应用前景。
第一章简介1.1 MSP430F5529硬件资源简介1.低供电压1.8-3.6V。
2.低功耗●单片机处于运行模式200uA/MHZ●LPM3 RTC模式2.5uA●LPM4 1.6uA●LPM5 0.2uA3.从低功耗模式3 唤醒少于5us。
4.16 位精简指令集结构●可以扩展外部存储器●可以达到25MHZ 系统时钟。
5.灵活的电源管理系统(PMM)●由DVCC 在LDO 作用下产生Vcore 电源,供低电压模块使用。
●提供DVCC,Vcore Supervision,Monitoering,以及Brownout 监控。
6.一体化时钟系统●低功耗/低频率内部时钟源VLO●低频率内部时钟源REFO●XT1 32768HZ 晶振●XT2 高频晶振可以达到25MHZ7.16 位Timer0_A5有5个捕获/比较寄存器。
8.16 位Timer1_A3有3个捕获/比较寄存器。
9.16 位Timer2_A3有3个捕获/比较寄存器。
10.16 位Timer_B7有7个捕获/比较寄存器。
11.2组4个通用通信接口●内部UART,支持自动波特率检测。
●irDA 编码和解码。
●SPI 通信。
●I2 C 通信。
12.全速USB接口13.内置USB物理接口。
●内置3.3V/1.8VUSB 电源系统。
●内置USB-PLL 。
●8个输入、8个输出端点。
14.12位模数转换●内部参考电压。
●采样保持电路。
●12个外部通道,4个内部通道。
(F5529/F5527/F5525/F5521)●8个外部通道,4个内部通道。
(F5528/F5526/F5524/F5522)●自动扫描15.比较器B。
16.硬件乘法器支持32位操作数。
17.支持DMA18.RTC可以日历使用,也可以用作普通定时器。
19.F552x F551x系列包括:1.2MSP430F5529引脚及结构框图MSP430F5529的封装形式为IPN封装,其引脚图如图1-1所示,结构框图如图1-2所示。
湖南大学本科生实习报告实习题目:MSP430单片机实习时间:2011.7.15---2011.7.24 专业:班级:学生姓名:指导教师:目录第1章调试平台-----------------------------------------------------------------------3 1.1 简介------------------------------------------------------------------------------3 1.2 下载指令------------------------------------------------------------------------3 1.3程序调试指令-------------------------------------------------------------------3 1.4 各种设置------------------------------------------------------------------------4第2章实验内容----------------------------------------------------------------------4 2.1 内容简介------------------------------------------------------------------------4 2.2 定时器时钟---------------------------------------------------------------------42.2.1 基本功能介绍--------------------------------------------------------------42.2.2 总体方案介绍--------------------------------------------------------------42.2.3 定时器时钟硬件图-------------------------------------------------------42.2.3.1 独立式键盘-----------------------------------------------------------42.2.3.2 LED显示模块-----------------------------------------------------52.2.3.3LCD显示模块----------------------------------------------------52.2.4 软件系统设计---------------------------------------------------------------62.2.4.1 主流程图----------------------------------------------------------------62.2.4.2 扫描函数流程图-------------------------------------------------------72.3 测试结果------------------------------------------------------------------------72.4 总结------------------------------------------------------------------------------73.1 ADC12----------------------------------------------------------------------------73.1.1基本功能介绍----------------------------------------------------------------73.1.2总体方案介绍----------------------------------------------------------------83.1.3 AD微处理器片内温度测量硬件图--------------------------------------83.1.3.1 MSP430芯片AD通道------------------------------------------------83.1.3.2 AD电压检测-滑动变阻器--------------------------------------------93.1.3.3 LCD模块--------------------------------------------------------------93.3.3.4 LED模块----------------------------------------------------------------93.1.4软件系统设计----------------------------------------------------------------103.1.4.1 程序流程图-------------------------------------------------------------103.1.5 测试结果---------------------------------------------------------------------103.1.6 总结---------------------------------------------------------------------------10 附录1---------------------------------------------------------------------------------------10 附录2---------------------------------------------------------------------------------------16第1章调试平台1 IAR调试平台1.1简介:IARsystems 是全球领先的嵌入式系统开发工具和服务的供应商,本次实验所用的IAREW430就是其产品之一。
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开发试验版已将各器件进行了连接,在熟悉硬件后即可指导学生进入程序设计阶段。
系统程序主要包括:①主程序。
主要功能是负责温度的实时显示,读
出并处理DS18B20的测量温度值;②读出温度子程序。
主要功能是读出随机存储器中的内容并进行校验;③计算温度子程序。
计算温度子程序将读取的值进行十进制的转换运算;④温度转换命令子程序。
主要是发温度转换开始命令;⑤显示数据刷新子程序。
主要是对显示缓冲器中的显示数据进行刷新操作,进行显示移位操作。
在这个过程中要详细讲解各部分程序的功能,并给出流程图。
让学生在IAR Embedded Workbench V3.42A MSP430集成开发环境中编写程序,写入单片机,在实验板中进行实验。
在此过程中,教师要以答疑为主,不要参与学生具体程序的编写与修改,要充分发挥学生的主观能动性,让学生相互协作交流。
根据多年的教学经验,或是因输入错误或是因逻辑错误,必然有相当数量的学生编写的程序无法在实验板中运行或是能够运行但
不能正确显示结果,所以要在程序设计阶段开始后的一个较为合理的时间点,给出条理清晰可执行的参考源程序,让学生能够对照查找问题所在,提高应用能力。
在给出源程序前应先让学生上交各自编写的程序,作为实训成绩评定的一个依据。
(3)巩固提高阶段。
在学生能够编写程序在LED数码管中正确显示温度后,让学生使用液晶显示模块实现汉字和温度显示。
这个过程主要是巩固温度采集与处理部分的知识,掌握液晶显示模块的使用和编程输出。
教师要在之前教学过程教授的知识基础上详细讲解液晶显示模块的连接
方法,并给出应用实例和参考程序,在此基础上让学生,设计液晶显示电路和编写液晶显示程序,在程序中加入温度判断功能实现温度报警,并显示报警原因。
(4)电路设计与实现阶段。
这个过程学生让学生离开实验板,自行设计制作电路,实现MSP430单片机、DS18B20温度传感器,DS1302实时时钟芯片、蜂鸣器、12864多功能液晶显示模块的位置设计与引脚连接,指导学生进行电容、电阻的选用和电路板的焊接等实训内容,这个过程对学生的训练较为全面,真正实现理论到实践应用的转变。
这个过程不要求所有学生都能?蚴迪郑?可作为成绩评定的另一依据。
5 总结
实训内容较为复杂,使用到的元器件较多,是对学生综合能力的训练与检验,实训时间应在一周左右为宜,实训过程中学生尽量不要分组,要让学生独立完成实训内容,要注重锻炼学生分析问题解决问题的能力,提高学生的动手实践能力,使学生真正有所收获。
希望以上资料对你有所帮助,附励志名言3条:
1、有志者自有千计万计,无志者只感千难万难。
2、实现自己既定的目标,必须能耐得住寂寞单干。
3、世界会向那些有目标和远见的人让路。