欢迎来到淘文阁 - 分享文档赚钱的网站! | 帮助中心 好文档才是您的得力助手!
淘文阁 - 分享文档赚钱的网站
全部分类
  • 研究报告>
  • 管理文献>
  • 标准材料>
  • 技术资料>
  • 教育专区>
  • 应用文书>
  • 生活休闲>
  • 考试试题>
  • pptx模板>
  • 工商注册>
  • 期刊短文>
  • 图片设计>
  • ImageVerifierCode 换一换

    ARM温湿度传感器课程设计.doc

    • 资源ID:33465551       资源大小:163KB        全文页数:15页
    • 资源格式: DOC        下载积分:15金币
    快捷下载 游客一键下载
    会员登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录   QQ登录  
    二维码
    微信扫一扫登录
    下载资源需要15金币
    邮箱/手机:
    温馨提示:
    快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如填写123,账号就是123,密码也是123。
    支付方式: 支付宝    微信支付   
    验证码:   换一换

     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    ARM温湿度传感器课程设计.doc

    -作者xxxx-日期xxxxARM温湿度传感器课程设计【精品文档】目 录目 录1第一章 概 述21.1 设计题目21.2 设计目的21.3 设计器材21.4 任务分析2第二章 设计原理32.1 嵌入式操作系统的概述3设计原理3第三章 系统设计53.1 系统需求分析53.2 硬件设计53.3 软件设计6第四章详细设计8主函数8湿度的转化实现代码9屏幕显示设置94.5 下载运行9总 结10致 谢11【精品文档】第一章 概 述1.1 设计题目在LPC2103开发板上,实现设定温度以及控制功能。1.2 设计目的1、本次课程设计的主要目的是实现温度的控制功能,锻炼学生的动手能力以及注重课外实践的培养,使得理论与实践相结合; 2、了解并掌握掌握相关专业课程知识和设计能力;3、初步掌握软件开发过程的问题分析、系统设计、程序编码、测试等基本方法和技术;4、提高综合运用所学的理论知识和方法独立分析和解决问题的能力;5、加深对专业课的理解,强化学生的逻辑思维能力和动手能力,巩固良好的编程习惯,掌握工程软件设计的基本方法,为将来工作的学习打下坚实基础。 设计器材本课程设计需要的硬件要求和软件配置具体要求如下:硬件要求:一台PC机、LPC2103开发板一块;软件配置:KEIL软件、J-Flash ARM,串口助手;1.4 任务分析有许多客观需求促进了ARM处理器的设计改进。首先,便携式的嵌入式系统往往需要电池供电,为降低功耗,ARM处理器已经被特殊设计成较小的核,从而延长了电池的使用时间。高的代码密度是嵌入式系统的又一个重要需求。由于成本问题和物理尺寸的限制,嵌入式系统的存储器是很有限的。所以,高的代码密度对于那些只限于在板存储器的应用是非常有帮助的。另外,嵌入式系统通常都是价格敏感的,因此,一般都使用速度不高,成本较低的存储器。ARM内核不是一个纯粹的RISC体系架构,这是为了使他能够更好的适应其主要应用领域嵌入式系统。在某种意义上,甚至可以认为ARM内核的成功,正是因为它没有在RISC的概念上沉入太深。本系统的设计过程中,根据嵌入式系统的基本设计思想,系统采用了模块化的设计方法,并且根据系统的功能要求和技术指标,系统遵循自上而下,由大到小,由粗到细的设计思想,按照系统的功能层次,在设计中把硬件和软件分为若干功能模块设计和调试,然后全部连接起来统调。第二章 设计原理2.1 嵌入式操作系统的概述嵌入式系统是集成电路发展过程中的一个标志性成果,它把计算机直接嵌入到应用系统中,融合了计算机软/硬件技术、通信技术和微电子技术,是一种微电子产业和信息技术产业的最终产品。微电子产业是许多国家优先发展的产业。以超深亚微米工艺和IP核复用技术为支撑的系统芯片技术是国际超大规模集成电路发展的趋势和21世纪集成技术的主流。 嵌入式操作系统的特性随着计算机技术和产品向其它行业的广泛渗透,由于嵌入式系统具有小巧、高度自动化、响应速度快的特点,因而非常适应信息家电和现代控制设备的需要,嵌入式技术成为了一个研究热点。嵌入式系统,是将计算机直接嵌入至系统中,是信息IT的最终产品。它根据应用的要求,将操作系统和功能软件集成于计算机硬件系统中,实现软件与硬件一体化。 嵌入式操作系统的分类嵌入式操作系统是随着嵌入式系统的发展出现的。从应用范围角度大致可以分为可分为专用型(如Ucos、Windows CE、VxWorks、嵌入式Linux等)和通用型(如Palm OS、Symbian)的嵌入式操作系统等。从实时性的角度大致可以分为实时嵌入式操作系统和一般嵌入式操作系统。 嵌入式操作系统的特点嵌入式操作系统是对通用操作系统的继承和发展,具有操作系统的基本功能,包括指令执行、任务调度、存储器管理、设备管理和中断处理等。但是,由于嵌入式系统的硬件环境和程序运行需求有很大限制,所以嵌入式操作系统又有如下并不同于一般操作系统的特点。(1) 资源限制。嵌入式操作系统一般只有64MB内存,而且非易失性FLASH通常也就32MB,因此,操作系统运行时,就不能像在PC上那样使用资源了。(2) 安全性限制。 在嵌入式领域,系统在运行之后一般都不能在短时期内停机或者重启,因此死机、蓝屏是绝对不允许的。(3) 可移植性。本次课程设计采用SHT10传感器温湿度监测系统,通过SHT10检测室内温度,如果检测到的温度超过设定值时,由LPC2103输出控制信号启动相应的中断报警功能。温湿度传感器模块默认使用处理器的IIC总线,需要连接开发板的P1端口,IIC总线需要接上拉电阻。 IIC总线IIC总线是一种二进制总线,它通过SDA(串行数据线)及SCL(串行时钟线)连接到总线上的器件,并根据地址识别每个器件。支持IIC的设备有微控制器,ADC,DAC,存储器,LCD控制器,LED驱动器以及实时时钟等,通过软件寻址实现片选,减少器件片选线的连接。 数字温湿度传感器SHT10SHT10系列单芯片传感器是一款含有已校准数字信号输出的温湿度复合传感器。它应用于专利的工业COMS过程微加工技术(CMOSens),确保产品具有极高的可靠性与卓越的长期稳定性。传感器包含一个电容式聚合体测湿元件和一个能隙式测温元件,并与一个14位的AD转换器以及串行接口电路在同一芯片上实现无缝连接。因此,该产品具有品质卓越,超快响应,抗干扰能力强,性价比极高等优点。 SHT10的供电电压为2.4-5.5v。传感器上电后,要等待11ms以越过休眠状态,在此期间无需发送任何指令。电源引脚(VDD,GND)之间可以增加一个100NF的电容,用以去耦滤波。串行接口(两线双向),SHT10的串行接口,在传感器信号的读取以及电源损耗方面,都做了优化处理,但与IIC接口不兼容。串行时钟输入(SCK),SCK用于微处理器与SHT10之间的通讯同步,由于接口包含了完全静态逻辑,因而不存在最小SCK频率。串行数据(SDA)DATA三态门用于数据的读取,DATA在SCK时钟下降沿之后改变状态,并仅在SCK时钟上升沿有效。数据传输期间,在SCK时钟高电平时,DATA必须保持稳定。为避免信号冲突,微处理器应驱动DATA在低电平。需要一个外部上拉电阻将信号提升至高电平。上拉电阻通常包含在微处理器的IO电路中。第三章 系统设计3.1 系统需求分析 课程设计内容基于LPC2103开发板,完成设定温度控制功能。 课程设计要求(1)熟悉ARM开发板工作及开发环境;(2)熟悉ARM处理器的定时器控制及工作原理;(3)采用温度传感器测试温度用继电器控制加热器,实现设定温度的控制;(4)在LCD屏幕显示当前的温度和设置温度。(5)控制温度可以设置。3.2 硬件设计 ARM处理器ARM(AdvancedRISCMachines),既可以认为是一个公司的名字,也可以认为是对微处理器的通称,还可以认为是一种技术的名字。ARM处理器是一个32位元精简指令集(RISC)处理器架构,其广泛地使用在许多嵌入式系统设计。(1)ARM处理器系列ARM7系列、ARM9系列、ARM9E系列、ARM10E系列、SecurCore系列Intel的XscaleIntel的StrongARM ARM11系列,其中,ARM7、ARM9、ARM9E和ARM10为4个通用处理器系列,每一个系列提供一套相对独特的性能来满足不同应用领域的需求。(2)ARM处理器特点1、体积小、低功耗、低成本、高性能; 2、支持Thumb(16位)/ARM(32位)双指令集,能很好的兼容8位/16位器件; 3、大量使用寄存器,指令执行速度更快; 4、大多数数据操作都在寄存器中完成; 5、寻址方式灵活简单,执行效率高; 6、指令长度固定。(3)指令结构ARM微处理器的在较新的体系结构中支持两种指令集:ARM指令集和Thumb指令集。其中,ARM指令为32位的长度,Thumb指令为16位长度。Thumb指令集为ARM指令集的功能子集,但与等价的ARM代码相比较,可节省30%40%以上的存储空间,同时具备32位代码的所有优点。3.3 软件设计3. KEIl软件开发环境的使用建立一个新的工程,单击Project菜单,在弹出的下拉菜单中选中New Project选项,然后选择保存路径,输入工程的文件名字,然后单击保存,根据处理器的型号选择NXP(founded by Philips)的LPC2103处理器,接下来就是软件的详细设计环节了。3.3.2 SHT10的相关命令定义、#define TEM_TEST 0x03/温度检测命令#define HUM_TEST 0x05/湿度检测命令#define REG_READ 0x07/读寄存器#define REG_WRITE 0x06/写寄存器#define FUNCTION_SET0x01/设置SHT11的工作精度为8位/湿度 12位温度#define SCL 1<<47#define SDA 1<<48unsigned int flag_tempeture,flag_humidity;3.3.3 相关函数的说明1. void Delay()函数名称:Delay(),函数功能:SHT10内部延时2. void Delay_Ms(unsigned int ms), 函数名称:Delay_Ms(),函数功能:SHT11检测等待延时函数,说明:11ms/55ms/210ms 分别对应8位/12位/14位 测量结果对应的形参为N 则延时Nms;3. void SHT11_Start()函数功能:SHT11启动时序4. void SHT11_Sendbyte(unsigned char dat) 函数名称:SHT11_Sendbyte(uchar dat)函数功能: 向SHT11发送8bite数据5. void SHT11_Answer()函数名称SHT11_Answer():函数功能:检测SHT11的响应信号(在第九个时钟周期)6. void SHT11_Test_Finish()函数名称:SHT11_Test_Finish()函数功能:检测SHT11温湿度检测是否完毕7. unsigned char SHT11_Receivebyte()函数名称:SHT11_Receivebyte()函数功能:从SHT11接收8bite数据8. void ARM_Answer()函数名称:ARM_Answer()函数功能:ARM向SHT11发送应答信号9. void SHT11_End()函数名称:SHT11_End()当接收两个8byte数据后部接收CRC校验码10. void SHT11_Write_Register(unsigned char command ,unsigned char dat) 函数名称:void SHT11_Write_Register(uchar command ,uchar dat)函数说明:向SHT11的状态寄存器设置功能command为REG_WRITE 0x06写寄存器dat为 设置SHT11的功能 可以设置检测的数据位数。11. unsigned char SHT11_Read_Register(unsigned char command) 函数名称:uchar SHT11_Read_Register(uchar command)函数说明:command为REG_READ 0x07/读寄存器返回值为状态寄存器的值位6显示当前检测完一次数据后电源供电情况当位6为0时表明VDD>2.47V 当位6为1时表明VDD<2.47V即电量不足位0表明当前的测量分辨率,当位0为1时表明测量精度:8位/湿度 12位温度,当位0为0时表明测量精度:12位湿度 14位温度 默认为0。12. unsigned int SHT11_Measure(unsigned char command,unsigned char time) 函数名称:SHT11_Measure(uchar command,uint time);函数功能:设置SHT11检测功能,并返回相应的检测结果函数说明:command形参用于设定温度检测还是湿度检测,time形参用于设定检测过程中的等待时间,以确定检测结果的位数。11ms/55ms/210ms 分别对应8位/12位/14位。12. float SHT11_Convert_Tempeture14bit(unsigned int dat) 函数称:Convert_Tempeture(uint dat);函数功能:将检测到的数据转化为相应的温度数据函数说明:温度转换公式-T=d1+d2*SOt公式中的参数d1=-40,d2=0.01适用于14位测量精度。13float SHT11_Convert_Humidity12bit(unsigned int dat,float temp) 函数名称:SHT11_Convert_Humidity(uint dat,float temp)函数功能:将检测到的数据转化为相应的湿度数据函数说明:相对湿度转换公式-RHline=C1+C2*SOrh+C3*SOrh*SOrh(检测数据的线性化 SOrh为单片机接收到的数据)-RHtrue=(tempeture-25)*(t1+t2*SOrh)+RHline适用于12位测量精度。14. float SHT11_Convert_Tempeture12bit(unsigned int dat) 函数功能:将检测到的数据转化为相应的温度数据函数说明:温度转换公式-T=d1+d2*SOt公式中的参数d1=-40,d2=0.04适用于12位测量精度。15. float SHT11_Convert_Humidity8bit(unsigned int dat,float temp) 函数名称:SHT11_Convert_Humidity8bit(uint dat,float temp)函数功能:将检测到的数据转化为相应的湿度数据函数说明:相对湿度转换公式-RHline=C1+C2*SOrh+C3*SOrh*SOrh(检测数据的线性化 SOrh为单片机接收到的数据)-RHtrue=(tempeture-25)*(t1+t2*SOrh)+RHline适用于8位测量精度。16. void UART0_init(void)串口初始化。17. void UART0_PutCh(unsigned char Ch) 发送数据。18. void fasong(int tem,int hum) 发送数据到屏幕。第四章 详细设计4.1主函数int main()int tempdata,humidata,temp,humi;PINSEL0=PINSEL0&0x33ffffff;SHT11_Write_Register(REG_WRITE,FUNCTION_SET);UART0_init(); while(1) tempdata=SHT11_Measure(TEM_TEST,55);/温度检测temp=SHT11_Convert_Tempeture12bit(tempdata); /12位温度转换humidata=SHT11_Measure(HUM_TEST,11); /湿度检测humi=SHT11_Convert_Humidity8bit(humidata,temp);/8位湿度转换 fasong(temp,humi); 4.2温度的转化代码ffloat SHT11_Convert_Tempeture14bit(unsigned int dat)float tempeture1;tempeture1=-40+0.01*dat;if(tempeture1>100.0)flag_tempeture=1;else if(tempeture1<0.0)flag_tempeture=1;else flag_tempeture=0;return(tempeture1);函数名称:Convert_Tempeture(uint dat);函数功能:将检测到的数据转化为相应的温度数据度。4.3湿度的转化实现代码float SHT11_Convert_Humidity12bit(unsigned int dat,float temp)float RHline,RHtrue;RHline=-4+0.0405*dat-0.0000028*dat*dat;RHtrue=(temp-25)*(0.01+0.00008*dat)+RHline;if(RHtrue<10.0)flag_humidity=1;else flag_humidity=0;return(RHtrue);函数功能:将检测到的数据转化为相应的湿度数据,说明:相对湿度转换公式RHline=C1+C2*SOrh+C3*SOrh*SOrh(检测数据的线性化 SOrh为单片机接收到的数据)-RHtrue=(tempeture-25)*(t1+t2*SOrh)+RHline适用于12位测量精度。void BacklightOn(void) /PINSEL0 = 0x00000000;PINSEL1 |= 0x00000200;/设置MAT1.3-P0.20 T1TCR=0x03;/在设置之前,先将定时器复位 T1IR=0x01;/清除中断标志位 T1PR=0x00;/设置预分频器 T1PWMCON=0x08;/使能相应PWM模式位MAT1.3 T1MCR=0x02;/MR0匹配时,定时器复位 T1MR0=50;/设置匹配寄存器 T1MR3=48;T1TCR=0x01;/重新启动定时器 4.5 下载运行将工程文件下载至开发板,调整好串口,设置好波特率,可以看到开发板将检测到的室内温度和湿度以十进制的形式发送给PC机的串口,并且验证温度传感器的灵敏度,可以发现温度随着外部环境的变化而变化,由此可以得出结论温度传感器的温度采集和传送功能都已实现。总 结在这次ARM嵌入式系统课程设计中,我对ARM嵌入式系统尤其是数据处理中的温度采集系统有了更进一步的了解,同时知识面也进一步得到了扩展和加深。本次课程设计的任务主要是对基于传统温度采集系统的使用环节中遇到的一些问题提出的一种改进方法,有助于温度采集系统更好的发展与使用,帮助我们更好的理解嵌入式系统和温度采集系统的原理和应用。温度采集是一种直接数字处理方法。所谓温度采集系统,就是通过温度传感器对被采集物体进行温度数据的收集与处理,最后得到所需要的有用的数字信号并送入系统的下一环节进行其他操作。目前,由于传统的温度采集系统存在响应慢、精度低、可靠性差、效率低、操作繁琐等弊端,已经不能完全适应现代化工业的高速发展。随着嵌入式技术的迅猛发展,设计高速度、高效率、低成本、高可靠性、操作方便的温度采集系统成为当务之急。所以,学习和应用温度采集系统及其应用技术对我们以后的学习和工作有着十分重要的意义。通过本次课程设计,让我很好的锻炼了理论联系实际,与具体项目、课题相结合开发、设计产品的能力。既让我懂得了怎样将理论应用于实际,又让我懂得了在实践中遇到的问题怎样用理论去解决。在设计过程中,总是会遇到这样或那样的问题。有时一个问题可能会需要去查阅资料,做大量的工作,花大量的时间才能解决。通过不断地发现问题,解决问题,我的发现问题和解决问题的能力便在其中建立起来了。这都为以后的工作积累了经验,同时也增强了我解决问题的能力。致 谢大学生活即将结束,这也意味这在校的学习生涯即将结束。回顾在这充实幸福快乐的大学中我倍感欣慰。在大学里我学到了专业知识、提供了思想修养、懂的了做人做事的行为道德。在沈阳工程学院的学习生涯是我在这十几年的学习生涯中最忙碌与最充实的时光。因为在这里学习他不但强调理论性的学习及思想的修养还很重视学生的动手操作能力与解决实际问题的能力。为了培养我们的这些能力学校精心安排许多实验课程和实训项目并举办一些竞赛鼓励我们的学习。最重要的是在这里能让我们学到使用技术给我们日后的工作生活铺平了道路。在这美好的时光即将结束之际首先,并且是最重要的我要感谢沈阳工程学院给了我这个学习生活环境平台,让我能够在知识的海洋里畅游。感谢给予我们帮助的老师,他们传道授业,无私奉献,不仅使我们开阔了视野,拓宽了思路,增长了学识,而且为我们今后的工作和学习打下了牢固的基础,也使我们增强了对嵌入式学习的浓厚兴趣。最后,再次感谢踪念品老师,我们在他的悉心指导下才顺利完成了程序的设计。老师渊博的学识和严谨求实的科学精神、一丝不苟的治学态度和高尚的品格,深深的感染了我和每一个同学。程序的每次改动都离不开老师的帮忙,综合所有,审查的工作往往比编写任务更复杂。在这里,我们对您衷心的表示感谢。在大学中有一群“共患难”的同学们以及对我们有深远影响的老师们,你们使我在今后的继续学习或工作中,都是我们宝贵的财富。最后,再次感谢对我有影响和帮助的老师和同学们。

    注意事项

    本文(ARM温湿度传感器课程设计.doc)为本站会员(豆****)主动上传,淘文阁 - 分享文档赚钱的网站仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知淘文阁 - 分享文档赚钱的网站(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    关于淘文阁 - 版权申诉 - 用户使用规则 - 积分规则 - 联系我们

    本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

    工信部备案号:黑ICP备15003705号 © 2020-2023 www.taowenge.com 淘文阁 

    收起
    展开