单片机实习报告

合集下载

单片机实训报告范文精选5篇

单片机实训报告范文精选5篇

单片机实训报告范文精选5篇单片机实训报告范文精选5篇实训报告破记录是展示自身实训收获成长的重要报告,那么实训报告该如何写到呢?精选了一些关于职业培训报告的优秀范例,一起来看看吧。

单片机课程设计心得体会在学校学习期间我有幸的参与了学校的单片机学习小组,在小组里我了解了什么是单片机,单片机有哪些用途,利用单片机可以实现哪些功能来方便人们的都市生活如交通灯,时钟,还有手机中,电子玩具等等,它们里面确实有单片机的某种存在来实现某种功能。

通过在单片机小组里的学习我简单总结了几点心得和体会:第一:万事开头难,要勇敢的跨进第一步,不要总找借口说没有学习过就总推脱。

凡事都有第一步可以先可简单的来,然后可以逐步的向深层学习。

可以从建项目开始,然后可以找一个简单的小程序先把它敲进单片机内然他运行起来,感觉一下单片机的运行,让自己了解传输数据单片机整个运行。

第二:对于知识点,学过的要掌握牢固,对于没有学的和不暂时用不到的先不用学习。

比如:小灯得点亮就没有用到中断可以不用看。

这样可以避免知识过多记不住的麻烦。

对于程序这里的知识点不能只停留在理论层次上,一定要结合着程序处理过程进行学习这样才能掌握的很牢靠,当用到哪里的题型不记得了可以用做去看书,对于用不到的可以毛序看。

第三:处理过程不要只是看别人得,一定要自己写过就要是自己的。

开始深奥难懂可以参考别人的,看看每一句代表着什么意思,能够同时实现什么现象。

明白接著自己再重新写一遍,你会发现看别人的能懂到自己写的时候太困难。

当你自己能写出来的时候说明你真佐证懂了。

第四:一定要学会程序调试的原理。

有时候把程序写完了然后运行时不能实现理想的现象。

这时有人就晕了胡乱不知该怎么办,然后就去问别人。

当别人找出问题出在哪里就会恍然大悟。

当遇到问题一定要自己尝试着解决,不能遇到问题就去问别人。

自己一定很高要掌握解决问的方法和思路。

第五:在学习初期看别人的代码,学习别人的路子这个很有用。

通过看理论知识别人的标识符特别是有多年编程经验的人的程序,可以迅速提高自己的编程迅即技术水准。

单片机实训报告范文精选5篇精选

单片机实训报告范文精选5篇精选

单片机实训报告范文精选5篇实训报告是展示本身实训收获成长的重要报告,那么实训报告该如何写呢?小编精选了一些关于实训报告的优秀范例,一起来看看吧。

单片机课程设计心得体会在学校学习期间我有幸的参加了学校的单片机学习小组,在小组里我理解了什么是单片机,单片机有哪些用途,利用单片机可以实现哪些功能来方便人们的生活如交通灯,时钟,还有中,电子玩具等等,它们里面都有单片机的存在来实现某种功能。

通过在单片机小组里的学习我简单总结了几点心得和体会:第一:万事开头难,要英勇的迈出第一步,不要总找借口说没有学习过就总推脱。

凡事都有第一步可以先可简单的来,然后可以逐步的向深层次学习。

可以从建工程开始,然后可以找一个简单的小程序先把它敲进单片机内然他运转起来,感受一下单片机的运转,让本人理解单片机整个运转。

第二:关于知识点,学过的要掌握结实,关于没有学的和临时用不到的先不用学习。

比方:小灯得点亮就没有用到中断可以先不用看。

如此可以防止知识过多记不住的苦恼。

关于程序这里的知识点不能只停留在理论层次上,一定要结合着程序进展学习如此才能掌握的特别牢靠,当用到哪里的知识点不记得了可以去看书,关于用不到的可以不去看。

第三:程序不要只是看别人得,一定要本人写过才是本人的。

开始不明白可以参考别人的,看看每一句代表着什么意思,可以实现什么现象。

明白之后本人再重新写一遍,你会觉观察别人的能明白到本人写的时候特别困难。

当你本人能写出来的时候说明你真明白了。

第四:一定要学会程序调试的方法。

有时候把程序写完了然后运转时不能实现理想的现象。

这时有人就晕了不知该如何办,然后就去征询别人。

当别人找出征询题出在哪里时就会恍然大悟。

事实受骗遇到征询题一定要本人尝试着处理,不能遇到征询题就去征询别人。

本人一定要掌握处理征询的方法和思路。

第五:在学习初期看别人的代码,学习别人的思路这个特别有用。

通过看别人的代码特别是有多年编程经历的人的程序,可以迅速提高本人的编程水平。

单片机实训报告【三篇】

单片机实训报告【三篇】

【导语】实训报告是展⽰⾃⾝实训收获成长的重要报告。

以下是⽆忧考整理的单⽚机实训报告,欢迎阅读!更多相关⽂章请关注⽆忧考报告频道!单⽚机实训报告篇⼀ 通过为期⼀周的单⽚机实训,是我们对这门课有了许多新的了解,弥补了在课堂上学习的不⾜。

相信这对我们以后的学习和⼯作都会有很⼤的帮助。

我们⼀定要在最短的时间⾥对这些不⾜加以改正! ⾸先,在这次试训中我被单⽚机强⼤的功能所震撼,以前在课堂上完全没有能理解可编程单⽚机的优越性。

这次通过实体仿真软件等辅助软件的共同效果,是这次试训有了鲜明的活⼒。

换是我们认识到这次试训不仅仅是⼀个软件的应⽤,更多的是使我们认识到学习到很多在课堂上⽆法得到的东西。

特别是protues软件的功能是我们了解了当今开发系统的新⽅向,简直太不可思议啦! 单⽚机作为⼀种最简单的软件,与我们的⽇常⽣活息息相关,了解⼀些单⽚机程序的简单录⼊是⾮常必要的。

如:LED显⽰器、键盘和显⽰器的应⽤和原理。

在被刺实训中我们每个⼈通过⼀个⼋位流⽔灯的制作,使我们深深地体会到了单⽚机在现实⽣活中的⼩⼩应⽤,既增强了我们的好奇⼼,⼜巩固了我们的理论知识。

更让我们体会到了单⽚机⼿动的开始平台的完善与成熟。

只要你有想法,单⽚机就有可能让他成为现实。

这⾥我学习完protues软件后的第⼀感觉是,虽然这软件⼯作不稳定,但是会有相当不错的效果出来。

这对我以后的⼯作⼀定会有帮助的。

在这次试训中不仅只对单⽚机编程有了新的认识,还对整个单⽚机的开发平台都有了⼀厅的了解,这是⼀笔不错的收获。

通过这⼏天的试训,使我的感触很深,真实“条条⼤路通罗马”,要达到⽬的,不同的⼈就有不同的⽅法。

只要你的⽅法不错!五花⼋门都可以,⽽且是各有特⾊。

⾛出来的结果都有各⾃的独到之处。

在编程中“简”字贯穿于整个程序设计中,越简单越好,毕竟单⽚机留给⽤户的资源是有限的,所以我们要充分利⽤这些资源,达到更好的效果,这些是我们在以后的学习⽣活中应值得注意的地⽅。

单片机实习报告8篇

单片机实习报告8篇

单片机实习报告8篇(经典版)编制人:__________________审核人:__________________审批人:__________________编制单位:__________________编制时间:____年____月____日序言下载提示:该文档是本店铺精心编制而成的,希望大家下载后,能够帮助大家解决实际问题。

文档下载后可定制修改,请根据实际需要进行调整和使用,谢谢!并且,本店铺为大家提供各种类型的经典范文,如工作报告、总结计划、心得体会、演讲致辞、策划方案、合同协议、条据文书、教学资料、作文大全、其他范文等等,想了解不同范文格式和写法,敬请关注!Download tips: This document is carefully compiled by this editor. I hope that after you download it, it can help you solve practical problems. The document can be customized and modified after downloading, please adjust and use it according to actual needs, thank you!Moreover, our store provides various types of classic sample essays, such as work reports, summary plans, insights, speeches, planning plans, contract agreements, documentary evidence, teaching materials, complete essays, and other sample essays. If you would like to learn about different sample formats and writing methods, please pay attention!单片机实习报告8篇难忘的实习生活已经告一段落了,回顾这段时间的实习,知识和能力都得到了很大提高,让我们好好总结一下,写一份实习报告吧。

单片机实习报告3篇

单片机实习报告3篇

Most people are not satisfied with what we have, just as every horse thinks that it bears the heaviest burden.勤学乐施积极进取(页眉可删)单片机实习报告3篇单片机实习报告篇1一实习目的1. 通过对单片机小系统的设计、焊接、装配,掌握电路原理图及电子线路的基本焊接装配工艺、规范及注意事项;2. 通过对系统板的测试,了解系统板的工作原理及性能,掌握元器件及系统故障的排除方法;3. 掌握程序编制及调试方法,完成系统初始化、存储器操作、端口操作、键盘显示等程序的编制及调试(汇编语言、C语言均可);4. 通过单片机系统的组装,调试以及程序编制、调试及运行,与理论及实验的有机结合和指导教师的补充介绍,使学生掌握控制系统的工作原理、开发方法和操作方法。

5. 培养学生解决实际问题的能力,提高对理论知识的感性认识。

二实习意义通过本实习不但可以掌握单片机软、硬件的综合调试方法,而且可以熟练掌握电路原理图,激发对单片机智能性的探索精神,提高学生的综合素质,培养学生应用单片机实现对工业控制系统的设计、开发与调试的能力。

在制作学习过程中,不但可以掌握软、硬件的综合调试方法,而且可以使学生对单片机智能性产生强烈的欲望。

达到最大限度地掌握微机应用技术,软件及接口设计和数据采集与处理的技能,培养电综合实践素质的目的。

三系统基本组成及工作原理1 系统基本组成系统以单片机STC89C52作为控制核心,各部分基本组成框图如图1所示。

流水灯部分由单片机、键盘模块等组成;四位数码显示,编程实现30秒倒计时部分由单片机、键盘模块、液晶显示模块等组成;按键功能部分通过按键控制流水灯部分、四位数码显示部分;电子钟部分由单片机、键盘模块、液晶显示模块等组成;使用功能键实现相应的功能组合部分通过流水灯部分、30秒倒计时部分实现;模数转换部分由单片机、ADC0809转换模块、键盘模块、液晶显示模块等组成。

[总结范文]单片机实习报告9篇

[总结范文]单片机实习报告9篇

[总结范文]单片机实习报告9篇单片机实习报告单片机实习报告(一):一、生产实习的目的和意义:生产实习是培养本科学生理论联系实际,提高实际动手操作潜力的重要教学环节。

本专业的生产实习旨在使学生广泛了解实际电子产品生产的全过程,熟悉电子产品的主要技术管理模式,并在实习的操作过程中学习掌握电子产品的焊接安装调试的实际操作技能。

巩固和加深理解所学的理论,开阔眼界,提高潜力,为培养高素质大学本科人才打下必要的基础。

透过学习,是理论与实际相结合,能够使学生加深对所学知识的理解,并为后续专业课的学习带给必要的感性知识,同时使学生直接了解本业的生产过程和生产资料,为将来走上工作岗位带给必要的实际生产知识。

二、实习的基本资料:集中授课,进行相关知识的学习。

学习掌握电子产品的独立性设计与安装调试的潜力;进一步掌握电子测量仪器的正确使用方法,电元器件的测量与筛选技术。

初步了解电子整机产品的工艺过程。

为能使学生得到充分的锻炼,较大的提高学生的实际动手潜力,本次生产实习安排每一位学生独立完成全部系统的设计与安装工作。

本实习环节,学生要独立使用电焊铁及各种电子测试设备电路安装与调试,要学生严格遵守电器设备的使用安全,遵守实验室的各项规章制度。

三、基本要求:在教师的指导下练习在测试电路德核心板上焊接元件,掌握焊接要领。

熟悉元器件的性能及管脚分配。

在给定的PcB板上焊接跳线,Ic插座,电阻,电容,LED器件等。

检查焊接是否正确。

插上元器件,运行系统,并观测系统工作是否正常。

四、总体设计电路思想和原理:本次生产实习用到的开发板和模块共7块,分别为:单片机核心板,电子钟模块,mP3模块,RFID模块,无线传输模块,脉搏传感模块,GPS模块。

各模块相互组合,其所能实现的基本功能如下:单片机核心板+电子钟模块:实现时光的显示,温度的测量,且可透过遥控器调时定闹等。

单片机核心板+无线传输模块:实现数据的近距离无线传输。

单片机核心板+mP3模块:实现mP3播放功能。

单片机实训工作报告【三篇】

【导语】在单⽚机实训教学过程中采⽤教师引导,学⽣主导的教学⽅式,让学⽣掌握技巧,⿎励学⽣独⽴思考。

以下是⽆忧考整理的单⽚机实训⼯作报告,仅供参考! 篇⼀ 1.课程设计⽬的 1)巩固单⽚机基础知识,串联知识点。

2)学会绘制PCB板,学会⼿⼯制板的⼀般⽅法。

3)使⽤Protel等EDA⼯具进⾏单⽚机硬件系统设计的能⼒。

4)基于KeilIDE开发单⽚机应⽤程序的能⼒。

5)写技术报告和编制技术资料的能⼒。

6)独⽴⼯作能⼒和创造⼒。

7)综合运⽤专业及基础知识,解决实际⼯程技术问题的能⼒。

2.课程设计题⽬描述和要求 旋转电⼦时钟的设计与制作 实现的功能要求:(1)实现单⽚机最⼩系统;(2)四只LED数码管显⽰当前时分;(3)每隔⼀秒钟周边的60只LED发光管旋转⼀格,装饰⽤的LED每隔⼀秒旋转⼀次;(4)实现整点报时;(5)实现按键调整;(6)停(掉)电保护,年计时误差⼩于30秒;(7)其他功能。

3.课程设计报告内容 3.1⽅案论证 3.1.1单⽚机定时器做电⼦时钟 优点:考虑到单⽚机货源充⾜、价格低廉,可软硬件结合使⽤,能够⽅便的实现系统的多功能性,故采⽤单⽚机作为本设计的硬件基础。

故其优点是外围电路简单,只需要⼀个单⽚机最⼩系统,和⼀个显⽰模块。

缺点:定时不是很准确,计时误差较⼤,并且程序的编写较繁琐。

3.1.2数字电路做电⼦时钟 优点:具有⾛时准确、显⽰直观、⽆机械传动装置。

与传统的机械钟先⽐,电⼦钟具有更优异的优点。

由于电⼦钟采⽤数字集成电路的发展和采⽤了先进的⽯英技术,使电⼦钟具有⾛时准确、性能稳定、携带⽅便等优点,电⼦钟⽤于定时⾃动报警、按时⾃动打铃、时间程序⾃动控制、定时⼴播及⾃动控制等各个领域。

缺点:因为电⼦钟毕竟是电⼦产品,电⼦产品都有辐射,不过电⼦钟危害极低,对⼈体够不成任何危害,不象⼿机的辐射那么⼤。

应⽤:⽬前,在国内,电⼦钟因数码管数字显⽰效⽤直接有效,所以⼤多运⽤在城市的主要营业场所,以及车站、码头等公共场所。

单片机实习总结3篇(大学单片机实训总结)

单片机实习总结3篇(大学单片机实训总结)单片机实习总结1这次实习我们使用把握电路的单片机是AT89S51型号的,单片机实习报告总结。

通过它实现对八盏双色灯发光二极管的把握P0和P2口把握四盏灯。

在AT89S51的9引脚接复位电路,对电路实现复位把握。

在电路中接入74S164译码器和共阴极数码管,通过AT89S51的P3口数据的输入对共阴极数码管的把握。

同时也可实现双色发光的二极管与共阴极数码管的共同作用。

在AT89S51的P3.2口接上中断把握电路,P3.5口接入蜂鸣器,使电路实现中断作用,也使电路便于检测。

尽量朝“单片”方向设计硬件系统。

系统器件越多,器件之间相互干扰也越强,功耗也增大,也不行避开地降低了系统的稳定性。

系统中的相关器件要尽可能做到性能匹配。

如选用CMOS芯片单片机构成低功耗系统时,系统中全部芯片都应尽可能选择低功耗产品。

硬件电路设计:1)确保硬件结构和应用软件方案相结合。

硬件结构与软件方案会相互影响,软件能实现的功能尽可能由软件实现,以简化硬件结构。

必需留意,由软件实现的硬件功能,一般响应时间比硬件实现长,且占用CPU时间;2)牢靠性及抗干扰设计是硬件设计必不行少的一部分,它包括芯片、器件选择、去耦滤波、印刷电路板的合理布线、各元器相互隔离等;3)尽量朝“MCS-51单片”方向设计硬件系统。

系统器件越多,器件之间相互干扰也越强,所消耗功耗也增大,也不行避开地降低了系统的稳定性;4)系统中的相关器件要尽可能做到性能匹配。

如选用CMOS芯片单片机构成低功耗系统时,系统中全部芯片都应尽可能选择低功耗产品。

1.1 单片机型号及特性单片机型号是AT89S51。

特性是:⑴8031 CPU与MCS-51⑵兼容4K字节可编程FLASH存储器(寿命:1000写/擦循环) ⑶全静态工作:0Hz-24KHz ⑷三级程序存储器保密锁定⑸128*8位内部RAM ⑹32条可编程I/O线⑺两个16位定时器/计数器⑻6个中断源⑼可编程串行通道⑽低功耗的闲置和掉电模式⑾片内振荡器和时钟电路。

单片机生产实习报告

单片机生产实习报告(经典版)编制人:__________________审核人:__________________审批人:__________________编制单位:__________________编制时间:____年____月____日序言下载提示:该文档是本店铺精心编制而成的,希望大家下载后,能够帮助大家解决实际问题。

文档下载后可定制修改,请根据实际需要进行调整和使用,谢谢!并且,本店铺为大家提供各种类型的经典范文,如工作计划、工作总结、合同协议、条据书信、规章制度、应急预案、策划方案、教学资料、作文大全、其他范文等等,想了解不同范文格式和写法,敬请关注!Download tips: This document is carefully compiled by this editor. I hope that after you download it, it can help you solve practical problems. The document can be customized and modified after downloading, please adjust and use it according to actual needs, thank you!Moreover, our store provides various types of classic sample essays, such as work plans, work summaries, contract agreements, document letters, rules and regulations, emergency plans, planning plans, teaching materials, complete essays, and other sample essays. If you want to learn about different sample formats and writing methods, please pay attention!单片机生产实习报告单片机生产实习报告精选7篇单片机生产实习报告篇1一、实习目的单片机是一种集成电路芯片,采用超大规模集成电路技术把CPU、ROM、RAM等功能集成到一块硅片上构成一块小而完善的微型计算机系统,在工业控制领域广泛应用。

单片机实习总结及体会(3篇)

单片机实习总结及体会(3篇)单片机实习总结及体会(通用3篇)单片机实习总结及体会篇1通过这次单片机实习,我不仅加深了对单片机理论的理解,将理论很好地应用到实际当中去,而且我还学会了如何去培养我们的创新精神,从而不断地战胜自己,超越自己。

创新可以是在原有的基础上进行改进,使之功能不断完善,成为真己的东西。

作为一名自动化专业的快大三学生,我觉得做单片机实习是十分必要的。

在已度过的大学时间里,我们大多数接触的是专业课。

我们在课堂上掌握的仅仅是专业课的理论知识,如何去锻炼我们的实践能力,如何把我们所学的专业基础课理论知识运用到实践中去,我想做类似实习就为我们提供了良好的实践平台学习单片机没有捷径,不能指望两三天就学会,要坚持不懈,重在积累单片机是一门应用性和实践性很强的学科,要多动手,多做实验。

(4) 要学会参考别人的程序,减少自己琢磨的时间,迅速提高自己的编程能力。

(5) 碰到问题可以借助网络来搜寻答案和对自己有帮助的问题,一定会有所收获。

(6) 小组要团结,小组之间要多交流。

技术是靠不断的积累和交流才会进步的,封闭自守只会更加落后通过这次单片机设计?我不仅加深了对单片机理论的理解?将理论很好地应用到实际当中去?同时也使我认识到自身存在的不足之处?无论是理论上还是遇到问题的处理能力上都还有待提高?而且这也激发了我今后努力学习的兴趣。

发现问题、提出问题、分析问题、解决问题和实践能力的提高都会受益于我在以后的学习、工作和生活中。

1、不管做什么事,计划是很重要的。

没有一个完好的计划,做事情就会没有一个好的顺序,做事情会比较乱,很难成功。

而有一个好的计划,不管做什么事都会事半功倍,做事心中有数,明确重点和缓急,不会有疏漏。

这样才能提高成功率。

2、做事要多动脑,选出最好的方法。

一件事往往有多种解决方法,一个好的方法,不仅能使事情事半功倍,而且往往决定最后的成与败,所以做事时一定要多动一下脑筋,想出最好的方法。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

温度控制系统设计题目: 基于51单片机的温度控制系统设计姓名: 杜婉刁敬洁学院: 工学院专业: 机械设计制造及其自动化班级: 机制02班学号: 33110217 33110201 指导教师: 卢伟吕成绪2013年12月 15 日南京农业大学教务处制目录摘要 (3)一、系统设计2.1 项目背景 (4)2.2 设计任务和基本要求 (4)二、硬件设计3.1 硬件设计概要 (5)3.2 温度采集模块3.2.1 传感器DS18b20简介 (5)3.2.2 设计模拟电路图 (6)3.3 信息处理模块 (7)3.4 控制调节模块(温度上下限调节系统) (9)3.5 报警电路系统 (10)3.6 显示模块 (11)三、仿真显示成果 (12)四、实习小结 (14)五、附录5.1 原理图 (15)5.2 参考程序 (16)摘要在当代工业生产中,温度是常用的测量被控对象。

本设计是基于51单片机控制,将DS18B20温度传感器实时温度转化,并通过1602液晶对温度进行实时显示;通过按键调节温度报警区域,实现对温度在0℃-99℃控制的自动化。

实验结果表明此结构完全可行,温度偏差可达0.1℃以内。

关键字:单片机;传感器;温控;DS18b20Abstract: In modern industrial production, the temperature is commonly measured controlled factors.The design is based on the 51 SCM control, the DS18b20 temperature sensor real time temperature transformation, and through the 1602 LCD on the temperature of the real-time display, and by heating the sheet (PWM wave, changing its duty cycle) heating and stepper motor cooling successive approximation approach, keeping the temperature at the set temperature, through the buttons adjust temperature alarm area, the temperature at 0 ℃-99 ℃control automation.The experimental results show that this structure is completely feasible, the deviation of temperature can reach 0.1 DEG C.Key word: monolithic integrated circuit ; Sensors; Temperature control; DS18b20一、系统设计1.1 项目背景随着时代的发展,人们的生活水平越来越高,对生活的要求也越来越高,单片机也在各行业得到了广泛应用。

为了使其适应更多的领域,厂家采取了在一块单片机芯片上集成多种功能部件和大容量存储器的方法,整个应用系统不需要扩展,而体积变小、可靠性增高,使单片机成为真正意义上的单片机系统。

同时,随着现代信息技术的飞速发展,温度测量采集以及报警系统在工业、农业、军事及人们的日常生活中扮演着越来越重要的角色,对人们的生活产生着很大的影响,所以温度采集报警系统的设计与研究具有十分重要的意义。

其中,基于AT89C51的单片机温度控制系统与传统的温度控制系统相比,具有操作方便、价格便宜、精确度高和开展容易等特点,因此目前市场前景较好。

1.2设计任务和基本要求采用温度传感器DS18B20进行温度检测1、对采集温度进行显示(显示温度分辨率0.1℃),采集温度数值应采用数字滤波措施,保证显示数据稳定。

2、通过按键设置温度上下限,超限通过蜂鸣器和LED指示灯报警。

二、硬件设计2.1 硬件设计概要根据需求,我们将系统分为五个模块:温度采集模块、温度显示模块、温度调节模块、信息处理模块、温度报警模块。

该系统设计与制作流程示意图如图2.1所示图2.1 设计制作流程图2.2 温度采集模块2.2.1传感器DS18b20简介1.DS18B20是DALLAS公司生产的单总线数字温度传感器,具有3引脚TO-92小体积封装形式2.温度测量范围为-55℃~+125℃3.可编程为9位~12位A/D转换精度,对应的可辨温度分别为0.5℃、0.25℃、0.125℃和0.0625℃4.被测温度用符号扩展的16位数字量方式串行输出5.支持3V~5.5V的电压范围6.DS18B20非常适用于远距离多点温度检测系统。

DS18b20内部结构主要由四部分组成:64位光刻ROM、温度传感器、非挥发的温度报警触发器TH和TL、配置寄存器。

DS18B20的示意图如图2.2所示图2.2 DS18B20示意图左图中,DQ为数字信号输入/输出端、GND为电源地、VDD为外接供电电源输入端(在寄生电源接线方式时接地)DS18b20的原理接线图如图2.3所示:图2.3 DS18B20的实验板接线图2.2.2设计模拟电路图温度检测控制模拟电路图DS1B20原件及其连线如图2.4所示,此温度传感器上显示的温度同步显示到LCD1602上,并有升温,降温按钮。

图2.4 温度检测控制模拟电路图2.3 信息处理模块AT89C51是一种带4K字节FLASH存储器(FPEROM—Flash Programmable and Erasable Read Only Memory)的低电压、高性能CMOS 8位微处理器,俗称单片机。

AT89C2051是一种带2K字节闪存可编程可擦除只读存储器的单片机,其可擦除只读存储器可以反复擦除1000次。

该器件采用ATMEL高密度非易失存储器制造技术制造,与工业标准的MCS-51指令集和输出管脚相兼容。

由于将多功能8位CPU和闪速存储器组合在单个芯片中,ATMEL的AT89C51是一种高效微控制器,AT89C2051是它的一种精简版本。

AT89C51单片机为很多嵌入式控制系统提供了一种高灵活性且低价的方案。

其外形及引脚排列如图2.5、图2.6所示图2.5 单片机外形及引脚图2.6 单片机引脚排列示意图2.4控制调节模块(温度上下限调节系统)通过按键控制键选择调节对象,通过上升、下降调节温度值大小,模拟电路图如图2.7所示。

这里所设温度上限开关,下限开关,升温开关,降温开关,返回开关分别为key0、key1、key2、key3、key4,系统一般显示的是当前温度。

开关key0,key1用来选择温度上限、下限;开关key2为加1开关,按一下,加1;key3为减1开关,按一下,减1;key4为返回开关,按一下,显示屏返回主界面。

例如:开始时显示的是当前温度界面,按下key0进入高温设定界面,显示器上显示温度上限,按key2,上限加1,按key3,上限减1,再按key4进入主界面,显示器显示当前温度。

按key1进入低温温设定界面,显示器上显示温度下限,按key2,下限加1,按key3,下限减1,再按key4,进入显示当前温度界面。

如2.7所示(温度控制范围设为5℃-40℃)图2.7 温度控制调节模块2.5报警电路系统通过蜂鸣器的鸣叫和LED灯的亮与灭实现报警,工作过程如下:温度超过上限,蜂鸣器响,绿灯亮;温度低于下限,蜂鸣器响,蓝灯亮。

电路图如图2.8所示图2.8 报警模块控制电路2.6显示模块通过采集DS18B20的温度,同步显示到LCD1602上,精确到小数点后一位,如下图2.9所示图2.9 温度显示界面三、仿真显示成果启动时显示当前温度,如图3.1所示图3.1 开始启动时,显示当前温度信息温度低于低温下限时,电路工作示意图如图3.2所示图3.2 温度低于低温下限,蜂鸣器鸣叫,蓝灯亮温度高于高温上限时,电路工作示意图如图3.3所示图3.3 温度高于高温上限,蜂鸣器鸣叫,绿灯亮设置温度上限界面如图3.4所示图3.4 设置温度上限界面设置温度下限界面如图3.5所示图3.5 设置温度下限界面四、实习总结在这次为期一周的单片机实习中,我们组做的是温度控制系统。

实话实说,,就我们所学专业来看,单片机并非我们专业核心课程所涉及的内容,因此,这对我们来说并不简单。

开始的时候,无从着手,一直在浪费时间。

所幸,实习老师很负责,对我们也比较耐心,有不懂的地方可以问他们,还有对这方面感兴趣的同学都帮了我不少忙。

就这样在大家的帮助之下,我认真阅读了老师给的资料,参考大家的设计思路,分模块、设功能、根据各功能要求选择合适的电路与硬件设备。

另外,在硬件使用方面,我知之甚少,只能逐一对照使用手册,根据介绍,摸索着连接电路,至于程序的编制,则是参考其他同学的成果,并请他给我做了详细的讲解和介绍,就这样,总算完成了这次实习。

总之,通过这次实习我还是受益匪浅,不管怎么样,自己动手去做了,体会了这一过程的乐趣,也收获了知识,就没有浪费这次机会。

除此之外,我还深切的认识到合作的重要性,如果没有其他同学的帮助,我是不能很好的完成这次实习任务的。

学习的过程就是收获的过程,只要我们敢于问,乐于问,谦虚进取,一定会有所收获。

五、附录5.1原理图如下5.1所示图5.1 原理图5.2参考程序#include<reg51.h>#define uchar unsigned char#define uint unsigned intsbit DQ =P2^0; //一号ds18b20与单片机连接口sbit DQ1=P2^1; //二号ds18b20与单片机连接口sbit P2_3=P2^3;sbit P2_4=P2^4;sbit RS=P2^5; //LCD控制脚sbit RW=P2^6;sbit EN=P2^7;sbit key0=P3^3;sbit key1=P3^4; //按键定义sbit key2=P3^5;sbit key3=P3^6;sbit key4=P3^7;sbit bell=P1^7;uchar code str1[]={"wendu1:"};uchar code str2[]={"wendu2:"};uchar code str3[]={"set high "};uchar code str4[]={"set low "};uchar data disdata [5];uchar data disdata1[5];uchar data disdata2[4];uchar data disdata3[4];unsigned char temphigh=40,templow=5; //温度设定初始值uint flag0,flag1,flag2,flag3,flag4; //按键标志uint high,low; //高温和低温设置值uint tvalue,tvalue1; //温度值uchar tflag,tflag1; //温度正负标志/*******************lcP2_3602程序**********************/ void delay1ms(uint ms) //延时1毫秒{unsigned int i,j;for(i=0;i<ms;i++)for(j=0;j<110;j++);}void wr_com(uchar com) //LCD写指令{RS=0;RW=0;P0=com;delay1ms(5);EN=1;delay1ms(5);EN=0;}void wr_dat(unchar data) //LCD写数据{RS=1;RW=0;P0=data;delay1ms(5);EN=1;delay1ms(5);EN=0;}void lcd_init() //LCD初始化设置{wr_com(0x38); //设置16×2显示,5×7点阵,8位数据接口wr_com(0x0c); //设置开显示,不显示关标wr_com(0x06); //写一个字符后地址指针加1wr_com(0x01); //显示清0,数据指针清0}void display(uchar *p) //显示{while(*p!='\0'){wr_dat(*p);p++;delay1ms(5);}}void init_play() //1号初始化显示{lcd_init();wr_com(0x80);display(str1);}/******************二号初始化***********************/ void init_play1() //2号初始化显示{wr_com(0x80+0x40);display(str2);}/******************温度设定初始化******************/ /*init_wendusheding(){ if(flag1==1){lcd_init();wr_com(0x80);display(str3);}}/****************1号DS1820程序*********************/ void delay_18B20(uint i) //延时1微秒{while(i--);}void ds1820rst() //ds1820复位{uchar x=0;DQ = 1; //DQ复位delay_18B20(4); //延时DQ = 0; //DQ拉低delay_18B20(100); //精确延时大于480usDQ = 1; //拉高delay_18B20(40);}uchar ds1820rd() //读数据{uchar i=0;uchar dat = 0;for (i=8;i>0;i--){DQ = 0; //给脉冲信号dat>>=1;DQ = 1; //给脉冲信号if(DQ)dat|=0x80;delay_18B20(10);}return(dat);}void ds1820wr(uchar wdata) //写数据{uchar i=0;for (i=8; i>0; i--){DQ = 0;DQ = wdata&0x01; // 数据放在数据线上被读走delay_18B20(10);DQ = 1;wdata>>=1;}}read_temp() //1号读取温度值并转换{uchar a,b;ds1820rst();ds1820wr(0xcc); //跳过读序列号ds1820wr(0x44); //启动温度转换ds1820rst();ds1820wr(0xcc); //跳过读序列号ds1820wr(0xbe); //读取温度a=ds1820rd();b=ds1820rd();tvalue=b;tvalue<<=8;tvalue=tvalue|a;if(tvalue<0x07ff)tflag=0;else{tvalue=~tvalue+1;tflag=1;}tvalue=tvalue*(0.625); //温度值扩大10倍,精确到1位小数return(tvalue);}/**********************1号温度值显示**********************/void ds1820disp(){uchar flagdat;disdata[0]=tvalue/1000+0x30; //百位数disdata[1]=tvalue%1000/100+0x30; //十位数disdata[2]=tvalue%100/10+0x30; //个位数disdata[3]=tvalue%10+0x30; //小数位if(tflag==0)flagdat=0x20; //正温度不显示符号elseflagdat=0x2d; //负温度显示负号:- if(disdata[0]==0x30){disdata[0]=0x20; //如果百位为0,不显示if(disdata[1]==0x30)disdata[1]=0x20; //如果百位为0,十位为0也不显示}wr_com(0x80+0x0a);wr_dat(flagdat); //显示符号位wr_com(0x80+0x0b);wr_dat(disdata[0]); //显示百位wr_com(0x80+0x0c);wr_dat(disdata[1]); //显示十位wr_com(0x80+0x0d);wr_dat(disdata[2]); //显示个位wr_com(0x80+0x0e);wr_dat(0x2e); //显示小数点wr_com(0x80+0x0f);wr_dat(disdata[3]); //显示小数位}/*******************二号DS18B20程序**************************/ void delay_18B201(unsigned int i) //延时1微秒{while(i--);}void ds1820rst1() //ds1820复位{uchar x=0;DQ1 = 1; //DQ复位delay_18B20(4); //延时DQ1 = 0; //DQ拉低delay_18B201(100); //精确延时大于480usDQ1 = 1; //拉高delay_18B201(40);}uchar ds1820rP2_3() //读数据{uchar i=0;uchar dat1 = 0;for (i=8;i>0;i--){DQ1 = 0; //给脉冲信号dat1>>=1;DQ1 = 1; //给脉冲信号if(DQ1)dat1|=0x80;delay_18B201(10);}return(dat1);}void ds1820wr1(uchar wdata1) //写数据{uchar i=0;for (i=8; i>0; i--){DQ1 = 0;DQ1 = wdata1&0x01;delay_18B201(10);DQ1 = 1;wdata1>>=1;}}read_temp1() //2号读取温度值并转换{uchar a1,b1;ds1820rst1();ds1820wr1(0xcc); //跳过读序列号ds1820wr1(0x44); //启动温度转换ds1820rst1();ds1820wr1(0xcc); //跳过读序列号ds1820wr1(0xbe); //读取温度a1=ds1820rP2_3();b1=ds1820rP2_3();tvalue1=b1;tvalue1<<=8;tvalue1=tvalue1|a1;if(tvalue1<0x07ff)tflag1=0;else{tvalue1=~tvalue1+1;tflag1=1;}tvalue1=tvalue1*(0.625); //温度值扩大10倍,精确到1位小数return(tvalue1);}/*******************************************************************/ void ds1820disp1() //2号温度值显示{uchar flagdat1;disdata1[0]=tvalue1/1000+0x30; //百位数disdata1[1]=tvalue1%1000/100+0x30; //十位数disdata1[2]=tvalue1%100/10+0x30; //个位数disdata1[3]=tvalue1%10+0x30; //小数位if(tflag1==0)flagdat1=0x20; //正温度不显示符号elseflagdat1=0x2d; //负温度显示负号:- if(disdata1[0]==0x30){disdata1[0]=0x20; //如果百位为0,不显示if(disdata1[1]==0x30)disdata1[1]=0x20; //如果百位为0,十位为0也不显示}wr_com(0x80+0x4a);wr_dat(flagdat1); //显示符号位wr_com(0x80+0x4b);wr_dat(disdata1[0]); //显示百位wr_com(0x80+0x4c);wr_dat(disdata1[1]); //显示十位wr_com(0x80+0x4d);wr_dat(disdata1[2]); //显示个位wr_com(0x80+0x4e);wr_dat(0x2e); //显示小数点wr_com(0x80+0x4f);wr_dat(disdata1[3]); //显示小数位}void temphighdisplay(int i) //显示设定的最高温度{disdata2[0]=i/100+0x30; //百位disdata2[1]=i%100/10+0x30; // 十位disdata2[2]=i%10+0x30; // 个位if(disdata2[0]==0x30){disdata2[0]=0x20; //如果百位为0,不显示if(disdata2[1]==0x30)disdata2[1]=0x20; //如果百位为0,十位为0也不显示}wr_com(0x80+0x45);wr_dat(disdata2[0]); //显示百位wr_com(0x80+0x46);wr_dat(disdata2[1]); //显示十位wr_com(0x80+0x47);wr_dat(disdata2[2]); //显示个位}void templowdisplay(int j) //显示设定的最低温度{disdata3[0]=j/100+0x30; //百位disdata3[1]=j%100/10+0x30; //十位disdata3[2]=j%10+0x30; //个位if(disdata3[0]==0x30){disdata3[0]=0x20; //如果百位为0,不显示if(disdata3[1]==0x30)disdata3[1]=0x20; //如果百位为0,十位为0也不显示}wr_com(0x80+0x4d);wr_dat(disdata3[0]); //显示百位wr_com(0x80+0x4e);wr_dat(disdata3[1]); //显示十位wr_com(0x80+0x4f);wr_dat(disdata3[2]); //显示个位}/*******************按键处理程序*****************************/void keyscan(){ if(key0==0) //按键0{delay1ms(2);if(key0==0){ lcd_init();flag0=1;while(!key0);}}if(key1==0) //按键1 {delay1ms(2);if(key1==0){ lcd_init();flag1=1;while(!key1);}}if(key2==0) //按键2 {delay1ms(2);if(key2==0){flag2=1;while(!key2);}}if(key3==0) //按键3 {delay1ms(2);if(key3==0){flag3=1;while(!key3);}}if(key4==0) //按键4 {delay1ms(2);if(key4==0){ lcd_init();flag4=1;flag1=0;while(!key4);}}void displaymain(){read_temp(); //读取温度ds1820disp(); //显示read_temp1(); //读取温度ds1820disp1(); //显示}Void wendubaojing(void) //温度报警{if((tvalue/10)>=temphigh||(tvalue/10)<=templow){P2_3=0;bell=1;delay1ms(5);bell=0;delay1ms(100);}else{P2_3=1;bell=0;}}if((tvalue1/10)>=temphigh||(tvalue1/10)<=templow){P2_4=0;bell=1;delay1ms(1000);bell=0;delay1ms(1000);else{P2_4=1;bell=0;}}void jia1() //加一{if(flag2==1&&flag0==1){temphigh++;flag2=0;}if(flag2==1&&flag1==1){templow++;flag2=0;}}void jian1() //减1{if(flag3==1&&flag0==1){temphigh--;flag3=0; }if(flag3==1&&flag1==1){templow--;flag3=0;}}void wendusheding(){if(flag0==1||flag1==1) //设定温度报警的上下限{if(flag0==1){wr_com(0x80);display(str3);jia1();jian1();temphighdisplay(temphigh);}if(flag1==1){wr_com(0x80);display(str4);jia1();jian1();templowdisplay(templow);}}}}/*****************主程序***********************************/ void main(){lcd_init();init_play(); //1号初始化显示init_play1(); //2号初始化显示while(1){if(flag0==0&&flag1==0) //按键0和1都未按下displaymain(); //显示两路温度keyscan();wendubaojing(); //温度报警wendusheding(); //设定温度上下限if(flag4==1) //按键4 退出{displaymain(); //显示两路温度flag4=0;}}}31。

相关文档
最新文档