基于at89c51单片机的汽车空调控制系统内容摘要:
是因为电流的量值是微安级。 为了适应 ADC0809 芯片的输入要求,还需将 HN36 采集的温度信号要进行电流 /电压的转换,将电流信号转换为电压信号,并且对电压信号进行放大。 因此,本文设计的电阻型传感器如图。 本 科 毕 业 设 计 第 14 页 共 42 页 图 电阻型传感器 模数转换电路 单片机控制 ADC0809 的工作过程:首先通过指令选择 0809 的一个模拟输入通道,当执行 MOVX @DPTR, A 时,单片机的 WR 信号有效,从而产生一个启动信号,将脉冲从0809 的 START 引脚送入,脉冲开始在选中通道进行转换。 当转换结束后, 0809 发出代表转换结束的 EOC 信号,该信号可反相后作为向单片机发出的中断请求信号也可以可提供单片机查询。 模数转换电路如图。 LMP7721 143K 7K 143K NH36 10K 10K 100K 100K 本 科 毕 业 设 计 第 15 页 共 42 页 图 模数转换电路 人机接口的设计一 LED 显示和键盘 LED 显示器 (1) LED 静态显示方式: LED 显示器以静态显示方式工作时,所有显示器的共阴极要连接在一起并与地(或+5V)相连;每位的段码线( adp) 分别相连一个 8 位的锁存器的输出端。 当各个 LED的显示字符一经确定,直到送入另一个字符的段码为止,相应锁存器锁存的段码输出将维持不变,这便是称为静态显示的原因。 静态显示器的亮度都较高的原因也是相同的。 (2) LED 动态显示方式: 在多个 LED显示时,通常将所有位的段码线相应段并联在一起,为的是简化硬件电路。 段码线的多路复用由 1 个 8 位 I/O 口控 制的, I/O线控制着相应的共阳极或共阴极,从而形成各位的分时选通。 键盘工作原理 在 8255 相对应的 PCOPC2 线上连接着简易键盘中的 UP 键、 DOWN 键和 AUTO 键,此时输入端为 8255 的 PC 口。 同时 CPU 的外部中断引脚 INT1 上通过一个与门与 3 个按键的行线连接到一起当键盘上的键全部开启时,列线都输出高电平, INT1 引脚也为高电平。 一旦闭合任意一个键, INT1 引脚的电平就会变低, CUP 也会接受到中断请求。 判别是否真的有键按下和确定是哪个键被按下是用软件查询的方法完成的。 另外, AT89C51 的P13 引脚接 连着系统的软开关按键“ ON/OFF”键接,按键在没有闭合时, 引脚处的电平将会升高,该按键的工作方式将采用扫描查询,当检测到低电平为输入端时,在“软 本 科 毕 业 设 计 第 16 页 共 42 页 关机”和“正常运行”之间系统会进行切换。 键盘显示电路如图。 图 键盘显示电路 串行通讯接口的设计 串行数据通信概述 1) 串行数据传送的特点 数据传送按位顺序进行,完成次过程最少只需一根传输线,它的特点是成本低但速度慢。 计算机与远程终端或终端与终端之间的数据传送通常都采用串行方式。 另外,串行数据传送分为异步传送和同步 传送两种方式,本文使用异步传送方式。 2) 异步串行通信异 异步串行数据通信是以字符为基本单位,即一次传送一个字符。 具有一定格式的串行数据位和停止位在异步数据发送器送出一个起始位后发出。 异步数据接收器首先接收起始位,通过调整时钟,使发送器的频率逐步接近于规定值,然后以同步时钟为基础接收位数据串。 在接收过程中,短时间内的数据串接收的正确性不会因为接收时钟与发送时钟的匹配会有偏差而造成影响。 接收器用来判别接收过程中的某些错误的功能是通过停止位,例如串行数据的字节边界错误等。 异步串行通信是一个字符的完整的通信格 式,包括起始位、数据位、奇偶校验位、停止位。 从起始位到停止位结束的全部内容称为一帧。 字符格式(即字符的编码形式,奇偶校验形式,以及起始位和停止位的规定),波特率(即数据传送速率的规定,用每秒传送格式位的数目表示)是异步通信数据传输中,微机与其他设备之间必须遵守的两项规定 单片机与 PC 机的串行接口及电路 单片机和微机串口不兼容是因为微机串口通常采用 RS232 电平而单片机串口是 TTL电平。 所以,接口必须做电平转换处理。 本文采用的是 MAXMI 公司的 MAX232 电平转换芯片。 单片机串行口的 TXD, RXD 和 GND 经电平转换分别与微机的 RXD, TXD 和 GS相连。 本 科 毕 业 设 计 第 17 页 共 42 页 串行通讯的工作方式和波特率设置 单片机的波特率与 CP 机串口的波特率要相等是为了为了保证上位机与下位机的正常通信,传送的误码随着传输速率越低而降低。 在本文中,由于环境因素影响不大,故采用低波特率来减小误码率,本文采用的波特率为 1200bit/s。 单片机有四种串行工作方式,本文采用串行工作方式 l。 即以 10 位为一帧的异步串行通信方式,共包括 1个起始位, 1 个停止位, 8 个数据位 数据发送是由一条写发送寄存器 (SBUF)的指令开始,随后在串行 口由硬件自动加入起位和停止位,构成一个完整的帧格式,然后在移位脉冲的作用下,由 TDX 端串行输出。 一个字符帧发送完后,使 TXD 输出线维持在“ l”状态下,并将串行控制寄存器 SCON 的TI 位置“ 1” ,通知 CPU 可以接着发送下一个字符 [15]。 接收数据时,处于允许接收状态 (REN=1)的 SCON 允许接收位 RNE 位。 在此前提下,串行口 RXD端,当采样到从“ 1”向“ 0”的状态变化时,就认定是变化到了起始位。 随后在移位脉冲的控制下,把接收到的数据位移入接收寄存器中。 CUP从 SBUF 取走接收到的一个字符的前提是接收中断标 志位 RI。 本 科 毕 业 设 计 第 18 页 共 42 页 5 汽车空调温控系统的软件设计 系统软件设计概述 根据系统的总体设计,实现信号采集功能、键盘控制和显示功能、实现控制器的输出、空调系统工作模式选择功能是汽车空调主要控制器软件。 本系统采用的是 8位单片机 AT89C51,其程序存储器也只有 SK,为了更充分地使用单片机的有限空间,在开发该系统软件时使用中断模式作为整个软件的主线 系统软件使用的是 ICCAVR 编译器,采用结构化的程序设计方法进行编写,由主程序和中断服务子程序构成。 系统软件的工作模式 “ 正常 运行模式”、“软关机模式”、“手动控制模式”和“自动控制模式”是汽车空调智能温控系统的四种工作模式。 系统的自检状态会在通电的同时开启,这时在X25045 中系统会首先读入上一次存入 EEPROM 的断电前的系统状态信息,使上次关机前空调控制器的运行状态得以恢复。 上次关机前智能温控系统的“正常运行模式”会经过通电初始化得到恢复。 此时,需要的温度值可以通过温度调节按键设定,温度传感器定时检测车厢温度,温度设定值和温度测量值通过显示器显示出来,根据温差和温差变化混合风门的开度会自动调节,温控系统能够与 PC 机通过串口通讯 交换数据。 当显示器熄灭,混合风门步进电机停止运转,系统不能再进行温度检测、温度设定和串行通讯时说明温控系统进入了软关机模式,达到这一效果只需按一下“ ON/OFF”。 系统在关机前会在 X25045 的 EEPROM 中自动把 (如混合风门的开度范围,温度在自动控制模式下的设定值或手动控制模式下的风门档位值等 )温控系统的状态信息保存。 要想让系统将恢复到“正常运行模式”只需再按一下“ N0/OFF”键。 ”时,混合风门开度档位当处于手动控制模式下可以直接调节 (由全制冷到全加热分为 5档 )。 为使车厢温度能满足乘客想要的舒适度, 智能温控系统根据温度设定值与测量值的偏差,需要处在“自动控制模式”对自动调节混合风门的开度进行调节。 系统软件的模块化编程 模块化编程是一种软件设计方法,采用模块化形式编写本控制系统的软件,分别编写各模块程序,经过编译和调试,最后把各模块一起连接 /定位,达到所需的目标。 模块化编程具有以下优点 : 本 科 毕 业 设 计 第 19 页 共 42 页 l) 开发周期短,研究方便; 2) 当同类的需求较多时,可以把程序放入库中以备以后使用; 3) 使得要解决的问题与待定模块分离,有利于软件的可示化; 4) 有利于软硬件的联调,很容易找到出错的模块,大大简化 了调试 ; 系统主流程模块 使用专门用于计算机嵌入式应用的 Linux操作系统来设计系统的部分软件,其大多数都是用 C语 言编写的放大的源代码,汇编语 言编写的只是 少量 可移植性强的 源程序启动代码和硬件初始化代码。 之所以严格遵守单总线协议来驱动 DSl8820,是因为 C语言编写的温度测试子程序。 每次能执行读写指令前都必须将 DSl8820进行复位。 主机要释放保持 480— 960Fs的低电平的数据线,再通过上拉电阻将数据线保持在 15~ 60Fs,复位操作完成的信号是 DSl8820发出存在脉冲。 初始化程序 (复位程序 )、“读”子程序、“写”子程三个基本子程序要与 DSl8820进行通信才能完成。 在测温、显示等各个子程序编译完成后就可以结合硬件来完成系统的功能,系统的主程序流程图如 图。 本 科 毕 业 设 计 第 20 页 共 42 页 图 系统的主流程序图 开始 初始化操作系统 创建任务 初始化输出电路 测温子程序 显示子程序 初始化显示电路 控制输出 输出控制子程序 结束 N Y N 任务结束。 Y 本 科 毕 业 设 计 第 21 页 共 42 页 按键扫描处理子程序模块 1) 按键扫描程序按按键扫描程序的功能分为以下 3个方面的内容 : :,看 CPU 有没有收到中断请求在外部中断输入端 INT1 后。 若 CPU 收到 中断请求,发出信息使 INT1 运行中断服务子程序,则说明键盘上由键处于闭合状态。 b. 去除键的机械抖动。 识别闭合键的键号和排除键抖动引起的误操作是扫描键盘中断服务程序里的重要部分。 本系统采用按键消抖措施之一的软件消抖措施,另一种为硬件消抖措施。 方法为键盘上有键闭合后,延迟 10m 以后再判别键盘的状态,若仍然有键闭合,则认为键盘上有一个键正在稳定的闭合中,否则就认为是按键在抖动 [16]。 、定时扫描和中断扫描三种工作方式。 在本设计中,用中断扫描的方式设计“ UP”、“ DOWN”和“ AUTO” 键,采用编程扫描的方式设计“ ON/OFF”键。 在硬件接线上, UP、 DOWN、和 AUTO3 个按键的行线与 CPU 的外部中断引脚 INT1 通过一个与门相连接,当键盘上按键都开启式,高电平都会由列线输出,高电平也在 INT1引脚上出现。 一旦闭合的按键出现在键盘上,低电平就会从 INT1 引脚输出,从而导致CPU 收到中断请求。 若响应中断请求,执行中断服务程序,需要 CUP 开放外部中断。 在中断服务程序中,首先调用一个 10ms 的延时程序,键盘上各按键的状态是由软件查询的方式判别的。 按键处理程序在按键机械抖动的影响消失后要做出相应的 调节 [16]。 2) 按键处理程序:按键按下后,相应的功能要与特定的按键对应,“ AUTO”是自动 /手动切换按键,通过 AUTO 在系统默认方式下的手动模式的变化,温度加 1键是“ UP”,温度减 1键是“ ODWN”。 如图 按键扫描子程序流程图 [17]。 本 科 毕 业 设 计 第 22 页 共 42 页 图 模糊控制子程序模块 程序实现了模糊控制中的控制算法,它包括两部分 :一是离线计算模糊控制查询表,将模糊控制表存于单片机的程序存储器中;二是在实时控制过程中,如图 :根据某一时刻单片机的温度设定值与温度测量值的偏差值 e(k)和温差变化率 ec(k),经模糊化推理后直接与存储在单片机表中的数据比较,根据输出量查出步进电机的运转步数,精确后用于混合风门的调节。 外部中断 1 响应 读入 8255PC口按键状态 延时 10ms UP键按下。 DOWN键按下。 UP键子程序 DOWN键子程序 AUTO键子程序 中断返回 N N Y Y Y N 消除按键机械抖动 AUTO键按下。 本 科 毕 业 设 计 第 23 页 共 42 页 图 模糊控制算法子程序流程图 开始 e,ec 采样输出 N Y Y e(k)=20 e(k)=20 Y ec。基于at89c51单片机的汽车空调控制系统
相关推荐
l/Mainframe)结构 的形式出现的。 这种体系结构使用用户能够尽可能地使用共享资源。 这里不仅包括了数据的共享,也包括了应用的共享。 终端所要做的事只是输人命令 (通常是以命令行的形式 ),显示结果,而有关的一切数据处理都交给了主机去完成。 在这样的结构中,由于终端不需要做什么处理工作,所以它可以很简单,也不必随着信息业的发展频繁更新,因此也称“哑”终端但是主机就不一样了
钟和秒; 具有时、分、秒、计数显示功能,以 24 小时循环计时; 具有清零,调节小时、分钟功能 ; 当时钟到了整点的时候,蜂鸣器发出声音,时间长度自行设定。 目的 熟练操作 MAX+plus II 软件; ; ,二十四进制计数器的设计方法 ; ; ; .熟练操作 EDA 实验 箱。 二 程序设计及模块说明与仿真 二十四进制 程序 library IEEE。 use。 use。
_A2:=0000。 ELSE POINTS_A2:=POINTS_A2+ 0001。 END IF。 ELSE POINTS_A1:=POINTS_A1+ 0001。 END IF。 ( 3)当按下减分按钮端 SUB 时,以给 A 组减分为例。 IF POINTS_A1=0000 THEN POINTS_A1:=1001。 IF POINTS_A2=0000 THEN POINTS_A2
通过网络在任何地方,管理人员随时学生进行添加和删除,实现了信息的动态管理。 数据流程图描述数据流程图是对组织中信息运动的抽象,是管理信息系统逻辑模型的主要形式。 基于 ASP 的学生成绩查询系统11它不涉及硬件、软件、数据结构与文件组织,是用图形语言及与此相关的注释来表示系统的逻辑功能,及所开发的系统在管理信息处理方面要做什么。 顶层图图 1系统层次模块图:步骤 1 图 1学生信息处理过程步骤
第 6 页 共 26 页 库,并且也可以开发桌面数据库。 事实上, SQL Server 数据库处理的基本结构,采取关系型数据库模式,尽管如此,相信大家都可以轻易的发现,在 SQL Server的数据库处理方式,则是使用面向对象的操作方式与精神,也就是说, SQL Server 的所有功能,都可以基于系统已经建立好的一些对象来达成,是相当 OO(面向对象)的一个系统结构。 SQL Server