温度测量及时钟显示的课程设计
基于单片机的带温度显示的数字钟设计(c51语言编程)【开题报告】

开题报告电气工程及其自动化基于单片机的带温度显示的数字钟设计(c51语言编程)一、课题研究意义及现状1980年因特尔公司推出了MCS-51单片机,近30年来,其衍生系列不断出现,从Atmel加入FLASH ROM,到philips加入各种外设,再到后来的Cygnal推出C8051F,使得以8051为核心的单片机在各个发展阶段的低端产品应用中始终扮演着一个重要的角色,其地位不断升高,资源越来越丰富,历经30年仍在生机勃勃地发展,甚至在SoC时代仍占有重要的一席之地。
单片机具有体积小、功能强、低功耗、可靠性高、价格低廉等一系列优点,不仅已成为工业测控领域智能仪表、机电一体化、实时控制、国防工业普遍采用的智能化控制工具,而且已渗入到人们工作和和生活的各个角落,有力地推动了各行业的技术改造和产品的更新换代,应用前景广阔。
C语言已经成为当前举世公认的高效简洁而又贴近硬件的编程语言之一。
将C语言向单片机8051上移植十余20世纪80年代的中后期,经过几十年的努力,C语言已成为专业化单片机上的实用高级语言。
C语言是一种编译型程序设计语言,它兼顾了多种高级语言的特点,并具备汇编语言的功能。
此外,C语言程序具有完善的模块程序结构,从而为软件开发中采用模块化程序设计方法提供了有力的保障。
与汇编语言相比,C51在功能、结构、可读性、可维护性上有明显的优势,因而易学易用。
另外C51可以缩短开发周期,降低成本,可靠性,可移植性好。
因此,使用C语言进行程序设计已成为软件开发的一个主流,用C语言进行8051单片机程序设计是单片机开发与应用的必然趋势。
随着人们生活水平的提高,对物质需求也越来越高,人们已不再满足于钟表原先简单的报时功能,希望出现一些新的功能,诸如环境温度显示、日历的显示、重要日期倒计时、显示跑表功能等,用以带来更大的方便。
而所有这些,又都是以数字化的电子时钟为基础的,不仅应用了数字电路技术,而且还加入了需要模拟电路技术和单片机技术。
电子技术课程设计数字温度计

课程名称:电子技术课程设计设计题目:院系:专业:年级:姓名:指导教师:XXXX大学XX校区XX 年X月X日课程设计任务书专业: 姓名: 学号:开题日期: XX年X月X日完成日期:XX年X月X日题目: 数字温度计一、设计的目的1、设计一个简易的数字温度计满足一定的测量范围并通过LED显示出来;2、了解常用电子器件的类型和特性,并掌握合理选用的原则;3、进一步熟悉电子仪器的使用方法;4、学会撰写课程设计总结报告;5、培养独立分析问题和解决实际问题的能力;6、培养严肃认真的工作作风和严谨的科学态度。
二、设计的内容及要求1、测温范围为—30℃~+120℃,精度为±0.5℃;2、LED数码管直读显示,当温度为“负”则最高位显示“—”号,最低位显示单位“C”;3、当温度不在测量范围内(<—30℃或>+120℃)时,蜂鸣器报警且发光二极管闪烁。
三、指导教师评语四、成绩:指导教师(签章)年月日摘要:本设计以AT89C51单片机为核心,DS18B20数字式温度传感器为温度传感器,7段LED数码管构成显示电路;单片机控制DS18B20进行温度采集,在接收DS18B20传回数据后进行处理,通过74LS245驱动数码管显示实时温度的动态显示。
由于采用的是可编程器件作为控制核心,与传统的温度计相比该温度计具有示数直观,精度可调,功能易扩展等优点。
关键词:数字温度计、AT89C51 、DS18B20 、74LS245 、LED设计背景随着人们生活水平的不断提高,数字化无疑是人们追求的目标之一,它所给人带来的方便也是不可否定的,科学技术向着数字化、智能化控制方向发展,其中数字温度计就是一个典型的例子。
数字温度计与传统的温度计相比,具有读数方便,测温范围广,测温准确,其输出温度采用数字显示,主要用于对测温比较准确的场所,或科研实验室使用。
温度计是常用的热工仪表,常用于工业现场作业过程的温度测量,在工业生产过程中,不仅需要了解当前温度读数,而且还希望能了解过程中的温度变化情况。
温度测量显示电路设计.doc

目录一摘要......................................................1 二设计目的与意义.............................................1三方案论证与确定.............................................23.1系统方案的确定..................................................23.2传感器方案的确定................................................33.3测量显示方案的确定..............................................3 四系统工作原理分析...........................................4 五电路制作与调试..........................................10六附录...................................................16七参考文献...............................................27一.摘要在现今科技高速发展的时代,各行各业对控制和测量的要求越来越高,其中,温度测量和控制在很多行业中都有比较重要的应用,尤其在工业上,如炼钢时对温度高低的控制。
要控制好温度,测量是前提,测量的精度影响着后续工序的进行,因此温度测量的方法和选取就显得相当重要了。
针对各种温度测量方案的讨论分析后,我们组决定以AT89S52为核心,采用DS18B20温度传感器进行温度信号的检测,并通过LCD液晶显示测量所得温度,外加红外遥控调节设置温度测量的上下限数值(默认温度上下限为10℃~24℃),在所测温度到达所设上下限数值时,蜂鸣器启动报警提示。
综合课程设计--温度测量系统

基于AT89c51单片机温度测量系统目录一、研究意义 (2)二、系统设计要求、目的 (2)2.1、设计任务与要求 (2)2.2、实验目的 (2)三、系统设计方案 (3)3.1、总系统电路图 (3)3.2、各模块设计思想和电路原理图................................................................3-7四、系统工作基本流程 (7)五、软件设计程序代码.............................................................................................8-9六、实验数据对比与效果分析 (10)6.1、系统输入 (10)6.2、实验效果分析..........................................................................................10-12七、输入—输出结果分析 (12)八、参考资料 (13)一、研究意义在现代化的工农业生产和日常生活中,温度、电流、电压、压力、流量、流速和开关量都是常用的主要被控参数。
例如:在冶金工业、化工生产、电力工程、造纸行业、农业生产、机械制造和食品加工等诸多领域中,人们都需要对各类加热炉、热处理炉、反应炉、锅炉和温室中的温度进行检测,来达到有效的测量、控制和调节作用。
而在变电所、银行、温室等场所,需要一个非常明显的显示装置可以显示出现在的具体时间、安全运行天数、现场的温度、湿度值等。
这样可以给人们的生活生产带来很大的方便。
随着电子技术和微型计算机的迅速发展,微机测量和控制技术得到了迅速的发展和广泛的应用。
单片机具有处理能强、运行速度快、功耗低等优点,应用在温度测量与控制方面,控制简单方便,测量范围广,精度较高。
因此,基于单片机的温度测量系统的研究具有重大意义。
单片机课程设计方案—数字温度计

1 课题任务、功能要求说明及总体方案介绍1.1 课题目的随着社会的发展,温度的测量及控制变得越来越重要。
本文采用单片机STC89S52设计了温度实时测量及控制系统。
单片机STC89S52 能够根据温度传感器DS18B20 所采集的温度在数码管上实时显示,通过控制从而把温度控制在设定的范围之内。
所有温度数据均通过4位数码管LED显示出来。
系统可以根据时钟存储相关的数据。
通过该课程的学习使我们对计算机控制系统有一个全面的了解、掌握常规控制算法的使用方法、掌握简单微型计算机应用系统软硬的设计方法,进一步锻炼同学们在微型计算机应用方面的实际工作能力。
1.2 功能要求说明设计一个具有特定功能的数字温度计。
该数字温度计上电或按键复位后能自动显示系统提示符“P.”,进入准备工作状态。
测量温度范围0℃~99℃,测量精度小数点后两位,可以通过开始和结束键控制数字温度计的工作状态。
1.3 设计课题总体方案介绍及工作原理说明1.3.1设计课题总体方案(1>根据设计要求,选择AT89C52单片机为核心器件。
(2>温度检测器件采用DS18B20数字式温度传感器。
与单片机的接口为P3.6引脚。
(3>键盘采用独立式按键,由三个按键组成,分别是:设置键<SET),加一建<+1),确认键<RET)。
(4>SET键<上下限温度设置键):当该键按下时,进入上下限温度设置功能。
通过P0.1引脚接入。
(5>+1键<加一调整键):在输入上下限温度时,该键按下一次,被调整位加一。
通过P0.2引脚接入。
(6>RET键<确认键):当该键按下时,指向下一个要调整的位。
通过P0.3引脚接入。
1.3.2 工作原理说明本课题以是80S52单片机为核心设计的一种数字温度控制系统,利用温度传感器DS18B20可以直接读取被测温度值,进行转换的特性,模拟温度值经过DS18B20处理后转换为数字值,然后送到单片机中进行数据处理,并与设置的温度报警限比较,超过限度后通过扬声器报警。
电子时钟带温度显示

摘要本文介绍了一款基于AT89S51单片机控制的带有温度显示的电子钟的设计,通过多功能数字钟带有温度的设计思路,详细叙述了系统硬件、软件的具体实现过程。
论文重点阐述了数字钟硬件中MCU模块、温度模块、时钟模块、显示模块和相关控制模块等的模块化设计与制作;软件同样采用模块化的设计,包括中断模块、温度模块、时间调整模块设计,并采用简单流通性强的C语言编写实现。
本设计实现了时间的修改功能和年、月、日和星期的显示和温度显示功能。
关键词:单片机; C语言编程; DS1302时钟芯片;DS18B20;温度传感器前言单片微型计算机是随着超大规模集成电路技术的发展而诞生的,由于它具有体积小、功能强、性价比高等特点,所以广泛应用于电子仪表、家用电器、节能装置、军事装置、机器人、工业控制等诸多领域,使产品小型化、智能化,既提高了产品的功能和质量,又降低了成本,简化了设计。
本文主要介绍由单片机控制的带有温度显示的电子钟的设计。
随着人们生活水平的日益提高,人们对生活的要求越来越高,原有的事物已经不能满足人们的生活需求了,一些带有新功能的事物已经在慢慢的取代旧事物。
就像电子钟一样,人们用电子钟不仅仅只是看时间了,人们还需要看温度了。
越来越多的新功能更贴近人们的生活了,所以也越来越受人们所喜欢。
带有温度的的电子钟可以使人们随时都可以了解温度的变化。
1.系统实现功能、设计方案论证及芯片介绍1.1. 设计要求本设计准备实现的功能:(1) 万年历(2) 三键调时(设置键,+键,-键)(3) 可每次增减一进行时间调节(4) 按键蜂鸣器提示(5) 温度显示2. 方案论证与设计2.1. 设计方案论证方案一:用主芯片为AT89C51的单片机控制实现,使用单片机内部的定时计数器实现时间的设定,使用按键进行时间的调整和定时,按键有蜂鸣器提示,温度传感器使用DALLAS公司生产的单总线式数字温度传感器,它具有微型化、低功耗、高性能、抗干扰能力强、易配处理器等优点,特别适用于构成多点温度测控系统,可直接将温度转化成串行数字信号(提供9位二进制数字)给单片机处理,且在同一总线上可以挂接多个传感器芯片。
智能仪器课程设计报告

智能型温度测量仪报告题目:智能型温度测量仪院别:机电工程与自动化专业:生产过程自动化技术班级: xxx姓名: xxxXxxXxx指导老师: xxx目录引言................................................. 错误!未定义书签。
一、系统设计任务及要求........................................... - 2 -1.1系统设计任务 (2)1.2系统设计的基本要求 (2)1.3系统概述 (2)二、系统总体设计................................................. - 2 -整体设计方案的确定 (2)三、硬件电路设计及工作原理....................................... - 3 -3.1参数采集模块设计 (3)3.2显示温度模块和显示时钟介绍 (3)3.3具体硬件电路原理分析 (4)四、软件设计...................................................... - 7 -4.1主程序流程图 (7)4.2DS18B20温度读取程序(如图9) (8)4.3DS18B20温度传感器初始化 (8)4.4读出温度子程序 (9)4.5DS18B20的读写时序 (10)4.6按键流程图 (12)五、主要技术指标的测量........................................... - 12 -六、结论......................................................... - 13 -结束语........................................................... - 14 -附录:硬件原理图.................................................. - 15 -引言:温度是日常生活、工业、医学、环境保护、化工、石油等领域最常遇到的一个物理量,也是工业控制中主要的被控参数之一。
单片机原理与应用实验报告——温度测量显示及设定

《单片机原理与应用》课程实验报告院系:班级:学生:学号:指导教师:设计时间:哈尔滨工业大学1 实验的目的、内容和设备1.1 实验的目的单片机综合实验的目的是训练单片机应用系统的编程及调试能力,通过对一个单片机应用系统进行系统的编程和调试,掌握单片机应用系统开发环境和仿真调试工具及仪器仪表的实用,掌握单片机应用程序代码的编写和编译,掌握利用单片机硬件仿真调试工具进行单片机程序的跟踪调试和排错方法,掌握示波器和万用表等杆塔工具在单片机系统调试中应用。
1.2 实验内容实验的内容是利用APP001开发板实现一个温度测量显示和控制的单片机应用系统,利用APP001开发板上的温度传感器测量温度,通过键盘输入一个稳定设定值,当测量温度高于设定温度时发出声音报警,开启散热风扇开关,并在LCD上显示实时温度值,设定温度值和散热风扇的开关状态,其中日期和时间利用单片机的定时器来产生,并能通过键盘来设定。
通过该实验学习和掌握以下的内容:1)MPLAB开发环境的使用,程序编写和排错及软件仿真2)利用MPLAB和ICD2对程序进行在线仿真和调试3)使用万用表和示波器等仪器对硬件系统进行测量和调试4)PIC18F452单片机的I/O和PWM驱动及编程方法5)PIC18F452单片机LCD和键盘接口及编程方法6)PIC18F452单片机的USART编程及与PC机的通讯方法7)利用Timer1外接32.768kHz的晶振产生RTC1.3 实验设备1)运行MPLAB的PC机2)示波器、万用表3)直流电源4)ICD2仿真器5)APP001多功能实验板2 总体设计2.1 硬件总体设计系统组成方案图1系统框图2.2 软件总体设计图2主程序框图图3 中断程序框图3 硬件设计1)散热风扇开发输出控制:实验中我们利用一个LED来模拟风扇状态,当散热风扇开关打开时,LED被点亮发光,当散热风扇关闭时,LED不发光。
开发板上的指示灯D11由RB2,低电平亮,高电平灭。
基于51单片机的DS18B20温度检测_设计报告

课程名称:微机原理课程设计题目:温度检测课程设计随着时代的进步和发展,单片机技术已经普及到我们生活,工作,科研,各个领域,已经成为一种比较成熟的技术,本文将介绍一种基于单片机控制的温度检测仪。
本设计使用简便,功能丰富。
可以实现温度采集,温度报警,重设上下限温度值等功能。
在现代化的工业生产中,需要对周围环境的温度进行检测和控制。
本设计对温控报警问题展开思考,设计一个能根据需求设置低温到高温进行报警并通过数码管显示的系统。
该系统使用STC89C51单片机,同时运用单线数字温度传感器DS18B20,四位共阴数码管显示,按键控制等模块可实现温度的检测与设置。
课题经过实验验证达到设计要求,具有一定的使用价值和推广价值。
本作品使用四位共阴数码管显示,可以清晰地显示当前的报警温度,一定程度避免使用者使用时出错,安全可靠,可使用于各种食品储存室,植物养殖所等地方,实用性很高。
关键字:温度报警器 STC89C51单片机数码管 DS18B20一、课程设计目的和要求 (1)1.1 设计目的 (1)1.2 设计要求 (1)二、总体设计方案 (1)三、硬件设计 (2)3.1 DS18B20传感器 (2)3.2 STC89C51功能介绍 (6)3.3 时钟电路 (8)3.4 复位电路 (8)3.5 LED显示系统电路 (9)3.6 按键控制电路 (11)3.7 蜂鸣器电路 (11)3.8 总体电路设计 (12)四、软件设计 (14)4.1 keil软件 (14)4.2 系统主程序设计 (14)4.3 系统子程序设计 (15)五、仿真与实现 (18)5.1 PROTEUS仿真软件 (18)5.2 STC-ISP程序烧录软件 (19)5.3 使用说明 (20)六、总结 (21)一、课程设计目的和要求1.1 设计目的熟悉典型51单片机,加深对51单片机课程的全面认识和掌握,对51单片机及其接口的应用作进一步的了解,掌握基于51单片机的系统设计的一般流程、方法和技巧,为我们解决工程实际问题打下坚实的基础。
数字时钟温度计课程设计

数字时钟温度计课程设计一、课程目标知识目标:1. 学生能理解数字时钟温度计的基本原理和功能;2. 学生能掌握数字时钟温度计的显示方式,包括时间、日期和温度的读取;3. 学生能了解数字时钟温度计在日常生活和科技领域的应用。
技能目标:1. 学生能够独立操作数字时钟温度计,进行时间设定、温度测量等基本操作;2. 学生能够运用所学知识,分析并解决数字时钟温度计使用过程中遇到的问题;3. 学生能够通过实际操作,培养观察、思考、动手解决问题的能力。
情感态度价值观目标:1. 学生培养对电子产品的兴趣,激发学习科学技术的热情;2. 学生养成珍惜时间、关注生活品质的好习惯,认识到科技与生活的紧密联系;3. 学生在团队协作中,学会互相尊重、互相帮助,培养合作精神。
课程性质:本课程为实践性较强的科技课程,结合生活实际,培养学生的动手操作能力和创新思维。
学生特点:五年级学生对新鲜事物充满好奇心,具备一定的观察和思考能力,动手操作能力逐渐增强。
教学要求:注重理论与实践相结合,关注学生个体差异,鼓励学生积极参与,充分调动学生的主观能动性。
通过课程学习,使学生在知识、技能和情感态度价值观方面得到全面提升。
二、教学内容本课程以《科学》教材中“时间与温度的测量”章节为依据,进行以下教学内容的选择和组织:1. 数字时钟温度计的基本原理:- 讲解数字时钟温度计的工作原理,包括时钟芯片、温度传感器等;- 介绍数字时钟温度计的显示方式,如LED、LCD等。
2. 数字时钟温度计的操作与使用:- 指导学生掌握数字时钟温度计的基本操作,如时间设定、温度测量等;- 讲解数字时钟温度计在实际应用中的注意事项和维护保养方法。
3. 数字时钟温度计的应用案例分析:- 分析数字时钟温度计在日常生活、工业生产、科研等领域中的应用案例;- 引导学生思考数字时钟温度计在现代社会中的重要作用。
教学大纲安排如下:第一课时:数字时钟温度计的基本原理及显示方式;第二课时:数字时钟温度计的操作与使用;第三课时:数字时钟温度计的应用案例分析及讨论。
基于单片机的数字时钟和高精度数字温度计设计报告

基于单片机的数字时钟和高精度数字温度计设计报告摘要:采用单片机AT89C52与集成温度传感器DS18B20、时钟芯片DS1302、液晶显示器LCD1602构成数字时钟和温度计。
通过编写程序实现对DS18B20、DS1302的读写操作,实现了时间、温度等数据在液晶显示器上的正确显示。
经过测试,显示的时间和温度正确,实现了预期的设计目标。
一、方案设计本项目拟设计基于单片机的数字时钟和数字温度计,并将时间和温度显示在液晶显示器上。
1.主控制器的选择AT89C52是MCS-51系列中的一个低电压,高性能CMOS 8位单片机,片内含8k bytes的可反复擦写的Flash只读程序存储器和256 bytes的随机存取数据存储器(RAM),器件采用ATMEL公司的高密度、非易失性存储技术生产,兼容标准MCS-51指令系统,片内置通用8位中央处理器和Flash存储单元,功能强大的AT89C52单片机可为您提供许多较复杂系统控制应用场合。
另外,在校期间所涉及到也主要是MCS-51系列单片机,对于其内部功能和指令系统较为熟悉,能在较为短的项目内完成项目的设计和验证。
2、时钟功能的实现时钟功能的实现有两种方案:一是用软件实现,直接用单片机的定时器编程以实现时钟;二是用专门的时钟芯片实现时钟的记时,再把时间数据送入单片机,由单片机控制显示。
比较两种方案,用软件实现时钟固然可以,但是程序运行需占用大量的CPU资源,会影响记时的准确度。
而用专用时钟芯片可以实现准确记时。
顾采用专用时钟芯片DS1302来实现时钟功能。
3、温度功能的实现可以采用热敏电阻来实现温度的测量,可满足40摄氏度至90摄氏度测量范围,但热敏电阻精度、重复性、可靠性较差,对于检测到的温度的精确度不能够得到保证。
在本装置中,要实现精度为0.1摄氏度温度的车辆,采用热敏电阻不嫩够满足求,故考虑采用数字温度传感器DS18B20。
DS18B20 测量温度,输出信号全数字化,便于单片机处理及控制,单总线的数据传输,省去传统的测温方法的很多外围电路,系统的结构可以做得较为紧凑。
基于单片机的时钟和温度计的设计

实验报告实验名称基于单片机的时钟和温度计的设计班级姓名基于单片机的时钟和温度计的设计一.原理1.最小系统最小系统是51单片机的典型最小系统电路,在这里不再赘述。
2.复位电路复位电路采用按键复位方式,也不再赘述。
3.数码管部分数码管为典型的四位时钟共阴数码管,用P1口控制的三极管Q2-Q6来驱动位选,用P口来控制段选。
4.独立按键部分本实验板设计了六个独立按键,但在本时钟实验中只用到了由P3.7,P3.6和P3.5控制的KEY4,KEY5和KEY6。
KEY4控制时钟设置位,KEY5为时钟加,KEY6为时钟减。
独立按键的原理是:当按键没有被按下时,对应的I/O电平为高电平,当按键被按下时对应的I/O 口就会变为低电平,这样的话只需让单片机检测I/O电平,当检测到某一位为低电平时,执行相应的操作就可以了。
5.DS18B20部分DS18B20是DALLAS公司生产的单总线数字温度传感器芯片,具有3引脚TO-92小体积封装形式;温度测量范围为-55℃—+125℃,可编程为9—12位A/D转换精度,测温分辨率可达0.0625℃,被测温度用16位补码方式串行输出;其工作电源既可在远端引入,也可采用寄生电源方式产生;多个DS18B20可以并联3根或两根线上,CPU只需一根端口就能与诸多DS18B20通信,占用微处理器的端口较少。
可广泛用于工业、民用、军事等领域的温度测量及控制仪器、测控系统和大型设备中。
二.焊接由于实验板是现成的,我们的焊接只需将元件和器件按照电路图插到相应的位置就可以了,所以只要细心一点一般不会出现太大的问题,就是有些经常容易出现的细节性错误需要注意,比如二极管和LED灯不要插反了,单片机和MAX232芯片一定要按着缺口插对。
另外一个是在焊接的时候一定不能心急,俗话说:慢工出细活。
如果太着急完成焊接任务很可能出现比如虚焊,漏焊的问题,这些都会给后期的调试造成很大的麻烦。
焊接注意事项A.电烙铁使用注意事项(1) 新买的烙铁在使用之前必须先给它蘸上一层锡。
课程设计(论文)基于lcd液晶显示的多功能数字钟的设计(附pcb图及电路原理图)

目录1前言 (1)2总体方案设计 (2)2.1设计内容 (2)2.2设计内容 (2)2.3方案论证 (3)2.4方案选择 (4)3单元模块设计 (5)3.1各单元模块功能介绍及电路设计 (5)3.1.1 温度采集电路 (5)3.1.2 DS1302时钟电路 (5)3.1.3 串行通信接口电路 (6)3.1.4 USB连接电路 (6)3.1.5 按键电路 (7)3.1.6液晶显示显示电路 (7)3.2特殊器件介绍 (7)3.2.1 STC89C52单片机芯片 (7)3.2.2 DS1302介绍 (8)3.2.3 温度传感器DS18B20 (9)3.2.4 液晶显示LCD1602 (9)4软件设计 (10)4.1软件选择 (10)4.2软件设计流程 (10)4.2.1 温度采集流程 (11)4.2.2 日期数据处理流程 (12)5系统的仿真及调试 (13)5.1系统仿真 (13)5.2硬件调试 (13)5.3软件调试 (14)6结论 (16)7总结与体会 (17)7.1设计小结 (17)7.2设计收获及改进 (17)7.3致谢 (17)8参考文献 (18)附录: (19)1前言单片机是指一个集成在一块芯片上的完整计算机系统。
尽管他的大部分功能集成在一块小芯片上,但是它具有一个完整计算机所需要的大部分部件:CPU、内存、内部和外部总线系统,目前大部分还会具有外存。
同时集成诸如通讯接口、定时器,实时时钟等外围设备。
而现在最强大的单片机系统甚至可以将声音、图像、网络、复杂的输入输出系统集成在一块芯片上。
单片机也被称为微控制器(Microcontroller),它不是完成某一个逻辑功能的芯片,而是把一个计算机系统集成到一个芯片上。
概括的讲:一块芯片就成了一台计算机。
它的体积小、质量轻、价格便宜、为学习、应用和开发提供了便利条件。
单片机诞生于20世纪70年代末,经历了SCM、MCU、SOC三大阶段。
STC单片机完全兼容51单片机,并有其独到之处,其抗干扰性强,加密性强,超低功耗,可以远程升级,内部有专用复位电路,价格也较便宜,由于这些特点使得 STC 系列单片机的应用日趋广泛。
单片机课程设计 多功能时钟设计

单片机课程设计课程名称:多功能时钟设计课程设计(论文)任务书I、课程设计(论文)题目:多功能时钟设计II、课程设计(论文)使用的原始资料(数据)及设计技术要求:1、设计能支持年、月、日、星期、时、分、秒的时钟,时钟有时间调整功能及闹钟功能;2、时钟附带有一个温度计功能,温度检测精度高于2度,显示精度为1度;、3、时钟具有装卸电池时掉电保护功能,保护时间大于5分钟;4、时钟功耗小于0.5MA/5V。
III、课程设计(论文)工作内容及完成时间:3月11日至3月12日:查找资料,方案论证;3月12日至3月13日:总体规划;3月13日至3月14日:显示部分、数字时钟、温度采集和闹铃的设计;3月14日至3月15日:软件程序设计;3月15日:整理数据,撰写报告。
Ⅳ主要参考资料:[1]求是科技. 单片机典型模块设计实例导航. 北京:人民邮电出版社. 2005.8[2]徐淑华, 程退安等.单片微型机原理及应用. 哈尔滨:哈尔滨工业大学出版社. 2005.1[3]孙余凯. 精选实用电子电路260例. 北京:电子工业出版社. 2007.6[4]殷春浩, 崔亦飞. 电磁测量原理及应用. 徐州:中国矿业大学出版社. 2003.7[5]《LCD1602A数据手册》[6]《DS1302数据手册》[7]《DS18B20数据手册》[8]《A T24C02数据手册》机械与电气工程学院 10机械设计制造及其自动化(本) 专业 1 班学生:学号:日期:自2013年3月11日至2013年3月15日指导教师:助理指导教师(并指出所负责的部分):教研室主任:附注:任务书应该附在已完成的课程设计说明书首页。
摘要本设计采用LCD屏幕显示系统,以STC89C52RC单片机为核心,由键盘、温度采集、定时闹铃、日期提醒等功能模块组成。
基于题目基本要求,本系统对时间显示、闹铃方式进和温度采集系统行了重点设计。
此外,扩展了整点报时、非易失闹铃信息存储、国内外重要节日提醒等功能。
课程设计实验报告 温度计的设计

课程设计报告课题名称:基于DS18B20的温度计的设计姓名:常艳昭学号:1128401073班级:11级通信工程时间:2014年6月10日本实验介绍了一种基于单片机控制的数字温度计,就是用单片机AT89C51实现温度测量和报警,采用DS18B20温度传感器来作为温度监测元件,测温范围是-30度~120度,使用LCD显示模块,能通过按键调整报警的上下限温度。
该电路设计结构简单,可靠性高,功能强大。
关键词:单片机,温度计,AT89C51,DS18B20,LCD显示AbstractThe design of the Digital Thermometer,using AT89C51 MCD as the core to control the temperature measurement and alarm,uses DS18B20 temperature sensor for temperature monitoring device,which can measure temperatures from -30 to 120 degrees. This study uses LCD to show the current temperature. It can adjust the upper and lower temperature of the alarm by the three buttons. This circuit design has simple structure, high reliability and powerful functions.Key words: MCD, Thermometer, AT89C51, DS18B20, LCD1.设计目标 (4)1.1设计要求 (4)1.2设计背景 (4)2.设计方案2.1 设计思路 (4)2.2 设计框图 (4)2.3 所需器材 (5)3.硬件设计 (5)3.1主控制器AT89C51 (5)3.2温度传感器DS18B20 (5)3.3 各部分电路说明 (7)3.3.1 晶振电路 (7)3.3.2 复位电路 (8)3.3.3 蜂鸣器和指示灯电路 (8)3.3.4 DS18B20温度采集电路及按键控制电路 (8)3.3.5 LCD显示电路 (8)4.电路测试及分析 (9)4.1 实物图 (9)4.2 实测结果 (9)4.2.1温度显示及报警 (9)4.2.2掉电保存 (10)5.总结 (11)附录一、proteus仿真电路图 (11)附录二、总程序 (11)1.设计目标1.1 设计要求1、使用DS18B20温度传感器设计温度测量电路,温度范围设置为-30度到150度。
基于plc的温度和湿度检测和显示(毕业设计)

基于plc的温度和湿度的检测和显示摘要本论文主要讲述了基于西门子S7-200系列可编程控制器(PLC)为主要的控制元件,实现对环境的温度和湿度进行实时检测和显示,并同时实现对时间进行显示和校正等功能的显示装置的设计方法。
本设计的传感器部分采用集成温度和湿度传感器,集成传感器具有功能强、精度高、响应速度快、体积小、微功耗、价格低、适合远距离传输信号等特点。
集成传感器的外围电路简单,具有较高的性价比。
经过选择集成温度传感器采用电压输出式单片精密集成温度传感器LM35系列产品;集成湿度传感器选择线性电压输出式集成湿度传感器 HM1500,它的主要特点是采用恒压供电、内置放大电路、能输出与相对湿度呈比例关系的伏特级电压信号、响应速度快、重复性好、抗污染能力强。
显示部分采用LED七段码进行显示,本装置一共使用了十七个LED数码管进行显示,能够同时显示当时环境的温度、湿度和时间,还可以显示年月日等信息,并能实现当环境的温湿度超过一定范围时进行报警的功能。
关键词:PLC;温度传感器;湿度传感器;LED显示装置The design of detection and display about the temperatureand humidity based on PLCAbstractThis paper mainly based on Siemens S7-200 series programmable controller (PLC) for the control of the main components realize the environmental temperature and humidity for real-time detection and display, and to simultaneously achieve right time and calendar set up for display and function display devices design methods.The design of the sensor using integrated temperature and humidity sensors, sensor integration with functional and high accuracy. Fast response, small size, very low-power, low price, suitable for long-distance signal transmission characteristics. Integrated sensor external circuit is simple and low cost and high performance. Selected integrated temperature sensor output voltage precision-integrated single-chip temperature sensor LM35 series of products; Integrated humidity sensor option linear voltage-output integrated humidity sensors HM1500. Its main feature is the constant voltage power supply, a built-in amplifier, can be output with the relative humidity is the ratio between the voltage level signal voltage, fast response and good reproducibility, anti-pollution capability. LED used in some of the display code in paragraph 107, the device used a total of 17 LED digital tubes, can also showed that environmental temperature, humidity and time, can also display information such as the date, and the environment can be achieved when the temperature and humidity of more than a certain scope for alarm functions.Key words:PLC; Temperature sensor; Humidity sensor; LED display devices目录摘要Abstract目录第一章引言1.1 课题的背景和意义第二章系统简介及方案论证2.1 系统设计主要技术指标与参数2.2 设计方案的论证第三章可编程控制器概述3.1 PLC的系统组成与工作原理3.1.1 PLC的组成结构3.1.2 PLC的扫描工作原理3.2 PLC的发展趋势第四章系统的硬件方案与设计4.1 传感器的选型与设计4.1.1 集成温度传感器介绍与选型4.1.2 集成湿度传感器介绍与选型4.2 PLC的选型与模块配置4.2.1 PLC的选型原则4.2.2 本系统中可编程序控制器的选取及其特点4.3显示方案的设计4.3.1 与LED显示相关的知识4.3显示方案的设计4.3.1 与LED显示相关的知识4.3.2 显示方案的设计4.4 工作电源部分第五章系统软件设计5.1 显示系统主程序5.1.1 温度读入子程序5.1.2 湿度读入子程序5.1.3 显示子程序5.1.4 实时时钟指令5.2 程序清单结论参考文献致谢附录1.主程序梯形图及指令表2.时钟初始化子程序0梯形图及指令表3.实时时钟读入子程序1梯形图及指令表4.温度读入子程序2梯形图及指令表5.湿度读入子程序3梯形图及指令表6.显示子程序4梯形图及指令表7.中断0(调时闪)梯形图及指令表8.中断1(报警闪)梯形图及指令表第一章引言1.1 课题的背景和意义温度、湿度和人类的生产、生活有着密切的关系,同时也是工业生产中最常见最基本的工艺参数,例如机械、电子、石油、化工等各类工业中广泛需要对温度、湿度的检测与控制。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
电子工艺课程设计报告题目温度测量及时钟显示的设计姓名季琪源学号 20092305914院系滨江学院专业电子信息工程组员季琪源、邢卫国二O一二年五月南京信息工程大学电子信息工程系,南京 210044基于AT89S52单片机温度测量及时钟显示设计摘要:本设计主要是温度测量及时钟显示的设计,由单片机AT89S52芯片和DS18B20芯片及1602液晶显示为核心,辅以必要的电路来设计制作完成。
它是低功耗、高性能的CMOS型8位单片机。
片内带有4KB的Flash存储器,且允许在系统内改写或用编程器编程。
另外, AT89S52的指令系统和引脚与51完全兼容,片内有128B 的RAM、32条I/O口线、2个16位定时计数器、5个中断源、一个全双工串行口等。
由于其功能的实现主要通过软件编程来完成,降低了硬件电路的复杂性,而且其成本也有所降低,所以在该设计中采用单片机利用AT89S52。
并且AT89S52单片机结合1602液晶显示器的设计,在显示方面比数码管更简单,不用送段码和位码只需键入所要输出的数字或单词即可。
关键字:AT89S52、DS18B20、数字钟一、引言:数字钟是采用数字电路实现对时分秒数字显示的计时装置,广泛用于个人家庭、办公室等公共场所,已成为人们日常生活中不可少的必需品,由于数字集成电路的发展和石英晶体与振荡器的广泛应用,使得数字钟的精度远远超过老式钟表,而且大大地扩展了钟表原先的报时功能,这些的实现都是以钟表数字化为基础的。
因此,研究数字钟及扩大其应用,有着非常现实的意义。
二、设计目的与要求2.1设计目的⑴.进一步掌握单片机的原理及其功能。
学会利用单片机做一些简单的电子设计与制作。
⑵.熟悉DS18B230温度传感器的作用及其原理,会利用其进行温度的测量。
⑶.通过此次的电路焊接和调试提高自己的动手及其分析问题的能力。
2.2设计要求1.以MCS-51系列单片机为核心器件,组成一个电子时钟系统。
2.系统显示器由4位LED数码管组成,分别显示时间值的小时和分,以24h (小时)计时方式。
3.能够使用按键开关随时对当前时间进行调整。
2.3系统的主要功能通过DS18B20进行温度的测量,再由一条I/0数据端口与单片机进行通信,最后将结果显示在数码管上,实现温度检测的功能,另外在单片机上编写一个时钟程序同时在显示器上显示出来,实现时钟显示的功能。
小组分工情况邢卫国主要负责软件部分,主要工作是编写程序,画电路图。
季琪源主要负责焊接电路与报告的撰写,一起完成了本次课程设计的任务。
三、设计方法步骤及设计原理3.1原理框图为了实现LED显示器的数字显示,可以采用静态显示法和动态显示法。
由于静态显示法需要数据锁存器等硬件,接口复杂一些。
考虑时钟显示只有4位,且系统没有其他复杂的处理任务,所以决定采用动态扫描法实现LED的显示。
单片机采用易购的AT89S52系列,这样单片机可具有足够的空余硬件资源实现其它的扩充功能。
图3—1总设计方框图3.2原理说明采用AT89S52单片机,最小化应用设计;采用共阴七段LED显示器,P0口输出段码数据,P1.0~P1.7口作列扫描输出,P2.0,P2.1,P2.2,P2.3,P2.4,口接五个按钮开关,用以调时功能设置,P2.5口接温度传感器用于温度的测量。
为了提供共阴LED数码管的驱动电压,用9013三极管作电源驱动输出。
采用12MHz晶振,有利于提高通信波特率的准确性。
为了提高驱动能力在P0口,P1口和数码管之间要接上9013三极管,Proteus中不需接也可以正常显示,复位电路和晶振电路没接不影响仿真。
整体线路设计如下:图3—2总设计原理图3.3晶振及复位电路3.4 系统仿真点击仿真后默认显示时间按下P2.3口上的开关后切换显示温度按下P2.4口上的开关后切换显示时间四、软件流程图及程序设计(1)主程序本设计中,计时采用定时器T0中断完成,其余状态循环调用显示子程序,当端口开关按下时,转入相应功能程序。
(2)LED显示子程序数码管显示的数据存放在内存单元wei[0]- wei[7]中。
其中 wei [0]- wei [1]存放时数据,wei [2]- wei [3]存放分数据,wei [4]- wei [5]存放秒数据,每一地址单元内均为十进制BCD码。
由于采用软件动态扫描实现数据显示功能,显示用十进制BCD码数据的对应码段存放在ROM表(tab[11]中。
显示时,先取出wei [0]- wei [7]中的某一数据,然后查得对应的显示用码段,并从P0口输出,P3口将对应的数码管选中供电,就能显示该地址单元的数据值。
(3)定时器T0中断服务程序定时器T0用于时间计时。
中断进入后,时钟计时累计中断达1秒时,对秒计数单元进行加1操作。
在计数单元中采用十进制BCD码计数,满60进位,T0中断服务程序执行。
流程见下图:图4—1主程序流图图4—2子程序流图图4—4 温度转换流程图图4—3 读温度流程图四、系统调试及总结分析(附上实物照片)单片机应用系统的调试包括硬件和软件两部分,但是他们并不能完全分开。
一般的方法是排除明显的硬件故障,再进行综合调试,排除可能的软/硬件故障。
1.系统性能测试与功能说明走时:默认为走时状态,按24小时制分别显示“时时.分分.秒秒”,时间会按实际时间以秒为最少单位变化。
走时调整:按一下minute加一分;对时进行调整,按一下hour加一小时,从而达到快速设定时间的目的。
2.系统时钟误差分析时间是一个基本物理量,具有连续、自动流逝、不重复等特性。
我国时间基准来自国家授时中心,人们日常使用的时钟就是以一定的精度与该基准保持同步的。
结合时间概念和误差理论,可以定义电子钟的走时误差S=S1-S2,S1表示程序实际运行计算所得的秒;S2表示客观时间的标准秒。
S>0时表示电子钟秒单元数值刷新滞后,即走时误差为“慢”;反之,S<0表示秒单元数值的刷新超前,即走时误差为“快”。
本次设计的单片机电子钟系统中,其误差主要来源包括晶体频率误差,定时器溢出误差,延迟误差。
晶体频率产生震荡,容易产生走时误差;定时器溢出的时间误差,本应这一秒溢出,但却在下一秒溢出,造成走时误差;延迟时间过长或过短,都会造成与基准时间产生偏差,造成走时误差。
3.软件调试问题及解决软件程序的调试一般可以将重点放在分模块调试上,统调是最后一环。
软件调试可以采取离线调试和在线调试两种方式。
前者不需要硬件仿真器,可借助于软件仿真器即可;后者一般需要仿真系统的支持。
本次课题,Keil软件来调试程序,通过各个模块程序的单步或跟踪调试,使程序逐渐趋于正确,最后统调程序。
五、注意事项与心得体会1.实习中的连线问题:使用了为了提供共阴LED数码管的驱动电压,用74LS244作电源驱动输出。
由P0口输出驱动数码管的段选择,而P3口的输出接上2803芯片驱动数码管的位选择。
在连线时要注意芯片端口号和引脚号的区别,所以我参考了老师给我们的芯片资料,感觉非常有用,不但帮我们完成了线路图的连接,而且对于我们以后的学习也是非常有用的。
对于数码管的段端口号和位端口号的确定有一定的困难,开始连线时我没有自己确定端口号,而是直接参考王老师连得电路图,感觉非常困难,后来我想到数码管就是由一个一个的二极管组成的,我为什么不用外用表自己来测量呢?这样既可以完成实验操作,而且还可以提高自己动手解决问题的能力。
弄清原理后我很快确定好了数码管各个端口号对应的芯片引脚。
P1.0,P1.1和P1.2是开关调节按钮,具体功能下面叙述,连线比较简单。
对于这次连线总的来说还是比较简单的,可能一个看起来很复杂的电路图,如果我们能够弄清楚原理,那么就非常简单。
同样对于我们学习也是这样的,遇到困难不能退缩,如果那样的话,那么也许我们永远不能够解决问题。
2.程序的编写过程我们在大一时学习了C语言,当时不知道它有什么具体的作用,无非不就是编写一些简单无聊的程序。
通过这次单片机的实习,我充分认识到C语言的强大功能。
现在有点后悔当初没有好好学习这门语言。
上学期学习单片机基础知识时我们主要是应用汇编语言编写程序,但是对于一些大型复杂的程序,可能汇编语言会很复杂。
如何解决这个问题呢?实习老师向我们讲解了C51语言的强大功能,让我们到图书馆找一些资料学习一下。
经过两个星期的系统学习,我基本掌握了编程思想和一般的方法。
3.心得体会这是我又一次用单片机做成功的小制作硬件。
在制作过程中,我对51单片机的了解进一步的加深,对KEIL软件的使用更加灵活,对Proteus模拟软件有了初步的了解。
查阅相关电子毕业论文网站,对论文的书写也有了流程框架。
我学到了许多自己以前没有接触过的知识,真是受益匪浅。
经过一次次的使用Proteus也是我在学习单片机中不可缺少的系统仿真软件工具,它是现在市场上用来软件仿真最为重要的之一。
在写报告时Microsoft –word也是不可缺少的办公软件,以前我对这个软件很陌生,通过这次的报告的编写,我对它的运用得到了进一步的认识。
附录:#include"reg52.h"unsigned char tempL=0,tempH=0; // 设置全局变量unsigned int temperature;unsigned char code tab[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90,0xbf};unsigned char code tab1[]={0x40,0x79,0x24,0x30,0x19,0x12,0x02,0x78,0x00,0x10};//带小数点的数unsigned char wei[]={0x10,0x20,0x40,0x80,0x01,0x02,0x04,0x08};unsigned int dua[]={0,0,10,0,0,10,0,0};unsigned int dispbuf[]={0,0,0};unsigned int hour=12;unsigned int minite=0;unsigned int second=0;unsigned int tcnt=0;sbit key1=P2^0;sbit key2=P2^1;sbit key3=P2^2;sbit key4=P2^3;sbit key5=P2^4;sbit DQ=P2^5; //数据传输线接单片机的相应的引脚/******************************************************************/void delay(int x) //延时程序{whil e(x--);}//**********************************************//初始化程序void Init_DS18B20(void){unsigned char x=0;DQ=1; //DQ先置高delay(8); //稍延时DQ=0; //发送复位脉冲delay(85); //延时(>480us)DQ=1; //拉高数据线delay(14); //等待(15-60us)x=DQ; //delay(20);}//**********************************************//读一个字节ReadOneChar(void){unsigned char i=0;unsigned char dat=0;for(i=8;i>0;i--){DQ=1;delay(1);DQ=0;dat>>=1;DQ=1;if(DQ)dat|=0x80;delay(4);}return(dat);}//*********************************************** //写一个字节void WriteOneChar(unsigned char dat){unsigned char i=0;for(i=8;i>0;i--){DQ=0;DQ=dat&0x01;delay(5);DQ=1;dat>>=1;}delay(4);}//****************************** ReadTemperature(void){Init_DS18B20();WriteOneChar(0xcc);WriteOneChar(0x44);delay(125);Init_DS18B20();WriteOneChar(0xcc);WriteOneChar(0xbe);tempL=ReadOneChar();tempH=ReadOneChar();temperature=(tempH*256)+tempL;return (temperature);}//*****************************************void Dispbuf(unsigned int temper){dispbuf[2]=(temper>>4)/10;dispbuf[1]=(temper>>4)%10;if(temper&0x8)dispbuf[0]=0x55;else dispbuf[0]=0;}void display1(){int i;P0=0xff;for(i=0;i<3;i++){ReadTemperature();Dispbuf(temperature);if(i==1){P1=wei[i];P0=tab1[dispbuf[i]];delay(200);}else{P1=wei[i];P0=tab[dispbuf[i]];delay(200);}}}//时钟显示**************************************** void display(){int i;dua[0]=second%10;dua[1]=second/10;dua[3]=minite%10;dua[4]=minite/10;dua[6]=hour%10;dua[7]=hour/10;P1=wei[i];P0=tab[dua[i]];delay(2);i++;if(i==8){i=0;}}void keyscan(){if(key1==0){delay(10);if(key1==0){second++;if(second==60){second=0;minite++;}whil e(key1==0){display();}}}if(key2==0){delay(10);if(key2==0){minite++;if(minite==60){minite=0;hour++;}whil e(key2==0){display();}}}if(key3==0){delay(10);if(key3==0){hour++;if(hour==24){hour=0;}whil e(key3==0){display();}}}}/******************************************************************//* 主函数*/ /******************************************************************/void main(){TMOD=0x02;TH0=0x06;TL0=0x06;TR0=1;ET0=1;EA=1; //中断允许whil e(1){if(key4==0){whil e(key5==1){display1();}}if(key5==0){whil e(key4==1){keyscan();display();}}keyscan();display();}}void t0() interrupt 2 {tcnt++;if(tcnt==4000) {tcnt=0;second++;if(second==60){second=0;minite++;if(minite==60){minite=0;hour++;if(hour==24){hour=0;}}}}}。