基于at89c52单片机的温控风扇设计(毕业论文内容摘要:
器ULN2803 驱动风扇 电机的转动。 同时使系统检测到得环境温度以及系统预设的温度动态的显示在 LED 数码管上。 根据系统检测到得环境温度与系统预设温度的比较,实现风扇电机的自动启停以及转速的自动调节。 系统整体设计 本设计的整体思路是:利用温度传感器 DS18B20 检测环境温度并直接输出数字温度信号给单片机 AT89C52 进行处 理,在 LED 数码管上显示当前环境温度值以及预设温度值。 其中预设温度值只能为整数形式,检测到的当前环境温度可精确到小数点后一位。 同时采用 PWM 脉宽调制方式来改变直流风扇电机的转速。 并通过两个按键改变预设温度值,一个提高预设温度,另一个降低预设温度值。 系统结构框图如下: 第 2 页 2 图 系统构成框图 方案论证 本设计要实现风扇直流电机的温度控制,使风扇电机能根据环境温度的变化自动启停及改变转速,需要比较高的温度变化分辨率以及稳定可靠的换挡停机控制 部件 [1]。 温度传感器的选择 在本设计中,温度传感器的选择有以下两种方案: 方案一:采用热敏电阻作为检测温度的核心元件,并通过运算放大器放大,由于热敏电阻会随温度变化而变化,进而产生输出电压变化的微弱电压变化信号,再经模数转换芯片 ADC0809 将微弱电压变化信号转化为数字信号输入单片机处理。 方案二:采用数字式的集成温度传感器 DS18B20 作为温度检测的核心元件,由其检测并直接输出数字温度信号给单片机进行处理。 对于方案一,采用热敏电阻作为温度检测元件,有价格便宜,元件易购的优点,但热敏电阻对 温度的细微变化不太敏感,在信号采集、放大以及转换的过程中还会产生失真和误差,并且由于热敏电阻的 RT 关系的非线性,其自身电阻对温度的变化存在较大 [1] 李学龙 . 使用单片机控制的智能遥控电风扇控制器 [J].电子电路制作, 2020,9: 13— 15. 温度显示 DS18B20 AT89C52 复位 晶振 独立键盘 PWM 驱动电路 直流电机 第 3 页 3 误差,虽然可以通过一定电路来修正,但这不仅将使电路变得更加复杂,而且在人体所处环境温度变化过程中难以检测到小的温度变化。 故该方案不适合本系统。 对于方案二,由于数字式集成温度传感器 DS18B20 的高度集成化,大大降低了外接放大转化等电路的误差因数,温度误差变得很小,并且由于其检测温度的原理与热敏电阻检测的原理有着本质的不同,使得其温度分辨力极高。 温度值在器件内部转化 成数字量直接输出,简化了系统程序设计,又由于该温度传感器采用先进的单总线技术,与单片机的接口变得非常简洁,抗干扰能力强,因此该方案适用于本系统。 控制核心的选择 在本设计中采用 AT89C52 单片机作为控制核心,通过软件编程的方法进行温度检测和判断,并在其 I/O 口输出控制信号。 AT89C52 单片机工作电压低,性能高,片内含8k 字节的只读程序存储器 ROM 和 256 字节的随机数据存储器 RAM,它兼容标准的MCS51 指令系统,单片价格也不贵,适合本设计系统。 温度显示器件的选择 方案一:应用 动态扫描的方式,采用 LED 共阴极数码管显示温度。 方案二:采用 LCD 液晶显示屏显示温度。 对于方案一,该方案成本很低,显示温度明确醒目,即使在黑暗空间也能清楚看见,功耗极低,同时温度显示程序的编写也相对简单,因而这种显示方式得到了广泛应用。 但不足的地方是它采用动态扫描的显示方式,各个 LED 数码管是逐个点亮的,因此会产生闪烁,但由于人眼的视觉暂留时间为 20MS,故当数码管扫描周期小于这个时间时人眼不会感觉到闪烁,因此只要描频率设置得当即可采用该方案。 对于方案二,液晶显示屏具有显示字符优美,其不仅能显示数字还 能显示字符甚至图形,这是 LED 数码管无法比拟的。 但是液晶显示模块的元件价格昂贵,显示驱动程序的编写也较复杂,从简单实用的原则考虑,本系统采用方案一。 调速方式的选择 方案一:采用数模转换芯片 DAC0832 来控制,由单片机根据当前环境温度值输出相应数字量到 DAC0832 中,再由 DAC0832 产生相应模拟信号控制晶闸管的导通角,从而通过无级调速电路实现风扇电机转速的自动调节。 方案二:采用单片机软件编程实现 PWM(脉冲宽度调制)调速的方法。 PWM 是英文 Pulse Width Modulation 的缩 写,它是按一定的规律改变脉冲序列的脉冲宽度,以 第 4 页 4 调节输出量和波形的一种调节方式,在 PWM 驱动控制的调节系统中,最常用的是矩形波 PWM 信号,在控制时需要调节 PWM 波得占空比。 占空比是指高电平持续时间在一个周期时间内的百分比。 在控制电机的转速时,占空比越大,转速就越快,若全为高电平,占空比为 100%时,转速达到最大 [2]。 用单片机 I/O 口输出 PWM 信号时,有如下三种方法: (1) 利用软件延时。 当高电平延时时间到时,对 I/O 口电平取反,使其变成低电平,然后再延时一定时间;当低电平延时时间到时,再对该 I/O 口电平 取反,如此循环即可得到 PWM 信号。 在本设计中应用了此方法。 (2) 利用定时器。 控制方法与 (1)相同,只是在该方法中利用单片机的定时器来定时进行高低电平的转变,而不是用软件延时。 应用此方法时编程相对复杂。 (3) 利用单片机自带的 PWM 控制器。 在 STC12 系列单片机中自身带有 PWM 控制器,但本系统所用到得 AT89 系列单片机无此功能。 对于方案一,该方案能够实现对直流风扇电机的无级调速,速度变化灵敏,但是D/A 转换芯片的价格较高,与其温控状态下无级调速功能相比性价比不高。 对于方案二,相对于其他用硬件 或者软硬件相结合的方法实现对电机进行调速而言,采用 PWM 用纯软件的方法来实现调速过程,具有更大的灵活性,并可大大降低成本,能够充分发挥单片机的功能,对于简单速度控制系统的实现提供了一种有效的途径。 综合考虑选用方案二。 [2] 蓝厚荣 .单片机的 PWM 控制技术 [J] .工业控制计算机, 2020,23( 3) :97— 98 第 5 页 5 第二章 各单元模块的硬件设计 系统主要器件包括 DS18B20 温度传感器、 AT89C52 单片机、五位 LED 共阴数码管、风扇直流电机、达林顿反向驱动器 ULN2803。 辅助元件包括电阻电容、晶振、电源、按键、拨码开关等。 系统器件简介 DS18B20 单线数字温 度传感器简介 DS18B20 数字温度传感器 ,是 采用 美国 DALLAS 半导体 公司生产的 DS18B20可组网数字温度传感器芯片封装而成 ,它具有微型化、低功耗、高性能、抗干扰能力强、易配微处理器等优点,可直接将温度转化成串行数字信号供处理器处理。 适用于各种狭小空间设备数字测温和控制领域。 DS18B20 的主要特征:测量的结果直接以数字信号的形式输出,以“一线总线”方式串行传送给 CPU,同时可传送 CRC 校验码,具有极强的抗干扰纠错能力;温度测量范围在 55℃ ~+125℃ 之间,在 10℃ ~+85℃ 时精度为 177。 ℃ ; 可检测温度分辨率为9~12 位,对应的可分辨温度分别为 ℃ , ℃ , ℃ 和 ℃ ,可实现高精度测温;它单线接口的独特性,使它与微处理器连接时仅需一条端口线即可实现与微处理器的双向通信;支持多点组网功能,即多个 DS18B20 可以并联在唯一的三线上,实现组网多点测温的功能;工作电压范围宽,其范围在 ~[3]。 DS18B20 内部结构主要有四部分: 64 位 ROM、温度传感器、非挥发的温度报警触发器 TH 和 TL、配置寄存器。 其管脚有三个,其中 DQ 为数字信号端, GND 为电源地,VDD 为电 源输入端。 达林顿反向驱动器 ULN2803 简介 本系统要用单片机控制风扇直流电机,需要加驱动电路,为直流电机提供足够大的驱动电流。 在本系统驱动电路中,选用达林顿反向驱动器 ULN2803 来驱动风扇直流电机。 ULN2803 在使用时接口简单,操作方便,可为电机提供较大的驱动电流,它实际 [3] 郭天祥 .新概念 51 单片机 C 语言教程 [M].北京:电子工业出版社 .— 344 第 6 页 6 上是一个集成芯片,单块芯片可同时驱动 8 个电机。 每个电机由单片机的一个 I/O 口控制,单片机 I/O 口输出的为 5V 的 TTL 信号。 ULN2803 由 8 个 NPN 达林顿晶体管组装而成,共 18 个引脚,引脚 1~8 分别是 8路驱动器的输入端 ,输入信号可直接是 TTL 或 CMOS 信号;引脚 11~18 分别是 8 路驱动器的输出端;引脚 9 为接地线,引脚 10 为电源输入。 当输入 TTL 信号为 5V 或 CMOS信号为 6~15V时,输出的最大电压为 50V,最大电流为 500mA,工作温度范围为 0~70℃。 本系统选用的电机为 12V 直流无刷电机,可用 ULN2803 来驱动。 AT89C52 单片机简介 AT89C52 是 51 系列单片机的一个型号,它是由 ATMEL 公司生产的一个低电压、高性能的 8 位单片机,片内器件采用 ATMEL 公司的非易失性、高密度存储技术生产,与标准的 MCS51 指令系统兼容,同时片内置有通用 8 位中央处理器和 8k 字节 的可反复擦写的只读程序存储器 ROM 以及 256 字节 的数据存储器RAM,在许多许多较复杂的控制系统中 AT89C52 单片机得到了广泛 的应用。 AT89C52 有 40 个引脚,各引脚介绍如下: VCC: +5V 电源线; GND: 接地 线。 P0 口: ~,这组引脚共 8 条,其中 为最高位, 为最低位。 这 8 条引脚共有两种不同的功能,分别使用于两种不同的情况。 第一种情况是单片机不带片外存储器, P0 口可以作为通用 I/O 口使用, ~ 用于传送 CPU 的输入 /输出数据,此时它需外接一上拉电阻才能正常工作。 第二种情况是单片机带片外存储器,其各引脚在 CPU 访问片外存储器时先是用于传送片外存储器的低 8 位地址,然后传送 CPU 对片外存储器的读写数据 [4]。 P1 口: P1 口是一个内部 含 上拉电阻的 8 位双向 I/O 口。 它也可作为通用的 I/O 口使用,与 P0 口一样用于传送用户的输入输出数据,所不同的是它片内含上拉电阻而 P0口没有,故 P0 口在做该用途时需外接上拉电阻而 P1 口则无需。 在 FLASH 编程和校验时, P1 口 用于输入片内 EPROM 的低 8 位地址。 P2 口: P2 口为一个内部上拉电阻的 8 位双向 I/O 口, 它可以作为通用 I/O 口使用,传送用户的输入 /输出数据,同时可与 P0 口的第二功能配合,用于输出片外存储器的高8 位地址,共同选中片外存储单元,但此时不能传送存储器的读写数据。 在一些型号的 [4] 胡汉才 .单片机原理及其接口技术 [M](第 2 版) .北京:清华大学出版社 . 63 页 . 第 7 页 7 单片机中, P2 口还可以配合 P1 口传送片内 EPROM 的 12 位地址中的高 4 位地址。 P3 口: P3 口 引 脚是 8 个带内部上拉电阻的双向 I/O 口,当 P3 口写入 1 后,它们被内部上拉为高电平。 它也可作为通用的 I/O 口使用,传送用户的输入输出数据, P3 口也作为一些特殊功能 端 口 使用 ,如下所示: : RXD(串行 数据接收 口) : TXD(串行 数据发送 口) : 0INT (外部中断 0 输入 ) : 1INT (外部中断 1 输入 ) : T0(记 数 器 0 计数 输入) : T1(记时器 1 外部输入) : WR (外部 RAM 写选通 信号 ) : RD (外部 RAM 读选通 信号 ) 图 AT89C51 单片机 RST:复位输入。 当振荡器复位器件时,要保持 RST 脚两个机器周期的高电平 状态。 ALE/ PROG : 地址锁存允许 /编程线, 当访问 片 外存储器时, 在 ~ 引脚线上输出片外存储器低 8 位地址的同时还在 ALE/ PROG 线上输出一个高电位脉冲,其下降沿用于把这个片外存储器低 8位地址锁存到外部专用地址锁存器,以便空出 ~引脚线去传送随后而来的片外存储器读写数据。 在不访问片外存储器时,单片机自动在ALE/ PROG 线上输出频率为 1/6 晶振频率的脉冲序列。 PSEN :外部程序存储器 ROM 的选通信号。 在由外部程序存储器取指期间,每个机器周期两次 PSEN 有效。 但在访问外部数据存储器时,这两次有效的 PSEN 信号将不出现。 EA /VPP: 允许访问片外存储器 /编程电源线, 当 EA 保持低电平时,则在此期间 允许使用片 外程序存储 器 ,不管是否有内部程序存储器。 当 EA 端保持高电平时, 则允许使用片 内程序存储器。 在 FLASH 编程期间,此引脚也用于施加 12V 编程电源( VPP)。 XTAL1 和 XTAL2:片内振荡电路输入线,这两个端子用来外接石英晶体和微调电 第 8 页 8 dpgfedcbadpgfedcbaR x 8 R x 8容,即用来连接单片机片内 OSC 的定时反馈回路。 LED 数码管简介 本系统选用五个 LED 数码管来进行温度显示。 LED 又称为数码管,它主要是由 8段发光二极管组成的不同组合,其中 a~g 为数字和字符显示段, dp 为小数点的显示,通过 a~g 这 7 个发光二极管点亮的不同组合,可以显示 0~ 9 和 A~ F 共 16 个数字和字母。 LED 数码管可以分为共阴极和共阳极两种结构,如下图 (a)和图 (b) 所示。 共阴极结构把 8 个发光二极管阴极连在一起,共阳极结构把 8 个发光二极管阳极连在一起。 通过单片机引脚输出高低电平,可使数码管显示相应的数字或字母,这种使数码管显示字形的数据称字形码,又称段选码 [5]。 图 七段 LED 数码管 表 7 段 LED 的段选码表 显示字符 共阴极段码 共阳极段码 显示字符 共阴极段码 共阳极段码 0 3fH C0H 8 7fH 80H 1 06H F9H 9 6fH 90H 2 5bH A4H A 77H 88H 3 4fH B0H B 7fH 83H 4 66H 99H C 39H C6H 5 6dH 92H D 3fH A1H 6 7dH 82H E 79H 86H 7 07H F8H F 71H 8EH 一个共阴极数码管接至单片机的电路,要想显示数字“ 7”须 a、 b、 c 这 3 个显示段发光 (即这 3 个字段为高电平)只要在 P0 口输入 00000111( 07H) 即可。 这里 07H [5] 胡全 .51 单片机的数码管动态显示技术 [J] .信息技术, 2020,13:25— 26 g f bae d c dpgndgnd数码管引脚分配图 第 9 页 9 即为数字 7 的段选码。 字形与段选码的关系见表 所示。 各部分电路设计 开关复位与晶振电路 在单片机应用系统中,除单片机本身需要复位以外,外部扩展 I/O 接口电路也需要复位,因此需要一个包括上电和按钮复位在内的系统同步复位电路。 单片机上的 XTAL1和 XTAL2用来外接石英晶体和微调电容,即用来连接单片机片内 OSC的定时反馈回路。 本设计中 开关复位与晶振电路如下图所示,当按下按键开关 S1 时,系统复位一次。 其中电容 C C2 为 20pF, C3 为 10uF,电阻 R R3 为 10k, 晶振为。 图 系统复位与晶振电路 独立键盘连接电路 键盘包括 2 个独立按键 S2 和 S3, 一端与单片机的 和 口相连,另一端接地,当按下任一键时, P1 口读取低电平有效。 系统上电后,进入键盘扫描子程序,以查询的方式确定各按键,完成温度初值的设定。 其中按键 S1 为加按键,每按下一次,系统对最初设定值加一,按键 S2 为减按键,每按下一次,系统对初设定值进行减一计算。 其接线图如下: 第 10 页 10 图 独立键盘连接电路 数码管显示电路 本设计制作中选 用 5 位共阴极数码管作为显示模块,它和单片机硬件的接口如图 所示。 其中前 3 位数码管 DS DS DS3 用于显示温度传感器实时检测采集到的温度。基于at89c52单片机的温控风扇设计(毕业论文
相关推荐
扇电机的自动启停以及转速的自动调节。 系统整体设计 本设计的整体思路是:利用温度传感器 DS18B20 检测环境温度并直接输 出数字温度信号给单片机 AT89C52 进行处理,在 LED 数码管上显示当前环境温度值以及预设温度值。 其中预设温度值只能为整数形式,检测到的当前环境温度可精确到小数点后一位。 同时采用 PWM 脉宽调制方式来改变直流风扇电机的转速。 并通过两个按键改变预设温度值
统 字符型液晶显示模块是一种专门用于显示字母、数字、符号等点阵式 LCD,目前常用 16*1, 16*2, 20*2 和 40*2 行等的模块。 下面以长沙太阳人电子有限公司的 1602 字符型液晶显示器为例,介绍其用法。 一般 1602 字符型液晶显示器实物如图: 10KMAX 750PES ETWDCWDI10μ FP1. 0VCCRST+5V89C 511KVCCRSTGND+5V
9 第三章 单片机 温度 控制系统的硬件电路设计 系统硬件模块关系 本系统的执行方法是循环查询执行的 , 首先 单片机 AT89S51 写入命令给DS18B20, 检测 DS18B20 是否存在,如果不存在发出警告并显示错误显示,检测存在后 DS18B20 开始 监测温度并 转换数据,转换后通过 AT89S51 来处理数据。 数据处理后的结果就 通过 74LS164 移位寄存器 显示到 七段
湖北师范学院机电与控制工程学院 2020届学士学位论文(设计) 10 ( 3) 振荡器特性 : XTAL1和 XTAL2分别为反向放大器的输入和输出。 该反向放大器可以配置为片内振荡器。 石晶 振荡和陶瓷振荡均可采用。 如采用外部时钟源驱动器件, XTAL2应不接。 有余输入至内部 时钟信号 要通过一个二分频触发器,因此对外部时钟信号的脉宽无任何要求,但必须保证脉冲的高低电平要求的宽度。 触发器
+125 0000 0111 1101 0000 07D0H +85 0000 0101 0101 0000 0550H + 0000 0001 1001 0001 0191H + 0000 0000 1010 0010 00A2H + 0000 0000 0000 1000 0008H 0 0000 0000 0000 0000 0000H 1111 1111 1111 1000 FFF8H
选的节电工作模式。 空闲方式停止 CPU的工作,但允许 RAM,定时/计数器,串行通信口及中断系统继续工作。 掉电方式保存 RAM中的内容,但振荡器停止工作并禁止其它所有部件工作直到下一个 硬件复位 [4]。 南京师范大学泰州学院本科毕业论文 设计 11 / 66 Vcc:电源电压 GND:地 P0 : P0 口是一组 8 位漏极开路型双向 I/ O 口,也即地址/数据总线复用口。