毕业设计单片机多机通讯在家居系统中的应用.doc_第1页
毕业设计单片机多机通讯在家居系统中的应用.doc_第2页
毕业设计单片机多机通讯在家居系统中的应用.doc_第3页
毕业设计单片机多机通讯在家居系统中的应用.doc_第4页
毕业设计单片机多机通讯在家居系统中的应用.doc_第5页
已阅读5页,还剩38页未读 继续免费阅读

下载本文档

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

文档简介

毕毕 业业 设设 计计 题目 单片机多机通讯在家居系统中的应用 系别 专业 班级 姓名 学号 指导教师 日期 I设计任务书设计题目:设计题目:单片机多机通讯在家居系统中的应用设计要求:设计要求:1. 在四个居室中分别设有温度传感器模块和湿度传感器模块,利用主从式多机通讯结构,采用一片主机(上位机)和四个从机(下位机) ,以上位机对下位机进行互相控制,可以对灯光的控制,而且下位机能做到本地控制。2. 设置四组数码管显示各个居室的湿度和温度环境数值,以及灯光的开、关,兼微调的显示。3. 当四个居室中环境参数值超出系统设定的值时,系统就会报警。否则,系统恢复原设定值,继续正常运行。设计进度要求:设计进度要求:第十一周:查阅资料,与指导教师进行交流,确定毕业设计题目和内容。第十二周:进行资料查阅(去图书馆借相关资料书和上网下载有关资料) 。第十三周:根据资料设计计算。第十四周:根据资料写程序以及画框图,找指导教师检查、指导,保证设计内容的正确性。第十五周:整理完善设计内容、按照毕业设计规范进行设计报告的撰写。 第十六周:最终确定设计论文,打印装订,准备毕业答辩和指导教师评阅等。指导教师(签名):指导教师(签名): II摘要 本系统利用多片 MCU 组成了一个简单、安全、智能化的居室环境监控网络,具有性能好、可靠性高、通讯硬件接口简单、检测精度高、操作简单的优点。本系统采用主从式多机通讯网络结构,以 RS-485 总线标准进行多机通讯,具有很高的抗干扰能力、成本低、实现比较简单的特点。各居室的温度、湿度以及灯的状态均可以集中到上位机显示。设有温度、湿度的上下限报警,提示环境已不适合居住。另外上位机还能对各室的日光灯及白炽灯进行开、关以及微调控制。 本文的主要工作为设计硬件和软件。分别介绍了温度测量传感器、湿度传感器、AD 转换器的功能和选择使用情况,及一些微控制器的性能和参数。软件部分主要介绍设计思想及程序流程,并给出了部分程序清单。关键词: 居室,湿度,温度,RS485,单片机多机通讯I目 录摘要.II1 系统简介.11.1 主要性能参数.11.2 主要功能.12 系统设计方案的选择及论证.32.1 设计思想.32.2 系统结构框图.32.3 灯光控制模块.42.4 温度检测模块.62.5 湿度检测模块.72.6 A/D 转换模块 .112.7 通讯模块.142.8 控制模块.162.9 上位机外围接口设计.172.10 系统电源的设计.203 系统设计的部分计算.213.1 温度模块放大倍数计算 .213.2 湿度检测模块的计算 .213.3 LED 数码显示器限流电阻计算 .223.4 蜂鸣器限流电阻计算 .224 系统软件的设计.234.1 灯光的设计.234.2 上位机程序设计.244.3 下位机程序设计.265 系统调试.28结 论.29致 谢.30参考文献.31附 录 A .3211 系统简介本系统采用模块化设计思想,主从式设计结构,监控 4 个居室的环境参量(包括温度、湿度及对居室灯光的控制) 。系统采用一片 AT89C51 作为上位机,向下传送位机发送控制命令和数据及接收下位机传送过来的数据,并采用 4 位数码管显示各居室的温度值和相对湿度值,以及居室内灯的显示。该系统共设有 5 个按键(包括复位键、进入键、返回键、上调键和下调键) 。另外数码管还兼有辅助显示功能,以节省键盘。下位机采用 AT89C2051 单片机检测各居室的温度和湿度,并对这些参数进行调节控制;采用 MICROCHIP 公司的 PIC12C508A 控制各居室的日光灯和白炽灯的亮度。4 片AT89C2051 单片机与主机之间采用 RS-485 总线标准进行通讯,分别安装在各个居室,与主机的通讯地址为 01H、02H、03H、04H。1.1 主要性能参数主要性能参数1.工作电压: AC220V10% 2.测量范围: 温度 0- +50 相对湿度 +25%RH- +75%RH3.测量精度: 温度 0.5 相对湿度 5RH4.控制精度: 相对湿度 5RH5.显示方式:温度值小数点浮动显示三位有效数字,相对湿度小数点浮动显示三位有效数字。1.2 主要功能主要功能1. 显示:当数码管显示“01” “02” “03” “04”分别表示对 1、2、3、4 室进行操作; “L” “E” “H”分别表示对灯光、温度、湿度环境参量进行操作; 当数码管显示“E” “L”分别表示对居室的日光灯、白炽灯操作; 当数码管显示“0” “1”分别表示对居室白炽灯的开、关(兼调亮、调暗功能) ; 当数码管显示“D” “S”分别表示对下位机传来的数据进行显示、对下位机进行设定控制目标值操作;2当目标操作完成后显示“GOOD”,表示操作已成功。2下位机不仅能接受上位机对其灯光的控制,而且能够做到本地控制。3对灯光的控制(尤其是对白炽灯)具有记忆性。4上位机可对下位机设定相对湿度控制目标。在上电复位后,如上位机不对下位机进行人工干扰,下位机自动把各室环境湿度参量设定为默认值:45%RH。5当采集环境参量数据超过上、下限值时系统报警,表明环境已不适合居住,提示主人采取相应的措施。32 系统设计方案的选择及论证2.1 设计思想设计思想设计时,考虑到由于要检测各居室的环境参量,传感器就必须安装在各居室,为了缩短从传感器到单片机的信号传输距离,以避免远距离传输,可采用主从式多机通讯系统设计。信号在主从机之间传输时,为了提高抗共模干扰能力、提高传输距离,可采用 RS-485 总线标准,同时以便与其他设备接口。为了降低设计难度,可采用模块化设计思想。2.2 系统结构框图系统结构框图 根据上述设计思想,设计系统结构如图 2.1 所示:温 度传 感器放大下位机放大线性化控制总线驱动总线驱动控制线性化温 度传 感器放大下位机放大总线驱动灯光控制上位机键盘控制湿 度传 感器湿 度传 感器/转换器/转换器图 2.1 系统结构框图42.3 灯光控制模块灯光控制模块2.3.1 灯光控制方案灯光控制方案 目前市场上的白炽灯普遍存在调光效果差,寿命短,不容易实现集中、智能控制等缺点。随着数字化技术的迅猛发展,针对这种现状,我们完全可以利用软件延时来调节双向可控硅触发角来达到平滑调光的目的。这种方案的优点是:调光平滑,操作简单,寿命长,由于采用了微控制芯片易于实现集中控制和智能控制。2.3.2 微控指芯片的选择微控指芯片的选择 欲实现上述控制方案,需要一个 I/O 引脚少,RAM 及程序存储空间不大,可靠性高的小型微控制芯片。若采用 40 脚功能强大的 51 单片机或 20 引脚的 2051 单片机,使用起来不方便。而 MICROCHIP 公司的 PIC12C5XX 系列单片机2 仅有 8 个引脚,是目前最小的单片机,价格相当便宜(512BROM,25BRAM 的 PIC12C508 市场上售价仅 3 元5 元人民币) ,对于上述控制方案是最合适不过的。PIC12C5XX 系列 8 位单片机在灯光方面与 51 系列 8 位单片机相比具有如下优势3:(1) 引脚少,占用空间小,容易做到超小型控制,使用起来方便;(2) 内部采用数据线和指令线分离的哈拂结构,取指令和执行指令可同时进行,执行效率更高,速度更快。因采用了精简指令集(RISC)与传统的采用集中指令集(CISC)结构的 8 位单片机相比,可以达到 2:1 的代码压缩。速度可提高 4 倍;(3) 因其引脚具有抗瞬态变化的能力,通过限流电阻可以接到 220V 的交流电源获得 50HZ 的同步波,从而可省去过零同步脉冲变压器,而 51 系列单片机不允许这样接;(4) 内置 4MHZ 的 RC 型振荡器,可省接外部振荡器;(5) 内置上电复位电路(POP) ;(6) 大驱动电流,每个 I/O 引脚最大控电流为 25mA,每个引脚最发灌电流为20mA。基于以上优点,可采用 PIC12C508A 作为微控制芯片。2.3.3 键盘的设计键盘的设计 一片 PIC12508A 可控制一路白炽灯和一路日光灯,只需 3 个按键就可满足上述5控制要求。本系统设计 1X3 独立式键盘,利用 GP3,GP4,GP5 口来实现键盘扫描。其工作原理是 PIC12C508A 扫描这三位,确定某一按键开关均采用了上拉电阻,这是为了保证在按键断开时,每个 I/O 口有确定的高电平。电路原理图如图 2.2 所示:按键功能:S-01:白炽灯开及调亮键 S-02:白炽灯断及调暗键 S-03:日光灯开关键S-01、S-02 键:短时间按下起开关功能,按下超过 10mS 后则起调光功能。S S- -0 01 1S S- -0 02 2S S- -0 03 3图 2.2 灯光控制模块键盘电路图2.3.4 同步波同步波 可安排引脚 GP2 经 4.7M(金属实芯)的限流电阻直接接 220V 的交流市电,此方法已经由上海索博智能电子有限公司的生产实践所验证。62.3.5 与上位机的通讯与上位机的通讯 PIC12C508A 没有现成的串行接口,且 I/O 引脚较少,故与上位机通讯比较困难。因其只接受上位机的控制,并不向上位机传送数据,所以可直接作为上位机的I/O 引脚的扩展。如图 2.2 所示,三态门只是为了在上位机不对其控制是确保与上位机隔离。2.3.6 相应管脚波形图相应管脚波形图 引脚 GP2 的波形示意图如图 2.3 所示: 软件延时图 2.3 引脚波形图2.4 温度检测模块温度检测模块2.4.1 温度传感器的选择温度传感器的选择首先对常用的几种温度传感器进行比较如下:(1) 热电偶温度传感器4:热电偶检测的温度信号有如下特点:能用到高温的热电偶,信号都较小。即使是信号较大的 K 偶,在 1300时,也只有 52.398mV。这就意味着对检测到的信号要进行放大。热电偶分度表中给出的数据是以 0为参考点。实际应用时,环境常常不是 0。为热电偶冷端创造一个 0环境,通常的作法是进行冷端补偿。热电偶的温度信号非线性很大,尤其 B 偶。并且,各种热电偶随温度的升高,在某一温度下,热电势的增加量变小。这就使线性化变得困难。由于上述原因,热电偶的温度信号调理电路就比较复杂,经常用在高温环境测量,7并不适用室温这样一个环境参量的测量,故本系统不采用。(2) 热电阻温度传感器4:热电阻是中低温区最常用的一种温度检测器。它的主要特点是测量精度高,性能稳定。其中铂热电阻的测量精确度是高的。测量范围-200+500,应用时一般需要线性化,一般要采用三线制或四线制来消除引出线电阻的影响,硬件电路复杂,故本系统也未采用。(3) 热敏电阻温度传感器5:测量范围为-100+300,一般为负温度系数且精度较底,所以本系统也未采用。(4) 集成温度传感器4:最常用的电流型集成温度传感器 AD590 的测量范围为-55+150几乎为恒流源,线性度比较高,不需要外围温度补偿和线性化处理电路,测温线性度为0.5,精度高,灵敏度为 1A/1,信号容易处理,而且价格便宜,非常适合本系统。经过以上比较,最后选用 AD590 作为本系统的温度传感器。 2.4.2 温度传感器信号处理模块温度传感器信号处理模块因传感器 AD590 输出电流信号,不能被单片机处理,需要转化为电压信号,可对电阻进行取样。取样电压不满足 A/D 转换器的转换电压,故需要放大。考虑设计精度,可采用仪表放大器。但由于集成仪表放大器 AD521 价格昂贵,相对于本系统来说成本太高,不经济,故采用最普通的运算放大器 LM324 自行搭接仪表放大器6。2.5 湿度检测模块湿度检测模块2.5.1 湿度传感器的选择湿度传感器的选择湿度传感器的核心元件是湿敏元件5。湿敏元件主要分电容式、电阻式两大类。湿敏电容是用高分子薄膜电容制成的。当环境湿度发生改变时,湿敏电容的介电常数发生变化,从而电容值。一般湿敏电容精度比湿敏电阻要低一些。湿敏电阻的特点是在基片上覆盖一层用感湿材料制成的膜,当空气中的水蒸气吸附在感湿膜上时,元件的电阻率和电阻值都发生变化,利用这一特性即可测量湿度。湿敏电阻的优点是灵敏度高,线性度和产品的互换性较好。本设计可采用电阻式传感器,具体可选用广州奥松电子有限公司生产的 HR2028电阻型湿度传感器7。它具有感湿范围宽,响应迅速,抗污染能力强,无需加热清洗及长期使用性能稳定可靠等诸多优点。HR202 技术参考:定额电压 1.5V AC(MAX,正弦波)定额功率 0.2mW (MAX,正弦波)工作频率 500Hz2KHz使用温度 060使用湿度 95%RH 以下HR202 相对湿度-阻抗特性如图 2.4 所示:25%RH30%RH35%RH40%RH45%RH50%RH55%RH60%RH65%RH70 %RH75%RH80 %RH85%RH90%RH20%RH10100100010000图 2.4 电气阻抗值 R(K)2.5.2 湿度传感器信号处理模块湿度传感器信号处理模块1. 工作电源的设计 因 HR202 需要在定额电压 1.5V AC(MAX,正弦波) 、工作频率 500Hz2KHz工作,故需设计 1.5V、1KHz 的交流信号源。采用移相式正弦波振荡电路8如图 2.5所示:9图 2.5 移相式正弦波振荡电路由 RC 高通电路的幅频及相频响应知,图中每节 RC 电路都是相位超前电路,相位小于 90 度。3 阶 RC 移相网络,其最大相移可接近 270 度,因此,在某特定的频率下可以移相 180 度。只要适当调节 RP9 的值,使增益 AV 适当,就可为了确保上述震荡电路在输出要求 1KHz 频率时幅值满足要求,在输出端接一个由运算放大器组成的比例放大电路来调整幅值使之达到 1.5V。如图 2.6 所示:图 2.6 正弦波振幅调整电路2. 线性化处理 由 HR202 相对湿度-阻抗特性图可知,它的电阻的对数值与相对湿度呈线性关系。由于二极管的正向压降与电流存在对数特性4,可以利用该特性来补偿湿度传感器的非线性,达到线性化处理的目的。具体如图 2.7 所示,同时因二极管具有-2mV/的温度特性,所以可以对湿度传感器起到一定的温度补偿作用。10 图 2.7 线性化处理电路3. 交流信号全波整流电路传感器信号经线性化处理后仍为交流信号需整流,以便能够被其后的 A/D 转换器处理。如图 2.8 所示,电容 C 起滤波作用8。经 C 滤波后,得到一个与环境相对湿度一一对应的电压值。图 2.8 全波整流电路4. 信号放大环节 在相对湿度为 25%RH 时,湿度信号整流后输出电压并不为零,故需对其调零,可通过调节 RP8 的分压来实现。同时通过 D7、R27、RP8、R57 也能得到理想的温度补偿。在相对湿度为 75%RH 时,要求输出电压为 5V(即 A/D 转换的满量程转换电压)11,可通过调节放大器的增益来实现。原理图如图 2.9 所示:图 2.9 信号放大电路2.6 A/D 转换模块转换模块为了降低成本温度和湿度两个环境参量可共用一片 A/D 转换器。同时为了节省下位机的 I/O 引脚,可采用 TI 公司生产的八位逐次逼近串行 AD 转换器 TLC08349,它价格也比较适中。2.6.1 TLC0834 的主要特点的主要特点TLC0834 是 TI 公司生产的 8 位逐次逼近模数转换器具有输入可配置的多通道多路器和串形输入输出方式。其多路器可由软件配置为单端或差分输入,也可以配置为伪差分输入。另外,其输入基准电压大小可以调整。在全 8 位分辨率下,它允许任意小的模拟电压编码间隔。由于 TCL0834 采用的是串行输入结构,因此封装体积小,可节省 51 系列单片机 I/O 资源,价格也较适中。其主要特点如下:(1) 8 位分辨率;(2) 易于和微处理器接口或独立使用;(3) 可满量工作;(4) 可用地址逻辑多路器选通 4 输入通道;(5) 单 5V 供电,输入范围为 05V;(6) 输入和输出 TTL、CMOS 电平兼容;(7) 时钟频率为 250KHz 时,其转换时间为 32S;(8) 可以和美国国家半导体公司的 ADC0834 和 ADC0838 进行更换,但它内部12不带齐纳稳压器网络;(9) 总调整误差为1LSB。2.6.2 TLC0834 工作特点工作特点TLC0834 可通过和控制处理器相连的串行数据链路来传送控制命令,因而可用软件对通道进行选择和输入端进行配置,其控制逻辑表如表 2.1 所列:13 表 2.1 TLC0834 多路器的控制逻辑表 多路器地址通 道 号SGL/DIFODD/EVENSELECT BIT1CH0 CH1 CH2 CH3LLHHLHLHLHLH+ - + -+ - - +HHHHLLHHLHLH+ + + + 输入配置可在多路器寻址时序中进行。多路器地址可通过 DI 端移入转换器。多路器地址选择模拟输入通道可决定输入是单端输入还是差分输入。当输入是差分时,应分配输入通道的极性,并应将差分输入分配到相邻的输入通道对中。例如通道0 和通道 1 可被选为一对差分输入。另外,在选择差分输入方式时,极性也可以选择。一对输入通道的两个输入端的任何一个都可以作为正极或负极。通常 TLC0834 在输出以最高位(MSB)开头的数据流后,会以最低位(LSB)开头重输出一遍(前面的数据流)。2.6.3 TLC0834 引脚功能引脚功能TLC0834 的引脚排列如图 2.10 所示,其中 CH0CH3 为模拟输入端;CS 为片选端;DI 为串形数据输入,该端仅在多路器寻址时(MUX SETTING TIME)才被检测;DO 为 A/D 转换结果的三态串行输出端;CLK 为时钟;SARS 为转换状态输出端,该端为高电平时,表示转换正在进行,为低电平则表示转换完成;REF 为参考电压输入端;VCC 为电源;DGTL GND 为数字地;ANGL GND 为模拟地。14图 2.10 TLC0834 管脚图2.6.4 TLC0834 工作时序工作时序TLC0834 工作时序如图 2.11 所示:图 2.11 TLC0834 工作时序图2.6.5 TLC0834 与下位机与下位机 AT89C2051 单片机的接口单片机的接口TLC0834 与 AT89C2051 单片机的硬件接口电路的电路原理如图 2.12 所示。图中,单片机的 P1.7 接 TLC0834 的片选信号,P1.6 用于产生 A/D 转换的时钟,P1.5为一个双向 I/O 口位,可用于对模拟输入进行培植及输出转换所得的数据。在这里,模拟信号以单端方式输入,参考电压为 5V,即 A/D 模拟量的输入范围为 05V。15 图 2.12 TLC0834 与 AT89C2051 接口电路图2.7 通讯模块通讯模块AT89C2051 单片机和 AT89C51 单片机本身都有现成的串行接口,利用这些资源就能组成一个简单的多机通讯系统。51 系列单片机实现多机通讯时必须工作于方式2 或 3,作为主机的 51 单片机的 SM2 位应设定为 0,作为从机的 SM2 应设定为 110。为了使不同的设备可以方便地连接起来进行通讯,一般采用 RS-232 和 RS-485 标准总线传输。RS-485 总线标准与 RS-232 总线标准相比较,具有如下优点6:1. 接口信号电平比 RS-232-C 降低了,就不易损坏接口电路的芯片,且该电平与 TTL 电平兼容,可方便与 TTL 电路连接。2. RS-485 接口是采用平衡驱动器和差分接收器的组合,抗共模干扰能力增强,即抗噪声干扰性好。3. RS-485 接口的最大传输距离标准值为 4000 英尺,实际上可达 3000 米,另外 RS-232-C 接口在总线上只允许连接 1 个收发器,即单站能力。而 RS-485 接口在总线上是允许连接多达 128 个收发器。即具有多站能力,这样用户可以利用单一的RS-485 接口方便地建立起设备网络。因此考虑到抗共模干扰能力、允许一对双绞线上一个发送器驱动多个负载设备、16长距离传输等要求,本系统采用 RS-485 标准总线传输。2.7.1 RS-485 总线驱动总线驱动常用的 RS-485 总线驱动芯片11有 SN75174,SN75175,SN75176 等。SN75176 芯片有一个发送器和一个接受器,非常适合为 RS-485 总线驱动芯片,其价格与单片机相差不多。SN75176 管脚图12如图 2.13 所示,其逻辑如表 2.2 所示:表 2.2 SN75176 逻辑关系表差分输入A-B使能端RE输出RVid0.2V-0.2VVid0.2VVid-0.2VXOpenLLLHLH?LZ?说明:H=高电平,L=低电平,?=不确定,X=不相干,Z=高阻图 2.13 SN75176 引脚图2.7.2 通讯结构框图通讯结构框图 如图 2.14 所示,在总线末端接一个匹配电阻,吸收总线上的反射信号,保证正常传输信号干净、无毛刺。匹配电阻的取值应该与总线的特性阻抗相当。当总线上没有信号传输时,总线处于悬浮状态,容易受干扰信号的影响。将总线上差分信号的正端 A+和+5 电源间接一个 10K 的电阻;正端 A+和负端 B-间接一个 10K 的电阻;负端 B-和地间接一个 10K 的电阻,形成一个电阻网络。当总线上没有信号传输时,正端 A+的电平大约为 3.2V,负端 B-的电平大约为 1.6V,即使有干扰信号,却很难产生串行通信的起始信号 0,从而增加了总线抗干扰能力。17+5V图 2.14 通讯结构框图 通讯结构框图功能说明:P1.0 为控制接口;SN75176 作为总线驱动;R 为相对的匹配电阻。2.8 控制模块控制模块 本系统通过改造加湿器及风扇的电源结构,实现简单的数字式控制。考虑到负载分得容量及安装条件,我们可选用 12V、5A 的电路板继电器,具体型号为:JZC-32F-1H-DC12V,它最大可控制叫流 5A 的负载。起线圈额定功率为 0.45W,线圈电阻为 320。可用三极管 9014 作为开关元件控制线圈通断,因继电器 JZ-32F-1H-DC12V 额定工作电压为 DC12V,所以不必加限流电阻,如图 2.15 所示。图中二极管D 的作用是保护晶体管 T。当继电器 J2吸合时,二极管 D 截止,不影响电路的工作。继电器释放时,由于继电器存在着电感,这时晶体管 T 已经截止,所以会在线圈两端产生较高的电压。这个感应电压的极性上负下正,正端接在 T 的集电极上。当感应电压与12V 之和大于晶体管 T 的集电结反向耐压时,晶体管 T 就不能损坏。加入二极管 D 后,继电器线圈产生的感应电流由二极管 D 流过,因此不会产生很高的感应电压,晶体管得到了保护。18 图 2.15 湿度控制电路图2.9 上位机外围接口设计上位机外围接口设计2.9.1 LED 显示模块显示模块 因 AT89C51 的 I/O 口资源有限,单片机可以外接串入并出移位寄存器 74LS16413来扩展 I/O 口,本系统采用了 4 片 74LS164 来扩展 4 位 LED 显示,如图 2.16 所示:图 2.16 LED 显示电路图 图中,单片机的 P3.5 和 P3.4 作为时钟脉冲输入端和数据输出端,故需在软件设计中必须由软件编程产生移位脉冲,并把数据逐位送到数据口,实现显示的功能。 其 4 片用来扩展 AT89C51 的 I/O 口和 4 位 LED 显示的 74LS164 的功能表如下表2.3 所示:输入输出清除 时钟 A BQA QB QH19表2.3 74LS164 的功能表说明:X 代表任意状态;QA0、QB0 QH0代表在稳态输入条件建立之前QA、QBQH 的输出状态;QAn、QBn QHn 代表在最近的时钟上升沿转换之前QA、QBQH 的输出状态;H/L、QAn QBn 代表在最近的时钟上升沿转换之后QA、QBQH 的输出状态。2.9.2 键盘设计键盘设计本设计的系统在数码管上显示,设计键盘时可借助数码管的简单显示功能来设计键盘,按键采用独立按键,如图 2.17 所示:图 2.17 上位机键盘电路图 因上位机要控制各室的灯光、温度显示、相对湿度显示及相关设置,需要较多键盘才能区别这些功能,之就增加了设计难度。但本系统存在数码管显示,设计键盘时可借助数码管的简单显示功能来设计键盘,比如定义显示“L0”时表示当前的操作是对相应居室的灯光进行控制。本系统仅设有:进入键、返回键、加 1(上调)键、减 1(下调)键和复位键。在独立式按键的电路中,各案键开关均采用了上拉电阻,这L X X XH L X XH H HH L XH X LL L LQA0 QB0 QH0H QAn QGnL QAn QGnL QAn QGn20是为了保证在按键断开时,每个 I/O 口线有确定的高电平。键盘的功能:S0:加 1 调整键 S1:减 1 调整键 S2:进入键(确定键) S3:返回键 S4:复位键由于按键采用独立按键来控制的,它在断开闭合时,输入电压波形会产生上下波动,即断开闭合瞬间有抖动过程,时间长短与键盘开关的机械特性有关,一般为 5-10ms。由于抖动会造成查询的开关状态无法准确读出。例如:一次按键产生的正确开关状态由于键的抖动 CPU 多次采集到低电平信号会被误认为按键被多次按下,就会多次进行键输入操作,这是不允许的。为了保证 CPU 对键的一次闭合仅在按键稳定时做一次键输入处理,采用软件消抖方法,即:在检测到有键按下时执行一个10ms 左右的延时程序,而后再确认该键电平是否仍保持闭合状态电平,若仍保持为闭合状态电平,则确认为该键处于闭合状态,这就避开了按键按下时的抖动时间。同理,在检测到该键释放后也应采用相同的步骤进行确认,从而消除抖动的影响。目前, MCS51 单片机应用系统上的按键常采用机械触点式按键,它在断开、闭合时输入电压波形如图 2.18 所示: 后沿前沿识别区按键过程图 2.18 按键控制过程212.10 系统电源的设计系统电源的设计 在进行系统设计时,按照尽量减少系统电源的种类的原则,运算放大器 LM324 可采取用单端供电工作方式。4 个下位机及主机分别安装在不同的居室,因此它们需要各自的独立电源。为了降低生产成本,减少电源体积,避免使用变压器,我们可以通过RLC 串联分压的方式得到所需的直流电源。具体设计如图 2.19 所示:472w 0.68uf/400v 图 2.19 下位机电源原理图图中 0.68f/400V 的独立电容交流阻抗相当大,大部分交流电压都降落在其上。+5V、+12V 的电源是通过三端固定正输出集成稳压器 78 系列来实现的。470f/25V的电解电容起滤波作用,102 瓷介电容起滤高频的作用,减小高频噪声。主机电源与其类似。此电源的最大优点是可省去变压器,体积小。此方案已由上海索博智能电子有限公司的生产实践验证。223 系统设计的部分计算3.1 温度模块放大倍数计算温度模块放大倍数计算3.1.1 放大倍数的确定放大倍数的确定 AD590 灵敏度 1A/取样电阻 1K,则取样电压 1mv/。0时为 273.2mv,故调零电位器为 560。测量范围 050,则电压 050mv。对应 A/D 转换器输入端为 05V。 放大倍数 Av=5v/50mv=1003.1.2 仪表放大器参数的确定仪表放大器参数的确定第一放大增益:AV1= (式 3.1)out2out1191211U-U2R +RP=V -VRP第二放大增益:AV2= (式 3.2)out18out2out117UR=U-UR总增益:AV= (式 3.3)529v1v2272R +WRAA =WR取 R19=10K,R17=11K,R18=27K,RP1=560实际增益:AV1=3332 1056027 1090.11756011 10通过调节电位器 RP1 能达到 100 倍的放大要求。3.2 湿度检测模块的计算湿度检测模块的计算3.2.1 正弦振荡器振荡频率的计算正弦振荡器振荡频率的计算取 C=0.01f 根据振荡频率公式7=计算振荡频率的电阻阻值 R=1/26RC=6.497K (式 3.4)631126260.01 101 10Cf R 取标准值 4.7K 与 2K 的电阻串联。3.2.2 放大环节放大倍数确定放大环节放大倍数确定具体倍数在调试时确定。233.3 LED 数码显示器限流电阻计算数码显示器限流电阻计算LED 显示器选择型号 SM4150 为共阳连接,查其参数为:正向压降为1.6V2.2V;功耗400Mw,工作电流10mA。所以其限流电阻阻值为(5-1.7)V/10mA=330,取标准值 470。3.4 蜂鸣器限流电阻计算蜂鸣器限流电阻计算蜂鸣器选择型号为 PB2130VL100A,其参数为:额定工作电压为 12V;操作电压为015V;最大电流损耗为 20mA;直流电阻未 300。所以其限流电阻阻值为12V/20mA30Ma=570,取标准值为 560。244 系统软件的设计4.1 灯光的设计灯光的设计 采用 PIC12C508A 控制各居室的白炽灯和日光灯的亮度,其微调过程利用调节双向可控硅触发角来产生脉冲信号,主程序框图如图 4.1 所示:图 4.1 灯光控制主程序框图254.2 上位机程序设计上位机程序设计1主机发送的信息可传送到各个从机,而各从机发送的信息只能被主机接收。其主机向各个从机发送数据和控制命令以及接受下位机传送过来的数据,串行接口工作于方式 3, (第 9 位 TB8 用于齐偶效验) ,T1 工作在方式 1,使所有的从机的 SM2位置“1” ,处于只接受地址控制字的状态。制定主机发送控制命令的代码,代码按01H,02H,03H,顺序设置。其主机程序框图 4.2 所示:图 4.2 主机主程序框图2主机收到从机发回的应答地址后,确认地址是否相符。如果地址相符,则清TB8,开始发送命令,通知从机是进行数据接收还是进行数据发送;如果地址不符,26则发复位信号(数据控制字中 TB8=1) 。其主机通讯中断程序框图 4.3 所示: 图 4.3 主机通讯中断程序框图274.3 下位机程序设计下位机程序设计1各个从机接收主机发送的数据和控制命令字时,对其所接收的数据进行转换和运算以及储存。其从机主程序框图如图 4.4 所示:图 4.4 从机主程序框图282各个从机接收地址控制状态字后,各自将所接收到的地址与本从机的地址比较。对于地址相符的那个从机,使 SM2 位清“0”,并把从机的地址发送回主机作为应答,然后开始接收主机随后发来的数据和控制命令信息;对于地址不相符的从机,仍保持 SM2 位为“1” ,对于主机随后发来的数据不予理睬,直至发送新的地址控制状态字。其从机通讯中断服务程序框图如图 4.5 所示:图 4.5 从机通讯中断服务程序295 系统调试完成了以上硬件的设计、制作和软件编程之后,要使系统能够按设计意图正常运行,必须进行系统调试。系统调试包括硬件调试和软件调试两个部分。不过,作为一个单片机系统,其运行是软硬件相结合的,因此,软硬件的调试也是绝对不可能分开的。可是由于条件的限制,只能取各模块进行调试。 程序的调式应一个模块一个模块地进行,单独调试各功能子程序,检验程序是否能够实现预期的功能,接口电路的控制是否正常等;最后逐步将各个子程序连接起来总调。联调需要注意的是,各程序模块间能否正确传递参数,特别要注意各子程序的现场保护与恢复。调试的基本步骤如下: 将所要调试的程序输入到伟福 6000 中,然后进行编译,根据系统的提示查找原因将出错的地方调整正确,例如:有的时标号未定义,有的时少标点符号等。最后以 ASM 扩展名保存。将在伟福中调试好的程序输入 keil 内,将单片机实验箱与计算机连接,然后在keil 中进行编译程序,运行程序,根据单片机所显示的结果分析程序,修改程序直到程序正常。在调试过程中出现的问题:(1)显示灯显示不正常,经分析原因在与显示设置的不对,显示灯输出低电平时亮,结果程序中都是以高电平输出,经修改后正常。(2)灯显示不出微调过程,经过对整个程序的分析也没能够找到问题,后经老师的讲解分析最后发现是程序设计的错误,经改正数码管能够按设定的数据变化。(3)紧急事件发生时,按下复位按键时数码管不会变,经老师帮助当按键按下时,在按键服务程序中修改了一下,就可以按要求变化。30 结 论本设计主要研究了单片机的多机通讯在家居方面的应用。系统采用主从式结构,采用 RS-485 总线标准进行通讯。本系统共采用了 2 个系列 3 种型号的单片机,各有各的使用场合:功能强大的 I/O 口资源,丰富的 AT89C51 作为上位机,向各下位机发送控制命令和设定数据及接受下位机传送过来的数据,并采用 4 位数码管显示各居室的温度值和相对湿度值以及居室内灯光的显示值;20 引脚的 AT89C2051 作为下位机,检测相应居室的温度值及相对湿度值,并在其程序中将检测值与系统设定值相比较,根据比较结果进行相应的控制;各居室的灯光控制(包括白炽灯和日光灯)采用了 microchip 公司的小巧玲珑的 PIC12C5XX 系列的单片机为控制核心。本系统在温度信号放大是采用了自行搭接的仪表放大器,同时在程序运算过程中均采用了 3 字节的浮点运算,从而保证了具有较高的检测精度。本系统设计具有较高的检测精度和控制精度,主要创新点有:系统成功地利用单片机本身的简单串口加上总线驱动组成了简单的 RS-485 通讯,其协议简单,容易实现:上位机对居室的灯光控制方面,因 PIC12C508A 的 I/O 口少,且没有现成的串形口,所以把其直接作为上位机的 I/O 口扩展,从而避免了复杂的通讯协议;在设计上位机键盘时,借助 4 位数码管的简单显示,大大节省了键盘的数量,降低了键盘的设计难度。由于时间仓促,温度有很大的滞后性,若采用数字控制方式,必然导致执行器频繁启动,而这样对压缩机是不允许的,因此仅仅对室内的湿度控制进行了控制,未对温度进行干预。对温度的控制可采取某种算法对其进行模拟控制方式对系统进一步完善。从这次设计中,我意识到在以后的生活中,无论学习什么东西都要遵循理论与实践相结合的原则,这样才能使自己的水平得到提高,进而提高自己的综合竞争的能力。总之,这次设计让我得到很多很多,不仅是在学习和生活方面上,而且还有在其它方面上等等。真是让我受益颇深!31致 谢 本课题在选题及研究过程中得到任艳艳老师的悉心指导和关怀。在她不断帮助下,我解决了许多疑点和难题。任老师多次询问设计进程,并为我指点迷津,帮助我开拓研究设计思路,精心点拨、热忱鼓励。任老师一丝不苟的作风,严谨求实的态度,踏踏实实的精神,不仅授我以文,而且教我做人,虽历时不久,却给以终生受益无穷之道。在此特向任艳艳老师表示我诚挚的感谢!通过本次毕业设计,使我得到了一次用专业知识、专业技能分析和解决问题的全面、系统的锻炼。也使我在单片机的基本原理与接口技术、单片机智能应用系统开发过程,以及在常用编程设计思路技巧的掌握方面都向前迈了一大步,为日后成为一名合格的应用型人才打下良好的基础。在指导老师任老师的精心指导和严格要求下,获得了丰富的理论知识,很大地提高了实践动手能力,并对当前电子领域的研究状况和发展方向有了一定的了解,这对我今后进一步学习单片机方面的知识有很大的帮助。在未来的工作和学习中,我将以更好的成绩来回报老师。在此,我还要感谢在一起愉快的度过大学生生活的机电系全体老师和同学们,正是由于你们不断的帮助和支持,我才能克服一个一个的困难和疑惑,使我的毕业设计得以如期顺利进行。在论文即将完成之际,我的心情久久难以平静,从开始进入课题到论文的顺利完成,有多少可敬的师长、同学、朋友给了我无数的帮助,在这里请接受我诚挚的谢意!最后我还要感谢培养我长大含辛茹苦的父母,感谢学院给了我这依次机会,谢谢您们! 32参考文献1 张国安.微机控制实验与课程设计指导书.北京.电子工业出版社,2003,82 王道宪.Microchip PIC 系列单片机原理应用与开发M .国防工业出版社,2004:21553 刘迎春,叶湘滨.传感器原理设计与应用M国防科技大学出版社,第四版:2002:8283,P156P1854 黄继昌,徐巧鱼,张海贵等.传感器工作原理及应用实例M .人们邮电出版社,1998:2125,75835 胡文津.计算机测控应用技术M重庆大学出版社,2003:2328,89916 HR202 电阻型湿度传感器数据手册S .广州奥松电子有限公司,157 何宏.单片机原理及其接口技术.北京.国防工业出版社,2006,(7)198-2048 余永权.ATMEL89 系列单片机应用技术.北京.北京航空航天大学出版社,2002,49 尹红,唐煜.单片机 RS485 多机通讯的实现I.计算机应用,1999(1):232533附 录 A1、主机程序图程序: ORG 0000HLJMP MAIN ;上电,转向主程序 ORG 0023H ;串行接口的中断入口地址LJMP SERVE ;转向从机中断服务程序 ORG 2000H ;主程序MAIN:MOV TMOD,#20H ;设 T1 工作在方式 2 MOV TH1,#0F3H ;赋初值 MOV TL1,#0F3H SETB TR1 ;启动定时器 1 MOV PCON,#80H ;设 SMOD=1 MOV SCON,#0D8H ;串行接口控制字 MOV DPTR,#3OOOH ;置数据块首地址 MOV R0,#78H ;置发送字节数初值 SETB ES ;允许串行接口中断 SETB EA ;CPU 开中断 MOVX A,DPTR ;取第一个数发送 MOV C,P MOV TB8,C ;奇偶标志送 TB8 MOV SBUF,A ;发送数据 SJMP $ ;等待中断2、主机通讯中断程序:SERVE: MOV A,R2 MOV SBUF,A ;发出从机地址 JNB RI,$ ;等待从机应答 CLR RI ;从机应答后清 RI MOV A,SUBF ;取出从机应答地址34 XRL A,R2 ;核对应答地址 JZ SERVE2 ;地址相符转 SERVE2SERVE1: MOV SBUF,#0FFH ;命令所有从机置 SM2=1 SETB TB8 ;置地址标志 SJMP SERVE ;重发地址SERVE2: CLR TB8 ;置命令标志 MOV SBUF,R3 ;发送命令 JNB RI,$ ;等待从机应答 CLR RI ;清 RI MOV A,SBUF ;取出应答信息 JNB ACC.7,CERVE3 ;核对命令是否出错 SJMP SERVE1 ;命令接受错,重发SERVE3:SJNE R3,#00H,SERVE4 ;若为从机发送命令,转出 JNE ACC.0,SERVE1 ;从机接受没准备好,重新联络 STX: MOV SUBF,R1 ;主机发送数据 JNB TI,$ ;等待一个字符发送结束 CLR TI ;为接受下一字符做准备 INC R1 ;指向下一字符 DJNZ R4,STX ;未发送完,继续 RET ;发送完,返回SERVE4:JNB ACC.1,SERVE1 ;从机发送没准备好,重新联络 SRX:JNB RI,$ ;等待主机接受完毕 CLR RI ;为接受下一字符做准备 MOV A,SBUF ;取出接受到的字符 MOV R0,A ;送数据缓冲区 INC R0 ;修改地址指针 DJNZ R5,SRX ;未接受完,继续 RETI ;接受完,返回3、 从机主程序:35 ORG 0000H LJMP MAIN ;上电,转向主程序 ORG 0023H ;串行接口的中断入口地址 LJMP SERVE5 ;转向从机中断服务程序 ORG 2000H ;主程序MAIN:MOV TMOD,#20H ;设 T1 工作在方式 2 MOV TH1,#0F3H MOV TL1,#0F3H MOV TR1 ;启动定时器 T1 MOV PCON,#80H ;设 SMOD=1 MOV SCON,#0D8H ;串行接口控制字MOV

温馨提示

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

评论

0/150

提交评论