毕业设计(论文)-基于单片机的水温控制设计.doc_第1页
毕业设计(论文)-基于单片机的水温控制设计.doc_第2页
毕业设计(论文)-基于单片机的水温控制设计.doc_第3页
毕业设计(论文)-基于单片机的水温控制设计.doc_第4页
毕业设计(论文)-基于单片机的水温控制设计.doc_第5页
已阅读5页,还剩48页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

本科毕业设计 水温控制 学生姓名: 学生学号: 院 (系): 年级专业: 指导教师: 二六年六月 攀枝花学院本科毕业设计 摘要 i 摘 要 控制技术在现代生活和生产中扮演着越来越重要的角色。为了实现较高精度 的水温控制,该设计运用单片机 89c51 为控制核心、开关控制以及利用组态软件 相结合的方法来实现水温控制。该系统以锅炉水温作为被控制对象,运用热电阻 测量锅炉水温,经放大后送入 adc0809 将测量得到的模拟量转化为数字量送入到 单片机 89c51 中,利用 89c51 进行处理。同时该系统将测量结果送显示屏显示。 该系统再根据处理后的结果来控制继电器的通断以此来控制电炉加热和电磁阀的 开断,既而达到控制锅炉的水温。控制过程中出现异常情况,声光报警器发出报 警信号。该系统的通信是利用组态软件将单片机与上位机相连,达到远程控制水 温的目的。该系统的特点是电路简单、程序简短、系统可靠性高。 关键词关键词 89c51, adc0809, 组态软件 mcgs 攀枝花学院本科毕业设计 abstract ii abstractabstract control a technique to play a more and more important role in the modern the life and the industry. for carrying out the water temperature control of the higher accuracy, should design to make use of a single slice the machine 89 c51s to carry out the electronics of the water temperature control to equip for the method that controls the core, switch control and makes use of the monitor and control generated system to combine. that system makes use of the hot electric resistance diagraph boiler water temperature, sending to the temperature that will measure into the adc0809 to imitate the quantity conversion to send to go into to the single slice the machine 89 c51s for the numerical quantity after enlarge medium, make use of the 89 c51 rightness temperatures to carry on calculation and processing. that system will measure a result to send to a manifestation to hold a manifestation in the meantime. that system again according to after the processing of result to control to break to control the electric stove heating and the electromagnetism valve to open to break with this after of the electric appliances, attain water temperature of control the boiler then. control to appear an excrescent circumstance in the process, sound and lights reporting to the police a machine will send out to report to the police signal according to the circumstance. the correspondence of that system is to make use of the monitor and control generated system single slice the machine and the place of honor machine connect with each other, attaining the purpose of the long range control water temperature. the characteristic of that system is the electric circuit is simple, the procedure is brief, the system credibility is high. keyword 89 c51, adc0809, monitor and control generated system 攀枝花学院本科毕业设计 目录 1 目 录 摘摘 要要i abstract.ii 绪绪 论论 .1 1 方案论证方案论证 .2 2 微处理器微处理器 89c51 .4 2.1 89c51 的外部引脚的外部引脚.4 2.2 89c51 的内部结构的内部结构.5 3 a/d 转换器转换器 0809.8 3.1 主要性能主要性能8 3.2 adc0809 芯片组成原理芯片组成原理9 3.3 adc0809 引脚功能引脚功能.9 3.4 adc0809 与与 89c51 的硬件接口的硬件接口.10 4 声光报警和声光报警和 k 型热电偶放大电路型热电偶放大电路.12 5 键盘设计键盘设计13 5.1 键盘接口的输入和去抖动键盘接口的输入和去抖动13 5.2 独立式键盘及其接口独立式键盘及其接口.13 5.3 行列式非编码键盘及其接口行列式非编码键盘及其接口14 5.3.1 程序扫描方式.14 5.3.2 定时扫描方式.15 5.3.3 中断扫描方式.16 6 89c51 与继电器连接电路与继电器连接电路17 7 led 显示显示.18 7.1 led 显示驱动器显示驱动器 mc1448918 7.1.1 硬件结构18 7.1.2 工作原理19 7.1.3 mc14489 与单片机的接口.21 8 串行通信接口选择串行通信接口选择22 8.1 rs232c 接口接口.22 8.1.1 电气特性22 8.1.2 电平转换23 攀枝花学院本科毕业设计 目录 2 8.2 rs422a 接口接口.24 8.2.1 电气特性24 8.2.2 电平转换24 8.3 rs485 接口接口26 8.3.1 电气特性26 8.3.2 电平转换26 9 mcgs 组态软件组态软件.29 9.1 mcgs 组态软件的功能和特点组态软件的功能和特点.29 9.2 mcgs 组态软件的整体结构组态软件的整体结构31 9.2.1 mcgs 工程的五大部分.31 9.3 mcgs 组态软件的工作方式组态软件的工作方式32 10 系统软件设计系统软件设计34 10.1 系统软件设计总流程图系统软件设计总流程图34 10.2 声光报警与水温控制流程图声光报警与水温控制流程图.35 10.3 键盘设定温度流程图键盘设定温度流程图.36 结结 论论37 附录附录 a:系统电路总图:系统电路总图38 附录附录 b:系统程序清单:系统程序清单39 参考文献参考文献46 致致 谢谢47 攀枝花学院本科毕业设计 绪论 1 绪 论 由于社会的进步和生产生活的需要,人们对水温控制的要求也逐渐地提高。 在生活中,水是我们必需的,在工业中,我们需要利用水温来进行工业生产。在 现代社会中,水温的利用越来越重要,价值也日渐提升。 为实现题目要求的水温自动控制系统,需要解决以下两个方面的问题:一是 高精度的水温测量电路及其数据处理的实现,另一个是控制方法及其控制电路实 现的研究。数字控制方法远远优于模拟控制方法。目前,实现水温的高精度控制 常采用数字控制方法,可用的控制算法有开关控制、经典 pid 控制、模糊控制等。 为了追求控制系统具有最小的稳态误差、最好的动态过程,即具有最小的超调量 和最短的稳定时间,人们一直在不断研究各种控制方法的应用。在该水温控制系 统中,为简化系统硬件和软件的设计。在控制方法中,不采用 pid 等控制,而是 通过单片机控制继电器来控制电炉加热和控制电磁阀来冷却锅炉。 攀枝花学院本科毕业设计 1 方案论证 2 1 方案论证 方案一方案一:本题是设计一水温控制系统,题目对温度精度要求不高,对调节时 间和调节量没有太大要求,因而可采用适当的控制算法简化系统设计。因此,我 们认为采用单片机实现题目的要求是较好的方案。系统包括:温度采集、a/d 转 换、单片机、i/o 设备、控制执行设备电路等。以及一部分发挥。系统框图如下 图 1.1 所示。 温度传 感器 信号 放大 a/d 转换 电 炉 光耦可 控硅 放 大 或 门 51 单 片 机 报 警 上位机 过 零 触 发 电 路 图 1.1 单片机按一定的控制算法对采集的温度数据进行处理,得到控制量,以此控 制电路的功率,从而实现对水温的控制。传感器选用集成的温度传感器 ad590。 但是这个方案的缺点较多例如电路的结构复杂;精确实现既定功能的困难很大; 而且由于器件很多,使 89c51 的内部资源不能满足需要;调试和安装都十分不方 便。 方案二方案二:在这套方案里我们采用数字式温度传感器 ds18b20。能够将温度直 接转换成数字信号。可以通过数据线与单片机进行通信,而且不需要外部元件。 在-10 85范围内可以精确到0.5。这样设计可以不使用 a/d 转换器,从 而使系统的精度得以提高,也能够大大节省 89c51 的系统资源,所以加上了 ds1887 时钟模块电路,使时间能够实现显示。同时我们采用了 max232 串行通讯 电路与微机进行通讯,在升温的同时将数据送到上位机中显示,并显示出升温的 曲线。这样既可以保证系统资源不被过多地占用,又使程序的可靠性大大提高, 同时使硬件电路更加简明了。如下图 1.2。 攀枝花学院本科毕业设计 1 方案论证 3 ds18b20 ds12887 单 片 机 继电器 串行通信 负载 pc 机 图 1.2 然而,从经济的角度考虑,温度传感器 ds18b20 一般市场很难购买到。在这 一关键性元件中,决定了该方案不可行。 方案三方案三:本系统终合上述两种方案而得。采用 k 型热电偶测量温度,将温度 信号放大进行 a/d 转换,进入单片机进行处理,再由单片机送信号对继电器进行 控制,以达到控制负载和电磁阀的目的。再将单片机通过串行通信口用 rs485 与 上位机相联,达到更好的控制。方案框图如下图 1.3。 温度传感器 放大 a/d 0809 负载 继电器 89c51 报警 串行通信pc 机 继电器电磁阀 图 1.3 温度传感器采用 k 型热电偶,因本系统对温度的控制精度要求不是很高,温 度传感器 ad590 不能与被测液体进行直接接触,需额外保护。这样会影响测量精 度,并且使用寿命不是很理想。该系统电路较方案二复杂,但可行性较高,都易 于实现。 攀枝花学院本科毕业设计 2 微处理器 89c51 4 2 微处理器 89c51 at89c51 是 at89 系列单片机中的一种,开发调试使用都较为方便,它和 mcs51 系列的软硬件兼容。 2.1 89c51 的外部引脚 89c51 是标准的 40 引脚双列直插式集成电路芯片,如图 2.1 所示。 图 2.1 89c51 芯片 按其功能可分为电源、时钟、控制和 i/o 接口四大部分: 电源引脚 vcc:芯片主电源,外接+5v ;gnd:电源地线。 时钟引脚 xtal1 与 xtal2 为内部振荡器的两条引出线。 控制引脚 1):地址锁存控制信号/编程脉冲输入端。 2):片外程序存储器读选通有效信号。 3)在 cpu 向片外程序存储器读取指令和常数时,每个机器周期两次低 电平有效。但在此期间,每当外部数据存储器或 i/o 接口时,该两次低电平 有效信号将不出现。端可以驱动 8 个 ttl 负载。 攀枝花学院本科毕业设计 2 微处理器 89c51 5 4):访问程序存储器控制信号/编程电源输入端。 当该引脚 ea 信号为低电平时,只访问片外程序存储器,不管是否有程序存储器; 当该引脚为高电平时,单片机访问片内的程序存储器。但对 at89c51 来说,当 pc(程序计数器)值超过 4k 地址时,自动转到片外程序存储器 1000h 开始顺序读 取指。 5)rst/vpd:复位/掉电保护信号输入端。 挡振荡器运行时,在该引脚加上一个 2 个机器周期以上的高电平信号,就能 使单片机回到初始状态,即进行复位。掉电期间,该引脚可接上备用电源(vpd) 以保护内部 ram 的数据。 i/o 引脚 1)p0 口(p0.0p0.7):8 位双向并行 i/o 接口。扩展片外存储器或 i/o 口 时,作为低 8 位地址总线和 8 位数据总线的分时复用接口,它分为双向三态。p0 口可带 8 个 ttl 负载电流。 2)p1 口(p1.0p1.7):8 位准双向并行 i/o 接口。p1 口每一位都可以独 立设置成输入输出位。p1 口可以驱动 4 个 ttl 电路。 3)p2 口(p2.0p2.7):8 位准双向并行 i/o 接口。扩展外部数据、程序 存储器时,作为高 8 位地址输出端口。p2 口可以驱动 4 个 ttl 电路。 4)p3 口(p3.0p3.7):8 位准双向并行 i/o 接口。除了与 p1 口有一样的 i/o 功能外,每一个引脚还兼有第二功能。如表 2.1 所示。p3 口可以驱动 4 个 ttl 电路。p3 口的第二功能信号都是单片机的重要控制信号,因此,在实际使用 时,先按需要选用第二功能信号,剩下的才以第一功能的身份作为数据位的 i/o 使用。 表 2.1 p3 口第二功能 p3.0p3.1p3.2p3.3p3.4p3.5p3.6p3.7 rxdtxdt0t1 p1、p2、p3 口线片内均有固定的上拉电阻,故称为准双向并行 i/o 接口。 2.2 89c51 的内部结构 89c51 单片机的内部结构如图 2.2 所示 攀枝花学院本科毕业设计 2 微处理器 89c51 6 rs0 rs1 rar 128x8 ram4k x 8 flash rom sense amps ram buffer p a alu rom tmp1 tmp2b alu cacfoov ir pla control ie ip tcon tmod tl0 th0 tl1 th1 scon sbuf(rec) sbuf(xmit) p0 p1 par pc dph incr dpl p0 p2 p2 sp p3 p3 p3 p 1 psw 图 2.2 89c51 内部结构 由图 2.2 可知,89c51 单片机由运算器和控制器组成的微处理器、片内存储 器 ram/rom、p0p3 组成的 i/o 端口以及各种存储器组成的特殊功能寄存器 sfr 和串行接口、定时/计数器、中断系统、振荡器构成。 89c51 的微处理器(cpu) 微处理器是单片机的核心部位,完成运算和控制功能。该微处理器能处理 8 位二进制数或代码,它由运算器、控制器、程序计数器 pc 等组成。 89c51 的内部数据存储器(内部 ram) 89c51 芯片中共有 256 个 ram 单元,但其中高 128 单元被专用寄存器 sfr 占 用,能作为寄存器供用户使用的低 128 单元,地址范围是 007fh,用于存放可 读写的数据。因此通常所说的内部数据存储器是指低 128 单元,简称内部 ram。 89c51 的内部程序存储器(内部 rom)89c51 芯片中共有 4kbbfperom,地址 攀枝花学院本科毕业设计 2 微处理器 89c51 7 范围是 0000h0fffh,用于存放程序、原始数据或表格,因此称之为程序存储器, 简称内部 rom。 定时/计数器 89c51 芯片中共有两个 16 位的定时/计数器以实现定时或记数功能,并以其 定时或计数结果实现控制功能。 并行 i/o 口 该芯片中共有 4 个 8 位的 i/o 口以实现数据的并行输入/输出。 串行口 89c51 单片机有一个全双工的串行口以实现单片机和其他设备之间的串行数 据发送。该串行口功能较强,既可作为全双工异步通信收发器使用,也可作为同 步移位器使用。 中断控制系统 89c51 共有 5 个中断源,即外中断两个、定时/计数中断两个、串行中断一个。 全部中断分为高级和低级两个优先级别。 时钟电路 89c51 芯片的内部有时钟电路,但石英晶体和微调电容需外接。时钟电路为 单片机产生时钟脉冲序列。系统允许的晶振频率一般为 6mhz12mhz。 89c51 最小应用系统原理图如图 2.3 所示: +5v 8 8 8 8 +5v xtal1 xtal2 vcc rst/vpd vss p0 p1 p2 p3 ea 89c51 + 300 1k 22uf rset 图 2.3 最小应用系统 攀枝花学院本科毕业设计 3 a/d 转换器 0809 8 3 a/d 转换器 0809 与 d/a 转换器一样,a/d 转换器的种类很多。按其输出接口类型可分为:并 行数据输出型和串行数据输出型。按其输入接口类型可分为:单端输入型和差动 输入型。 在实际使用中,应根据具体情况选用适合的 a/d 转换芯片。例如某测温系统 中温度输入范围为 0200 ,要求测温的分辨率为 1,转换时间在 1ms 以内,可选用分辨率为 8 位的逐次比较式芯片 adc0809:如果要求测温的分辨率 为 0.5,转换时间在 0.5s 以内,则可选用双积分型芯片 5g14433。 常用 a/d 芯片及其主要参数如表 3.1 所示。 表 3.1 常用 a/d 芯片 型 号位数 通 道 精度 lsb 转换 时间 输入 工作 电压 说明 adc0801811100us0+5v+5v逐位逼近 adc0809881100us0+5v+5v逐位逼近 adc08168160.5100us0+5v+5v逐位逼近 ad574121125us15v15v逐位逼近 adc12101210.5100us15v15v逐位逼近 5g14433 31/2 位 bcd 11100ms5v5v双积分 icl7135 41/2 位 bcd 11100ms5v5v双积分 在该系统中选择 adc0809 是较为理想的选择。它满足系统设计要求。 adc0809 是采用逐次逼近法原理的 a/d 转换器。 3.1 主要性能 分辨率为 8 位二进制数; 输入电压范围为 05v,对应 a/d 转换值为 00hffh; 每路 a/d 转换完成时间为 100us; 允许输入 8 路模拟电压,通过具有锁存功能的 8 路模拟开关,可分时进行 攀枝花学院本科毕业设计 3 a/d 转换器 0809 9 8 路 a/d 转换; 工作频率为 500hz,输出与 ttl 电平兼容。 3.2 adc0809 芯片组成原理 adc0809 芯片的组成框图如图 3.1 所示。 8 路模 拟开关 8 位逐次 逼近 ad 转换器 三态锁 存输出 缓冲器 地址 锁存 与译 码器 vcc oe addc addb adda ale eoc in0 in7 vref(+)vref(-) clkstart db7 db0 gnd 图 3.1 adc0809 芯片组成原理 由图可知:它由地址锁存与译码器、8 路模拟开关、8 位逐次逼近 a/d 转换 器和三态锁存输出缓冲器构成。有三位地址输入线 adda、addb、addc 决定 8 路 模拟输入中的 1 路进入 8 位 a/d 转换器,a/d 转换后的值放入三态缓冲器暂存。 在 cpu 发来输出允许控制信号 oe 后,三态门打开,经 db0db7 进入 cpu 数据 总线,完成一次 a/d 转换。 3.3 adc0809 引脚功能 adc0809 采用 28 只引脚的封装,双列直插式。 in0in7:8 路 0+5v 模拟电压输入端。 db7db0:8 位数字输出线,输出 8 位 a/d 转换值。 start:启动 a/d 转换输入端。若单片机在此处加一正脉冲,脉冲的上升 沿将内部寄存器清零;其下降沿启动 a/d 进行一次新的转换。 eoc:a/d 转换结束输出信号,高电平有效。在启动 a/d 转换 start 有效开 攀枝花学院本科毕业设计 3 a/d 转换器 0809 10 始,eoc=0,表示 a/d 转换正在进行中;当转换一结束,eoc=1。因此, eoc 可作为 a/d 转换状态输出信号,供 cpu 查询或用来向 cpu 申请中断。 oe:允许数字量输出信号,高电平有效。当 oe=1 时,打开三态门,将 a/d 转换后的 8 位数字量放在数据总线 db7db0 上,供 cpu 用指令取走。 clock:输入始终脉冲端。频率为 500khz。 adda、addb、addc:模入通道 in0in7 的地址选择线。可控制 8 路转 换开关进行八选一切换。 ale:地址锁存允许输入信号。锁存 adda、addb、addc。 3.4 adc0809 与 89c51 的硬件接口 adc0809 与单片机的接口有两种方式:一种是将 0809 通过并行 i/o 口如 8155 与单片机连接;另一种是将 0809 直接与 89c51 连接,这时 89c51 应给 adc0809 一个外部 ram 单元地址。由于 adc0809 没有片选 cs 端,因此用 starte 和 oe 端 代替 cs。adc0809 和单片机接口应解决以下问题。 8 个模拟通道 in0in7 地址的确定 由于 adc0809 自带地址锁存器,可直接将 adda、addb、addc 与 p0. 2、p0.1 和 p0.0 连接。 工作方式的选择 a/d 转换结束后,cpu 可以用查询方式或中断方式读走 a/d 转换值。若采用查 询方式,可将 eoc 连接 p1.0,cpu 可使用 jnb p1.0,here 指令查询 p1.0 的状态。 若采用中断方式,将 eoc 经一个“非”门连接,a/d 转换结束后 eoc=1, =0,cpu 在中断服务程序中将 a/d 转换后的值读走。 adc0809 控制信号的产生 adc0809 所需控制信号的产生入图 3.2 所示。 + + start ale oe wr rd p2.7to adc0809 from 89c51 图 3.2 控制信号的产生 在图 3.2 中,用单片机 p2.7 和共同控制 0809 的 ale 和启动 a/d 转换的 start 端。当 p2.7=0、=0 时,ale=start=1 有效。ale 先锁存通道地址,然后, 攀枝花学院本科毕业设计 3 a/d 转换器 0809 11 start 启动 a/d 转换。上述有效信号的产生由 cpu 执行指令完成:movx dptr,;中内容任意。dptr 的高位 dph 使 p2.7=0,dpl 选通地址,写操作 使=0,满足要求。a/d 转换结束,eoc=1,通知 cpu,而 cpu 使 oe=1 才能完成 读 a/d 转换操作。由指令:“movx a,dptr”置=0,p2.7=0,使 oe=1,则 将 a/d 转换值读入 a 中。满足上述要求的 adc0809 与 89c51 硬件接口如图 3.3 所 示。 按图连线选通 in0in7 地址为 0000h0007h。未使用的位 p2.6 p2.0、p0.7p0.3 均设为 0。ale 4 分频由 2 个 d 触发器实现。 ale p0.7 int0 wr p2.7 rd 74ls373 g d ck q q clk adc0809 c b a d0-d7 start ale oe eo c vref(+) vref(-) in0 in1 in2 in3 in4 in5 in6 in7 1 1 1 89c51 p0.0 a2 22223 a1 a0 图 3.3 adc0809 与 89c51 硬件接口 攀枝花学院本科毕业设计 4 声光报警和 k 型热电偶放大电 路 12 4 声光报警和 k 型热电偶放大电路 在系统控制中,控制过程中被控对象出现危险或出现与控制相违背的情况时。 需要给操作人员提示,以便操作人员及时采取措施,避免事件的发生。 这里采用声光报警装置,它的电路简单,仅用到发光二极管 led、三极管、 喇叭和电阻。这能使系统更为简化,避免不必要的复杂。单片机控制该声光报警 器,仅仅是从两个端口分别发送控制信号,例如,要使二极管发光,p1.6 为低电 平就可以达到。p1.7 为高电平时,喇叭发音。 led 330 2k 9012 +5v vcc p1.6 7 p1.7 8 89c51 图 4.1 声光报警电路 信号放大电路如下图 4.2。在该电路中,adop07 及其周围电阻构成放大器, adop07 为高精度、低温漂的运算放大器,r1-r3 是 1/4w 的金属膜电阻,精度为 20%;rp1,rp2 是 10 圈线绕电位器;c1 是滤波电容,它与 r3 组成输入滤波电路。 因为热电偶的热电势很小,因此,如果电容漏电大,就会产生漂移电压,c1 采用 精度为 20%,耐压为 50v 的漏电小的电解电容。热电偶的测量范围为 0600, 电路的对应输出电压为 06.0v。根据热电偶的分度表可知,需放大器增益为 240.94。最大非线性误差为 1%。 1k r3 120k 510 3k rp1 20k rp2 + 4uf c1 vout (0-6v) (100mv/) adop07 + - 图 4.2 信号放大电路 攀枝花学院本科毕业设计 5 键盘设计 13 5 键盘设计 在该单片机应用系统中,使用简单的非编码键盘接口。键盘常常是由一组常 开的按键组成,可以通过键盘输入数据或命令。每个按键都被赋予一个代码,称 为键码。键码分为编码键盘和非编码键盘。编码键盘是通过一个编码电路识别闭 合键的键码。非编码键盘是通过软件来识别键码的。 5.1 键盘接口的输入和去抖动 键盘中的每一个按键为常开状态,如下图 5.19(a)所示。按键闭合时,p1.3 位低电平;当按键为常态时,p1.3 为高电平。由于机械触点的弹性作用,触点在 闭合和断开瞬间的电接触情况不稳定,造成了电压信号的抖动现象。如图所示。 键的抖动时间一般为 5-10ms。为了避免一次闭合引用 cpu 多次处理,应采用措 施消除抖动。去抖动的方法有硬件和软件两种。硬件去抖一般采用双稳态电路。 软件消抖方法是在 cpu 检测到有键按下时,延时 10-20ms 左右,再次检查该键 电平是否仍保持闭合状态,如保持闭合状态,则确认有键按下,否则重新检测。 +5v p1.3 (a)键盘输入电路 (b)电压抖动 图 5.1 键盘接口的输入和去抖 5.2 独立式键盘及其接口 独立式非编码键盘中每个按键都独立地占用一条数据线,如图 5.2 所示,当 一按键闭合时,相应的 i/o 线变为低电平。独立式非编码键盘的优点是电路结构 简单,缺点是当键数多时占用的 i/o 线也多。 攀枝花学院本科毕业设计 5 键盘设计 14 shi ge run +5v 4 p1.3 5 p1.4 6 p1.5 89c51 图 5.2 独立式键盘及其接口 5.3 行列式非编码键盘及其接口 行列式键盘又叫矩阵式键盘,是将 i/o 线的一部分作为行线,另一部分作为 列线,按键设置在行线和列线的交叉点上,如图 5.3 所示。本接口适合用于键数 较多的场合。检测键盘有无闭合以及查找闭合键的键号,一般采用扫描法。 p1.0 p1.1 p1.2 p1.3 p1.4 p1.6 p1.5 p1.7 0123 4567 89ab cdef 5.1k4 +5v 图 5.3 行列式非编码键盘及其接口 先向所有连接线的 i/o 线输出 0,然后检测连接行线的按键状态,由相应的 i/o 线读入累加器 a 中。有键按下时,对应的行线输入 0,无键按下时所有的行 线输入为 1。 如果有键闭合,依次从一条列线上逐列输出低电平,然后检测各线的状态。 若都为 1,说明闭合键不在该列;若有的行线为 0,则说明闭合键在该列与为 0 的行线的交叉点上。由于每个按键所有的行号与列号不相同,所以每个按键都按 行列号赋予了一个键号。 在上述非编码键盘中,由于该系统对键盘的要求不是很高,也不是很多。在 这里选择独立式键盘,它的结构简单容易实现,同时能简化系统。 5.3.1 程序扫描方式 程序扫描方式是 cpu 在工作空余,主动调用键盘扫描子程序,响应键输入要 攀枝花学院本科毕业设计 5 键盘设计 15 求。在程序扫描键盘中,应完成下述几个功能: 判断键盘中有无键闭合; 消除键抖动影响; 若有键闭合,确定闭合键的键号; 等待闭合键的释放。 开 始 有键闭合否? 延时 12ms 有键闭合否? 逐列逐行扫描 判断闭合键键号 闭合键释放否? 闭合键键号a 返 回 n y n y n y 图 5.4 键盘扫描子程序流程图 5.3.2 定时扫描方式 定势扫描方式是利用定时器产生定时中断,cpu 响应中断对键盘进行扫描并 在有键闭合时转入该功能程序。定时扫描利用时间去抖动,需要两个标志:去抖 攀枝花学院本科毕业设计 5 键盘设计 16 动标志 qudou 和处理标志 culi.。定时扫描的优点是能及时响应输入,缺点是无 论有无键闭合,cpu 都要定时扫描,浪费 cpu 时间。其流程图如下图 5.5 所示 开 始 有键闭合?否? qudou=1? culi=1? 判闭合键号,转键 功能程序,1=culi 返 回 1=qudou 0=qudou 0=culi y n y n n y 图 5.5 定时扫描程序流程图 5.3.3 中断扫描方式 为了提高 cpu 的利用效率,可以让键盘工作在中断方式。有键闭合时产生中 断请求。消抖、求键码等工作由中断服务子程序完成。无键闭合,不产生中断。 攀枝花学院本科毕业设计 6 89c51 与继电器连接电 路 17 6 89c51 与继电器连接电路 直流电磁式继电器,一般用功率接口集成电路或晶体管驱动。在使用较多继 电器的系统中,可用功率接口集成电路驱动。常用的继电器大部分为直流电磁式 继电器,也称为直流继电器。图 6.1 是直流继电器的接口电路图。继电器的动作 由单片机 89c51 的 p1.1、p1.2 端控制。其中 p1.1 端输出低电平信号时,控制继 电器 j 吸和。p1.1 端输出高电平时,继电器 j 释放。通过继电器的吸和释放来控 制水龙头的开与断,即来冷却锅炉中的热水。p1.2 端发送的信号与 p1.1 端一样 通过控制继电器来控制电炉加热。采用这种控制逻辑可以使继电器在上电复位或 单片机受控复位时不吸合。 d zener d 7407sn245 5v vc vc j d t 1k 1k1k d zener d 7407sn245 5v vc vc j d t 1k 1k1k p1.1 p1.2 89c51 text 图 6.1 继电器与 89c51 接口电路 继电器 j 由晶体管 9013 驱动,9013 可以提供 300ma 的驱动电流,适用于继 电器线圈工作电流小于 300ma 的场合。vc 的电压范围是 630v,光电耦合器 使用 sn245。晶体管 9013 的电流放大倍数大于 50。当继电器线圈工作电流为 300ma 时,光电耦合器需要输出大于 6.8ma 的电流,其中 9013 基极对地的电阻分 流约 0.8ma。输入光电耦合器的电流必须大于 13.6ma,才能保证向继电器提供 300 ma。的电流。光电耦合器的输入电流由 7407 提供,电流约为 20 ma。 二极管 d 的作用是保护晶体管 t。当继电器 j 吸和时,二极管 d 截止,不影 响电路工作。继电器释放时,由于继电器线圈存在电感,这时晶体管 t 已经截止, 所以会在线圈的两端产生较高的感应电压。这个感应电压的极性是上负下正,正 端接在 t 的集电极上。当感应电压 vc 之和大于晶体管 t 的集电结反向耐压时, 晶体管 t 就有可能损坏。加入二极管 d 后,继电器线圈产生的感应电流由二极管 d 流过,因此不会产生很高的感应电压,晶体管 t 得到了保护。 攀枝花学院本科毕业设计 7 led 显 示 18 7 led 显示 7.1 led 显示驱动器 mc14489 mc14489 是一种高集成度的 led 显示驱动器件。它采用动态扫描方式直接驱 动 5 位 7 段 led 显示 0f 十六进制以及由 7 段 led 组合而成的其他字符或符 号,在非编码方式时驱动多达 25 只 led。该显示器件需要的辅助电路简单,只 外接一个电阻可达到驱动 led 显示的目的,并且可用程序控制显示亮度;该显 示器件与单片机的数据传送采用同步串行方式,占用单片机软件资源少,不需要 在外加电路即可与单片机协调工作,使用灵活方便。 7.1.1 硬件结构 mc14489 芯片集成有:一个 24 位的移位寄存器,用于串行数据输入输出; 一个 8 位控制寄存器,它存放的内容用于控制显示器件的工作方式;一个 24 位 的显示寄存器,用来存放数据;4 位多路开关和译码 rom,用于 5 位 7 段 led 和 小数位的译码和显示扫描;另外还有阳极驱动电路和位开关等。 mc14489 的管脚图和功能表如下图所示 f 1 e 2 v dd 3 d 4 c 5 b 6 a 7 rx 8 bank1 9 enable 10 20 g 19 h 18 dat aout 17 bank5 16 bank4 15 bank3 14 v ss 13 bank2 12 dat ain 11 clock mc 14489 (a)mc14489 引脚图 引 脚名 称功 能 19,20,1 ,2,47 faled7 段码和小数点驱动器。 3vdd电源。正常工作电压 4.56v,最低不得低于 3v。 8rx段驱动电流设定电阻。700 欧至无穷大。 9,13,15 ,16,17 bank1bank55 位的位阴极驱动开关。用于扫描显示中的位驱动。 10片选段。低电平有效。 11clock时钟输入段。输入时钟无需与片内振荡时钟同步。 攀枝花学院本科毕业设计 7 led 显 示 19 12datain数据输入段。上升沿锁存。 14vss电源输入地端。 18dataout数据输出。在每个时钟下降沿数据输出。可用于级联。 (b)mc14489 引脚介绍 图 7.1 7.1.2 工作原理 数据和时钟输入用施密特触发器作输入缓冲,由于施密特触发器设置的门槛 电压大约为 50%vdd电平信号时方可翻转,因而大大减少了噪声干扰。采用同步串 行数据输入方式,数据传输中无需起始位、停止位和校验位。在每个时钟的上升 沿将 datain 端的数据锁存到片内移位寄存器中,数据的传输是高位(msb) 在前。在信号的上升沿将片内移位寄存器的数据存入控制寄存器中。在 信号的上升沿将片内移位寄存器的数据存入控制寄存器或显示寄存器中。 在一个有效期间,将 cpu 的数据输入到片内移位寄存器中,若输入的是 8 位数据,则自动地在信号上升沿内的显示寄存器中。控制寄存器和显示 寄存器的每位含义如图 7.2 所示。 0: 1 bank1 0161c6 bank2 0161c6 bank3 0161c6 bank40161c6 bank5 0161c6 01 01 c7c6c5c4c3c2c1c0 (a)控制寄存器的格式 攀枝花学院本科毕业设计 7 led 显 示 20 d0d1d2d3d4d5d6d7d8d9d10d11d12d13d14d15d16d17d18d20 d19d21d22d23 nbank5nbank4nbank3nbank2nbank1 0 0 0 h 0 0 1 bank1h 0 1 0 bank2h 0 1 1 bank3h 1 0 0 bank4h 1 0 1 bank5h 1 1 0 bank1bank2h 1 1 1 h 01 (b)显示寄存器的格式(24) 图 7.2 显示的数据可选择两种译码方式,如下表 7.1 所示 表 7.1 两种译码方式 输入数据显示数据 十六进制数十六进制译码特殊译码 00 11c 22h 33h 44j 55l 66n 77o 88p 99r aau bbv ccy dd- ee= ffo 攀枝花学院本科毕业设计 7 led 显 示 21 位扫描信号由 bank1-5 提供,阳极驱动电流由 ah 端输出,每段电流大小 由 rx 设定,另外还可由软件设定其显示方式:当 c0=1、d23=1 时,为正常方式, 输出电流即为 rx 设定电流。当 c0=0、d23=1 时,为低功耗方式,输出电流=0, 此时 led 不显示(此方式可用于“闪烁”显示) 。c0=1、d23=0 时,为弱显示。此 时 ah 的输出电流为正常时的 50%,因而可以很方便地根据不同环境调节显示亮 度,以达到节省电源功耗之目的。 7.1.3 mc14489 与单片机的接口 mc14489 与单片机接口采用如下连接方式,无需电平转换。 enable clock datain mc14489 +5v+5v p2.1 p2.0 p2.2 89c51 图 7.3 采用五只共阳极 led,通过 mc14489 驱动器与单片机相连构成五位 led 数 码显示。电路图如下图 7.4 所示。 a 1 f 2 g 3 e 4 d 5 a 6 c 8 dp 7 b 9 a 10 a 1 f 2 g 3 e 4 d 5 a 6 c 8 dp 7 b 9 a 10 a 1 f 2 g 3 e 4 d 5 a 6 c 8 dp 7 b 9 a 10 7 6 5 4 19 1 2 20 9 13 15 16 17 10 11 12 8 14 bank1 bank2 bank3 bank4 bank5 a b c d e f g h en clock din rx vss +5v89c51 p2 .0 p2.1 p2.2 图 7.4 攀枝花学院本科毕业设计 8 串行通信接口选择 22 8 串行通信接口选择 8.1 rs232c 接口 eia rs232c 是异步串行通讯中应用最为广泛的标准总线,它包括了按位 串行传输的电气和机械方面的规定。使用于数据终端设备(dte)和数据通讯设 备(dce)之间的接口。其中 dte 主要包括计算机和各种终端机,而 dce 的典 型代表是调制解调器(modem) 。 rs 232c 的机械指标规定:rs232c 接口通向外部的连接器(插针插座) 是一种“d”型 25 针插头。在微机通讯中,通常使用的 rs232c 接口信号只有 9 根引脚,见图 8.1。pc 机都带有 9 针“d”型的 rs232c 连接器。 图 8.1 8.1.1 电气特性 rs232c 采用负逻辑,即:逻辑“1”:-3-15v;逻辑“0”: +3+15v。rs232c 标准的信号传输的最大电缆长度为 30 米,最高传输速率为 20kbit/s。 表 8.1 微型计算机通讯中常用的 rs232c 接口信号 引引 脚脚 号号符符 号号方方 向向功功 能能 2txd输出发送数据 3rxd输入接受数据 7rts输出请求发送 8cts输入清除发送 6dsr输入数据通讯设备准备好 5gnd信号地 1dcd输入数据载体检测 4dtr输出数

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论