基于MSP430单片机编程器的设计
- 格式:pdf
- 大小:77.09 KB
- 文档页数:3
文华学院学生课程考查报告考查课程:MSP430单片机应用设计设计题目:基于MSP430单片机的温度测量仪设计专业班级:**学号:****姓名: **指导教师:**实验日期:2016年5月8日基于MSP430单片机的温度测量仪设计文华学院摘要MSP430单片机是德州公司最新开发的具有16位总线带FLASH的单片机,由于它的性价比和集成度高,受到广大技术开发人员的青睐。
它的可靠性能比较好,加强电干扰运行不受影响,适应工业级的运行环境,在各种行业中都占有重要的位置,越来越多的领域应用到以单片机为控制核心,用液晶显示作为显示终端的数字化控制设备,通过单片机对被控制对象进行智能控制。
MSP430单片机将会在工程技术应用中得到广泛的应用。
而且,它是通向DSP 系列的桥梁,随着自动控制的低功耗化和高速化,MSP430系列单片机将会得到越来越多人的喜爱。
通过这次毕业设计,我对MSP430单片机有了完整的了解,并且着重了解了MSP430F149芯片的原理图以及它的工作原理,对内部的硬件资源和自身的汇编语法进行了实验,把它和DS18B20温度传感器联系在一起实现了温度的测量以及报警。
关键词:MSP430;超低功耗;单片机;DS18B20AbstractTexas 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.Through this graduation project, I have a complete understanding of the MSP430 microcontroller, and focus on understanding the MSP430F149 chip schematic and it works, and the internal hardware resources and their own assembler syntax conducted experiments it and DS18B20 linked to the temperature sensor of the temperature-measuring andalarm.Keywords: MSP430; ultra-low power; SCM; DS18B20一、概述1.1 引言十七世纪是温度计诞生和发展的最初阶段,这个仪器几乎比任何其它仪器都得到更加广泛的应用。
桂林理工大学信息学院实习报告实习名称:电子系统设计创新与实践设计题目:基于单片机的智能台灯设计专业班级:姓名:学号:组员:指导老师:实习时间:目录1概述 (3)1.1 题目名 (3)1.2 功能和技术指标要求 (3)1.3 国内外相关情况概述 (3)1.4 调光技术的选择 (4)2. 技术方案 (5)2.1 光照强度检测传感器的基本原理介绍 (5)2.2 总体技术方案 (5)3 硬件设计 (6)3.1 总体电路原理图 (6)3.2 各模块分别介绍 (7)3.2.1 MSP430G2553单片机模块 (7)3.2.2 BISS0001 人体红外感应模块热释电传感器 (8)3.2.3光敏电阻控制模块 (11)3.2.4 光敏电阻的应用 (12)3.3 灯光控制模块 (12)3.4 PWM调光说明 (13)3.5 硬件调试 (13)3.5.1 调试方法 (13)3.5.2 调试步骤 (14)4. 软件设计 (15)4.1 软件功能说明 (15)4.2 软件总流程 (15)4.3 软件测试 (15)5. 性能测试 (16)5.1 测试方法 (16)5.2 给出相应记录 (16)5.3 对实验数据进行分析以及提出相应的改进办法 (17)6.总结 (17)附录(程序清单):................................................. 错误!未定义书签。
参考文献: (18)1概述1.1 题目名基于单片机的智能台灯设计1.2 功能和技术指标要求本项目针对台灯的节电和使用的方便性进行创新设计与研究,以单片机为核心,综合运用热释电红外、光检测等技术,设计制作出智能型多功能LED台灯。
该台灯具有自动开、关,自动调光等功能,实现了LED的亮度随周围光照强度的变化而变化。
本设计一智能台灯控制器,实现照明控制系统的人性化,即当亮度足够时灯光关闭,在亮度不足时,有人走近自动点亮,并根据周围环境的亮度自动调节灯泡的功率的节能环保的智能型LED台灯的设计理念。
MSP430单片机入门例程MSP430单片机是一款低功耗、高性能的16位单片机,广泛应用于各种嵌入式系统。
下面是一个简单的MSP430单片机入门例程,可以让大家初步了解MSP430单片机的基本使用方法。
所需材料:1、MSP430单片机开发板2、MSP430单片机编译器3、MSP430单片机调试器4、电脑和相关软件步骤:1、安装MSP430单片机编译器首先需要安装MSP430单片机的编译器,该编译器可以将C语言代码编译成MSP430单片机可以执行的机器码。
在安装编译器时,需要选择与您的单片机型号匹配的编译器。
2、编写程序下面是一个简单的MSP430单片机程序,可以让LED灯闪烁:c本文include <msp430.h>int main(void)本文P1DIR |= 0x01; //设置P1.0为输出while(1){P1OUT ^= 0x01; //反转P1.0的状态,LED闪烁__delay_cycles(); //延时一段时间,控制闪烁频率}本文上述程序中,首先定义了P1DIR寄存器,将P1.0设置为输出。
然后进入一个无限循环,在循环中反转P1.0的状态,使LED闪烁。
使用__delay_cycles()函数实现延时,控制LED闪烁频率。
3、编译程序使用MSP430单片机编译器将程序编译成机器码,生成可执行文件。
在编译时,需要注意选择正确的编译器选项和单片机型号。
4、调试程序使用MSP430单片机调试器将可执行文件下载到单片机中,并使用调试器进行调试。
在调试时,可以观察单片机的输出口状态和LED灯的闪烁情况,确保程序正常运行。
随着嵌入式系统的发展,MSP430单片机作为一种低功耗、高性能的微控制器,在各种应用领域中得到了广泛的应用。
为了更好地理解和应用MSP430单片机,我在学习过程中积累了一些经验,现在分享给大家。
MSP430单片机是一种超低功耗的微控制器,由德州仪器(Texas Instruments)推出。
实验一MSP430开发环境与程序设计一、实验目的1.掌握MSP430开发环境——IAR Embedded Workbench的使用方法2.学会使用IAR Embedded Workbench来开发简单的C语言和汇编语言程序,并掌握常用的调试方法。
二、IAR Embedded Workbench开发环境MSP430开发需要硬件和软件两方面环境,本书以MSP430F149为例进行介绍,其他产品开发过程与此类似。
硬件环境非常简单,只需一台PC、一个JTAG 仿真器和开发板。
软件开发环境常用IAR公司的IAR Embedded Workbench 嵌入式工作台以及仿真器C-SPY和AQ430,本章仅介绍IAR产品。
3.1 硬件环境MSP430 FLASH单片机内有JTAG调试接口和电可擦除FLASH存储器,开发调试十分方便,只需一台PC、一个JTAG仿真器和一块开发板(Flash Emulation Tool),简单功能调试时可有仿真器供电,开发板不需外加电源。
开发调试时可先将程序下载到FLASH中,通过软件控制程序运行,芯片中的信息通过JTAG 口提供给开发者进行调试。
图E.1 PC-JTAG仿真器-开发板连接图JTAG仿真器一端连接在PC的并口(打印机接口),另一端连接在开发板上,如图E.1所示。
JTAG仿真器可以购买现成产品也可以自行设计,自行设计可参考本书附录提供的原理图、PCB板图和元器件清单。
3.2 IAR Embedded Workbench简介IAR Embedded Workbench 是一种用于开发应用各种不同的目标处理器的灵活的集成环境。
它提供一个方便的窗口界面用于迅速的开发和调试。
Embedded Workbench 支持多种不同的目标处理器,使用项目模式组织应用程序。
它有如下一些特点。
(1)通用性a)可以在Windows环境下运行;b)分层的项目(Project)表示;c)直观的用户界面;d)工具与编辑器全集成;e)全面的超文本帮助。
#include <> double r;#include ””#define RS_1 P3OUT|=BIT0#define RS_0 P3OUT&=~BIT0#define RW_1 P3OUT|=BIT1#define RW_0 P3OUT&=~BIT1#define E_1 P3OUT|=BIT2#define E_0 P3OUT&=~BIT2#define DATA P4OUT#define data_dir P4DIR#define KEYDIR P5DIR#define KEYOUT P5OUT#define KEYIN P5IN#define led P2OUT#define LED1 P2DIR=0XFF;#define uchar unsigned char#define uint unsigned intchar table1[16]=T";char table2[16] = {' '}; char flag;int flag1;/*延时*/void delay(void) {unsigned int i,j;for(i=0;i<50;i++){ for(j=0;j<10;j++) {;)))/*消抖延时*/void delay_key(void){int i,j;for(i=0;i<500;i++){for(j=0;j<100;j++) {))void delayms(uchar ms){int i,j;for(i=0;i<ms;i++) for(j=0;j<157;j++);)int key_column_scan(){int a;P5DIR = 0xff;P5OUT = 0x0f;P5DIR = 0X00;a = P5IN;switch(a){case 0x8f:return 4;case 0x4f:return 3;case 0x2f:return 2;case 0x1f:return 1;))int key_line_scan(){int a,column,key=-1,line;P5DIR = 0xff;P5OUT = 0xf0;P5DIR = 0X00;a = P5IN;if(a!=0xf0){column = key_column_scan(); switch(a){case 0xf8:line=4;break;case 0xf4:line=3;break;case 0xf2:line=2;break;case 0xf1:line=1;break;)key=(line-1)*4+column;delay_key(); ;table1[++i]='.';break;}else{write_data(')');table1[++i]=')';break;}case 15:write_data('=');table1[++i]='=';break;case 16:if(flag==0){write_com(0x80+i-1);i--;) else{WDTCTL=0X00;})if(table1[i]==,=,){cal(table1);sprintf(table2,"%lf”,r);lcd_string(1,6,table2);)break;)))break;case 5:write_data('4');table1[++i]='4';break;case 6:write_data('5');table1[++i]='5';break;case 7:write_data('6');table1[++i]='6';break;case 8:if(flag==0){write_data('#');table1[++i]='#';break;}else {write_data(L');table1[++i]=L';break;}case 9:write_data('1');table1[++i]='1';break;case 10:write_data('2');table1[++i]='2';break;case 11:write_data('3');table1[++i]='3';break;case 12:if(flag==0){lcd_string(1,0,"shift");flag=1;write_com(0x80+i);break;}else {lcd_string(1,0,"");write_com(0x80+i);flag=0;break;} case 13:if(flag==0){write_data('0');table1[++i]='0';break;}else {write_data('(');table1[++i]='(';break;}case 14:if(flag==0){write_data('.');table1[++i]='.';break;}else {write_data(')');table1[++i]=')';break;}case 15:write_data('=');table1[++i]='=';break;case 16:if(flag==0){write_com(0x80+i-1);i--;)else {WDTCTL=0X00;})if(table1[i]==,=,){cal(tablel);sprintf(table2,"%g”,r);lcd_string(1,6,table2);))))/*========================================**函数名:多项式运算**函数功能描述:实现多项式运算**参数:char型数组***返回值:double结果========================================*/#include<>#include<>#include<>void cal(char a口){int i=1,j,k,m,cnt=0,t1=0,t2=0,t3=0;char nibo[20] = {'0'},zhan2[15] = {'0'};1=x;2=++cnt;2; nibo[t1+1]='\0';}2){m=i;break;)zhan3[++t3]=num->data[m].d1;)else if(nibo[j]==,+,){zhan3[t3-1]=zhan3[t3-1]+zhan3[t3];t3 ;)else if(nibo[j]==,-,){zhan3[t3-1]=zhan3[t3-1]-zhan3[t3];t3 ;)else if(nibo[j]==,*,){zhan3[t3T]=zhan3[t3T]*zhan3[t3];t3 ;)else if(nibo[j]==,/,){zhan3[t3-1]=zhan3[t3-1]/zhan3[t3];t3 ;)else if(nibo[j]==L,){zhan3[t3-1]=pow(zhan3[t3-1],zhan3[t3]); t3 ;)else if(nibo[j]=='#'){zhan3[t3]=sqrt(zhan3[t3]);)j++;)r=zhan3[t3];)/*memory management functions and variables.Copyright (c) Borland International 1987,1988All Rights Reserved.*/#if __STDC__#define _Cdecl#else#define _Cdecl cdecl#endif#ifndef _STDDEF#define _STDDEF#ifndef _PTRDIFF_T#define _PTRDIFF_T#if defined(__LARGE__) || defined(__HUGE__) || defined(__COMPACT__) typedef long ptrdiff_t;#elsetypedef int ptrdiff_t;#endif#endif#ifndef _SIZE_T#define _SIZE_Ttypedef unsigned size_t;#endif#endif#ifndef NULL#if defined(__TINY__) || defined(__SMALL__) || defined(__MEDIUM__)#define NULL 0#else#define NULL 0L#endif#endifint _Cdecl brk (void *addr);void *_Cdecl calloc (size_t nitems, size_t size);#if defined(__COMPACT__) || defined(__LARGE__) || defined(__HUGE__) unsigned long _Cdecl coreleft (void);#elseunsigned _Cdecl coreleft (void);#endif(void *block); (size_t size); (void *block, size_t size); (int incr);#if !__STDC__void far * _Cdecl farcalloc (unsigned long nunits, unsigned long unitsz); unsigned long _Cdecl farcoreleft(void);void _Cdecl farfree (void far *block);void far *_Cdecl farmalloc (unsigned long nbytes);void far *_Cdecl farrealloc (void far *oldblock, unsigned long nbytes);#endif voidvoidvoidvoid _Cdecl free *_Cdecl malloc *_Cdecl realloc *_Cdecl sbrk。
基于MSP430简易示波器的设计自动化1107王诗雨2013.121.硬件设计1.1 单片机选用MSP430G2553单片机,该单片机具有低功耗的特点,内部自带8路10位AD转换器(ADC10),最高主频可达16Mhz,对于一个简易示波器来说这些特点足够我们使用。
1.2 程控放大电路程控放大电路的作用是对大信号进行衰减,对小信号进行放大,保证输入到A/D转换器的信号幅度在要求的输入电压范围内,以达到最好的测量与观察效果。
采用模拟开关CD4051,配合精密电位器实现多挡垂直分辨率。
在MSP430单片机中使用寄存器模块设置通道号,通过写入通道号控制模拟开关选通不同的反馈电阻,从而实现不同的放大倍数,对信号进行不同程度的放大(衰减)。
电路图如下:1.3 简易调理电路由于示波器观察信号大多是正负电压信号,考虑到ADC10一般使用的是单极性参考电压(也可以使用寄存器设置双极性参考电压,这样就不需要调理电路了,但最好加一级缓冲)。
为了采样到信号的负电压,就需要给该信号叠加直流量,将负电压部分信号抬高至零电平以上,因此采用信号调理电路。
电路图如下:1.4 LCD显示电路和按键电路利用LCD的SPI通信模式与MSP430单片机连接,这样可以得到不错的通信速度,并且可以尽可能的减少MSP430引脚的占用,具体电路这里就不给出了。
(按照spi连接)利用简单独立按键实现放大倍数调节,采样频率设置等功能即可。
2.软件设计2.1 单片机初始化对P2口初始化,打开P2口的中断;将通信方式设置为硬件spi通信模式(注意spi通信在上升沿还是在下降沿开始)。
WDTCTL=WDTPW+WDTHOLD; //关看门狗P1OUT = 0x00; // P1 setup for LED & reset outputP1DIR |= BIT0 + BIT2 + BIT3 + BIT4 + BIT5;P1SEL = BIT1 + BIT2 + BIT4;P1SEL2 = BIT1 + BIT2 + BIT4;P2REN |= 0x38;P2DIR = 0x07;P2OUT = 0;P2IE |= 0x38; // P1.4 interrupt enabledP2IFG &= ~0x38;will=0;UCA0CTL0 |= UCCKPL + UCMSB + UCMST + UCSYNC + UCCKPH ; // 3-pin, 8-bit SPI masterUCA0CTL1 |= UCSSEL_2; // SMCLKUCA0BR0 |= 0x04; // /2UCA0BR1 = 0; //UCA0MCTL = 0; // No modulationUCA0CTL1 &= ~UCSWRST; // **Initialize USCI state machine**P1OUT &= ~BIT5; // Now with SPI signals initialized,P1OUT |= BIT5; // reset slaveADC10初始化,开启参考源和中断。
基于MSP430单片机的简易计算器设计概述作者:郭新伦吴仕驰王华豫杨坤来源:《科学与信息化》2019年第14期摘要本文介绍了一种基于MSP430单片机的简易电子计算器设计。
基于MSP430单片机的简易电子计算器设计具有体积小、便于携带、应用方便、组成元器件少、制造成本低等优点。
MSP430单片机具有的超低功耗、硬件浮点数运算等功能使得简易电子计算器设计简单、计算能力强,有着广阔的发展前景。
关键词 MSP430;简易电子计算器;超低功耗引言生活中常用的电子计算器具有结构简单、性能稳定的优点,在现代经济社会有着广泛的应用。
本次设计的基于MSP430单片机的简易电子计算器,在MSP430F6638单片机上,使用矩阵键盘输入数据,进行加、减、乘、除混合运算,并能根据运算符的优先级大小得出正确结果。
此次设计的计算器可精确到个位,基本实现计算器功能。
利用键盘选择数字;利用键盘选择加减乘除等功能最后将计算结果结果在LCD上显示,具有较强的使用价值[1]。
1 硬件系统的设计本次设计使用MSP430F6638单片机设计出一个简单的计算器。
使用矩阵键盘输入数字、字符,用LCD_TFT屏幕显示运算式子和结果。
硬件主要包括(MSP430F6638单片机),LCD_TFT屏幕液晶显示器、矩阵键盘。
其中,MSP430F系列单片机直接采用了德州仪器公司设计的MSP430F6638单片机评估开发板,在此基础上进行系统的设计和开发。
其中矩阵键盘隶属于TM1638电路,TM1638是带键盘扫描接口的LED(发光二极管显示器)驱动控制专用电路,内部集成有MCU 数字接口、数据锁存器、LED 高压驱动、键盘扫描等电路。
根据简易电子计算器的实际功能和任务要求,得出硬件系统设计方案,单片机硬件结构框图设计如图1所示[2]。
2 系统软件设计本次设计使用了MSP430F6638单片机为控制器,LCD_TFT液晶屏作为显示器,矩阵键盘作为输入设备,设计了一个基于MSP430F6638单片机的简易电子计算器,使用矩阵键盘的按键接收输入信息,完成了基于MSP430F6638单片机的简易电子计算器设计。
MSP430单片机的BSL编程工具设计与应用∗常国权;张捐净【摘要】为了对烧断熔丝的 MSP430系列单片机进行程序更新,采用 USB转串口芯片 PL2303和 VB6.0编程语言设计出了一款高性价比的BSL编程工具,给出了该编程工具的硬件和软件设计的具体方案,并论述了设计中的要点.该 BSL编程工具使用方便、操作简单、成本低廉,投入使用以后获得了较好的效果.%In order to solve the problem of MSP430 series microcontroller with blown fuse for program update,a BSL programming tool of high cost-effective is designed using PL2303 which is USB to serial port and VB6.0 programming language.The paper gives its specific solution of the hardware and software design,and discussed the key points of the design.This BSL programming tool has the advantages of convenient use,simple operation and low cost,and achieves good results after putting into use.【期刊名称】《单片机与嵌入式系统应用》【年(卷),期】2015(000)006【总页数】4页(P26-29)【关键词】MSP430 单片机;BSL;编程工具;PL2303【作者】常国权;张捐净【作者单位】安阳工学院计算机科学与信息工程学院,安阳 455000;安阳工学院计算机科学与信息工程学院,安阳 455000【正文语种】中文【中图分类】TP368.2美国德州仪器公司的MSP430系列单片机在智能仪器仪表、医疗电子、消费电子等领域有着非常广泛的应用[1]。
基于MSP430单片机编程器的设计
1.引言
单片机开发与应用已渗入我们生活中各个方面,其中一个应用就是对内存较小的芯片大批量烧录,就有了性能稳定的高速编程器诞生以满足各大厂商
实现大量芯片烧录的目标。
目前市场上运用最广泛的编程器是基于89C51的,但其功能过于单一,不能满足日益发展的市场需求。
本文提出一种采用
MSP430F149单片机作为CPU控制核心的编程器。
与51单片机编程器相比,MSP430单片机编程器增加了I2C存储模块,可无需电脑利用该编程器对芯
片进行烧录,使烧录过程更方便、快捷。
2.系统设计
基于MSP430的单片机编程器以MSP430F149为核心,主要由键盘、显示、串口、烧写、电平转换、电源和存储模块构成。
系统结构框图如图1所示。
图1系统结构框图
3.编程器硬件电路设计。