基于单片机的智能电冰箱控制内容摘要:

7 2 智能电冰箱 硬件模块的选型 单片机的选型 单片机的型号有很多, 典型的 MCS51 系列 的 单片机为高性能系列,有 32 个并行口,具有多级中断处理系统, 2 个 16 位定时 /计数器,带有串行 I/O 口,片内有 ROM、RAM 容量相对增大,寻址范围可达 64K,并且 MCS51 单片机 具有 优良的性能价格比,所以 本设计选择 MCS51 系列 的 单片机 作 为最小控制系统。 目前,可用于 MCS51 系列单片机开发的硬件越来越多,与其配套的各类开发系统、各种软件也日趋完善, 因此,可以极方便地利用现有资源,开发出用于不同目的的各类应用系统。 MCS51 系列产品有 805 803 875 80C5 80C31 等型号 , 它们的 结构基本相同,其主要差别反映在寄存器的配置上有所不同 ,但是在 2020 年 C 系列的 51单片机已经停产,取而代之的是 S 系列的单片机,其性能价格比要不 C 系列的更好,所以本设计采用的是 AT89S52 单片机 [3]。 AT89S52 单片机是 一种低功耗高性能 的 CMOS 8 位微控制器,内置 8KB 可在线编程闪存。 该器件采用高密度非易失性存储技术生产,其指令与工业标准的 80C51 指令集兼容。 AT89S52 目前 应用范围 很 广 范,可用于解决复杂的控制问题 [4]。 AT89S52 的芯片如图 所示。 AT89S52 共有四个 8 位的并行 I/O 口: P0、 P PP3 端口,对应的引脚分别是 ~ , ~ , ~ , ~ ,共 32根 I/O 线。 每根线可以单独用作输入或输出。 图 AT89S52 芯片引脚图 沈阳理工大学应用技术学院学士学位论文 8 AT89S52 各 I/O 口的 功能如下: ○ 1 P0 端口 , 该口是一个 8 位漏极开路的双向 I/O 口。 在作为输出口时,每根引脚可以带动 8 个 TTL 输入负载。 当把 “ 1” 写入 P0 时,则它的引脚可用作高阻抗输 入。 当对外部程序或数据存储器进行存取时, P0 可用作多路复用的低字节地址 /数据总线,在该模式, P0 口拥有内部上拉电阻。 在对 Flash 存储器进行编程时, P0 用于接收代码字节;在校验时,则输出代码字节 ,此时需要外加上拉电阻。 ○ 2 P1 端口,该口是带有内部上拉电阻的 8 位双向 I/O 端口, P1 口的输出缓冲器可驱动(吸收或输出电流方式) 4 个 TTL 输入。 对端口写 “ 1” 时,通过内部的上拉电阻把端口拉 到高电位,此时可用作输入口。 P1 口作输入口使用时,因为有内部的上拉电阻,那些被外部信号拉低的引脚会输出一个电流。 在对 Flash 编程和程序校验时, P1 口接收低 8 位地址。 另外, 与 可以配置成定时 /计数器 2 的外部计数输入端( )与定时 /计数器 2 的触发输入端( ),如表 所示。 表 P1 口管脚复用功能 端口引脚 复用功能 T2(定时器 /计算器 2 的外部输入端) T2EX(定时器 /计算器 2 的外部触发端和双向控制) MOSI(用于在线编程) MISO(用于在线编程) SCK(用于在线编程) ○ 3 P2 端口,该口是带有内部上拉电阻的 8 位双向 I/O 端口, P2 口的输出缓冲器可驱动(吸收或输出电流方式) 4 个 TTL 输入。 对端口写 “ 1” 时,通过内部的拉电阻把端口拉到高电位,此时可用作输入口。 P2 口作输入口使用时,因为有内部的上拉电阻 ,那些被外部信号拉低的引脚会输出一个电流。 在访问外部程序存储器或 16 位的外部数据存储器时, P2 口送出高 8 位地址,在访问 8 位地址的外部数据存储器 时, P2 口引脚上的内容,在整个访 问期间不会改变。 在对 Flash 编程和程序校验期间, P2 口也接收高位地址或一些控制信号。 ○ 4 P3 端口,该口是带有内部上拉电阻的 8 位双向 I/O 端口, P3 口的输出缓冲器可驱动(吸收或输出电流方式) 4 个 TTL 输入。 对端口写 “ 1” 时,通过内部的上拉电阻沈阳理工大学应用技术学院学士学位论文 9 把端口拉到高电位,此时可用作输入口。 P3 口作输入口使用时 , 因为有内部的上拉电阻,那些被外部信号拉低的引脚会输出一个电流。 在 AT89S52 中,同样 P3 口还用于一些复用功能,如表 所列。 在对 Flash 编程和程序校验期间, P3 口还接收一些控 制信号。 表 P3 端口引脚与复用功能表 端口引脚 复用功能 RXD(串行输入口) TXD(串行输出口) 0INT (外部中断 0) 1INT (外部中断 1) T0(定时器 0 的外部输入) T1(定时器 1 的外部输入) WR (外部数据存储器写选通) RD (外部数据存储器读选通) AT89S52 其它 引脚的功能 如下 [5]: ○ 1 RST 复位输入端。 在振荡器运行时,有两个机器周期( 24 个振荡周期)以上的高电平出现在此管脚时,将使单片机复位,只要这个管脚保持高电平, 51 芯片便循环复位。 复位后 P0~P3 口均置 1,管脚表现为高电平,程序计数器和特殊功能寄存器 SFR 全部清零。 当复位脚由高电平变为低电平时,芯片为 ROM 的 00H 处开始运行程序。 ○ 2 ALE/ PROG 地址锁存允许信号。 在存取外部存储器时,这个输出信号用于锁存低字节地址。 在对 Flash 存储器编程时,这条引脚用于输入编程脉冲 PROG。 一般情况下, ALE 是振荡器频率的 6 分频信号,可用于外部定时或时钟。 但是,在对外部数据存储器每次存取中,会跳过一个 ALE 脉冲。 在需要时,可以把地址 8EH 中的 SFR寄存器的 0 位置为 “ 1” ,从而屏蔽 ALE 的工作;而只有在 MOVX 或 MOVC 指令执行时 ALE 才被激活。 在单片机处于外部执行方式时,对 ALE 屏蔽位置 “ 1” 并不起作用。 ○ 3 PSEN 程序存储器允许信号。 它用于读外部程序存储器。 当 AT89S52 在执行来自外部存储器的指令时,每一个机器周期 PSEN 被激活 2 次。 在对外部数据存储器的每次存取中, PSEN 的 2 次激活会被跳过。 沈阳理工大学应用技术学院学士学位论文 10 ○ 4 EA /Vpp 外部存取允许信号。 为了确保单片机从地址为 0000H~ FFFFH 的外部程序存储器中读取代码,故要把 EA 接到 GND 端,即地端。 但是,如果锁定位 1 被编程,则 EA 在复位时被锁存。 当执行内部程序时, EA 应接到 Vcc。 在对 Flash 存储器编程时,这条引脚接收 12V编程电压 Vpp。 ○ 5 XTAL1 振荡器的反相放大器输入,内部时钟工作电路的输入。 ○ 6 XTAL2 振荡 器的反相放大器输出。 温度传感器 的选型 AD590 是美国模拟器件公司生产的单片集成两端感温电流源。 AD590是一种电压输入 、 电流输出型集成温度传感器 , 测温范围为 55℃ ~ 150℃ , 非线性误差在 177。 0. 30℃ ,其输出电流与绝对温度成正比 , 温度每升高 1K( K为开尔文温度 ) [6,7]。 输出电流就增加1μA。 AD590具有线性优良、性能稳定、灵敏度高、无需补偿、热容量小、抗干扰能力强、可远距离测温且使用方便等优点。 可广泛应用于各种冰箱、空调器、粮仓、冰库、工业仪器配套和各种温度的测量和控制等领域 [8]。 其精度,测温范围都能符合 本设计的 要求 ,所以选用 AD590作为本设计的温度传感器。 AD590的封装形式如图。 图 AD590的封装形式 AD590的主要特性如下: ○ 1 流过器件的电流( mA)等于器件所处环境的热力学温度(开尔 文)度数, mA/K。 式中: Ir— 流过器件( AD590)的电流,单位为 mA, T— 热力学温度 ,单位为 K。 ○ 2 AD590 的测温范围为 55℃ ~ +150℃。 ○ 3 AD590 的电源电压范围为 4V~ 30V。 电源电压可在 4V~ 6V 范围变化,电流变1IrT沈阳理工大学应用技术学院学士学位论文 11 化 1mA,相当于温度变化 1K。 AD590 可以承受 44V 正向电压和 20V 反向电压,因而器件反接也不会被损坏。 ○ 4 精度高。 AD590 共有 I、 J、 K、 L、 M 五档,其中 M 档精度最高,在 55℃ ~+150℃ 范围内,非线性误差为 177。 ℃。 数模转换 电路的选择 A/D 转换器是模拟信号源与数字设备、数字计算机或其他数据系统之间联系的桥梁,它的任务是将连续变化的模拟信号转换为离散的数字信号以便 于数字系统进行处理、存储、控制和显示。 在工业控制系统和数据采集以及许多其他领域中 , A/D 转换部件常常是不可缺少的重要部件。 逐次逼近型是目前广泛应用的 A/D 转换器,其分辨率从8 位到 16 位,转换时间从 100μs 到几微秒,精度有不同等级 , 有的转换器内部还带有多路模拟开关。 该类转换器具有较快的转换速度、与微机接口方便等主要优点,适用于对快速连续变化的物理量进行跟踪采集和记录等应用场合。 ADC0809 是逐次逼近型 8 位 A/D 转换芯片,片内有 8 路模拟开关,可以同时连接8 路模拟量,单极性,量程为 0~ 5V,典型的转换速度为 100μs,片内有三态输出缓冲器,可直接与 CPU 总线连接。 该芯片有较高的性能价格比,适用于对精度和采样速度要求不高的场合或一般的工业控制领域。 完全可以 满足本设计的要求而且价格低廉,所以本设计采用 ADC0809 芯片 进行 数模的转换。 ADC0809 引脚 如图 所示。 图 ADC0809 芯片 沈阳理工大学应用技术学院学士学位论文 12 ADC0809 主要功能如下 [9]: ○ 1 分辨率为 8 位 ; ○ 2 最大不可调误差小于 177。 1LSB; ○ 3 单一 +5V供电,模拟输入范围为 0~5V; ○ 4 具有锁存控制的 8 路模拟开关 ; ○ 5 具有三态锁存输出缓冲器,输出与 TTL 兼容 ; ○ 6 功耗为 15mw; ○ 7 不必进行零点和满刻度调整 ; ○ 8 转换速度取决于芯片的时钟频率,时钟频率范围 为 10~1280KHz。 ADC0809 的内部逻辑结构 如图 所示。 图 ADC0809 内部逻辑结构 由图 可知, ADC0809 由 一个 8 路模拟开关、一个地址锁存与译码器、一个 A/D转换器和一个三态输出锁存器组成。 多路开关可选通 8 个模拟通道,允许 8 路模拟量分时输入,共用 A/D 转换器进行转换。 三态输出锁器用于锁存 A/D 转换完的数字量,当 OE 端为高电平时,才可以从三态输出锁存器取走转换完的数据。 ADC0809 各引脚的功能 如下: ○ 1 IN0~IN1: 8 路模拟信号输入端; 沈阳理工大学应用技术学院学士学位论文 13 ○ 2 D0~D7: 8 路数字量输出端; ○ 3 START:启动控制输入端,高电平有效,用于启 动 ADC0809 内部的 A/D 转换过程; ○ 4 ALE:地址锁存控制输入端。 ALE 端可以与 START 端连接在一起。 通过软件输入一个正脉冲, 可立即启动 A/D 转换; ○ 5 EOC:转换结束信号输出端。 EOC=0 时表示 正在进行转换; EOC=1 时表示 转换结束。 使用中该状态信号即可作为查询的状态标志,又可作为中断请求信号使用。 ○ 6 OE:输出允许控制端,用于打开三态输出锁存器。 当 OE 为高电平时 ,打开三态数据输出锁存器,将转换后的数据量输送到 数据总线上; ○ 7 CLK:始终信号输入端; ○ 8 VCC:供电电源输入端; ○ 9 GND:地; ○10 VREF( +) : 参考电压正端; ○11 VREF( ) :参考电压负端; ○12 A、 B、 C: 8 路模拟选通开关的 3 位地址选通端入端。 ADC0809 的转换过程 如下 : ○ 1 在 ALE信号的作用下,地址引脚 C~ A上的信号被地址锁存 器锁存并选择相应的模拟信号,随后被选择的模拟信号进入 A/D转换器。 ○ 2 在启动脉冲 START的作用下, A/D转换器进行转换。 ○ 3 转换完成后, EOC由低电平变为高电平,该信号可以作为状态信号由 CPU查询,也可以作为中断请求信号通知 CPU本次 A/D转换已经完成。 ○ 4 CPU通过执行读 ADC0809数据端口指令,使 OE有效,打开三态输出锁存器,使转换结果通过系统数据总线进入 CPU。 沈阳理工大学应用技术学院学士学位论文 14 3 智能电冰箱 硬件模块设计 本设 计 硬件 模块分为 八 个部分,分别为时钟电路 、 复位电路、 温度 检测 电路 、 显示。
阅读剩余 0%
本站所有文章资讯、展示的图片素材等内容均为注册用户上传(部分报媒/平媒内容转载自网络合作媒体),仅供学习参考。 用户通过本站上传、发布的任何内容的知识产权归属用户或原始著作权人所有。如有侵犯您的版权,请联系我们反馈本站将在三个工作日内改正。