![压力检测及LCD显示—刘智明组.doc_第1页](http://file2.renrendoc.com/fileroot_temp3/2021-10/3/2fffa29b-735a-43fc-bcd7-a8fa533e00b4/2fffa29b-735a-43fc-bcd7-a8fa533e00b41.gif)
![压力检测及LCD显示—刘智明组.doc_第2页](http://file2.renrendoc.com/fileroot_temp3/2021-10/3/2fffa29b-735a-43fc-bcd7-a8fa533e00b4/2fffa29b-735a-43fc-bcd7-a8fa533e00b42.gif)
![压力检测及LCD显示—刘智明组.doc_第3页](http://file2.renrendoc.com/fileroot_temp3/2021-10/3/2fffa29b-735a-43fc-bcd7-a8fa533e00b4/2fffa29b-735a-43fc-bcd7-a8fa533e00b43.gif)
![压力检测及LCD显示—刘智明组.doc_第4页](http://file2.renrendoc.com/fileroot_temp3/2021-10/3/2fffa29b-735a-43fc-bcd7-a8fa533e00b4/2fffa29b-735a-43fc-bcd7-a8fa533e00b44.gif)
![压力检测及LCD显示—刘智明组.doc_第5页](http://file2.renrendoc.com/fileroot_temp3/2021-10/3/2fffa29b-735a-43fc-bcd7-a8fa533e00b4/2fffa29b-735a-43fc-bcd7-a8fa533e00b45.gif)
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、实验报告题目名称压力检测及LCD显示学生学院自动化学院专业班级12级自动化学号31120009923112000979、3112000988学生姓名刘智明、邓志豪、梁健锐2015 年 03 月 26日压力检测及 LCD显示一、 实验目的:通过学习电阻测量和LCD 实验指导书上的相关步骤,参考实验中硬件软件,通过改变压力传感器所受压力来改变电路阻值从而改变输入电压大小,作为 A/D 转换器 ADS1100 的模拟量输入,运用 ADS1100 的模数转换功能, 把转换的结果通过 LCD 模块显示出相应的压力值。通过这次实验, 对试验箱各模块有了一定的了解, 掌握了模拟量输入和数字量输出通道以及相关
2、外设的操作。二、实验设备:TIVALaunchPad,电阻测量模块,LCD 显示模块,跳线装置等。压力传感器三、设计思想:TIV ALaunchPadLCD显示作为通过对压力传感器施加压力从而改变传感器的输出电压并与基准电压作比较ADS1100的模拟量输入,经 ADS1100的 A/D转换后通过I2C,电压差值通信协议与TIV ALaunchPad 进行通信与数据交换,把结果送至示在 LCD 上。LaunchPad,再通过LaunchPad使相关信息显四、实验原理:硬件部分:1.压力传感器图 1压力传感器模块的等效原理图为电桥。当压力传感器受力发生微小形变时,应变电阻阻值发生改变,从而改变了传
3、感器的输出电压。传感器与ADS1100 相连接。2.ADS1100ADS1100 基准电压为3.3V ,Vin+ 与 Vin- 分别与压力传感器输出的正、负极相连接,传感器输出电压在ADS1100 中与基准电压比较,电压差值经过A/D 转换后通过 I2C协议送至 TIVA LaunchPad 。 TIV A LaunchPad 通过对来自 I2C 的数字信号处理计算后,在LCD 模块上显示压力传感器所受的压力。I2C 总线在传送数据过程中共有三种类型信号,它们分别是:开始信号、结束信号和应答信号。开始信号: SCL 为高电平时, SDA 由高电平向低电平跳变,开始传送数据。结束信号: SCL
4、为高电平时, SDA 由低电平向高电平跳变,结束传送数据。应答信号:接收数据的 IC在接收到 8bit 数据后,向发送数据的IC 发出特定的低电平脉冲,表示已收到数据。 CPU 向受控单元发出一个信号后,等待受控单元发出一个应答信号,CPU 接收到应答信号后, 根据实际情况作出是否继续传递信号的判断。若未收到应答信号, 由判断为受控单元出现故障。图 23.LCD 模块图 3软件部分:通过了解 CCS 的开发环境, 参考电阻测量和LCD 实验的代码, 对程序进行编写。通过 USB电脑与 LuanchPad 连接,将代码烧进LuanchPad 的内存中,按照下面代码流程图(图4)分别对各模块进行初
5、始化。图 4实验代码主要参考指导书例程的CH3 和 CH4 进行修改,程序代码见附录。五、实验总结:1.实验结果:没有受到压力时状态如图5 所示,当受到压力时如图6 所示,图 5图 6这次实验是一个模拟量输入数字量输出通道的实验,在一开始由于对实验箱和软件的不熟悉,导致所需的时间比原定的时间要长, 而且对实验的原理并不是很透彻, 只能多参考各方面内容来完成这个实验。有了这次的经验,以后的实验相信能更快完成。附录 实验代码#ifndefTARGET_IS_BLIZZARD_RA1#defineTARGET_IS_BLIZZARD_RA1#endif#ifndefPART_TM4C123GH6PM
6、#definePART_TM4C123GH6PM#endif/* Resistor Measure Application* Copyright (c) 2013-2014 China JiLiang University* All Rights Reserved.*/*!* filemain.c* version1.0* authorKai Zhang* date2013-08-22* brief恒流源、电桥电路原理检测电阻阻值模拟程序* _*|*PA6|-SCLI2C 协议时钟信号*M4 PA7|-SDAI2C 协议数据信号*PB4|-ADC0模数转换信号源* _|*/#includest
7、dint.h#includestdbool.h#includeinc/hw_memmap.h#includeinc/hw_types.h#includeinc/hw_i2c.h#includeinc/hw_ints.h#includedriverlib/interrupt.h#includedriverlib/i2c.h#includedriverlib/adc.h#includedriverlib/sysctl.h#includedriverlib/gpio.h#includedriverlib/rom.h#includedriverlib/rom_map.h#includedriverli
8、b/pin_map.h#includeLCDDriver.h/* 宏定义*/#define MIN_BRIDGE_ADC_VALUE1984/电桥测电阻的最大ADC显示值#define MAX_BRIDGE_ADC_VALUE4095/电桥测电阻的最大ADC显示值#define MAX_RESISTOR_VALUE203500/最大检测电阻值,单位m#defineSLAVE_ADDRESS0x48/ ADS1100 数据寄存器地址#defineSOURCE_OFFSET32768/* 初始化 ADC获取滚轮电压值 , 用于电桥电路测量电阻* |/|/M4PB4|-ADC0模数转换信号源/ _|
9、*/#defineADC_BASEADC0_BASE/使用 ADC0#defineSequenceNum3/使用序列 3voidInit_ADC_Detect()/ 使能 ADC0 外设ROM_SysCtlPeripheralEnable(SYSCTL_PERIPH_ADC0);/ 使能 Port B 外设端口ROM_SysCtlPeripheralEnable(SYSCTL_PERIPH_GPIOB);/ 选择 PB4作为模数装换 ADC的管脚ROM_GPIOPinTypeADC(GPIO_PORTB_BASE, GPIO_PIN_4);/ 配置采样序列的触发源和优先级ROM_ADCSequ
10、enceConfigure(ADC_BASE, SequenceNum, ADC_TRIGGER_PROCESSOR,0);/ 配置采样序列发生器的步进ROM_ADCSequenceStepConfigure(ADC_BASE, SequenceNum, 0, ADC_CTL_CH10 | ADC_CTL_IE |ADC_CTL_END);/ 使能一个采样序列ROM_ADCSequenceEnable(ADC_BASE, SequenceNum);/ 清除采样序列中断源ROM_ADCIntClear(ADC_BASE, SequenceNum);/* 初始化 AI2C 获取 ADS1100 上
11、的 ADC电压数据 , 用于恒流源测量电阻* |/|/M4PA6|-SCLI2C协议时钟信号/PA7|-SDAI2C协议数据信号/ _|*/voidInit_I2C_Comm()/ 使能 I2C1 外设SysCtlPeripheralEnable(SYSCTL_PERIPH_I2C1);/ 使能 PortA 外设端口SysCtlPeripheralEnable(SYSCTL_PERIPH_GPIOA);/ 配置 PA6、 PA7为上拉端口GPIOPadConfigSet (GPIO_PORTA_BASE, GPIO_PIN_6 | GPIO_PIN_7, GPIO_STRENGTH_2MA,
12、GPIO_PIN_TYPE_STD_WPU);/ PA6配置为 I2C 协议时钟信号、PA7 配置为 I2C 协议数据信号GPIOPinConfigure(GPIO_PA6_I2C1SCL);GPIOPinConfigure(GPIO_PA7_I2C1SDA);GPIOPinTypeI2C(GPIO_PORTA_BASE, GPIO_PIN_6 | GPIO_PIN_7);GPIOPinTypeI2CSCL(GPIO_PORTA_BASE, GPIO_PIN_6);/ 初始化 I2C 主机模块。设置总线速度和使能主机模块I2CMasterInitExpClk(I2C1_BASE,SysCtlC
13、lockGet(), false);/ 使能 I2C 主机模块I2CMasterEnable(I2C1_BASE);/* 配置 ADS1100 的配置寄存器*ST/BSY00SCDR1DR0PGA1PGA0*10011100*/voidConfigure_I2C()I2CMasterSlaveAddrSet(I2C1_BASE, SLAVE_ADDRESS, false);I2CMasterDataPut(I2C1_BASE,0x8C);I2CMasterControl(I2C1_BASE, I2C_MASTER_CMD_SINGLE_SEND);while( I2CMasterBusBusy
14、(I2C1_BASE);/* 获取 ADS1100 上采集到的 ADC数据*通信协议: 1 、设置读取的I2C 从机地址( ADS1100 );*2、获取 16Bit ADC电压数据中的高8Bit;*3、获取 16Bit ADC电压数据中的低8Bit;*4、得到 ADS1100 的配置信息*/uint32_tI2C_ADC_OpReg_MSB_i;/保存通过I2C读取 ADS1100 的 16 位 AD的高字节uint32_tI2C_ADC_OpReg_LSB_i;/保存通过I2C读取 ADS1100 的 16 位 AD的高字节uint32_tI2C_ADC_ConfigReg_i;#defi
15、neDELAY_6MS(SysCtlClockGet() / 3) / 150000voidCatchI2C()/ 恒流源测电阻I2CMasterSlaveAddrSet(I2C1_BASE, SLAVE_ADDRESS, true);/#I2CMasterControl(I2C1_BASE, I2C_MASTER_CMD_BURST_RECEIVE_START);while( I2CMasterBusy(I2C1_BASE);I2C_ADC_OpReg_MSB_i =I2CMasterDataGet(I2C1_BASE);/#I2CMasterControl(I2C1_BASE, I2C_M
16、ASTER_CMD_BURST_RECEIVE_CONT);while( I2CMasterBusy(I2C1_BASE);I2C_ADC_OpReg_LSB_i =I2CMasterDataGet(I2C1_BASE);/#I2CMasterControl (I2C1_BASE, I2C_MASTER_CMD_BURST_RECEIVE_FINISH); while ( I2CMasterBusy (I2C1_BASE);I2C_ADC_ConfigReg_i =I2CMasterDataGet(I2C1_BASE);/#defineint16_tSAMPLE_NUMsample_Sourc
17、eSAMPLE_NUM;8/恒流源测电阻ADC采样值unsignedintsample_BridgeSAMPLE_NUM;/电桥测电阻ADC采样值int16_tsample_Source_Average;uint32_tsample_Bridge_Average;intsample_Index;/* 主函数*/uint32_ttemp1, temp2;charbit;uint16_taverage;int16_ttemp3;intmain ( void )bool bRefresh = false;uint32_tpui32ADC0Value1;/保存 ADC采样值unsignedcharnu
18、mber =0;CV+SysCtlClockSet (SYSCTL_SYSDIV_1 | SYSCTL_USE_OSC | SYSCTL_OSC_MAIN | SYSCTL_XTAL_8MHZ);/ 使能 LCD LCD_Enable();/ 初始化 LCD LCD_Init();/ 初始化 LCD屏做清屏工作LCD_ScreenClr();/ 初始化滚轮Init_ADC_Detect();/ 在 LCD屏的第一行和第三行分别显示“电阻:。 ”,用于观察检测电阻值LCD_Draw_Char( W ,LINE_ONE, 0 * 8);LCD_Draw_Char( E,LINE_ONE, 1 *
19、8);LCD_Draw_Char( I,LINE_ONE, 2 * 8);LCD_Draw_Char( G ,LINE_ONE, 3 * 8);LCD_Draw_Char( H,LINE_ONE, 4 * 8);LCD_Draw_Char( T,LINE_ONE, 5 * 8);LCD_Draw_Char( :,LINE_ONE, 6 * 8);LCD_Draw_Char( K,LINE_TWO, 9*8);LCD_Draw_Char( G,LINE_TWO, 10*8);/ 用于监控 IIC 的读取状况SysCtlPeripheralEnable(SYSCTL_PERIPH_GPIOF);G
20、PIOPinTypeGPIOOutput (GPIO_PORTF_BASE, GPIO_PIN_1); GPIOPinWrite (GPIO_PORTF_BASE, GPIO_PIN_1, GPIO_PIN_1);/ 初始化 I2C 通信协议,开启从Init_I2C_Comm();/ADS1100 读取 ADC值/ 配置 ADS1100 Configure_I2C();while(1)/ 对 while 做 125ms 的延时,每秒刷新频率为 8HzROM_SysCtlDelay( SysCtlClockGet()/3/30);/#/ 电桥测电阻ADCProcessorTrigger(ADC_
21、BASE, SequenceNum);/ 等待完成 AD转换while(! ADCIntStatus(ADC_BASE, SequenceNum, false)/ 清楚 ADC中断标志位ADCIntClear(ADC_BASE, SequenceNum);/ 读取 ADC值ADCSequenceDataGet(ADC_BASE, SequenceNum, pui32ADC0Value);/sample_Bridge_Average = pui32ADC0Value0;sample_Bridge_Average = (pui32ADC0Value0 * 3300) / 4096;/#/ 恒流源测
22、电阻CatchI2C();/ 将高 8位数据放置高 8位上temp1 = (I2C_ADC_OpReg_MSB_i & 0x000000FF) = SAMPLE_NUM)bRefresh = true;sample_Index = 0;uint32_tint32_tinti = 0;total_Bridge = 0;total_Source = 0;for(i = 0 ; i 3;sample_Source_Average = total_Source 3;total_Bridge = 0;total_Source = 0; elsesample_Index +;if (bRefresh)/
23、电阻检测转换公式/ float ResValue = (sample_Bridge_Average - MIN_BRIDGE_ADC_VALUE) * (MAX_RESISTOR_VALUE / (MAX_BRIDGE_ADC_VALUE - MIN_BRIDGE_ADC_VALUE);/#uint32_ttemp = (int) sample_Bridge_Average;inti = 0 ;unsignedchardata4 = 0;data0 = (temp / 1000);data1 = (temp / 100) % 10;data2 = (temp / 10) % 10;data3 = (temp / 1) % 10;/如果 ADC采样值发生变化则更新显示/*for(i = 0; i 4; +i)LCD_Draw_Char(., LINE_FOUR, 60 + 10 * 1);if(i 15;average = sample_Source_Average + 1 ;/判断是否是负数/if(bit)/ADC_temp = sample_Source_Average + 1;/elseADC_temp = (uint32_t)(sample_Sou
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 参加涉密培训承诺书范文范本
- 2025-2030全球止吠项圈行业调研及趋势分析报告
- 2025-2030全球新能源车和充电桩高压直流继电器行业调研及趋势分析报告
- 2025年全球及中国消费后回收 (PCR) 薄膜行业头部企业市场占有率及排名调研报告
- 2025-2030全球可回收金属瓶盖和封口行业调研及趋势分析报告
- 2025年全球及中国平板电动货车行业头部企业市场占有率及排名调研报告
- 2025年全球及中国制冷空调热力膨胀阀行业头部企业市场占有率及排名调研报告
- 2025-2030全球电动门遥控器行业调研及趋势分析报告
- 2025-2030全球高精度事件计时器行业调研及趋势分析报告
- 2025年全球及中国相机腕带行业头部企业市场占有率及排名调研报告
- 五年级上册寒假作业答案(人教版)
- 2025年中考语文复习热搜题速递之说明文阅读(2024年7月)
- 和达投资集团(杭州)有限公司招聘笔试冲刺题2025
- 政企单位春节元宵猜灯谜活动谜语200个(含谜底)
- 综治工作培训课件
- 2024年云网安全应知应会考试题库
- 2024年全国职业院校技能大赛高职组(智能节水系统设计与安装赛项)考试题库-下(多选、判断题)
- 2024年广东省事业单位考试真题及答案5
- 禅密功筑基功法
- SHT+3413-2019+石油化工石油气管道阻火器选用检验及验收标准
- 2024年云南省中考数学真题试卷及答案解析
评论
0/150
提交评论