收藏 分销(赏)

基于MSP430单片机的温度测量及显示系统.doc

上传人:快乐****生活 文档编号:4849230 上传时间:2024-10-15 格式:DOC 页数:22 大小:2.31MB 下载积分:10 金币
下载 相关
基于MSP430单片机的温度测量及显示系统.doc_第1页
第1页 / 共22页
基于MSP430单片机的温度测量及显示系统.doc_第2页
第2页 / 共22页


点击查看更多>>
资源描述
目 录 1.系统设计与框图 2 2.系统硬件主要电路 2 2.1MSP430单片机模块 2 2.1.1 MSP430单片机工作特点 3 2.1.2 MSP430单片机最小系统 3 2.2 LCD1602液晶显示模块 4 2.2.1 LCD1602引脚功能 4 2.2.2 LCD1602指令说明 5 2.2.3 LCD1602操作时序 6 2.3.DS18B20温度采集模块 7 2.3.1 DS18B20封装形式及引脚功能 7 2.3.2 DS18B20内部结构 8 2.3.3 DS18B20测温原理 9 2.4.串口通信模块 10 2.4.1 串行通信概述 10 2.4.2 RS232接口电路 11 3.系统软件设计 12 3.1主程序 13 3.2 DS18B20温度采集程序 13 3.3 LCD1602液晶温度显示程序 15 3.4串口程序 16 4 .系统调试与结果分析 17 4.1 LCD1602液晶温度显示 17 4.2串口通信上位机温度显示 17 4.3串口示波器显示温度变化曲线 18 5.总结 19 参考文献: 19 基于MSP430单片机的温度测量及显示系统 摘要:随着现代信息技术的飞速发展和传统工业改造的逐步实现,温度自动检测和显示系统在很多领域得到广泛应用。人们在温度检测的准确度、便捷、快速等方面有着越来越高的要求。而传统的温度传感器已经不能满足人们的需求,其渐渐被新型的温度传感器所代替。本文基于MSP430单片机,设计对环境温度进行采集的温度采集系统。利用DS18B20单总线进行温度测量,并通过单片机将温度显示在LCD1602上,并利用虚拟串口显示温度变化的曲线。 关键词:MSP430;LCD1602;DS18B20;串口通信 1.系统设计与框图 温度采集系统是以MSP430单片机为核心的系统,它主要包括温度的采集、采集数据的处理、单片机通信、LCD液晶显示等几大模块,具体方案如图1-1所示: 图1-1 系统框图 信号采集主要是由DS18B20及其外围电路构成。所得到的数字信号经过单片机的处理后,将温度值输出到LCD1602液晶上显示出来,同时通过串口通信发送到上位机上,并在串口示波器上显示出温度变化曲线,从而完成整个系统的工作。 2.系统硬件主要电路 2.1MSP430单片机模块 MSP430F149是一种新型的混合信号处理器,采用了美国德州仪器(Texas Instruments)公司最新低功耗技术(工作电流为0.1一400 p A ),它将大量的外围模块整合到片内,特别适合于开发和设计单片系统。 2.1.1 MSP430单片机工作特点 MSP430149单片机主要具有如下特点: ① 低电压、超低功耗。工作电压3.3V ,等待方式下工作电流为1.3 w A,在RAM保持关闭工作方式下工作电流仅为0 A 。 ② 具有12位的模数转换器(ADC12) ,可以得到很高的精度,并且省去了使用专门的模数转换器给设计电路板带来的麻烦。 ③ 拥有大容量的存储空间。存储器方面包括多达60 k Flash ROM和2 k RAM,如此数量的存储空间完全可以满足程序及数据的需要。 ④ 两通道串行通信接口。可用于与计算机进行异步或同步串行通信。 ⑤ 硬件乘法器。该乘法器独立于CPU进行乘法运算的操作,在提高乘法运算速度的同时也提升了CPU的利用效率。 ⑥ 串行在系统编程。通过仿真器对程序进行下载,并通过专用软件对程序及单片机的工作状态进行监控,极大地方便了程序的调试。 2.1.2 MSP430单片机最小系统 MSP430单片机最小系统电路如图2-1-2(1)和图2-1-2(2)所示 2.2 LCD1602液晶显示模块 LCD1602液晶显示器也叫1602字符型液晶显示器。它是一种专门用来显示字母、数字、符号等的点阵型液晶模块。它由若干个5X7或者5X11等点阵字符位组成。每个点阵字符位都可以显示一个字符,每位之间有一个点距的间隔,每行之间也有间隔,起到了字符间距和行间距的作用。 LCD1602是指显示的内容为16X2,即可以显示两行,每行16个字符液晶模块。 2.2.1 LCD1602引脚功能 1602LCD采用标准的14脚(无背光)或16脚(带背光)接口,各引脚接口说明如表2.1所示: 表2.1 引脚接口说明表 编号 符号 引脚说明 编号 符号 引脚说明 1 VSS 电源地 9 D2 数据 2 VDD 电源正极 10 D3 数据 3 VL 液晶显示偏压 11 D4 数据 4 RS 数据/命令选择 12 D5 数据 5 R/W 读/写选择 13 D6 数据 6 E 使能信号 14 D7 数据 7 D0 数据 15 BLA 背光源正极 8 D1 数据 16 BLK 背光源负极 第1脚:VSS为地电源。 第2脚:VDD接5V正电源。 第3脚:VL为液晶显示器对比度调整端,接正电源时对比度最弱,接地时对比度最高,对比度过高时会产生“鬼影”,使用时可以通过一个10K的电位器调整对比度。 第4脚:RS为寄存器选择,高电平时选择数据寄存器、低电平时选择指令寄存器。 第5脚:R/W为读写信号线,高电平时进行读操作,低电平时进行写操作。当RS和R/W共同为低电平时可以写入指令或者显示地址,当RS为低电平R/W为高电平时可以读忙信号,当RS为高电平R/W为低电平时可以写入数据。 第6脚:E端为使能端,当E端由高电平跳变成低电平时,液晶模块执行命令。 第7~14脚:D0~D7为8位双向数据线。 第15脚:背光源正极。 第16脚:背光源负极。 2.2.2 LCD1602指令说明 1602液晶模块内部的控制器共有11条控制指令,如表2.2所示: 表2.2 控制命令表 序号 指令 RS R/W D7 D6 D5 D4 D3 D2 D1 D0 1 清显示 0 0 0 0 0 0 0 0 0 1 2 光标返回 0 0 0 0 0 0 0 0 1 * 3 置输入模式 0 0 0 0 0 0 0 1 I/D S 4 显示开/关控制 0 0 0 0 0 0 1 D C B 5 光标或字符移位 0 0 0 0 0 1 S/C R/L * * 6 置功能 0 0 0 0 1 DL N F * * 7 置字符发生存贮器地址 0 0 0 1 字符发生存贮器地址 8 置数据存贮器地址 0 0 1 显示数据存贮器地址 9 读忙标志或地址 0 1 BF 计数器地址 10 写数到CGRAM或DDRAM) 1 0 要写的数据内容 11 从CGRAM或DDRAM读数 1 1 读出的数据内容 1602液晶模块的读写操作、屏幕和光标的操作都是通过指令编程来实现的。(说明:1为高电平、0为低电平) 指令1:清显示,指令码01H,光标复位到地址00H位置。 指令2:光标复位,光标返回到地址00H。 指令3:光标和显示模式设置 I/D:光标移动方向,高电平右移,低电平左移 S:屏幕上所有文字是否左移或者右移。高电平表示有效,低电平则无效。 指令4:显示开关控制。 D:控制整体显示的开与关,高电平表示开显示,低电平表示关显示 C:控制光标的开与关,高电平表示有光标,低电平表示无光标 B:控制光标是否闪烁,高电平闪烁,低电平不闪烁。 指令5:光标或显示移位 S/C:高电平时移动显示的文字,低电平时移动光标。 指令6:功能设置命令 DL:高电平时为4位总线,低电平时为8位总线 N:低电平时为单行显示,高电平时双行显示 F: 低电平时显示5x7的点阵字符,高电平时显示5x10的点阵字符。 指令7:字符发生器RAM地址设置。 指令8:DDRAM地址设置。 指令9:读忙信号和光标地址 BF:为忙标志位,高电平表示忙,此时模块不能接收命令或者数据,如果为低电平表示不忙。 指令10:写数据。 指令11:读数据。 2.2.3 LCD1602操作时序 LCD1602读写操作时序如图2-2-3(1)和图2-2-3(2)所示: 图2-2-3(1) 读操作时序 图2-2-3(2) 写操作时序 2.3.DS18B20温度采集模块 DS18B20是Dallas公司继DS1820后推出的一种改进型智能数字温度传感器,与传统的热敏电阻相比,只需一根线就能直接读出被测温度值,并可根据实际需求来编程实现9~12位数字值的读数方式。 2.3.1 DS18B20封装形式及引脚功能 图2-3-1 DS18B20封装及引脚功能 如图3-1-1所示,DS18B20的外形如一只三极管,引脚名称及作用如下: GND:接地端。 DQ:数据输入/输出脚,与TTL电平兼容。 VDD:可接电源,也可接地。因为每只DS18B20都可以设置成两种供电方式,即数据总线供电方式和外部供电方式。采用数据总线供电方式时VDD接地,可以节省一根传输线,但完成数据测量的时间较长;采用外部供电方式则VDD接+5V,多用一根导线,但测量速度较快。 2.3.2 DS18B20内部结构 图2-3-2 DS18B20内部结构 图3-1-2中出示了DS18B20 的主要内部部件,下面对DS18B20内部部分进行简单的描述: (1)64位ROM。64位ROM是由厂家使用激光刻录的一个64位二进制ROM代码,是该芯片的标识号,如表2.3所示: 表2.3 64位ROM标识 8位循环冗余检验 48位序列号 8位分类编号(10H) MSB LSB MSB LSB MSB LSB 第1个8位表示产品分类编号,DS18B20的分类号为10H;接着为48位序列号。它是一个大于281*1012的十进制编码,作为该芯片的唯一标示代码;最后8位为前56位的CRC循环冗余校验码,由于每个芯片的64位ROM代码不同,因此在单总线上能够并接多个DS18B20进行多点温度实习检验。 (2)温度传感器。温度传感器是DS18B20的核心部分,该功能部件可完成对温度的测量通过软件编程可将-55~125℃范围内的温度值按9位、10位、11位、12位的分辨率进行量化,以上的分辨率都包括一个符号位,因此对应的温度量化值分别为0.5℃、0.25℃、0.125℃、0.0625℃,即最高分辨率为0.0625℃。芯片出厂时默认为12位的转换精度。当接收到温度转换命令(44H)后,开始转换,转换完成后的温度以16位带符号扩展的的二进制补码形式表示,存储在高速缓存器RAM的第0,1字节中,二进制数的前5位是符号位。如果测得的温度大于0,这5位为0,只要将测得的数值乘上0.0625即可得到实际温度;如果温度小于0,这5位为1,测得的数值需要取反加1再乘上0.0625即可得到实际温度。 (3)高速缓存器。DS18B20内部的高速缓存器包括一个高速暂存器RAM和一个非易失性可电擦除的EEPROM。非易失性可点擦除EEPROM用来存放高温触发器TH、低温触发器TL和配置寄存器中的信息。 (4)配置寄存器。配置寄存器的内容用于确定温度值的数字转换率。DS18B20工作是按此寄存器的分辨率将温度转换为相应精度的数值,它是高速缓存器的第5个字节,该字节定义如表2.4所示: 表2.4 匹配寄存器 TM R0 R1 1 1 1 1 1 TM是测试模式位,用于设置DS18B20在工作模式还是在测试模式,在DS18B20出厂时该位被设置为0,用户不要去改动;R1和R0用来设置分辨率;其余5位均固定为1。DS18B20分辨率的设置如表2.3所示: 表3.3 DS18B20分辨率的设置 R1 R0 分辨率 最大转换时间 /ms 0 0 9位 93.75 0 1 10位 187.5 1 0 11位 375 1 1 12位 750 DS18B20依靠一个单线端口通讯。在单线端口条件下,必须先建立ROM 操作协议,才能进行存储器和控制操作。因此,控制器必须首先提供下面5个ROM 操作命令之一: 1)读ROM; 2)匹配ROM; 3)搜索ROM; 4)跳过ROM; 5)报警搜索。 这些命令对每个器件的激光ROM 部分进行操作,在单线总线上挂有多个器件时,可以区分出单个器件,同时可以向总线控制器指明有多少器件或是什么型号的器件。成功执行完一条ROM 操作序列后,即可进行存储器和控制操作,控制器可以提供6 条存储器和控制操作指令中的任一条。一条控制操作命令指示DS18B20完成一次温度测量。测量结果放在DS18B20的暂存器里,用一条读暂存器内容的存储器操作命令可以把暂存器中数据读出。温度报警触发器TH 和TL 各由一个EEPROM字节构成。如果没有对DS18B20使用报警搜索命令,这些寄存器可以做为一般用途的用户存储器使用。可以用一条存储器操作命令对TH 和TL 进行写入,对这些寄存器的读出需要通过暂存器。所有数据都是以最低有效位在前的方式进行读写。 2.3.3 DS18B20测温原理 DS18B20的测温原理如图3-1-3所示, 其主要由斜率累加器、温度系数振荡器、减法计数器、温度存储器等功能部件组成。 图2-3-3 DS18B20测温原理 DS1820 是这样测温的:用一个高温度系数的振荡器确定一个门周期,内部计数器在这个门周期内对一个低温度系数的振荡器的脉冲进行计数来得到温度值。计数器被预置到对应于-55℃的一个值。如果计数器在门周期结束前到达0,则温度寄存器(同样被预置到-55℃)的值增加,表明所测温度大于-55℃。同时,计数器被复位到一个值,这个值由斜坡式累加器电路确定,斜坡式累加器电路用来补偿感温振荡器的抛物线特性。然后计数器又开始计数直到0,如果门周期仍未结束,将重复这一过程。 斜坡式累加器用来补偿感温振荡器的非线性,以期在测温时获得比较高的分辨率。这是通过改变计数器对温度每增加一度所需计数的的值来实现的。因此,要想获得所需的分辨力,必须同时知道在给定温度下计数器的值和每一度的计数值。 DS18B20内部对此计算的结果可提供0.5℃的分辨率。温度以16bit带符号位扩展的二进制补码形式读出,表2.5 给出了温度值和输出数据的关系。数据通过单线接口以串行方式传输。DS18B20测温范围-55℃~+125℃,以0.5℃递增。 表2.5 温度数据关系 温度℃ 数据输出(二进制) 数据输出(十六进制) +125 00000000 11111010 00FA +25 00000000 00110010 0032 +0.5 00000000 00000001 0001 0 00000000 00000000 0000 -0.5 11111111 11111111 FFFF -25 11111111 11001110 FFCE -55 11111111 10010010 FF92 S18B20遵循单总线协议,每次测温时都必须有4个过程[6]: • 初始化; • 传送ROM 操作命令; • 传送ROM操作命令; • 数据交换; 2.4.串口通信模块 串行通信是一种能把二进制数据按位(逐位)进行传送的一种通信方式。 计算机与外界的通信有两种基本方式:并行通信和串行通信。 2.4.1 串行通信概述 串行通信按信息的格式又可分为异步通信和同步通信两种方式。 在异步通信中,每一个字符要用起始位和停止位作为字符开始和结束的标志,它是以字符为单位一个个地发送和接收。 串行异步通信方式的特点是:数据在线路上传送时是以一个字符(字节)为单位,未传送时线路处于空闲状态,空闲线路约定为高电平“1”。传送一个字符又称为一帧信息,传送一帧信息时,每一个字符前加一个低电平的起始位,然后是数据位,数据位可以是5~8位,低位在前,高位在后,数据位后可以带(也可以不带)一个奇偶校验位,最后是停止位,停止位用高电平表示,它可以是1位、1位半或2位(通常采用1位)。 串行口工作方式分为以下四种: 方式0:移位寄存器方式; 方式1: 8位数据异步通讯方式; 方式2和方式3都是11为异步收发。 2.4.2 RS232接口电路 串口通信电路如图2-4-2所示: 图2-4-2 RS232通讯电路 3.系统软件设计 系统的程序主要包括主程序、读出温度子程序、写出温度子程序、温度转换命令字程序、计算温度子程序和液晶显示数据子程序。程序的功能是实时显示温度、读出并处理DS18B20的测量温度值,并通过串口通信发送到上位机显示温度,同时在串口示波器上显示温度变化曲线。 其程序流程如图3: 图3 主程序流程图 3.1主程序 主程序如下: 22 void main( void ) { unsigned char i; unsigned char dis[5]={"00.0"}; WDTCTL = WDTPW + WDTHOLD; InitSys(); LCD_PortInit(); LCD_init(); LCD_clear(); LCD_write_str(0,0,"The Temperature:"); LCD_write_str(5,1,"C"); DS18B20_Reset(); UART_PortInit(); UART_Config(); //温度显示与串口接收 while(1) { ds1820_start(); //启动一次转换 ds1820_read_temp();//读取温度数值 dis[0]=temp_value%1000/100+0x30; dis[1]=temp_value%100/10+0x30; dis[2]='.'; dis[3]=temp_value%10+0x30; LCD_write_str(0,1,dis); //Print_Str("123"); for(i=0;i<4;i++) { Send_Byte(dis[i]); Send_Byte('\n'); } Delay_Nms(500); } } 3.2 DS18B20温度采集程序 在本次设计系统中P1^6口用来单片机与温度传感器通讯;它用到的相关函数如下: ds_init()18B20初始化 ; ds_write()向18B20中写入数据 ; ds_read()由18B20读取数据 ; ds_temp()从18B20中读取温度值 ; dis[]把温度值送入1602中显示。 具体程序如下所示: #include "ds18b20.h" #include "delay.h" #define uint unsigned int #define uchar unsigned char #define uint unsigned int uint temp_value; unsigned char DS18B20_Reset(void) //初始化和复位 { unsigned char i; DQ_OUT; DQ_CLR; delay_us(500);//延时500uS(480-960) DQ_SET; DQ_IN; delay_us(80); //延时80uS i = DQ_R; delay_us(500);//延时500uS(保持>480uS) if (i) { return 0x00; } else { return 0x01; } } //************************************************************************* // DS18B20读一个字节函数 //************************************************************************* unsigned char ds1820_read_byte(void) { unsigned char i; unsigned char value = 0; for (i = 8; i != 0; i--) { value >>= 1; DQ_OUT; DQ_CLR; delay_us(4); //*延时4uS DQ_SET; DQ_IN; delay_us(10); //*延时10uS if (DQ_R) { value|=0x80; } delay_us(60); //*延时60uS } return(value); } /*DS18B20字节写入函数*/ void ds1820_write_byte(unsigned char value) { unsigned char i; for (i = 8; i != 0; i--) { DQ_OUT; DQ_CLR; delay_us(4);//延时4uS if (value & 0x01) { DQ_SET; } delay_us(80); //延时80uS DQ_SET; //位结束 value >>= 1; } } //************************************************************************* // 发送温度转换命令 //************************************************************************* /*启动ds1820转换*/ void ds1820_start(void) { DS18B20_Reset(); ds1820_write_byte(0xCC); //勿略地址 ds1820_write_byte(0x44); //启动转换 } //************************************************************************* // DS8B20读取温度信息 //************************************************************************* unsigned int ds1820_read_temp(void) { unsigned int i; unsigned char buf[9]; DS18B20_Reset(); ds1820_write_byte(0xCC); //勿略地址 ds1820_write_byte(0xBE); //读取温度 for (i = 0; i < 9; i++) { buf[i] = ds1820_read_byte(); } i = buf[1]; i <<= 8; i |= buf[0]; temp_value=i; temp_value=(uint)(temp_value*0.625); return i; } void data_do(uint temp_d) { uint A2t; A1=temp_d/100; //分出百,十,和个位 A2t=temp_d%100; A2=A2t/10; A3=A2t%10; } 3.3 LCD1602液晶温度显示程序 在本次设计系统中定义了 P6^5口为1602液晶的使能端; P6^3为数据命令的选择端; P6^4为读写选择端。 定义了有关的函数: LCD_write_com()向1602写入命令码函数 LCD_write_data()向1602写入数据函数 display()1602显示函数 lcd_init()1602初始化 lcd_display()1602显示初始化。 具体程序如下所示: #include <msp430x14x.h> #include <math.h> #include "1602.h" #include "delay.h" void LCD_PortInit() { P2DIR = 0xff; P6DIR |= BIT3 +BIT4+BIT5; } void LCD_write_com(unsigned char com) { RS_CLR; RW_CLR; EN_SET; DATAPORT = com; //命令写入端口 Delay_Nms(5); EN_CLR; } void LCD_write_data(unsigned char data) { RS_SET; RW_CLR; EN_SET; DATAPORT = data; //数据写入端口 Delay_Nms(5); EN_CLR; } void LCD_clear(void) { //清屏幕显示 Delay_Nms(5); } void LCD_write_char(unsigned char x,unsigned char y,unsigned char data) { if (y == 0) { LCD_write_com(0x80 + x); //第一行显示 } else { LCD_write_com(0xC0 + x); //第二行显示 } LCD_write_data( data); } void LCD_write_str(unsigned char x,unsigned char y,unsigned char *s) { if (y == 0) { LCD_write_com(0x80 + x); //第一行显示 } else { LCD_write_com(0xC0 + x); //第二行显示 } while (*s!='\0') { LCD_write_data( *s); s ++; } } void LCD_init(void) { LCD_write_com(0x38); //显示模式设置 Delay_Nms(5); LCD_write_com(0x08); //显示关闭 Delay_Nms(5); LCD_write_com(0x01); //显示清屏 Delay_Nms(5); LCD_write_com(0x06); //显示光标移动设置 Delay_Nms(5); LCD_write_com(0x0C); //显示开及光标设置 Delay_Nms(5); } 3.4串口程序 #include "UART.h" #define uint unsigned int #define uchar unsigned char #define ulong unsigned long void UART_PortInit() { P3SEL|= BIT4 + BIT5; //设置IO口为第二功能模式,启用UART功能 P3DIR|=BIT4; P3DIR&=~BIT5; } void UART_Config() { U0CTL|=SWRST+CHAR; //复位SWRST,8位数据模式 U0TCTL|=SSEL0;//SMCLK为串口时钟 U0BR1=0x00; //BRCLK=1MHZ,Baud=BRCLK/N U0BR0=0x03; //N=UBR+(UxMCTL)/8 U0MCTL=0x4A; //微调寄存器为0,波特率9600bps ME1|=UTXE0; //UART0发送使能 ME1|=URXE0; //UART0接收使能 U0CTL&=~SWRST; //IE1|=URXIE0; //接收中断使能位 } //************************************************************************* // 串口0发送数据函数 //************************************************************************* void Send_Byte(uchar data) { while(!(IFG1&UTXIFG0)); //发送寄存器空的时候发送数据 U0TXBUF=data; } //************************************************************************* // 串口0发送字符串函数 //************************************************************************* void Print_Str(uchar *s) { while(*s != '\0') { Send_Byte(*s++); } } 4 .系统调试与结果分析 4.1 LCD1602液晶温度显示 通过程序的调试以及修改,在LCD1602液晶上显示温度如图4-1所示: 图4-1 LCD1602液晶显示温度 显示温度正常,符合设计要求 4.2串口通信上位机温度显示 通过MAX3232串口通信电路,在上位机上实时显示温度,如图4-2所示: 图4-2 上位机温度显示 串口通信正常,跟实际显示相吻合。 4.3串口示波器显示温度变化曲线 通过串口通信,在串口示波器上实时显示温度变化曲线,如图4-3所示: 图4-3 串口示波器显示温度变化曲线 显示数值跟实测数据相同,直观的表现了数据的变化。 5.总结 本设计利用单片机低功耗、处理能力强的特点,使用单片机作为主控制器,对室内环境温度进行监控。其结构简单、可靠性较高、系统成本低。具有一定的实用价值和发展前景。 在基于MSP430单片机的温度测试仪的设计中,在低功耗设计方面,首先是选低功耗件,从单片机、传感器和 LED显示器及其驱动电路,都尽量选择市场上功耗最低的品;其次在硬件电路设计方面,降低系统工作电压;再次,是软件设计融入低功耗思核心的方法就是在最短的时间内把需要的工作完成,然后进入休息状态,不论工作还是休息状态,立即关闭不必要的模块,最大限度地降低功耗。DS18B数字温度传感器,具有线路简单,体积小的特点。因此用它来组成一个测温系统,在一根通信线上可以挂多个数字温度测试仪,十分方便。相比其他的温度传感器,该系统设计具有结构简单、分辨率高、可调节的特点,且无需硬件同步时钟控制。 通过这段时间对这个课程设计实验设计大大培养了我们的动手能力和同学间的相互合作的团结精神。一直以来,一直认为所有的实验老师中,xx老师是真的本着让我们学习东西的心,不厌其烦的教导我们,不管是曾经的模电实验,还是现在的单片机课程设计,或是电子设计大赛,都是不同于其他别的老师,真的感谢刘xxx的指导. 参考文献: [1] 沈建华 杨艳琴.《MSP430系列16位超低功耗单片机原理与实践》.北京航空航天大学出版社,2008.7. [2] 胡汉才.《单片机原理及其接口技术》.北京:清华大学出版社.2003. [3] 谭浩强.《C程序设计教程》. 清华大学出版社. 2007.7. [4] 黄文力 邓小磊. 《DS18B20数字温度传感器接口程序的时序》. 仪器仪表用户. 2011.06. [5] 秦龙.单片机应用系统开发典型实例系列MSP430系列16位超低功耗单片机原理与应用[M].北京:中国电力出版社 [6] 李维绽,郭强.液晶显示技术应用技术[M].电子工业出版社,2000 [7] 马云峰.单片机与数字温度传感器DS18B20的接口技术[J].山东:潍坊学院信息控制工程系,261041 [8] 梅丽凤.基于MSP430控制的液晶显示屏设计与实现[M].辽宁工业大学信息科学与工程学院,2007 1. 基于C8051F单片机直流电动机反馈控制系统的设计与研究 2. 基于单片机的嵌入式Web服务器的研究 3. MOTOROLA单片机MC68HC(8)05PV8/A内嵌EEPROM的工艺和制程方法及对良率的影响研究 4. 基于模糊控制的电阻钎焊单片机温度控制系统的研制 5. 基于MCS-51系列单片机的通用控制模块的研究 6. 基于单片机实现的供暖系统最佳启停自校正(STR)调节器 7. 单片机控制的二级倒立摆系统的研究 8. 基于增强型51系列单片机的TCP/IP协议栈的实现 9. 基于单片机的蓄电池自动监测系统 10. 基于32位嵌入式单片机系统的图像采集与处理技术的研究 11. 基于单片机的作物营养诊断专家系统的研究 12. 基于单片机的交流伺服电机运动控制系统研究与开发 13. 基于单片机的泵管内壁硬度测试仪的研制 14. 基于单片机的自动找平控制系统研究 15. 基于C8051F040单片机的嵌入式系统开发 16. 基于单片机的液压动力系统状态监测仪开发 17. 模糊Smith智能控制方法的研究及其单片机实
展开阅读全文

开通  VIP会员、SVIP会员  优惠大
下载10份以上建议开通VIP会员
下载20份以上建议开通SVIP会员


开通VIP      成为共赢上传

当前位置:首页 > 学术论文 > 其他

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        抽奖活动

©2010-2026 宁波自信网络信息技术有限公司  版权所有

客服电话:0574-28810668  投诉电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :微信公众号    抖音    微博    LOFTER 

客服