MSP430单片机实验报告v3.0
msp430实验报告

msp430实验报告msp430实验报告引言:msp430是一种低功耗、高性能的微控制器,被广泛应用于嵌入式系统和物联网设备中。
本实验报告将介绍我对msp430微控制器进行的一系列实验,包括实验目的、实验过程、实验结果以及对实验的总结和展望。
实验目的:本次实验的主要目的是熟悉msp430微控制器的基本功能和使用方法,以及学习如何进行简单的控制程序设计。
通过实验,我希望能够掌握msp430的基本操作和编程技巧,并且能够运用所学知识解决实际问题。
实验过程:在实验开始之前,我首先对msp430微控制器进行了一些基本的了解。
我了解到,msp430具有低功耗、高性能和丰富的外设接口等特点,可以满足各种嵌入式系统的需求。
接着,我根据实验指导书的要求,准备好实验所需的硬件设备和软件工具。
第一部分实验是关于GPIO口的实验。
我按照实验指导书上的步骤,将msp430与LED灯连接起来,并编写了一个简单的程序,实现了对LED灯的控制。
通过这个实验,我学会了如何配置GPIO口和编写简单的控制程序。
第二部分实验是关于定时器的实验。
我学习了如何配置msp430的定时器,并编写了一个简单的程序,实现了定时闪烁LED灯的功能。
通过这个实验,我深入了解了定时器的工作原理和编程方法。
第三部分实验是关于ADC的实验。
我学习了如何配置msp430的ADC模块,并编写了一个简单的程序,实现了对外部模拟信号的采样和转换。
通过这个实验,我了解了ADC的基本原理和使用方法。
实验结果:通过一系列实验,我成功地掌握了msp430微控制器的基本功能和使用方法。
我能够独立完成GPIO口的配置和控制、定时器的配置和编程、ADC的配置和采样等任务。
实验结果表明,msp430具有强大的功能和灵活的编程能力,可以满足各种嵌入式系统的需求。
总结和展望:通过本次实验,我对msp430微控制器有了更深入的了解,并且掌握了一些基本的操作和编程技巧。
然而,由于实验时间和条件的限制,我还没有完全发挥出msp430的潜力。
msp430课程报告

不知不觉中,时光如白驹过隙般飞逝,一转眼,单片机课程的学习结束了。
在本次单片机的学习过程中,我不仅学习了单片机的理论知识,并将理论知识很好地应用到实践当中去,而且我还增强了自我创新意识,提高了动手实践能力。
在本次课程的学习中,我意识到知识的学习固然重要,能力的培养也不能忽视。
随着电子科学技术的发展,特别是随着大规模集成电路的迅猛发展,人们的生活发生了巨大的变化,生活水平显著提高,生活方式也逐步改变,使人们的生活更加便捷、舒适。
如果说微型计算机的出现给现代科学研究带来了质的飞跃,那么可编程控制器的出现则是现代工业控制测控领域的一次新的革命。
其中,单片的作用不容忽视。
单片机的应用范围很广,在工业自动化中应用有数据采集、测控技术等。
在智能仪器仪表中应用有数字示波器、数字信号源、自动取款机等。
在消费类电子产品中应用有空调机、电视机、微波炉、手机、IC卡、汽车电子设备等。
在通讯方面应用有手机、小灵通等。
在武器装备方面应用有飞机、坦克、导弹、航天飞机、智能武器等。
单片机对现代生活的影响不言而喻了。
刚开始学习的时候,基本未接触过单片机,对单片机没有什么了解,不知道什么是单片机,更不知道它有什么作用。
通过本次课程的学习才大体了解了单片机的一些知识与应用。
知道了由中央处理器CPU、随机存储器RAM、只读存储器ROM、I/O接口、定时器/计数器以及串行通信接口等集成在一块芯片上,构成了一个单片微型计算机,简称为单片机。
了解了什么是单片机以后,就开始接触硬件设备。
我学习了下列几个外设。
1.WDT俗称看门狗,是单片机非常重要的一个片内外设。
什么是看门狗呢?看门狗实际就是一个定时器,只不过在定时到达时,可以复位单片机。
这个功能对于实际工程应用中的产品非常有用。
2.JLX12864G-086 型液晶模块是晶联讯电子研发和制造的液晶屏模块。
该型液晶模块由于使用方便、显示清晰,广泛应用于各种人机交流面板。
该模块可选择带中文字库IC 与不带中文字库IC 两种。
msp430 实验报告

msp430 实验报告Title: MSP430 Experiment ReportIntroductionThe MSP430 is a series of microcontroller units (MCUs) developed by Texas Instruments. These MCUs are known for their low power consumption and high performance, making them ideal for a wide range of applications including consumer electronics, industrial control, and medical devices. In this experiment report, we will discuss the results of our experiments with the MSP430 MCU and its performance in various applications.Experiment 1: LED BlinkingIn our first experiment, we programmed the MSP430 to control the blinking of an LED. We used the MSP430 LaunchPad development kit, which includes a development board with an MSP430 MCU and various peripherals. By writing a simple program in the MSP430 Integrated Development Environment (IDE), we were able to control the blinking frequency of the LED. This experiment demonstrated the ease of programming and the low power consumption of the MSP430 MCU.Experiment 2: Sensor Data AcquisitionIn our second experiment, we connected a temperature sensor to the MSP430 and programmed it to acquire and process the sensor data. The MSP430's built-in analog-to-digital converter (ADC) allowed us to easily interface with the sensor and read the temperature values. We then used the MSP430's serialcommunication interface to transmit the data to a computer for further analysis. This experiment showcased the versatility of the MSP430 in interfacing with external sensors and communicating with other devices.Experiment 3: Power ManagementOne of the key features of the MSP430 is its low power consumption, which makes it suitable for battery-powered applications. In our third experiment, we tested the power management capabilities of the MSP430 by programming it to enter low-power modes when not actively processing data. We measured the current consumption in different power modes and compared it to the datasheet specifications. The results confirmed the MSP430's low power consumption and its ability to prolong battery life in portable devices. ConclusionOur experiments with the MSP430 MCU have demonstrated its versatility, ease of programming, and low power consumption. The MSP430's performance in controlling peripherals, interfacing with sensors, and managing power consumption makes it a compelling choice for a wide range of embedded applications. As technology continues to advance, the MSP430's capabilities will continue to make it a popular choice for developers seeking a reliable and efficient microcontroller solution.。
430单片机实验报告

题 目430单片机实验报告
学院(部)信息工程学院
专 业
指导教师
学号姓名
同组成员
二〇一六年五月
实验一 LED流水灯实验
一、
LED流水灯实验
二、
1.掌握IAR 开发环境的使用方法;
2.练习IO端口寄存器的设置;练习时钟部分的配置
三、
1、制作相应的外围电路。要求用单片机的P1口连接8个发光二级管,当相应的IO口输出为高电平时发光二极管发光。
P2SEL=0X00;
key_val=0;
}
void Key_Scan(void) //扫描键盘获得键值
{
unsigned char row,col,temp1,temp2;
unsigned char key_table[]={0,1,2,3,4,5,6,7,8,
9,10,11,12,13,14,15};//设置键盘逻辑键值
P1DIR |= BIT0+BIT6; // P1.0 - P1.2 outputs
P1SEL|= 0x00;
P1OUT= BIT0;
CCR0=20000;
CCTL0 = CCIE; // CCR0 toggle, interrupt enabled
TACTL = TASSEL_2 + MC0 +TACLR; // SMCLK, Contmode, int enabled
BCSCTL1 = CALBC1_1MHZ; // Set DCO
DCOCTL = CALDCO_1MHZ;
P1SEL = BIT1 + BIT2 ; // P1.1 = RXD, P1.2=TXD
P1SEL2 = BIT1 + BIT2 ; // P1.1 = RXD, P1.2=TXD
MSP430系列16位超低功耗单片机原理与实践

MSP430系列16位超低功耗单片机原理与实践MSP430系列单片机采用了哈佛结构,具有16位的数据宽度,可以实现更高的数据处理速度。
它的主频范围从1MHz到25MHz,能够满足不同应用的需求。
同时,MSP430系列单片机具有多种低功耗模式,例如待机模式、休眠模式和独立模式,可以有效地降低功耗,延长电池寿命。
MSP430系列单片机具有丰富的外设接口,包括多个串口通信接口、通用输入输出口、模拟输入输出口以及定时器和计数器等。
这些外设接口使MSP430系列单片机可以与其他外部设备进行通信,实现数据的输入和输出。
此外,MSP430系列单片机还具有多个中断源,可以实现实时中断处理,提高系统的响应能力。
使用MSP430系列单片机进行开发,首先需要选择合适的开发板和编程工具。
德州仪器公司提供了MSP430 LaunchPad开发板,可以方便地进行程序的编写和调试。
同时,德州仪器还提供了MSP430编程工具链,包括编译器、调试器和仿真器等,在开发过程中能够提高开发效率。
在实际开发中,可以利用MSP430系列单片机的低功耗特性,实现一些需要长时间运行的应用。
例如,可以将MSP430系列单片机用于物联网中的传感器节点,采集和传输环境数据。
由于MSP430系列单片机的低功耗特性,可以通过电池供电,从而实现长时间的无线监测。
此外,MSP430系列单片机还可以用于电力管理系统、家庭自动化系统和医疗设备等领域。
它的低功耗特性和丰富的外设接口使其具有很高的适用性,能够满足各种不同应用的需求。
总结起来,MSP430系列单片机是一款16位超低功耗单片机,具有高性能和丰富的外设接口。
它的低功耗特性使得它在物联网、电力管理、家庭自动化和医疗设备等领域具有广泛的应用前景。
通过学习MSP430系列单片机的原理和实践,可以更好地应用它在实际开发中。
单片机MSP430实验报告

实验二一、示例:按S1,LED1改变状态#include <msp430f5529.h>void Delay(void) //延迟子程序{int i;for(i = 100;i--;i > 0) ;//延时一点时间}void main(void){WDTCTL = WDTPW + WDTHOLD; // 停止看门狗P1DIR=0x7f;//P1DIR,置1为输出,置0为输入。
0x7f=0111 1111,p1.7为输入,p1.0~p1.6为输出P1REN |= BIT7;//P1.7开启上拉电阻。
|= 为与或,BIT7为1000 0000,P1.7的REN置1,开启端口拉电阻。
P1OUT=0xff; //P1输出高电平。
注意:while (1){if ((P1IN & BIT7)==0)//按键S1被按下。
&位与,若S1按下,P1.7=0,位与操作后,P1IN&BIT7=0x00 {void Delay(void);if (!(P1IN & BIT7)) //按键S1被按下.!(P1IN & BIT7)等同(P1IN & BIT7)==0 {while(!(P1IN & BIT7)); //按键S1被松开P1OUT ^= 0x01; //P1.0输出状态翻转}}}}二、上机自编程序的要求:按下按键S1,控制LED1的亮和灭。
短按键,则小灯亮1秒,然后灭;长按键,小灯常亮。
//********************************************************************* *********// MSP430F552x Demo - Timer0_A5, Toggle P1.0, CCR0 Up Mode ISR, DCO SMCLK //// Description: Toggle P1.0 using software and TA_1 ISR. Timer1_A is// configured for up mode, thus the timer overflows when TAR counts// to CCR0. In this example, CCR0 is loaded with 50000.// ACLK = n/a, MCLK = SMCLK = TACLK = default DCO ~1.045MHz//// MSP430F552x// ---------------// /|\| |// | | |// --|RST |// | |// | P1.0|-->LED//// Bhargavi Nisarga// Texas Instruments Inc.// April 2009// Built with CCSv4 and IAR Embedded Workbench Version: 4.21//********************************************************************* #include<msp430f5529.h>unsigned int h,i;void Delay(void) //延迟子程序{int i;for(i = 100;i--;i > 0) ;//延时一点时间}void main(void){WDTCTL = WDTPW + WDTHOLD; // Stop WDTP1DIR=0x7f;//P1DIR,置1为输出,置0为输入。
msp430单片机实验报告

实验报告课程名称:单片机原理及应用实验题目:实用多功能定时器学生姓名:**学号:**********专业班级:自动化二零一六年五月七日目录一、课程实验目的 (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为核心的信号发生电路。
MSP430系列十六位超低功耗单片机教学实验系统实验教程

在这里.需要对低功耗问题作一些说明。 首先,对一个处理器而言,活动模式时的功耗必须与其性能一起来考察、衡量,忽略性能来看功耗是 片面的。在计算机体系结构中,是用 W/MIPS(瓦特/百万指令每秒)来衡量处理器的功耗与性能关系的, 这种标称方法是合理的。MSP430 系列单片机在活动模式时耗电 250uA/MIPS,这个指标是很高的(传统 的 Mcs51 单片机约为 10~20mA/MIPS)。 其次,作为一个应用系统,功耗是整个系统的功耗,而不 仅仅是处理器的功耗。比如,在一个有多个输入信号的应用系统中,处理器输入端口的漏电流对系统的耗 电影响就较大了。MSP430 单片机输入端口的漏电流最大为 50nA,远低于其他系列单片机(一般为 l~10uA)。 另外,处理器的功耗还要看它内部功能模块是否可以关闭.以及模块活动情况下的耗电.比如低电压 监测电路的耗电等。还要注意,有些单片机的某些参数指标中.虽然典型值可能很小,但最大值和典型值 相差数十倍,而设计时要考虑到最坏情况,就应该关心参数标称的最大值,而不是典型值。总体而言, MSP430 系列单片机堪称目前世界上功耗最低的单片机,其应用系统可以做到用一枚电池使用 10 年。
MSP430 系列单片机有独特的时钟系统设计,包括两个不同的时钟系统:基本时钟系统和锁频环(FLL 和 FLL+)时钟系统或 DCO 数字振荡器时钟系统。由时钟系统产生 CPU 和各功能模块所需的时钟,并且这 些时钟可以在指令的控制下打开或关闭,从而实现对总体功耗的控制。由于系统运行时使用的功能模块不 同,即采用不同的工作模式,芯片的功耗有明显的差异。在系统中共有种活动模式(AM)和 5 种低功耗模式 (LPM0~LPM4)。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
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();void LCD5S_Display();void LCD15S_Display();void LCD30S_Display();void LCD60S_Display();void main(void){WDTCTL = WDTPW + WDTHOLD; //关狗BCSCTL1 = CALBC1_8MHZ; /* 设定系统时钟频率,使程序定时精准 */DCOCTL = CALDCO_8MHZ;//----提示初始化成功----GPIO_init();LCD_Init();ADC10_init();LCD_Display();__enable_interrupt(); //使能总中断while(1){PinIN();__bis_SR_register(LPM3_bits);//休眠}}/********************************************************************** ***//********************************************************************** ********************************* 名称:GPIO_Init()* 功能:设定按键和LED控制IO的方向* 入口参数:无* 出口参数:无* 说明:无* 范例:无*************************************************************************** ***************************/void GPIO_init(){//-----设定P1.0和P1.6的输出初始值-----P1DIR |= BIT0; //设定P1.0和P1.6为输出P1OUT |= BIT0; //设定P1.0初值//-----启用内部上拉电阻-----P2REN |= BIT3; //启用P2.3内部上下拉电阻P2OUT |= BIT3; //将电阻设置为上拉 P1REN |= BIT3; //启用P1.3内部上下拉电阻P1OUT |= BIT3; //将电阻设置为上拉//-----配置P2.3中断参数-----P2DIR &= ~BIT3; // P2.3设为输入(可省略)P2IES |= BIT3; // P2.3设为下降沿中断P2IE |= BIT3 ; // 允许P1.3中断 P1DIR &= ~BIT3; // P1.3设为输入(可省略) P1IES |= BIT3; // P1.3设为下降沿中断P1IE |= BIT3 ; // 允许P1.3中断}/********************************************************************** ********************************* 名称:PORT2_ISR()* 功能:响应P1口的外部中断服务* 入口参数:无* 出口参数:无* 说明:P2.0~P2.8共用了PORT1中断,所以在PORT2_ISR()中必须查询标志位P1IFG才能知道* 具体是哪个IO引发了外部中断。
P1IFG必须手动清除,否则将持续引发PORT1中断。
* 范例:无*************************************************************************** ***************************/#pragma vector = PORT2_VECTOR__interrupt void PORT2_ISR(void){//-----启用Port2事件检测函数-----I2C_IODect(); //检测通过,则会调用事件处理函数P2IFG=0; //退出中断前必须手动清除IO口中断标志__bic_SR_register_on_exit(LPM0_bits );}/********************************************************************** ********************************* 名称: I2C_IO10_Onclick()* 功能:TCA6416A的扩展IO1.0的按下事件处理函数* 入口参数:无* 出口参数:无* 说明:无* 范例:无*************************************************************************** ***************************/void I2C_IO10_Onclick(){ADC10CTL0 |= ENC + ADC10SC; // Sampling and conversion start// _bis_SR_register(CPUOFF + GIE); // LPM0 with interrupts enabled__delay_cycles(1000);//-----ADC转换完成中断唤醒CPU后才执行以下代码-----temp = ADC10MEM; //读取AD采样值IntDeg= temp*4225/1024 - 2777; //转换为摄氏度,并10倍处理 LCD_Init();LCD_Display();return;}/********************************************************************** ********************************* 名称: I2C_IO11_Onclick()* 功能:TCA6416A的扩展IO1.1的按下事件处理函数* 入口参数:无* 出口参数:无* 说明:无* 范例:无*************************************************************************** ***************************/void I2C_IO11_Onclick(){//__enable_interrupt(); //使能总中断//PinIN();//__bis_SR_register(LPM3_bits);//休眠LCD_Init_AUTO();LCD_Display();while(1){TCA6416A_InputBuffer=0;ADC10CTL0 |= ENC + ADC10SC; //Sampling and conversion start//-----ADC转换完成中断唤醒CPU后才执行以下代码-----temp = ADC10MEM; //读取AD采样值IntDeg= temp*4225/1024 - 2777; //转换为摄氏度,并10倍处理 LCD_Display();if(IntDeg>380){while(1){for(int j=0;j<5;j++){PinOUT(1,1);Error_Display();delay_ms(500);PinOUT(1,0);delay_ms(500);}IntDeg=0;main();//DAC8411_Init();//P1DIR |= BIT1;//write2DAC8411(Data[i]);//write2DAC8411(65535);//write2DAC8411(Data[i]);//i++;//if(i>SAMPLENUM)// i=0;// break;}}LCD_Display();switch(t){case 0: delay_ms(1000); break;//1scase 1: delay_ms(5000); break;//5scase 2: delay_ms(15000);break;//15scase 3: delay_ms(30000);break;//30scase 4: delay_ms(60000);break;//60s}}}/********************************************************************** ********************************* 名称: I2C_IO12_Onclick()* 功能:TCA6416A的扩展IO1.2的按下事件处理函数* 入口参数:无* 出口参数:无* 说明:无* 范例:无*************************************************************************** ***************************/void I2C_IO12_Onclick(){t=t+1;if(t>4)t=4;switch(t){case 0: LCD1S_Display(); break;case 1: LCD5S_Display(); break;case 2: LCD15S_Display(); break;case 3: LCD30S_Display(); break;case 4: LCD60S_Display(); break;}}/********************************************************************** ********************************* 名称: I2C_IO13_Onclick()* 功能:TCA6416A的扩展IO1.3的按下事件处理函数* 入口参数:无* 出口参数:无* 说明:无* 范例:无*************************************************************************** ***************************/void I2C_IO13_Onclick(){t=t-1;if(t<0)t=0;switch(t){case 0: LCD1S_Display(); break;case 1: LCD5S_Display(); break;case 2: LCD15S_Display(); break;case 3: LCD30S_Display(); break;case 4: LCD60S_Display(); break;}}/********************************************************************** ********************************* 名称: I2C_IODect()* 功能:TCA6416A的扩展IO事件检测函数* 入口参数:无* 出口参数:无* 说明:检测具体哪个扩展IO被按下* 范例:无*************************************************************************** ***************************/void I2C_IODect(){static unsigned char KEY_Now=0;unsigned char KEY_Past;KEY_Past=KEY_Now;//----判断I2C_IO10所连的KEY1按键是否被按下------if((TCA6416A_InputBuffer&BIT8) == BIT8)KEY_Now |=BIT0;elseKEY_Now &=~BIT0;if(((KEY_Past&BIT0)==BIT0)&&(KEY_Now&BIT0)==0){I2C_IO10_Onclick();}//----判断I2C_IO11所连的KEY2按键是否被按下------if((TCA6416A_InputBuffer&BIT9)== BIT9)KEY_Now |=BIT1;elseKEY_Now &=~BIT1;if(((KEY_Past&BIT1)==BIT1)&&(KEY_Now&BIT1)==0){I2C_IO11_Onclick();}//----判断I2C_IO12所连的KEY3按l键是否被按下------if((TCA6416A_InputBuffer&BITA) == BITA)KEY_Now |=BIT2;elseKEY_Now &=~BIT2;if(((KEY_Past&BIT2)==BIT2)&&(KEY_Now&BIT2) ==0){I2C_IO12_Onclick();}//----判断I2C_IO13所连的KEY4按键是否被按下------if((TCA6416A_InputBuffer&BITB) == BITB)KEY_Now |=BIT3;elseKEY_Now &=~BIT3;if(((KEY_Past&BIT3) == BIT3)&& (KEY_Now&BIT3) == 0){I2C_IO13_Onclick();}}/********************************************************************** ********************************* 名称:LCD_Init()* 功能:初始化LCD显示相关的硬件,并预设固定不变的显示内容* 入口参数:无* 出口参数:无* 说明:预设显示内容包括摄氏度oC,以及小数点。