(完整版)MSP430单片机课程设计
计算器__msp430单片机原理与应用课程综合设计

计算器设计实验报告一、实验设计主要分工04009312 王国鹏:按键扫描,LCD显示。
04009320 文斌:算法设计,字符数据转换。
共同调试、完善设计。
二、程序设计实现功能效果(1)支持整数、小数基本加减乘除运算;(2)有优先级的判别计算。
优先级由高到低依次为括号运算、乘除运算、加减运算。
(3)支持键盘输入;(4)能够判断输入表达式的合法性。
程序开始运行后,定时扫描键盘。
输入键有0~9数字键、+-*/()运算符、del退格键、clear清屏键、shift复用切换键、enter'='键、‘.’小数点键。
键盘为3*4的矩阵键盘,键盘定义如下:开始运行程序后,LCD12864屏幕显示Calculator,等待键盘输入。
通过定时中断,定时扫描按键。
有按键按下时,判断为0~9数字键、+-*/()运算符则显示在LCD上。
按下shift键则键盘复用为上图红色字符。
按下'='号后,得出计算结果,结果显示于表达式的下一行。
若有除零错误或语法错误(如连续输入运算符,括号失配等)则显示“=error”。
按下backspace,则表达式退一个字符,同时显示去掉最后一位字符。
按下“reset”,则回到初始状态,屏幕表达式和结果被清除,等待输入新的表达式。
三、程序设计流程图四、程序算法实现1、计算算法将输入的0~9数字、+-*/()运算符的内容存储于一个全局变量str[i]中,表达为中缀表达式。
首先判断输入字符串的合法性,对不同的字符赋予不同的权值,str[i]中若为‘(’,则error[e]=1;若为‘)’,则error[e]=3;若为运算符或小数点,则error[e]=2;若为数字,则error[e]=0;根据数组error[e]序列判断输入字符串的正确性。
例如运算符连续输入error[j]=='2'&&error[j+1]=='2' 则errflag=1;若输入表达式字符串没有错误,则用void str2repol()函数,将输入字符串str[i]转换成逆波兰表达式并存于全局数组char repol[maxs]中。
msp430模拟时钟课程设计

msp430模拟时钟课程设计一、课程目标知识目标:1. 学生理解MSP430单片机的结构与功能,掌握其基本编程方法。
2. 学生能够解释模拟时钟的运行原理,了解时钟模块在单片机系统中的应用。
3. 学生掌握如何使用MSP430内置的定时器/计数器功能来实现时钟功能。
技能目标:1. 学生能够运用C语言进行MSP430单片机的程序编写,完成模拟时钟的设计与实现。
2. 学生通过实践操作,培养动手能力,提高问题解决和调试程序的能力。
3. 学生能够利用所学知识,对模拟时钟进行优化和拓展,实现更多功能。
情感态度价值观目标:1. 学生通过本课程的学习,培养对单片机及编程的兴趣,提高对电子工程领域的认识。
2. 学生在课程实践中,培养团队协作和沟通能力,学会分享和互助。
3. 学生通过解决实际问题,增强自信心,形成积极向上的学习态度。
课程性质:本课程为实践性较强的课程,结合理论知识,让学生动手实践,培养实际操作能力。
学生特点:学生具备一定的单片机基础知识,对编程有一定了解,但实际操作能力有待提高。
教学要求:课程注重理论与实践相结合,强调学生动手实践,鼓励学生探索和解决问题,培养其创新意识。
通过课程目标的分解,使学生在完成具体学习成果的过程中,达到课程目标的要求。
后续教学设计和评估将以此为基础,确保教学效果。
二、教学内容本课程教学内容主要包括以下三个方面:1. MSP430单片机基础:- 简介及特点:使学生了解MSP430单片机的性能、结构和应用领域。
- 编程环境:学习MSP430的开发工具,如IAR、CCS等。
- 基本编程:掌握MSP430的GPIO、定时器/计数器等基本模块的使用。
2. 模拟时钟原理与实现:- 时钟原理:介绍时钟的基本概念,如秒、分、时等,以及它们的计算方法。
- 时钟设计:学习如何使用MSP430内置定时器/计数器实现时钟功能。
- 显示技术:了解数码管、LCD等显示技术,并应用于时钟显示。
3. 课程实践:- 编程实践:编写程序实现模拟时钟功能,包括秒、分、时的显示和更新。
MSP430单片机及设计实例

基于MSP430单片机的医疗设备控制系统
总结词
高可靠性、实时性、安全性
详细描述
MSP430单片机在医疗设备控制系统中具有高可靠性和实时性,能够满足医疗设备对安全性的高要求 。通过与各类传感器和执行器配合,实现对医疗设备的精确控制,如输液泵、监护仪等。系统可提高 医疗设备的自动化水平,减轻医护人员的工作负担。
通过PWM信号控制电机驱动器,实现电机的调速和方向控制。
速度与位置控制
通过编码器检测电机的实际速度和位置,实现闭环控制。
基于MSP430单片机的无线通信系统设计
无线通信模块选择
选择合适的无线通信模块,如Wi-Fi、蓝牙、Zigbee等。
MCU与无线通信模块接口
通过串口或SPI接口实现数据传输和控制。
数据传输与接收
实现数据的发送和接收,并进行必要的处理和显示。
05
MSP430单片机应用实例
基于MSP430单片机的智能家居控制系统
总结词
低功耗、高效能、易于扩展
详细描述
MSP430单片机以其低功耗和高性能在智能家居控制系统中得到广泛应用。通过与传感器、执行器等外围设备连 接,实现对家居环境的智能监控和控制,如温度、湿度、光照等。系统可扩展性强,可接入各种智能设备,为用 户提供便捷的生活体验。
基于MSP430单片机的工业自动化控制系统
总结词
抗干扰能力强、适应性强、易于维护
详细描述
MSP430单片机在工业自动化控制系统中表现出抗干扰能力强、适应性强和易于维护等 优点。广泛应用于各种工业控制领域,如电机控制、过程控制等。系统可提高生产效率,
降低能耗,为企业带来经济效益。
THANKS
感谢观看
MSP430单片机的编程语言
(完整版)MSP430单片机课程设计

文华学院学生课程考查报告考查课程: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 引言十七世纪是温度计诞生和发展的最初阶段,这个仪器几乎比任何其它仪器都得到更加广泛的应用。
MSP430单片机温度单片机课程设计报告书

理工大学计算机学院课程设计单片机系统设计班级计科1104姓名___________________ 学号 ____________________ 指导教师业德韩慧。
一四年十课程设计任务书及成绩评定课题名称_______ 度测试系统设计__________I、题目的目的和要求:利用温度传感器和MSP43单片机设计一个温度测试系统,将测试结果(十进制)在LEDh显示出来,并定义一个保持按键,当按下该键时,将当前测试值保持不变(按键不动作时为正常测量显示)。
温度显示格式为:XXX C。
II、设计进度及完成情况、主要参考文献及资料IIIMSP43系列16位低功耗单片机原理及应用DS18B2温度传感器的使用智能仪器原理及应用学科部主任业德成绩评定:设计成绩:__________________ (教师填写)指导老师: _________________ (签字)二O 年月日目录I、题目的目的和要求: (2)II、设计进度及完成情况 (2)III、主要参考文献及资料 (3)W、成绩评定: (3)目录. (4)本次课程设计的目的和意义 (5)设计题目. (6)系统的主要功能、作用以及主要技术性能指标 (7)总体设计方案、工作和组成原理 (8)系统设计. (11)设计总结. (22)作品的使用或操作说明 (23)设计图纸或图表. (24)本次课程设计的目的和意义课程设计是让我熟练掌握了课本上的一些理论知识,课程设计也是一个学习新知识、深所学课本理论知识巩固加的过程,它培养了我们综合运用知识的能力,独立思考和解决问题的能力。
加深我们对单片机原理与应用课程的理解设计题目温度测试系统设计:利用温度传感器DS18B2C和MSP43C单片机设计一个温度测试系统,将测试结果(十进制)在LED 上显示出来,并定义一个保持按键,当按下该键时,将当前测试值保持不变(按键不动作时为正常测量显示)。
温度显示格式为:XXX C。
系统的主要功能、作用以及主要技术性能指标系统的主要功能是单片机实时从温度传感器读取温度数据信息,并在数码管显示,同时扫描是否有保持按键按下,如果按下则不再继续从温度传感器读取温度数据信息,保持温度值不变。
基于MSP430单片机循迹小车课程设计报告

基于MSP430单片机循迹小车课程设计报告课程设计报告课程名称嵌入式系统原理与设计课题名称智能循迹小车专业通信工程班级1101班学号姓名指导老师2014 年 1 月 5 日1.系统总设计1.1 功能说明本课题是基于MSP430单片机循迹智能小车的设计与实现,小车系统以MSP430单片机为系统控制处理器,采用红外传感器对赛道进行道路检测,单片机根据检测到的信号的不同状态判断小车的当前状态,通过电机驱动芯片L298N发出控制命令,控制电机的工作状态以实现对小车的控制。
1.2 任务分配情况参与此次项目制作的一共七人,分别是:张振凤,冯志成,肖新加,戴小敏,杨小林,谢鹏华和张莹任务分配情况如表1所示:表1 任务分配情况冯志成张莹红外循迹模块肖新加,代小敏,杨小林电机驱动模块张振凤谢鹏华写程序,各接口的连接,数据的收集及小车的调试1.3 使用说明书产品名称:智能循迹小车技术参数:L298N基本参数:类型:半桥输入类型:非反相输出数: 4电流输出/同道:2A 电流峰值输出:3A工作温度:-25~135°C 器件型号:L298N产品的使用方法:用六节干电池9V直流电压作为供电电源,接通电源,在有黑线的跑道上行走。
注意事项:1、所用电源不能超过9V,以免电压过大,把电机烧坏。
2、小孩使用时,应在大人的陪同下使用,以免被小车的尖锐部分弄伤。
3、轻拿轻放,以免损坏小车器件。
4、长期不使用时,应把电池取出。
生产日期:20xx年xx月xx日2.硬件设计此次项目中硬件部分的设计主要包含以下模块:电源模块,红外循迹模块,电机驱动模块和MSP430f149单片机。
2.1 电源模块模型车通过自身系统,采集赛道信息,获取自身速度信息,加以处理,由芯片给出指令控制其前进转向等动作,各部分都需要由电路支持,电源管理尤为重要。
在本设计中,在本设计中,msp430单片机使用5V电源,电机使用5V电源。
用了6节1.5V的电池,为单片机和电机供电。
MSP430F169单片机课程设计指导

MSP430F169单片机课程设计指导(“MSP430单片机基础与应用”课程考试)器材:MSP430169实验板 +USB仿真器+连接线一套实验原理图:附件所示基本要求:程序编写规范,具备子程序,主程序,尽量多的注释,程序方框图(VISIO编写),具体操作,IAR调试、仿真、运行基本熟练。
提交结果: 1. 软件和程序框图(Word.Doc),完整的工程文件程序包2. 运行通过,结果正确3. 可参考:#include "msp430x16x.h"#define S3 BIT2#define S2 BIT3#define S1 BIT4#define LED1 BIT0#define LED2 BIT1……………………………………提交时间: 7月31日前,提交地点:九里堤西南交大工业中心C座5楼光电工程研究所郭建强1.课程设计2:基本时钟(35分)a.设计一个8MHz时钟工作自检的程序并运行。
当开机时,自动检测8MHz时钟是否振荡,当8MHz时钟稳定振荡后,D1(LED1)灯亮2秒后停止;b.自编程序,Debug调试通过,下载到实验板,运行成功;2.课程设计1:I/O端口(35分)a.利用实验板中的开关S1、S2、S3实现按键操作,分别使LED1、LED2、和LED1+LED2发光;b.设计相应的程序,使按键实时对应发光二极管LED;c.自编程序,Debug调试通过,下载到实验板,运行成功;3.课程设计3:定时器(20分)a.设计歌曲“东方红”的时间节拍,使蜂鸣器按照节拍鸣笛,或者使LED按节拍明亮,方式自创;b.自编程序,Debug调试通过,下载到实验板,运行成功;4.把上面三个过程窜到一起,构成一个完整的过程。
(10分)a.基本时钟8MHz振荡后,自动进入I/O端口键盘按键程序,测试按键程序按键正确后,然后按键“S1、S1、S1、S2、S2、S2、S3、S3、S3”进入定时器工作状态,输出东方红节拍,蜂鸣器鸣笛。
单片机MSP430G2课程设计音乐播放器

单片机期末检测报告学生姓名:***学生学号:********专业班级:自动化12-2班基于MSP430G2的音乐切换器一、内容通过MSP430G2播放自己所设置的歌曲,并通过按键S2切换另一首歌曲二、思路与方法(1)思路:通过老师上课所讲的F6638音乐器播放实例,想利用MSP430G2来进行音乐播放,阅读网上单片机播放音乐例程并加以改编,并试想利用按键S2来进行歌曲的实时切换(2)音乐:通过MSP430蜂鸣器音高音长对照表,将自己喜欢的音乐通过音乐简谱改成相应代码,利用播放函数play_song()进行歌曲播放。
演奏乐曲对于一个音符应该包括两个部分,声调用简单的延时-电平翻转来实现,改变了延时的时间就改变了声调,而时间通过计数比较来实现,当计数值相等时就跳出循环演奏下一个音符。
(3)按键S2:通过中断服务、事件检测、事件处理函数,通过按键S2切换歌曲(4)硬件:无源蜂鸣器、MSP430G2单片机有流程图:三、程序调试(1)遇到的问题与解决方法按键S2切换歌曲开始不能进行实时切换,首先是我将实验是检测按键的程序进行整改加入主程序中while(1),这样只有长按S2键才能播放下一曲。
后来查阅书籍关于MSP430G2中断服务的程序后,调用这些函数,并设置变量i放在两个音乐播放函数中,通过判断i=1或0进行选歌。
开始编曲时候并未按照音高、音长对照表进行编曲,所以导致歌曲无调子,后在搜集到资料后进行整改进行改曲。
开始蜂鸣器声音略小,后发现是正负导线接反所致。
(2)程序段/*********************************************时钟频率务必为8MHz,定时器为8分频*********************************************/#include<msp430g2553.h>typedef unsigned char uchar;#include"music.h"//乐曲1#include"te.h"//乐曲2#define Buzzer BIT3#define Buzzer_Port P2OUT#define Buzzer_DIR P2DIRuchar counter;void Play_Song(void);void Delay_Nms(uchar n);void ss(void);void P1_IODect();void P13_Onclick();static int i=0;/***************主函数****************/void main(void){WDTCTL = WDTPW + WDTHOLD;//关闭看门狗P1DIR |= BIT0;P1OUT |= BIT0;P1REN |= BIT3;P1OUT |=BIT3;P1DIR &=~BIT3;P1IES |= BIT3;P1IE |= BIT3;BCSCTL1=CALBC1_8MHZ; //晶振选择DCO中的8MHzDCOCTL=CALDCO_8MHZ; //选择系统主时钟为8MHz//CCTL0 = CCIE;CCR0 = 7200; //设定拍速TACTL |= TASSEL_2 + ID_3; //TimerA定时器分频要选8分频 Buzzer_DIR |= Buzzer; //设置控制蜂鸣器的IO方向为输出 _EINT(); //打开全局中断//循环演奏歌曲while(1){if (i==0)//按键没按下{Play_Song();}else {ss();}}}/*******************************************函数名称:TimerA_ISR功能:定时器A的中断服务函数********************************************/#pragma vector = TIMER0_A0_VECTOR__interrupt void TimerA_ISR(void){counter++;}/*******************************************函数名称:PORT1_ISR功能:响应p1口的外部中断服务********************************************/#pragma vector =PORT1_VECTOR__interrupt void PORT1_ISR(void){P1_IODect();P1IFG=0;}/*******************************************函数名称:P1_IODect()功能:判断具体引发中断的I/O,并调用相应I/O的中断事件处理函数********************************************/void P1_IODect(){unsigned int Push_Key=0;Push_Key=P1IFG&(~P1DIR);__delay_cycles(10000);if((P1IN&Push_Key)==0){switch(Push_Key){case BIT3:P13_Onclick(); break;default: break;}}}/*******************************************函数名称:P13_Onclick()功能:事件处理函数********************************************/void P13_Onclick(){if(i==0){i=1;}elsei=0;P1OUT ^=BIT0;}/*******************************************函数名称:Delay_Nms功能:延时N个ms的函数参数:n--延时长度返回值:无********************************************/void Delay_Nms(uchar n){uchar i,j;for( i = 0;i < n; i++ ){for( j = 0;j < 3;j++ )_NOP();}}/*******************************************函数名称:Play_Songss********************************************/void Play_Song(void){uchar Temp1,Temp2;//Temp1放音调决定了音调的高低,Temp2放音长决定了某个音的演奏时间uchar addr = 0; //SONG数组中每两个为一组第一字节为音调,第二字节为音长counter = 0; //中断计数器清0while(i==0){Temp1 = songsong[addr++];if ( Temp1 == 0xFF ) //休止符{TACTL &=~MC_1; //停止计数Delay_Nms(100);}else if ( Temp1 == 0x00 ) //歌曲结束符{return;}else{Temp2 = songsong[addr++];TACTL |=MC_1; //开始计数while(1){Buzzer_Port ^= Buzzer;Delay_Nms(Temp1);if ( Temp2 == counter ){counter = 0;break;}}}}}void ss(void){uchar Temp1,Temp2;//Temp1放音调决定了音调的高低,Temp2放音长决定了某个音的演奏时间uchar addr = 0; //SONG数组中每两个为一组第一字节为音调,第二字节为音长counter = 0; //中断计数器清0while(i==1){Temp1 = gg[addr++];if ( Temp1 == 0xFF ) //休止符{TACTL &=~MC_1; //停止计数Delay_Nms(100);}else if ( Temp1 == 0x00 ) //歌曲结束符{return;}else{Temp2 = gg[addr++];TACTL |=MC_1; //开始计数while(1){Buzzer_Port ^= Buzzer;Delay_Nms(Temp1);if ( Temp2 == counter ){counter = 0;break;}}}}}const unsigned char songsong[]= //歌曲1 CCR0=7200,格式为: 频率常数, 节拍常数, 频率常数, 节拍常数,{0x26,0x20,0x20,0x20,0x20,0x20,0x26,0x10,0x20,0x10,0x20,0x80,0x26,0x20,0x30,0x20,0x30,0x20,0x39,0x10,0x30,0x10,0x30,0x80,0x26,0x20,0x20,0x20,0x20,0x20,0x1c,0x20,0x20,0x80,0x2b,0x20,0x26,0x20,0x20,0x20,0x2b,0x10,0x26,0x10,0x2b,0x80,0x26,0x20,0x30,0x20,0x30,0x20,0x39,0x10,0x26,0x10,0x26,0x60,0x40,0x10,0x39,0x10,0x26,0x20,0x30,0x20,0x30,0x20,0x39,0x10,0x26,0x10,0x26,0x80,0x26,0x20,0x2b,0x10,0x2b,0x10,0x2b,0x20,0x30,0x10,0x39,0x10,0x26,0x10,0x2b,0x10,0x2b,0x20,0x2b,0x40,0x40,0x20,0x20,0x10,0x20,0x10,0x2b,0x10,0x26,0x30,0x30,0x80,0x18,0x20,0x18,0x20,0x26,0x20,0x20,0x20,0x20,0x40,0x26,0x20,0x2b,0x20,0x30,0x20,0x30,0x20,0x1c,0x20,0x20,0x20,0x20,0x80,0x1c,0x20,0x1c,0x20,0x1c,0x20,0x30,0x20,0x30,0x60,0x39,0x10,0x30,0x10,0x20,0x20,0x2b,0x10,0x26,0x10,0x2b,0x10,0x26,0x10,0x26,0x10,0x2b,0x10,0x2b,0x80,0x18,0x20,0x18,0x20,0x26,0x20,0x20,0x20,0x20,0x60,0x26,0x10,0x2b,0x20,0x30,0x20,0x30,0x20,0x1c,0x20,0x20,0x20,0x20,0x80,0x26,0x20,0x30,0x10,0x30,0x10,0x30,0x20,0x39,0x20,0x26,0x10,0x2b,0x10,0x2b,0x20,0x2b,0x40,0x40,0x10,0x40,0x10,0x20,0x10,0x20,0x10,0x2b,0x10,0x26,0x30,0x30,0x80,0x00,}; const unsigned char gg[]= //歌曲2 CCR0=7200{ 0x18, 0x30, 0x1C , 0x10, 0x20, 0x40, 0x1C , 0x10,0x18, 0x10, 0x20 , 0x10,0x1C, 0x10, 0x18 , 0x40,0x1C, 0x20, 0x20 , 0x20,0x1C, 0x20, 0x18 , 0x20,0x20, 0x80, 0xFF , 0x20,0x30, 0x1C, 0x10 , 0x18,0x20, 0x15, 0x20 ,0x1C,0x20, 0x20, 0x20 , 0x26,0x40, 0x20, 0x20 , 0x2B,0x20, 0x26, 0x20 , 0x20,0x20, 0x30, 0x80 , 0xFF,0x20, 0x20, 0x1C , 0x10,0x18, 0x10, 0x20 , 0x20,0x26, 0x20, 0x2B , 0x20,0x30, 0x20, 0x2B , 0x40,0x20, 0x20, 0x1C , 0x10,0x18, 0x10, 0x20 , 0x20,0x26, 0x20, 0x2B , 0x20,0x30, 0x20, 0x2B , 0x40,0x20, 0x30, 0x1C , 0x10,0x18, 0x20, 0x15 , 0x20,0x1C, 0x20, 0x20 , 0x20,0x26, 0x40, 0x20 , 0x20,0x2B, 0x20, 0x26 , 0x20,0x20, 0x20, 0x30 , 0x80,0x20, 0x30, 0x1C, 0x10,0x20, 0x10, 0x1C , 0x10,0x20, 0x20, 0x26 , 0x20,0x2B, 0x20, 0x30 , 0x20,0x2B, 0x40, 0x20 , 0x15,0x1F, 0x05, 0x20 , 0x10,0x1C, 0x10, 0x20 , 0x20,0x26, 0x20, 0x2B , 0x20,0x30, 0x20, 0x2B , 0x40,0x20, 0x30, 0x1C , 0x10,0x18, 0x20, 0x15 , 0x20,0x1C, 0x20, 0x20 , 0x20,0x26, 0x40, 0x20 , 0x20,0x2B, 0x20, 0x26 , 0x20,0x20, 0x20, 0x30 , 0x30,0x20, 0x30, 0x1C , 0x10,0x18, 0x40, 0x1C , 0x20,0x20, 0x20, 0x26 , 0x40,0x13, 0x60, 0x18, 0x20,0x15, 0x40, 0x13 , 0x40,0x18, 0x80, 0x00 };四、调试结果红灯亮第一首歌:红灯灭第二首歌:结果说明:调试结果,达到了预期通过S2切换歌曲的功能五、总结与体会通过这次的课程设计,我学会了MSP430单片机定时器、中断服务模块、I/O 输入输出系统等。
msp430课程设计

msp430课程设计一、教学目标本课程的教学目标是使学生掌握MSP430单片机的基本原理、编程方法和应用技巧。
具体来说,知识目标包括了解MSP430单片机的结构、特点和工作原理,掌握C语言编程的基本语法,熟悉MSP430单片机的应用领域。
技能目标则要求学生能够熟练使用MSP430开发工具进行程序设计和调试,能够独立完成简单的MSP430单片机应用项目。
情感态度价值观目标则是培养学生对电子技术的兴趣和热情,提高他们的问题解决能力和创新意识。
二、教学内容本课程的教学内容主要包括MSP430单片机的硬件结构、编程语言、开发环境和应用实例。
具体来说,将讲解MSP430单片机的各个模块及其功能,包括CPU、内存、外设等,以及这些模块是如何协同工作来实现各种功能的。
接下来,将介绍C语言编程的基本语法和编程技巧,包括数据类型、运算符、控制语句等,以及如何使用MSP430的开发工具进行程序设计和调试。
最后,将通过一些具体的应用实例来展示如何使用MSP430单片机来解决实际问题,比如温度计、电子钟等。
三、教学方法为了达到上述教学目标,将采用多种教学方法相结合的方式进行教学。
首先,将采用讲授法来讲解MSP430单片机的硬件结构和C语言编程的基本语法。
通过讲解,使学生能够理解和掌握相关知识。
其次,将采用讨论法来探讨一些实际的应用案例,引导学生通过讨论和思考来解决问题。
此外,还将采用实验法让学生通过动手实践来加深对知识的理解和应用能力。
最后,将采用案例分析法来分析一些成功的MSP430单片机应用项目,使学生能够了解和掌握如何将理论知识应用于实际项目中。
四、教学资源为了支持教学内容的讲解和教学方法的实施,将准备一系列的教学资源。
首先,将使用教材《MSP430单片机原理与应用》作为主要的教学资料,引导学生学习和掌握相关知识。
其次,将提供一些参考书籍和在线资料,供学生进行深入学习。
此外,还将准备一些多媒体资料,如PPT、视频等,以直观的方式展示一些复杂的原理和应用案例。
MSP430单片机-课程设计(任务书 指导书)新

《MSP430单片机最小系统搭建》任务书及设计指导书课程设计实验报告班级学号10移动专1姓名机械与电子信息学部计算机科学与技术教研室2012年12月《MSP430单片机最小系统搭建》任务书及设计指导书一、课程设计目的在课堂理论教学的基础上,通过课程设计和实验动手焊接电路,把MSP430F149 CPU与LED发光二极管,电源,晶体振荡器,键盘连接起来,组成MSP430F149单片机最小系统。
在焊接之前学会测量所使用的数字集成电路。
在组成MSP430F149单片机的基础上,使用C语言编写程序,编译,连接,下载目标码到MSP430F149最小系统,调试MSP430F149片内外围模块。
二、课程设计内容本课程设计包括如下几个部分:1、MSP430 CPU板及其焊接2.LED灯电路的制作3、电源电路的制作4、晶体振荡器电路制作5、键盘电路制作6、数码管显示7、键盘电路8、IAR Embedded Workbench IDE使用;MSP430F149最小系统的程序设计;软件下载、运行与调试9、书写课程设计报告三、课程设计指导1、课程设计MSP430单片机应用电路图阅读课程MSP430单片机应用电路图,明确LED发光二极管,电源,晶体振荡器,数码管,键盘各个部分的焊接内容,需要掌握的焊接要点。
2、元件和工具清单:每人元件和器件一套,器件有LED发光二极管,电源,晶体振荡器,数码管,键盘各个电路部分的电阻,电容,数字集成电路,晶体振荡器等元件和器件。
器件清单见附件1工具烙铁一把,共用斜口钳,剪刀,程序下载线。
设计内容及设计指导一、LED灯电路的制作1、要求:使用8个LED发光二极管与74HC573八位锁存器连接,再与MSP430端口P2的P2.0~P2.7连接。
通过程序控制使这八个LED发光二极管亮和不亮。
LED电路图如下:2、设计要点2.1使用数字万用电表测量和辨别LED发光二极管正级和负级,以便连接电路。
MSP430系列十六位超低功耗单片机教学实验系统实验教程

MSP430系列十六位超低功耗单片机教学实验系统实验教程MSP430系列十六位超低功耗单片机是德州仪器公司(TI)推出的一款高性能单片机,被广泛应用于嵌入式系统及物联网领域。
为了帮助初学者快速上手MSP430系列单片机,TI公司推出了MSP430系列十六位超低功耗单片机教学实验系统及相应的实验教程。
以下为一份MSP430系列十六位超低功耗单片机教学实验系统实验教程。
实验一:基础实验实验内容:1.学习MSP430系列单片机的基本特性和功能。
4.学习如何使用MSP430系列单片机的GPIO口进行输入输出控制。
实验步骤:2.安装MSP430-GCC编译器,并将其配置到系统环境变量中。
3.编写一个简单的程序,实现将MSP430系列单片机的GPIO口配置为输出模式,并输出高电平或低电平信号。
5.通过观察开发板上的LED灯是否亮起来,判断GPIO的输出是否成功。
实验二:时钟系统实验实验内容:1.学习MSP430系列单片机的时钟系统和时钟源。
2.学习如何配置和使用MSP430系列单片机的时钟系统。
实验步骤:1.配置MSP430系列单片机的时钟系统,选择合适的时钟源和时钟频率。
2.编写一个程序,实现在不同时钟频率下,通过GPIO口控制LED灯的闪烁频率。
实验三:定时器实验实验内容:1.学习MSP430系列单片机的定时器及其相关功能。
2.学习如何配置和使用MSP430系列单片机的定时器。
实验步骤:1.配置MSP430系列单片机的定时器模块,设置定时时间和定时器模式。
2.编写一个程序,实现定时器中断,当定时时间到达时,通过GPIO口控制LED灯的闪烁。
实验四:串口通信实验实验内容:1.学习MSP430系列单片机的串口通信模块和相关配置。
2.学习如何配置和使用MSP430系列单片机的串口通信功能。
实验步骤:1.配置MSP430系列单片机的串口通信模块,设置波特率和数据位数。
2.编写一个程序,实现通过串口发送字符串数据,并通过串口接收并显示接收到的数据。
430单片机课程设计报告

430单片机课程设计报告(步进电机驱动和键盘输入程序)学号:班级:姓名:此处放学校Logo一、设计思想在步进电机驱动方面,利用课程设计实验板上2003驱动接口电路,通过编程完成步进电机驱动功能。
系统初始化后,通过定时器B产生脉冲通过MC1413对步进电机进行驱动,同时满足初始设定值是步进电机的转速为每转5秒钟,正转2圈之后再反转2圈,循环进行。
并加入键盘模块,可以修改步进电机的运行参数。
在键盘输入程序方面,我设定了三个模式,一个模式用来输入单个字符,一个模式用来输入字符串,一个模式用来修改步进电机的运行参数(左右转圈数、周期)。
二、参数计算1、步进电机驱动实验使用型号为XY39ST20的四相步进电机,采用四相八拍控制方式工作。
步进电机的转角和转动方向取决于各相中通电脉冲的个数和顺序。
控制相序如表。
当按A-AB-B-BC-C-CD-D-DA顺序通电时步进电机正转,反之按相反顺序通电时步进电机反转。
XY39ST20步进电机正转时控制顺序及数学模型步序 1 2 3 4 5 6 7 8控制位P7.7 1 1 1 0 0 0 0 0P7.6 0 0 1 1 1 0 0 0P7.5 0 0 0 0 1 1 1 0P7.4 1 0 0 0 0 0 1 1控制模型0x90 0x80 0xc0 0x40 0x60 0x20 0x30 0x10由于MSP430每一种器件中都含有低速晶体振荡器(LFXT1),默认工作在低频模式32768Hz,捕获/比较寄存器CCR0经常用来用作周期寄存器,因为CCR0为16位寄存器,所以该模式适用于定时周期小于65536的连续计数情况,计数器TAR可以增计数到CCR0的值,当计数器与CCR0的值相等(定时器值大于CCR0的值时),定时器值复位并从0重新开始计数。
所以初始化TACCR0=32768,计数一次的时间便是32768/32768=1s,初始化TBCCR0 =328,计数一次时间约为4s,程序由步进电机为四相八拍,所以每步为0.9°,一圈为360°,故转一圈需走360/0.9=400次的正转数组,用时4s。
第6章MSP430单片机及设计实例

第6章MSP430单片机及设计实例本章将介绍MSP430单片机及设计实例。
MSP430是德州仪器(TI)公司开发的一种低功耗、高性能的16位RISC微控制器。
它广泛应用于嵌入式系统和便携式设备中,具有较低的功耗和丰富的外设。
首先,我们将介绍MSP430的基本特性。
MSP430采用的是Harvard架构,具有16位数据总线和16位地址总线。
它具有多种工作模式,包括运行模式、空闲模式和休眠模式,可以根据实际需求选择合适的模式以实现最低功耗。
另外,MSP430具有丰富的外设。
它包括通用输入/输出引脚、定时器、串口通信接口、模数转换器等。
这些外设可以满足各种应用的需求,并且具有灵活的配置和控制能力。
接下来,我们将介绍几个MSP430的设计实例。
首先是LED闪烁实例。
我们可以利用MSP430的通用输入/输出引脚和计时器来实现LED的闪烁,实现简单的灯光效果。
其次是温度监测实例。
我们可以利用MSP430的模数转换器和温度传感器来实现温度的实时监测,根据温度变化来控制其他外设的工作状态。
最后是无线通信实例。
我们可以利用MSP430的串口通信接口和无线模块来实现与其他设备的无线通信,如蓝牙通信或Wi-Fi通信。
以上这些设计实例只是MSP430的一小部分应用案例,MSP430还可以应用于很多其他领域,如智能家居、工业自动化、医疗设备等。
它的低功耗和高性能使其成为许多嵌入式系统的理想选择。
总之,MSP430是一种功能强大、灵活性高的单片机,通过灵活配置和控制外设,可以实现各种应用需求。
在接下来的学习中,我们将更深入地了解MSP430的内部结构和编程实践,为设计更复杂的嵌入式系统奠定基础。
MSP430单片机秒表程序(完整)

MSP430单片机"秒表" 程序(完整)/*******************************************************基于MSP430F449单片机的秒表*功能:秒计时,8位数码管显示,包括小时、分钟、秒和毫秒*此程序同样适用于其他系列单片机*by:duyunfu1987******************************************************/#include "msp430x44x.h"#define DPYOUT P3OUT //数码管的段选输出口#define DPYCOM P2OUT //38译码器的ABC输入#define OPENOUT P2OUT |= BIT3 //74HC573使能锁存段选#define CLOSEOUT P2OUT &= ~BIT3//74HC573无效int hour,min,sec,ms; //缓冲区定义,小时、分钟、秒、毫秒int count = 0; //2ms计数,计到5时ms增1//共“阴”极数码管的码表unsigned char LED7CC[] ={0x3F,0x06,0x5B,0x4F,0x66,0x6D,0x7D,0x07,0x7F,0x6F,0x77,0x7C,0x39,0x5E,0x79,0x71};//延时n(us)void delay_us(int n){ while(n-- >0)_NOP();}//延时n(ms)void delay_ms(int dms){ int i;while(dms-- >0){ for(i=0;i<250;i++);}}//初始化缓冲区与IO口void Init(){hour = 0;min = 0;sec = 0;ms = 0;P2SEL = 0;P3SEL = 0;P2DIR |= BIT0+BIT1+BIT2+ BIT3;//A B C 使能位P2DIR &= ~(BIT4+BIT5+BIT6); //按键P3DIR = 0xff;P3OUT = 0x00;}//8位数码管动态显示函数void display(){DPYOUT = 0;_NOP();DPYOUT = LED7CC[ms%10]; DPYCOM = 7;OPENOUT;CLOSEOUT;DPYOUT = LED7CC[ms/10]; DPYCOM = 6;OPENOUT;CLOSEOUT;DPYOUT = LED7CC[sec%10]|0x80; DPYCOM = 5;OPENOUT;CLOSEOUT;DPYOUT = LED7CC[sec/10]; DPYCOM = 4;OPENOUT;CLOSEOUT;DPYOUT = LED7CC[min%10]|0x80; DPYCOM = 3;OPENOUT;CLOSEOUT;DPYOUT = LED7CC[min/10]; DPYCOM = 2;OPENOUT;CLOSEOUT;DPYOUT = LED7CC[hour%10]|0x80; DPYCOM = 1;OPENOUT;CLOSEOUT;DPYOUT = LED7CC[hour/10]; DPYCOM = 0;OPENOUT;CLOSEOUT;}//按键处理函数void key_deal(int key){switch(key){case 0x60: //START--开始计时{ BTCTL = BT_ADL Y_2;IE2 |= BTIE;_EINT();}break;case 0x50: //STOP -- 停止BTCTL |= BTHOLD; break;case 0x30: //CLEAR--缓冲区清零{ hour = 0;min = 0;sec = 0;ms = 0;}break;default : break;}display();}//主函数void main( void ){int key;// Stop watchdog timer to prevent time out reset WDTCTL = WDTPW + WDTHOLD;FLL_CTL0 |= XCAP18PF;Init();while(1){if((key = P2IN & 0x70)!=0x70){delay_ms(10);if((key = P2IN & 0x70)!=0x70){ key_deal(key);}}display();}}//BT中断服务程序,2ms计时#pragma vector = BASICTIMER_VECTOR__interrupt void BT_ISR(){count ++;if(count == 5){ count = 0;ms ++;}if(ms == 100){ms = 0;sec ++;if(sec == 60){sec = 0;min ++;if(min == 60){min = 0;hour ++;if(hour == 24)hour = 0;}}}}。
MSP430单片机课程设计实验要求和实验题目(36)

关于MSP430单片机课程设计的要求一、设计要求本课程设计是在理论课程的基础上,重点培养学生的动手能力,通过理论计算、实际编程、调试、测试、分析查找故障,解决在实际设计中的问题,使设计好的电路能正常工作。
在此基础上根据实验大纲提供的题目,任选一题,实现其功能。
有能力的同学可以超出题目要求发挥设计。
二、软件的使用本课程设计所需学习的软件(1)IAR软件根据题目要求,编写软件,最终通过IAR软件编译,再下载到MSP-EXP430F5529开发板中运行。
三、要求(1)基本要求:能采用IAR开发环境编写软件,并编译无错误,基本实现功能。
发挥要求:在完成本人选题的前题下,具有新内容的自主发挥,并取得良好效果。
分类标准:1.完成了实验的全部要求,并能运行实现其功能。
2.完成具有创新内容的功能。
四、分组和实验注意事项本实验课题每两人一题(随机分配),实验工作要细心认真、防止意外,有问题及时向指导老师反映,同学见可以通过研讨,互相学习解决实验中的问题。
五、报告要求(1)基本要求:写明实验内容和方法,画出所用部分资源的原理图等。
(2)发挥部分:说明选题依据,资源的选择和该资源在设计中的功能说明,原理图设计,程序结构框图和说明,操作使用说明。
说明创新点。
(2)实验体会和意见六、成绩评定标准成绩分:不及格、及格、中等、良好、优秀五等成绩以验收记录为主,参考考勤记录、答疑记录、报告内容质量、和其他表现。
需要学习和完成的内容:1、学习实验指导书;2、实验板的原理图结构研究;3、IAR软件使用,完成其演示实验,参见IAR_MSP430集成开发环境Workbench中文使用说明.pdf;4、单片机的编程技术;5、实验报告的制作;关于电子考勤、实验状态监测的说明本次实验首次采用电子考勤和实验实时监控,望同学注意。
电子考勤要求:进实验室带图书证。
用图书证条码开机,机器会提示可用实验信息:如实验工作台号、开机时间等。
实验结束时应再次刷条码主动关机,实验时间到系统会集体关机,请同学们在实验结束时提前保存数据。
MSP430单片机课程设计-简单计算器设计

MSP430 单片机课程设计
unsigned char disbuff[8] = {20,20,0,0,0,0,0,0};//初始数码管 unsigned char getkey(void); unsigned int qiushu(); void clear(void); void zhuanhuan(); void delay(unsigned int j) { for(uint i=0;i<j;i++); } unsigned int qiushu() //转化成相应的十进制整数 {unsigned int y; y=disbuff[2]*100000+disbuff[3]*10000+disbuff[4]*1000+disbuff[5]*100 +disbuff[6]*10+disbuff[7]; return y; } void clear(void) {unsigned int a; for(a=7;a>1;a--) disbuff[a]=0; } //清除屏幕
实验二:猜数字游戏设计
一、目的
利用单片机芯片 MSP430x14x、四位八段共阴数码管,设计一个猜数字游戏, 并将游戏结果显示在数码管上。
二、功能
要求该设计能实现如下的功能:游戏开始后,先在程序内随即设定四个 0-9 之间的不同数,作为游戏数答案。然后用户给出 4 个数,该软件会将您提交的数 与它自动产生的数进行比较,结果在八段数码管上显示成"kAsB"。k 代表位置正 确数字也正确的字数,s 代表数字正确但位置不正确的字数。当 k=4 且 s=0 时, 则比较正确显示“GOOD” ,进行下一次比较。
4
MSP430 单片机课程设计
MSP430单片机原理与设计课程教学大纲.doc

MSP430单片机原理与设计课程教学大纲课程中文名称:MSP430单片机原理与设计课程英文名称:Principle and Design for MSP430 Microcomputer课程编号:C1323 应开课学期:5学时数:32 (24+8) 学分数:2适用专业:自动化课程类型:专业拓展课/选修先修课程:电子技术基础、C语言程序设计一、课程性质本课程为自动化专业选修课程。
单片机技术是指利用单片机内部资源及其外部扩展电路实现某个或多个特定功能的一系列技术,是广泛应用于各个领域的有关测量与控制的一门重要的技术。
是培养学生分析问题、解决问题及提高学生动手能力的重要环节。
二、课程目标通过本课程的学习,使学生了解MSP430单片机的基本概念和原理,掌握MSP430单片机的组成、指令系统、定时/计数器、中断系统、串并行接口技术和总线技术等,了解常用单片机软、硬件开发工具和仿真工具,掌握单片机程序设计和调试开发的基本方法,使学生能够根据工程开发任务的要求,独立完成单片机应用系统的软硬件的开发与设计,为工业生产、科学研究和实验设备等领域的单片机应用和开发打下良好的基础。
课程对毕业要求的支撑课程教学目标、达成途径和评价依据等毕业要求(3)掌握工程基础知识和本专业的基本理论知识,具有系统的工程实践学习经历;了解本专业的前沿发展现状和趋势;教学目标:通过本课程的学习,使学生了解MSP43。
单片机的基本概念和原理,掌握MSP430单片机的组成、指令系统、定时/计数器、中断系统、串并行接口技术和总线技术等,了解常用单片机软、硬件开发工具和仿真工具,掌握单片机程序设计和调试开发的基本方法,并能综合运用单片机的软、硬件技术进行系统设计和分析处理实际问题,为工业生产、科学研究和实验设备等领域的单片机应用和开发打下良好的基础,同时了解单片机及其相关技术的行业发展需求和行业动态。
达成途径:课堂讲解;平时作业;专题讨论。
评价依据:作业;专题讨论答辩与报告;期末考试试题。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
文华学院学生课程考查报告考查课程: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 引言十七世纪是温度计诞生和发展的最初阶段,这个仪器几乎比任何其它仪器都得到更加广泛的应用。
现代历史研究认为最早发明温度计的科学家是伽利略,他在1592年发明了最早的气体温度计,最早的液体温度计则是荷兰科学家华伦海特制造出来的。
随着核能,宇航,冶金,低温,材料,微电子学和生物医学等方面的发展,对于温度测量控制的精度和范围提出了很高的要求,特别是对温度的测量不但要准确,而且需要读取数值时要更直观,更方便,这样的要求促进了温度测量和控制技术的迅速发展。
在如今虽然水银温度计仍是各温度测量的计量标准,可是它的缺点则是刻度间隔通常很密,不能准确分辨,读数困难,而且它们的热容量比较大,这使得达到热平衡所需的时间非常长,因此更难读准,同时,玻璃管易碎,里边的水银有毒,使用起来非常不方便。
后来出现了代替水银的有,酒精温度计和金属簧片温度计。
它们虽然无毒性,但是测量精度很低,只能作为一个大概的指示。
后来接着又出现了热电阻温度计、热电偶温度计等温度计。
之后随着大规模集成电路技术的提高,又出现了多种集成的数字化温度传感器。
如今随着电子工业的发展,数字仪表的优点有反应速度快,操作简单,并且对使用环境要求不高,市场上出现越来越多的数字式温度计,纵观国际上现有的温度计的变化,总趋势是从模拟信号向数字信号转变,相应的体积也在不断的减小,一切向着数字化,智能化控制方向发展。
1.2现状和发展状况温度检测和控制是在工业生产过程中是比较典型的应用之一,随着传感器在生产生活中的广泛应用,利用新型总线式数字温度传感器来实现对温度的测试,并且让控制得到更快的开发。
在现在的生活中,所用到的家具设备,电器,工业产品等对温度的要求日益增高,与此同时灵敏的温度控制报警系统已经成为了日常生活中必不可少的产品。
例如锅炉,冰箱的温控系统等,都需要用到了这一功能部件。
对此,我这次设计了基于MSP430F149单片机的温度检测系统,来模拟现实中的温度控制系统。
此系统的设计和布线简单,体积小,重量轻,结构紧凑,抗干扰能力比较强,扩展方便,性价比高,在工厂,大型仓库,智能化的建筑等领域的多点温度检测系统中有广阔的应用前景。
所以在科学技术发展的今天,温度的检测,控制应用于许多行业,随着电子工业的迅速发展,数字仪表的优点有反应速度快,操作简单,对使用环境要求不高,市场上出现了越来越多的数字式温度计,实践表明,低功耗,高精度的便携式数字式温度计使用十分方便,工作状况稳定,待机时间比较长,已经开始得到广泛应用。
1.3课题研究的主要内容本设计的目的是实现基于MSP430单片机的温度测量仪设计,主要内容有:1、可利用单片机芯片内温度传感器或DS18B20单线温度传感器。
2、5位数字显示(显示器可用LED数码管、LCD1002或LCD12664显示模块)。
二、系统方案设计2.1系统组成结构该系统主要由4模块组成,其中包括DS18B20温度传感器,MSP430F149微控制器,LED显示模块,报警模块4部分组成。
由温度传感器负责数据采集,经过处理器转换后由LED显示模块输出,同时报警模块负责温度报警的上下限,当温度到达设定值时就会发生报警。
其组成框图如下所示:2.2系统工作流程首先设定温度报警的上下限值,然后由温度传感器进行温度数据的采集,当微处理器检测到温度超过设定的范围值时就实行报警,提醒用户做相关操作。
.2.3 系统核心器件选型MSP430F149单片机,DS18B20温度传感器,液晶显示器2.4 系统硬件主要电路说明2.4.1数据采集系统电路该系统采用美国DALLAS公司生产的单线数字温度传感器DS18B20来采集温度数据,作为单片机MSP430149的温度传感器,该芯片有很多优点,可把温度信号直接转换成串行数字信号供微机处理。
由于每片DS18B20含有唯一的硅串行数,从DS18B20读出的信息或写入DS18B20的信息,仅需要一根口线(单线接口)。
由于该系统采用DS18B20作为温度采集传感器,这部分电路就比较简单了,下图为温度采集电路。
DS18B20的读写时序和测温原理和DS1820相同,只是得到的温度值的位数因分辨率不同而不同,DS18B20的测温过程中温度的变化对晶振的振荡频率影响非常的小,会产生脉冲信号送到计数器1,而且是固定的频率。
但高温度的晶振的振荡频率就会随着温度的变化而产生明显的改变搞温度的晶振所产生的频率会做为计数器2的脉冲输入。
计数器1和温度寄存器被预置在-55℃所对应的一个基数值。
计数器1对低温度系数晶振产生的脉冲信号进行减法计数,当计数器1的预置值减到0时,温度寄存器的值将加1,计数器1的预置将重新被装入,计数器1重新开始对低温度系数晶振产生的脉冲信号进行计数,如此循环直到计数器2计数到0时,停止温度寄存器值的累加,此时温度寄存器中的数值即为所测温度。
高速缓存器存储器包含一个高速暂存RAM和一个非易失性的可电擦除的EP2RAM。
配置寄存器为高速缓存器中的第五个字节,它的内容用于确定温度值的数字转换分辨率。
后五位一直是1,TM是测试模式位,用于设置DS18B20在工作模式还是测试模式,在DS18B20出厂时被设置为0,用户不需要去改动,R1和R0决定温度转换的精度位数[6]。
2.4.2 PL2303下载电路PL2303器件内置USB功能控制器,USB 收发器,振荡器和带有全部调制解调器控制信号的UART,所以我们只需要外接几个电容就可实现RS232信号与USB 信号的转换,这样能够方便我们嵌入到各种设备当中。
这些信息的转换全部由器件自身完成,不需要我们自己动手操作。
2.4.3报警模块蜂鸣器电路报警处埋模块相当简单,这里只是简单的在一个I/O口上送出数据来驱动蜂鸣器,该模块包括数据产生和初始化端口两个部分,数据的产生部分主要是在输出端口产生数据,这里不是简单的一个高电平或者是低电平的问题,而是要有一定频率的数据才可以,因为只有是交流信号才能够让蜂鸣器发出声。
而不同的周期信号可以得到不同的频率,则可以根据信号处理的知识来进行分析[7]。
2.4.4 LCD1602显示模块电路液晶显示1602利用的是液晶的物理性质,由电压控制其显示区域,可以显示图形,只要有电源就可以显示图形。
液晶显示装置有这不一般的厚度薄,适用于大规模集成电路的直接驱动,易于实现全彩色显示,这已被广泛应用于笔记本电脑,数码相机,CDA移动通信工具。
在单片机系统中应用晶液显示器作为输出器件有以下几个优点:1、显示质量高:由于显示器在每一个点在收到信号之后就一直保持那种色彩和亮度,恒定发光,而不像显示器那样出现不断刷新的亮点。