基于单片机的智能温度表课程设计

博主福利:100G+电子设计资料合集icon-default.png?t=N7T8https://dwz.date/fyQa

本设计选用AT89C51作为整个控制系统的核心部分,通过DS18B20采集温度,通过三个按键:模式切换键、加键和减键。模式切换键可以切换正常显示,上限温度设定状态,下限温度设定状态,当实测温度高于设定的上限值,蜂鸣器报警和LED红灯闪烁报警,当实测温度高于设定的下限值,蜂鸣器报警和LED黄灯闪烁报警,系统可以方便的实现温度的采集和报警,并可以根据需要任意上下限报警温度,它使用起来相当方便,具有精度高、量程宽、灵敏度高、体积小、功耗低等优点,适合于我们日常生活和工、农业生产中的温度测量,也可以当做温度处理模块潜入其他系统中,作为其他主系统的辅助扩展。

3.1 单片机的选型及简介

CPU是整个控制部分的核心。在考虑经济性和满足需求的前提下,本设计选用AT89C51作为整个控制系统的核心部分,它的内部含有可以进行系统的编程的存储器。Flash存储器功能比较强大,在对它进行编程时不仅可以在线操作,也可以使用一般的方法进行操作。编好的程序主要存储在芯片中,它的功能比较强大。所以,选用AT89C51作为本设计的控制中心。器件管脚图如图3-1:

图3-1  AT89C51管脚图

AT89C51简介:单片机的可擦除只读存储器可以反复擦除1000次。该器件采用ATMEL高密度非易失存储器制造技术制造,与工业标准的MCS-51指令集和输出管脚相兼容。由于将多功能8位CPU和闪速存储器组合在单个芯片中,ATMEL的AT89C51是一种高效微控制器,AT89C051是它的一种精简版本。AT89C51单片机为很多嵌入式控制系统提供了一种灵活性高且价廉的方案。外形及引脚排列如图所示。

3.2最小系统模块

在这次课程设计中,根据课题的需要采用的是ATMEL公司51系列单片机AT89C51芯片作为控制芯片。在实际运用中如果只用单片机芯片是没有办法达到所设计的目的,还要有相配套的电路,这样才能组成一个完整的控制系统达到设计的要求。在本次设计中主要采用AT89C51芯片和相配套的电路来组成所需要的模块进行研究,模块中一些具体的参数主要是选用P3口作1602的命令数据控制、时钟、读写控制、和使能控制接口,P2口作按键扫描接口,P2.3作DS18B20的总线接口。P2.5,P2.7作报警控制接口。其电路连接图3-2如下:

图3-2 数据处理及控制模块
3.3温度传感器设计

3.3.1温度传感器简介

DS18B20可以设定9~12位的分辨率,其精确度比较高。为了满足实际的工作需要也可以采用比较小的封闭方式和相对较宽的电压。设定的分辨率及报警温度存储在EPROM中,掉电后不会丢失。

温度传感器DS18B20引脚如图3-3所示

图3-3  DS18B20TO-92封装温度传感器

引脚功能说明:

VDD :可选电源脚,电源电压范围3~5.5V。

DQ :数据输入/输出脚。漏极开路,常态下高电平。

GND :为接地电源脚。

DS18B20的组成部分主要包括:光刻64位ROM、温度传感器、非挥发的温度报警触发器TH和TL、配置寄存器这四部分,它们在其内部按照一定得结构进行排列。 

光刻64位ROM它的序列号排列是有一定规律的,一般情况下排在首位的是8位不同类型的产品标签,之后是DS18B20的序列48位序列号,排在最后的是前面所有序列号的校验码,我们通过总结可以知道64光刻ROM的作用是保证每个DS18B20都不一样,这样就可以满足总线连接多个DS18B20的要求。

DS18B20温度传感器主要包括的高速内存非常容易丢失,内存RAM主要有八个字节组成,这八个字节所包含的内容有很大的区别。其中第一个字节是是低八位,第二个字节是高八位,第三个和第四个字节是最高和最低位的的非易失性复制,第五个字节是结构寄存器的非易失性复制,第三,第四,第五个字节在每次上电复位时刷新内容。六,七,八个字节用于内部计算。第九个字节是冗余测试。E2RAM的主要作用是为了储存高温与低温触发TH、TL。 

通过DS18B20的通信协议,我们知道主机在对其进行控制时温度实现转换主要由三个步骤构成。分别是每次读写DS18B20时都要进行重新设置,完成设置之后需要发送一个指令,只有把相应的指令发送之后才能对其进行相关的操作。CPU在收到重新设置的要求之后需要先下拉后释放,经历一定的时间之后就可以完成对信号的复位。

3.3.2 温度传感器与单片机的连接 温度传感器在和单机片进行连接时所使用的接口型号是P2.0,这种接口在单机片中属于高位地址线。P2端口是一个带内部上拉电阻的8位双向I/O,另外它在输出缓冲时可以带动4个逻辑门电路。P2端口的工作不受外界干扰,即使在对程序进行编写和检查时,它也能够正常工作。图3-4所示就是DSl8820组成情况。

图3-4  DS18B20和单片机的接口连接

3.4LCD显示模块

在这种模块内部存放的字符是有不同的字符组成的,这些字符主要包括:英文字母、常用的数学符号和阿拉伯数字,不同的字符所具有的代码也不一样。就拿英文字母来说大写的A所代表的是41h,如果使用显示器进行发送时,模块上显示的是41h,但是在液晶显示器上看到的却是字母A。 

1602液晶模块的控制器主要有11条指令,数量众多的控制指令可以更好地完成对程序的控制,满足其工作需要。 

采用的LCD1602液晶模块是标准16针插座,接口电路如图3.6所示

图3.6  显示电路的连接图

3.5系统硬件的总体框图

系统硬件的总体框图如图3.7所示

图3.7  系统硬件的总体框图

第四章 软件设计

4.1 软件介绍
4.1.1 编程软件

Keil软件:单片机开发中离不开软件,我们写的汇编语言源程序要变为CPU可以执行的机器码有两种方法,一种是手工汇编,另一种是机器汇编,目前已极少使用手工汇编的方法了。机器汇编是通过汇编软件将源程序变为机器码,用于MCS-51单片机的汇编软件有早期的A51,随着单片机开发技术的不断发展,从普遍使用汇编语言到逐渐使用高级语言开发,单片机的开发软件也在不断发展,Keil软件是目前最流行开发MCS-51系列单片机的软件,这从近年来各仿真机厂商纷纷宣布全面支持Keil即可看出。Keil提供了包括C编译器、宏汇编、连接器、库管理和一个功能强大的仿真调试器等在内的完整开发方案,通过一个集成开发环境(uVision)将这些部份组合在一起。

4.1.2 绘图软件

Proteus软件是英国Lab Center Electronics公司出版的EDA工具软件(该软件中国总代理为广州风标电子技术有限公司)。它不仅具有其它EDA工具软件的仿真功能,还能仿真单片机及外围器件。它是目前比较好的仿真单片机及外围器件的工具。虽然目前国内推广刚起步,但已受到单片机爱好者、从事单片机教学的教师、致力于单片机开发应用的科技工作者的青睐。Proteus可提供的仿真元器件资源:仿真数字和模拟、交流和直流等数千种元器件,有30多个元件库。.Proteus可提供的仿真仪表资源 :示波器、逻辑分析仪、虚拟终端、SPI调试器、I2C调试器、信号发生器、模式发生器、交直流电压表、交直流电流表。理论上同一种仪器可以在一个电路中随意的调用。除了现实存在的仪器外,Proteus还提供了一个图形显示功能,可以将线路上变化的信号,以图形的方式实时地显示出来,其作用与示波器相似,但功能更多。这些虚拟仪器仪表具有理想的参数指标,例如极高的输入阻抗、极低的输出阻抗。这些都尽可能减少了仪器对测量结果的影响。Proteus可提供的调试手段 Proteus提供了比较丰富的测试信号用于电路的测试。这些测试信号包括模拟信号和数字信号。


第五章 调试5.1开机温度测试

运行程序,数码管显示设定温度值。
图5.1开机温度测试


5.2设置温度测试

三个按键:模式切换键、加键和减键。模式切换键可以切换正常显示,上限温度设定状态,下限温度设定状态。通过加键和减键设定温度,通过切换键可以切换成正常状态。

图5.2设置温度测试

5.3 报警测试

当实测温度高于设定的上限值,蜂鸣器报警和LED红灯闪烁报警,如图5.3所示。当实测温度高于设定的下限值,蜂鸣器报警和LED黄灯闪烁报警,如图5.4所示

图5.3上限报警调试

图5.4设置温度测试

  • 0
    点赞
  • 18
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
一、课程设计目的 本课程设计主要是为了让学生掌握基于51单片机智能窗帘系统的设计和实现方法,包括硬件电路设计和编程实现。通过该课程设计,学生可以加深对51单片机和相关电子元器件的认识,提高实际应用能力。 二、课程设计内容 1. 硬件电路设计 智能窗帘系统的硬件电路主要包括以下模块: (1)电机驱动模块:使用直流电机驱动模块控制窗帘的开合状态。 (2)光照传感器模块:用于感知环境光强度,根据设定的亮度值控制窗帘的开合状态。 (3)温度传感器模块:用于感知环境温度,根据设定的温度值控制窗帘的开合状态。 (4)遥控器模块:使用遥控器模块控制窗帘的开合状态。 (5)显示模块:使用数码管或LCD模块显示当前窗帘的开合状态、环境光强度和温度。 2. 编程实现 (1)电机驱动程序:使用PWM调制控制电机的速度和方向,实现窗帘的开合。 (2)光照传感器程序:通过模拟输入口读取光照强度值,并根据设定的亮度值控制窗帘的开合。 (3)温度传感器程序:通过模拟输入口读取温度值,并根据设定的温度值控制窗帘的开合。 (4)遥控器程序:通过外部中断口检测遥控器的信号,并根据不同的信号控制窗帘的开合。 (5)显示程序:使用数码管或LCD模块显示当前窗帘的开合状态、环境光强度和温度。 三、课程设计步骤 1. 硬件电路设计:根据需要设计电路原理图和PCB布局图,并进行电路板制作和元器件焊接。 2. 编程实现:根据硬件电路设计,选择合适的编程语言和开发工具,编写程序并进行调试。 3. 整体调试:将硬件电路和编程程序进行整体调试,验证系统功能的正确性和稳定性。 四、课程设计要求 1. 硬件电路设计要求:电路原理清晰,PCB布局合理,元器件选择合适,焊接工艺精细。 2. 编程实现要求:编程语言规范,程序功能完整,代码结构清晰,注释详细。 3. 整体调试要求:系统功能正常,响应速度快,稳定性好。 五、课程设计总结 通过本课程设计,学生可以掌握基于51单片机智能窗帘系统的设计和实现方法,提高实际应用能力。同时,学生还可以了解电子元器件的选择和使用方法,加深对电子技术的认识。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值