基于单片机的恒压供水系统的设计与实现内容摘要:

如图 , NE555 定时电路 V0 口输出连续的脉冲信号至 RST,达到定时复位的效果。 电路使用电阻电容产生 RC 定时电路,用于设定脉冲的周 期和脉冲的宽度。 调节 RW或者电容 C,可以得到不同的时间常数。 脉冲宽度计算公式: TW =(R1+RW+R2)C 振荡周期计算公式: T=(R1+ RW+2*R2)C 从而通过控制振荡周期和脉冲宽度就可以控制定时时间。 内部结构图 图 NE555内部结 构 XXX 大学 毕业设计 11 图 NE555定时电路及工作波形 LED 数值显示 D/A 数值采集 D/A 数值反馈 LED 数值显示模块 数码管由 7 个发光二极管组成 , 行成一个日字形 , 它门可以共阴极 , 也可以共阳极。 通过解码电路得到的数码接通相应的发光二极而形成相应的字 , 这就是它的工作原理。 基本的半导体数码管是由 7 个条状的发光二极管( LED)按图 1 所示排列而成的,可实现数字 0~ 9及少量字符的显示。 另外为了显示小数点,增加了 1 个点状的发光二极管,因此数码管就由 8 个 LED 组成,我们分 别把这些发光二极管命名为a,b,c,d,e,f,g,dp,排列顺序如下图。 图 共阴数码管引脚图 XXX 大学 毕业设计 12 数据采集 A/D 转换电路 a. AD0809 的逻辑结构 ADC0809 是 8位逐次逼近型 A/D转换器。 它由一个 8 路模拟开关、一个地址锁存译码器、一个 A/D 转换器和一个三态输出锁存器组成 ,如图。 多路开关可选通 8个模拟通道,允许 8 路模拟量分时输入,共用 A/D 转换器进行转换。 三态输出锁器用于锁存 A/D 转换完的数字量,当 OE 端为高电平时,才 可以从三态输出锁存器取走转换完的数据。 图 AD0809内部结构 b. AD0809 的工作原理 IN0- IN7: 8 条模拟量输入通道 ADC0809 对输入模拟量要求:信号单极性,电压范围是 0- 5V,若信号太小,必须进行放大;输入的模拟量在转换过程中应该保持不变,如若模拟量变化太快,则需在输入前增加采样保持电路 [6]。 c. AD0809 转换电路 电路见图 ,主要由 AD 转换器 AD0809,频率发生器 SUN7474,单片机 AT89S51及显示用数码管组成。 AD0809 的 启动方式为脉冲启动方式,启动信号 START 启动后开始转换, EOC 信号在 START 的下降沿 10us 后才变为无效的低电平。 这要求查询程序待 EOC无效后再开始查询,转换完成后, EOC 输出高电平,再由 OE 变为高电平来输出转换数据。 我们在设计程序时可以利用 EOC 信号来通知单片机(查询法或中断法)读入已转换的数据,也可以在启动 AD0809 后经适当的延时再读入已转换的数据。 AT89S51 的输出XXX 大学 毕业设计 13 频为晶振频的 1/6( 2MHZ), AT89S1 与 SUN7474 连接经与 7474 的 ST脚提供 AD0809 的工作时钟。 AD0809 的工作频范围为 10KHZ1280KHZ,当频率范围为 500KHZ 时,其转换速度为 128us。 AD0809 的数据输出公式为: Dout=Vin*255/5=Vin*51,其中 Vin 为输入模拟电压,Vout 为输出数据。 图 A/D转换电路 4 变频恒压调速供水系统软件设计 编程软件 C051 编译器介绍 现在比较流行的 51 系列编程软件 a. American Automation:编译器通过 asm 和 endasm 预处理选择支持汇编语言。 XXX 大学 毕业设计 14 b. IAR: 瑞典的 IAR 是支持分体切换的编译器。 c. Bso/Tasking:是 Intel, LSI, Motorola, Philips, Simens 和 Texas Instruments嵌入式系统的配套软件工具 d. Dunfield Shareware:非专业的软件包,不支持 floats, longs 或结构等 e. KEIL: KEIL 在代码生成方面处于领先地位,可以产生最少的代码。 它支持浮点或长整数、重入和递推。 使用单片机模式, KEIL 是最好的选择 f. Intermetrics:使用起来比较困难,要由可执行的宏语句控制编译、汇编和链接,且选项很多。 编译器的算法技术支持( float 和 long)很重要。 生成代码的大小比编译速度重要,这里 KEIL 具有性能领先、紧凑的代码和使用方便等优点,所以本系统用 KEIL 编译器 [7]。 KEIL 编译器 KEIL 开发工具套件可用于编译 C 源程序、汇编源程序、链接和定位目标文件及库,创建 HEX 文件以及调试目标程序。 a. uVision2 for Windows: 是一个集成开发环境。 它将项目管理、源代码编辑和程序调试等组合在一个强大功能的环 境中。 b. CX51 国际标准优化 C 交叉编译器:从 C 源代码产生可重定位的目标模块。 c. AX51 宏汇编器:从 8051 汇编源代码产生可重定位的目标模块。 d. BL51 链接器 /定位器:组合有 CX51 和 AX51 产生的可重定位的目标模块,生成绝对目标模块。 e. LIB51 库管理器:从目标模块生成链接器可以使用的库文件。 f. OH51 目标文件至 HEX 格式的转换器:从绝对目标模块生成 Intel HEX 文件。 g. RTX51 实时操作系统:简化了复杂的实时应用软件项目的设计 [8]。 单片机资料 单片微 型计算机简称为单片机,有称为微型控制器,是微型计算机的一个重要分支。 单片机是 70年代中期发展起来的一种大规模集成电路芯片,是 CPU、 RAM、 ROM、 I/O 接口和中断系统于同一硅片的器件。 80年代以来,单片机发展迅速,各类新产品不断涌现,出现了许多高性能新型机种,现已逐渐成为工厂自动化和各控制领域的支柱产业之一。 ALE/PROG 地址锁存控制信号:在系统扩展时, ALE 用于控制把 P0 口的输出低 8 位地址送锁存器锁存起来,以实现低位地址和数据的隔离。 ALE 与 74LS373 锁存器的 G 相连接,当 CPU对外部进行存取 时,用以锁住地址的低位地址,即 P0 口输出。 ALE 有可能是高电平也有可能是低电平,当 ALE是高电平时,允许地址锁存信号,当访问外部存储XXX 大学 毕业设计 15 器时, ALE 信号负跳变(即由正变负)将 P0 口上低 8位地址信号送入锁存器。 当 ALE是低电平时, P0 口上的内容和锁存器输出一致。 在没有访问外部存储器期间, ALE 以 1/6 振荡周期频率输出(即 6 分频),当访问外部存储器以 1/12 振荡周期输出( 12分频)。 当系统没有进行扩展时 ALE 会以 1/6 振荡周期的固定频率输出,因此可以做为外部时钟,或者外部定时脉冲使用。 PORG 为编程脉冲的输入 端:在 8051 单片机内部有一个 4KB 或 8KB 的程序存储器( ROM), ROM的作用就是用来存放用户需要执行的程序的,通过编程脉冲输入才能写进去的,这个脉冲的输入端口就是 PROG。 EA/VPP 访问和序存储器控制信号 a. 接高电平时: CPU 读取内部程序存储器( ROM)。 扩展外部 ROM:当读取内部程序存储器超过 0FFFH( 8051) 1FFFH( 8052)时自动读取外部 ROM。 b. 接低电平时: CPU 读取外部程序存储器( ROM)。 在前面的学习中我们已知道,8031 单片机内部是没有 ROM 的,那么 在应用 8031 单片机时,这个脚是一直接低电平的。 c. 8051 写内部 EPROM 时,利用此脚输入 21V 的烧写电压。 RST 复位信号:当输入的信号连续 2个机器周期以上高电平时即为有效,用以完成单片机的复位初始化操作,当复位后程序计数器 PC=0000H,即复位后将从程序存储器的0000H 单元读取第一条指令码。 XTAL1 和 XTAL2 外接晶振引脚。 当使用芯片内部时钟时,此二引脚用于外接石英晶体和微调电容;当使用外部时钟时,用于接外部时钟脉冲信号。 VCC:电源 +5V 输入 VSS: GND 接地。 AVR 和 pic 都是跟 8051 结构不同的 8 位单片机,因为结构不同,所以汇编指令也有所不同,而且区别于使用 CISC 指令集的 8051, 他们都是 RISC 指令集的,只有几十条指令,大部分指令都是单指令周期的指令,所以在同样晶振频率下,较 8051 速度要快。 ARM 实际上就是 32 位的单片机,它的内部资源(寄存器和外设功能)较 8051 和 PIC、AVR都要多得多,跟计算机的 CPU 芯片很接近了 [9]。 XXX 大学 毕业设计 16 软件的程序设计图 a. 主程序框图 图 主程序流程图。
阅读剩余 0%
本站所有文章资讯、展示的图片素材等内容均为注册用户上传(部分报媒/平媒内容转载自网络合作媒体),仅供学习参考。 用户通过本站上传、发布的任何内容的知识产权归属用户或原始著作权人所有。如有侵犯您的版权,请联系我们反馈本站将在三个工作日内改正。