基于单片机的恒温控制系统的开发内容摘要:
制仪表中。 SOC 芯片通常含有一个微处理器核(CPU),同时,它还含有多个外围特殊功能模块和一定规模的存储器 (RAM 和ROM),并且这种片上系 统一般具有用户自定义接口模块,使得其功能非常强大,适用领域也非常广。 它不仅能满足复杂的系统性能的需要,而且还使整个系统的电路紧凑,硬件结构简化。 从实现复杂系统功能和简化硬件结构的角度出发, SOC 是实现温度控制系统的最佳选择,但目前市场上 SOC 的价格还比较昂贵,并且 SOC 的封装形式几乎都采用贴片式封装,不利于实验电路板的搭建。 从降低成本,器件供货渠道充足的角度看,应用单片机实现温度控制系统是比较经济实用的。 系统软件方案分析 目前, MCS51 单片机的开发主要用到两种语言 :汇编 语言和 C 语 言。 与汇编语言相比, C 语言具有以下的特点 : (1)具有结构化控制语句 结构化控制语言的显著特点是代码和数据的分隔化,即程序的各个部分除了必要的信息交流外彼此独立。 这种结构化方式可使程序层次清晰,便于使用、维护及调试 ; (2)适用范围大和可移植性好 同其他高级语言一样, C 语言不依赖于特定的 CPU,其源程序具有良好的可移植性。 目前,主流的 CPU 和常见的 MCU 都有 C 编译器。 加之集成开发基于单片机的 恒温 控制系统的开发 6 环境 KEIL 编译生成的代码效率很高 (仅比汇编语言生成的代码效率低 10%—15%) 所以 ,本系统的软件选择使用 C 语言开发。 由于整个系统软件比较复杂,为了便于编写、调试、修改和增删,系统程序的编制适合采用模块化的程序结构,故要求整个控制系统软件由许多独立的小模块组成,它们之间通过软件接口连接,遵循模块内数据关系紧凑,模块间数据关系松散的原则,将各功能模块组织成模块化的软件结构。 温度控制算法方面,结合本温控系统的要求采用了经典的 PID 控制算法,这主要是由于 PID 控制相对来说算法简 单、鲁棒性好和可靠性高。 此外,在设计时,依靠经验和试验的方法在系统调试时确定 PID 参数 PK , IK , DK ,然后用代码实现了算法。 基于单片机的 恒温 控制系统的开发 7 第二章 单片机 单片机是单片微型计算机 SCM(single chip microputer)的译名简称,在国内简称为“单片机”。 它包括中央处理器 CPU、随机存储器 RAM、只读存储器 ROM、中断系统、定时器 /计数器、串行口和 I/O 等等。 单片机主要应用于工业控制领域,用来实现对信号的检测、数据的采集以及对应用 对象的控制。 它具有体积小、重量轻、价格低、可靠性高、耗电少和灵活机动等许多优点,单片微型计算机 (简称单片机 )是微型计算机的一个重要分支,也是一种非常活跃和颇具生命力的机种,特别适合用于智能控制系统。 单片机内部模块 在本设计中 ,从经济上以及性能上考虑,选用 8051作为 CPU。 8051 是 MCS- 51 系列单片机的一种型号。 MCS51 单片机的类型有: 805 803 8751 等。 MCS51 单片机内部结构 8051 单片机内部结构 如 图 21所示。 它 包含 CPU、震荡器和时序电路、 4KB的 ROM、 256B 的 RAM、两个 16定时 /计数器 T0 和 T 4 个 8 位 I/O 端口( P0、P P P3)、串行口等组成, 其中震荡时序与时钟组成定时控制部件。 图 21 8051单片机功能方框图 基于单片机的 恒温 控制系统的开发 8 MCS51 输入 /输出端口的结构与功能 MCS51 单片机有 4 个 I/O 端口, 共 32 根 I/O 线, 4 个端口都是准双向口。 每个口都包含一个锁存器,即专用寄存器 P0P3,一个输出驱动器和输入缓冲器。 为方便起见,我们把 4个端口和其中的锁存器都统称 P0P3。 在访问片外扩展存储器 时,低 8 位地址和数据由 P0 口分时传送,高 8 位地址由 P2 口传送。 在无片外扩展存储器的系统中,这 4 个口的每一位均可作为双向的 I/O 口使用。 P0 口:可作为一般的 I/O 口用,但应用系统采用外部总线结构时,它分时作低 8位地址和 8位双向数据总线用。 P1 口:每一位均可独立作为 I/O 口。 P2 口:可作为一般 I/O 口用,但应用系统采用外部系统采用总线结构时,它分时作为高 8位地址线。 P3 口:双功能口。 作为第一功能使用时同 P1 口,每一位均可独立作为 I/O口。 另外,每一位均具有第二功能,每一位的两个功能不能同时使用。 MCS— 51 单片机的引脚及其功能 MCS51 单片机采用 40引脚的双列直插封装形式。 1) 主电源引脚 VCC 和 VSS VSS( 40 脚):主电源 +5V,正常操作的对 EPROM 编程及验证时均接 +5V电源。 VSS( 20脚):接地。 2) XTAL1( 19 脚)和 XTAL2( 18脚):接外部晶振的两个引脚。 3) RST/VPD、 ALE、 PROG、 PSEN 控制信号引脚。 RST/VPD( 9 脚):单片机复位 /备用电源引脚。 刚接上电源时,其内部寄存器处于随机状态,在引脚上输入持续两个机器周期的高电平将使单片机复位。 VCC 掉电期间,此引脚可接上备用电源,一旦芯片在使用中 VCC 电压突然下降或短电,能保护片内 RAN 中信息不丢失,使复电后能继续正常运行。 ALE( 30 脚):当访问片外存储器时, ALE 的输出用于锁存低字节地址信号。 即使不访问片外存储器, ALE 端仍以不变的频率周期性地出现脉冲信号。 其频率为振荡器频率 1/6。 因此,它可用作对外输出的时钟,或用于定时的目的。 应注意的是:当访问片外数据存储器时,将跳过一个 ALE 脉冲; ALE 端基于单片机的 恒温 控制系统的开发 9 可以驱动 8个 LSET 负载。 对含有 EPROM 的单片机,片内 EPROM 编程期间,此引脚用于输入编程脉 冲( PROG)。 PROG( 29 脚):输出访问片外程序存储器的读选通信号。 CPU 在从片外程序存储器取指令(或常数)期间,每个机器周期两次有效。 每当访问片外存储器时,这两次有效的 PROG 信号将不会出现。 该端同样可驱动 8 个 LSTTL负载。 EA/VPP( 31脚):当 EA 输入端输入高电平时, CPU可访问片内程序存储器 4KB 的地址范围。 若 PC 值超出 4KB 地址时,将自动转向片外程序存储器。 当 EA 输入低电平时,不论片内是否有程序存储器,则 CPU 只能访问片外程序存储器。 8051 系统扩展设计 通常情况下,采用 MCS51 系列单片机的最小系统只能用于一些很简单的应用场合,在此情况下直接使用单片机内部存储器、数据存储器、定时功能、中断功能、 I/O 端口等,组成的应用系统的成本较低 [5]。 单片机系统扩展的方法有并行扩展法和串行扩展法两种。 并行扩展法是利用单片机的三种线( AB、 DB、 CB)进行的系统扩展;串行扩展法是利用 SPI三线总线或 I2C 双总线的串行系统扩展。 但是,一般串行接口器件速度慢,在需要高速应用的场合,还是并行扩展法占主导地位。 单片机外总线结构 微型计算机大多数 CPU外部都有单独的地址总线、数据总线和控制 总线,而 MCS51 单片机由于受到芯片管脚的限制,数据线和地址线(低 8位)是复用的,而且是 I/O 口兼用。 为了将它们分离开来,以便同单片机之外的芯片正确地相连,常常在单片机外部加地址锁存器来构成与一般 CPU 相类似的三总线,如图 22所示 [6]。 基于单片机的 恒温 控制系统的开发 10 图 22 三总线 芯片的扩展设计 1)程序存储器扩展设计 [7] (A) 程序存储器简介 常见的 EPROM 有: 2716(容量 2K 8 位)、 2732(容量 4K 8位)、 2764(容量 8K 8位)、 27128(容量 16K 8位)、 27256(容量 32K 8 位)、 27512(容量 64K 8 位)。 EPROM 外引脚功能如下: A0- A15:地址输入线; O0O7:三态数据总线,读或编程校验时为数据输出线,编程时为数据输入线。 维持或编程禁止时 O0O7 呈高阻抗; CE:片选信号输入线,“ 0”(即 TTL 低电平)有效; PGM:编程脉冲输入线。 其值因芯片型号和制造厂商不同而异; VPP:编程电源输入线,其值因芯片型号和制造厂商不同而异; OE:读选通信号输入线,“ 0”有效; VCC:主电源输入线,一般为+ 5V。 (B)扩展方法 扩展程 序存储器时,一般扩展容量大于 256 字节,因此,除了由 P0 口提供低 8 位地址线外,还需由 P2 口提供若干地址线,最大的扩展范围位 64K 字节,基于单片机的 恒温 控制系统的开发 11 即需 16位地址线。 具体方法是 CPU应向 EPROM 提供三种信号线。 即 A:数据总线: P0 口接 EPROM 地 O0O7(D7D0); B:地址总线: P0 口经锁存器向 EPROM 提供地址低 8 位, P2 口提供高 8 位地址以及片选线。 扩展的程序存储器究竟需要多少位地址线,应根据程序存储器容量和选用的 EPROM 芯片容量而定。 C:控制总线: PSEN— 片外程序存储器取指令控制信号,接 EPROM 的“ OE”。 ALE— 接锁存器的 G, EA 接地。 2) 数据存储器设计 由于算法的需要,在存储器中需要存储 24 个从 A/D 片出来的数据,即需要 24单元的存储单元。 在 8051的内部数据存储区低 128字节 RAM中 30H7FH共 80 个存储单元使用户 RAM 区,完全可以容纳下 24 个数据以及其运算过程中的临时数据,故不需要在另外扩展片外数据存储器。 基于单片机的 恒温控制系统的开发 12 第三章 系统硬件设计 系统的硬件结构主要由温度检测电路、键盘与显示电路、 A/D转换 电路、输出控制电路等部分组成。 系 统控制主电路是由 8051及其外围芯片 及一些辅助 部分构成的。 系统设计原理图如图 31所示。 8 0 5 1温 控 电 路8 1 5 5A D C 0 8 0 9设 备键 盘 与 显 示传 感 检 测 电 路 图 31 系统设计原理图 温度检测和变送器 温度检测元件和变送器的类型选择与被控温度的范围和精度等级有关。 镍铬 /镍铝热电偶适用于 0 Co 1000 Co 的温度检测范围,相应输出电压为0mV。 变送器由毫伏变送器和电流 /电压变送器组成。 毫伏变送器用于把热电偶输出的 0mV 变换成 4mA 20mA 的电流;电流 /电压变送器用于把毫伏变送器输出的 4mA 20mA 电流变换成 05V 的电压 [8]。 为了提高测量精度,变送器可以进行零点迁移。 例如:若温度测量范围为500Co 1000Co ,则热电偶输出为 ,毫伏变送器零点迁移后输出 4mA 20mA 范围电流。 以热电偶为检测元件的单片机温度控制系统电路原理图如图 32所示。 基于单片机的 恒温控制系统的开发 13 图 32 单片机 恒温 控制系统电路原理图 接口电路 接口电路采用 MCS51 系列单片机 8051,外围扩展并行接口 8155, 模数转换器 ADC0809 等芯片。 由图 32可见,在 =0 和 =0 时, 8155 选中它内部的 RAM 工作;在 =1 和 =0 时, 8155 选中它内部的三个 I/O 端口工作。 8155 用作 键盘 /LED 显示器接口电路。 图 33 中键盘有 30个按键,分成六行( L0L5)五列( R0R4),只要某 个 键被按下,相应的行线和列线才会接通。 图中 30个按键分三类:一是数字键 09,共 10 个;二是功能键 18 个;三是剩余两个键,可定义或设置成复位键等。 为了减少硬件开销,提高系统可靠性和降低成本,采用动态扫描显示。 A 口和所有 LED 的八段引线相连,各 LED的控制端 G 和 8155C 口相连,故 A 口为字形口, C 口为字位口, 8051 可以通过 C 口 控制 LED 是否点亮,通过 A 口显示字符 [9]。 基于单片机的 恒温控制系统的开发 14 图 33 8155用作键盘 /LED 显示器接口电路 8155 芯片内具有 256 个字节的 RAM,两个 8位、一个 16 位的可编程 I/O口和一个 14位计数器。 它与 51型单片机接口简单,是单片机应用系统中广泛使用的芯片。 带有 I/O 接口和计时器的静态 RAM8155 如图 34所示。 图 34 带有 I/O 接口和计时器的静态 RAM8155。基于单片机的恒温控制系统的开发
相关推荐
526P 2627P 2728P S E N29A L E / P30T X D11R X D10I C 1A T 8 9C 5 1R21 0KR31 0KR41 0KV C CP 1. 0Y1C13 3P FC23 3P FV C CF U Z A 1B E L LabfcgdeDPY109 7 5 4 2 1a b c d e f g6dpdpcom3com8D P
器 F0H F7 F6 F5 F4 F3 F2 F1 F0 B E0H E7 E6 E5 E4 E3 E2 E1 E0 A D0H D7 D6 D5 D4 D3 D2 D1 D0 PSW B8H BC PS BB PT1 BA PX1 B9 PT0 B8 PX0 IP B0H B7 B6 B5 B4 B3 B2 B1 B0 P3 A8H AF EA AC ES AB ET1 AA EX1 A9
个 模 块 工作,并 进 行 简单 的 数毕业设计(论文) 6 字信 号处 理。 在整 个数 控直流恒流源系 统 中,主控器是系 统 的控制中心,其工作效率的高低 关 系到系 统 效率的高低以及系 统运 行的 稳 定性。 而 51 系列 单 片机具有成本低, 稳定性好,且 运 行速度基本能 满 足 该 系 统 的要求。 在本系 统 中, 将 采用 Atmel 公司的AT89S52。 此 单
M 0D 7 D 6 D 5 D 4 D 3 D 2 D 1 D 0 图 32 TMOD格式 字节分高低 4 位,高 4 位控制 T低 4位控制 T0。 GATE:门控位,当 GATE=1 时, T0、 T1 计数受外部输入电平控制。 TNT0 引脚控制 T0 运行, INT1 引脚控制 T1 运行。 当 GATE=0 时 C/T 运行不受外部输入 INT0和 INT1 的控制。 C/T:计数器
如图 , NE555 定时电路 V0 口输出连续的脉冲信号至 RST,达到定时复位的效果。 电路使用电阻电容产生 RC 定时电路,用于设定脉冲的周 期和脉冲的宽度。 调节 RW或者电容 C,可以得到不同的时间常数。 脉冲宽度计算公式: TW =(R1+RW+R2)C 振荡周期计算公式: T=(R1+ RW+2*R2)C 从而通过控制振荡周期和脉冲宽度就可以控制定时时间。 内部结构图 图
连接的字段导通并点亮,根据发光字段的不同组合可显示出各种数字或字符。 此时,要求段驱动电路能吸收额定的段导通电流,还需根据外接电源及额定段导通电流来确定相应的限流电阻。 共阴极数码管的 8 个发光二极管的阴极(二极管负端)连接在一起,通常,公共阴极接低电平(一般接地),其它管脚接段驱动电路输出端,当某段驱动电路的输出端为高电平时,则该端所连接的字段导通并点亮