1、 本科 毕业 论文 (设计 ) (二零 届) 基于 RS485 总线的多机通信系统设计 所在学院 专业班级 电气工程及其自动化 学生姓名 学号 指导教师 职称 完成日期 年 月 - 2 - 摘 要 RS-485系统总线因硬件设计简单、控制方便、成本低廉等优点广泛应用于工厂自动化、工业控制、小区监控、楼宇自控、水 利自动测控等领域。 本设计主要 由主控单片机模块和从单片机模块两大模块 组成。单片机采用单片机 AT89C51,温湿度采用 DHT11温湿度传感器,显示采用 LCD1602液晶。单片机构成的各个从机通过 DHT11温湿度传感器获得温湿度数据,然后对数据进行处理和显示;再通过 RS485
2、总线通讯送给主机单片机进行处理,处理后在液晶上显示出来,同时在主机上设置报警上限和下限值,并可以调节报警值。 整个系统的制作从元器件的选取、电路的设计制作、程序的调试等多个环节进行,所用的温湿度芯片可以检测温度和湿度,并且精确度高 ; RS485通讯方便,数据传输准确 ; 本系统电路简化,编程方便,性价比高;液晶显示使本设计更加显示明了。 关键词 :单片机; DHT11; RS485 - 3 - Abstract As the simple hardware design, convenient control, and lower cost, RS-485 system bus is wid
3、ely used in factory automation, industrial control, residential surveillance, building automation, automatic water monitoring and other fields The design mainly consists of main control module, temperature and humidity module, liquid crystal display module, keyboard circuit, alarm circuit module. Ma
4、ster module uses microcontroller AT89C51, temperature and humidity modules DHT11 temperature and humidity sensor, liquid crystal display module uses LCD1602. Consisting of all the slave microcontroller DHT11 temperature and humidity sensor obtained by temperature and humidity data, and then process
5、the data; then sent through the RS485 communication bus host microcontroller for processing, processed displayed on the LCD, set the alarm on the host while the upper and lower limit, and can adjust the alarm value. Design the entire system from components selection, circuit design, debug and many o
6、ther parts. The temperature sensor chip can be used to detect temperature, humidity, and with high precision. RS485 communication is convenient, with accurate data. The system circuit is simple, programming convenient and cost-effective. LCD display makes the design more clear. Key words: MCU; DHT11
7、; RS485 - 4 - 目 录 1 引言 . 1 2 总体设计 . 2 2.1方案论证及比较 . 2 2.1.1主控模块的选择 . 2 2.1.2温湿度检测器的选择 . 2 2.1.3显示模块的选择 . 3 2.2系统的总体设计方案 . 3 3 硬件设计 . 5 3.1 主机硬 件设计 . 5 3.1.1 单片机主控模块 . 5 3.1.2 电源模块 . 7 3.1.3 RS485模块 . 7 3.1.4报警模块 . 8 3.1.5显示模块 . 8 3.2 从机硬件设计 . 10 3.2.1测温湿度模块 . 10 3.2.2 按键控制单元方案设计 . 11 4 软件设计 . 13 4.1
8、主机软件设计 . 13 4.2 从机软件设计 . 14 4.3 LCD1602液晶显示驱动 . 16 4.4 DHT11读写时序 . 18 4.4.1数据格式及处理 . 18 4.4.2时序 . 19 5 制作和调试 . 22 5.1 测试仪器 . 22 5.2 硬件调试 . 22 5.3 软件调试 . 22 5.4 测试结果分析 . 23 6 结论 . 24 致 谢 . 错误 !未定义书签。 参考文献 . 25 附录 1 实验原理图 . 26 附录 2 程序清单 . 28 1 引言 RS485 总线通讯广泛应用于工业控制、 DCS、数据采集系统、高速公路收费系统、过程控制及制造、电力系统采集
9、与控制系统和远程终端互连等领域。如远程抄表系统(智能水、电、气三表及数据采集器);智能停车场系统;智能控制系统;对讲门铃、门禁、考勤系统、一卡通 系统、监控系统;云台控制器;光端机(视频光端机、数据光端机、音频光端机等);网络摄像机;智能仪器仪表等。 在多机通信领域,由于单片机具有灵活高效的多机通信功能和价格优势,应用越来越越广泛,但由于单片机的收发信号都是 TTI 电平,驱动能力和抗干扰性有限,实用中常配合其它总线实现互联, RS485 总线就是其中之一。 RS485 总线是平衡差分传输,抗干扰性好,最远可传输 4000 米 ,可互联多达 128 个单片机,非常适合组成多机通信系统。 2 总
10、体设计 按照系统的设计功能要求,本次系统的设计决定采用单片机控制温度传感器芯片进 行温、湿度数据的采集、处理及显示,通过按键修改上限和下限的温度报警值。 2.1 方案论证及比较 2.1.1 主控模块的选择 主控模块作为整个系统的控制核心,其性能的好坏对系统工作的影响是非常重要的,经过资料翻阅,初步设定以下几种方案供参考 . 方案一:采用 8031 单片机作为温度时钟系统的控制核心。该单片机片内不带程序存储器,使用时用户需外接程序存储器和一片逻辑电路 373,外接的程序存储器多为 EPROM 的 2764 系列。用户若想对写入到 EPROM 中的程序进行修改,必须先用一种特殊的紫外线灯将其照射擦
11、除,之后才可写入。 写入到外接程序存储器的程序代码没有什么保密性可言,不利于本次设计的系统。 方案二:采用 AT89C51 单片机,它是低功耗,高性能 CMOS 8 位单片机,片内含 4K bytes 的可系统编程的 Flash 只读程序存储器 1,具有功能强大,价格低廉的特点,完全适合于本次设计系统的控制。尤其是其内存为温度信息存储提供了极大的空间。 方案三:采用 CPLD 作为主控制器外接电路进行时钟控制、温度控制、键盘和 LED、报警控制。此方案逻辑电路复杂,且灵活性较低,不利于各种功能的扩展。 基于上述的分析,选择方案二。 2.1.2 温 湿度检测器的选择 温度检测部分是用来显示温度信
12、息,科学家根据不同的测温要求研制出多种测温的方案,本人提取几种可以应用在本次系统的方案进行比较。 方案一:采用 DS18B20 温度传感器测量温度。 该传感器结构简单,不需要外接电路,数据传输采用 one-wire 总线,可用一根 I/O 数据线既供电又传输数据,在 -10 +85 范围内精度为 0.5 ,完全满足题目 1 的要求,且分辨率较高,重复性和可靠性较好,但是只能单纯检测温度2。 方案二:采用 DHT11 温湿度传感器 DHT11数字式温湿度传感器是一款含有已校准 数字信号输出的温湿度复合传感器。具有品质卓越、超快响应、抗干扰能力强、性价比极高等优点。超小的体积、极低的功耗,信号传输
13、距离可达 20米以上,使其成为各类应用甚至最为苛刻的应用场合的最佳选则,可以同时满足测量温度和湿度 3。 基于上述分析,选择方案二。 2.1.3 显示模块的选择 显示部分是用来显示要的信息,根据调查,显示部分基本上只用两种显示器。 方案一:采用 LED 数码管显示 采用七段 LED 数码管显示(数码管分共阳极数码管和共阴极数码管,由八个条形发光二极管排列成八段组合字型), LED 能显示数字和一些基本的 字母,简单易用,把它和 74LS138 译码器一起使用,可以减少控制器的 I/O 口。其缺点是显示的内容有限,只能显示数字和简单的字母,而不能显示汉字 4。 方案二:采用 LCD1602 液晶
14、显示器显示 采用 LCD 液晶显示器显示,其微功耗、体积小、显示内容丰富、超薄轻巧它可视面积大,画面好,抗干扰能力强,可以节省软件中断资源 5。 LCD1602采用并口传输,速度 快 ,可以满足本设计中同时显示几个从机的要求 。 因此,经比较后,使用 LCD1602 更好,采用方案二。 2.2 系统的总体设计方案 本次设计的课题是基于 RS485 多机通信 系统 的研制。课题要求的主要内容是以 AT89C51 为控制中心设计一个测温湿度和通讯系统,单片机 AT89C51 是整个系统的核心。从机完成采集温湿度和显示, 再通过 RS485 总线通讯送给主机单片机进行处理,处理后在液晶上显示出来,同
15、时在主机上设置报警上限和下限值,并可以调节报警值。 图 2-1 就是系统基本的组成,从图中可以看出该系统分为主单片机模块和从单片机两个大模块。 图 2-1 系统方框图 从单片机 温湿度检测模块 RS485 接口芯片 主单片机 外围设备 1602 显示 报警电路 1602 显示 3 硬件设计 本系统硬件主要由主单片机模块和从单片机模块两大模块组成。 3.1 主机硬件设计 3.1.1 单片机主控模块 该系统是采用美国 ATMEL 公司的产品 AT89C51。 AT89C51 是一种低功耗、高性能 CMOS8 位微控制器,具有 8K 在系统可编程 Flash 存储器。使用 Atmel公司高密度非易失
16、性存储器技术制造。片上 Flash 允许程序存储器在系统可编程,亦适于常规编程器。在单芯片上,拥有灵巧的 8 位 CPU 和在系统可编程 Flash,使得 AT89C51 为众多嵌入式控制应用系统提供高灵活、超有效的解决方案 6。 AT89C51 具有以下标准功能: 8k 字节 Flash, 256 字节 RAM, 32 位 I/O 口线,看门狗定时器, 2 个数据指针,三个 16 位 定时器 /计数器,一个 6 向量 2级中断结构,全双工串行口,片内晶振及时钟电路。另外, AT89C51 可降至 0Hz 静态逻辑操作,支持 2 种软件可选择节电模式。空闲模式下, CPU 停止工作,允许 RA
17、M、定时器 /计数器、串口、中断继续工作。掉电保护方式下, RAM 内容被保存,振荡器被冻结,单片机一切工作停止,直到下一个中断或硬件复位为止。 P0: P0 口是一个 8 位漏极开路的双向 I/O 口。作为输出口,每位能驱动 8个 TTL 逻辑电平。对 P0 端口写 “ 1” 时,引脚用作高阻抗 输入。当访问外部程序和数据存储器时, P0 口也被作为低 8 位地址 /数据复用。在这种模式下, P0 具有内部上拉电阻。 P1、 P2、 P3 口: P1、 P2、 P3 口是一个具有内部上拉电阻的 8 位双向 I/O 口,p1 输出缓冲器能驱动 4 个 TTL 逻辑电平。对 P1 端口写 “ 1
18、” 时,内部上拉电阻把端口拉高,此时可以作为输入口使用。作为输入使用时,被外部拉低的引脚由于内部电阻的原因,将输出 TTL 电流。其中 P1.0 和 P1.2 分别作定时器 /计数器 2的外部计数输入( P1.0/T2)和时器 /计数器 2 的触发输入( P1.1/T2EX)。 P2 口在访 问外部程序存储器或用 16 位地址读取外部数据存储器时, P2 口送出高八位地址。 P3 口也作为 AT89C51 特殊功能(第二功能)使用,如下所示。 P3 端口引脚的第二功能: P3.0 RXD(串行输入口 ) P3.1 TXD(串行输出口 ) P3.2 INTO(外中断 0) P3.3 INT1(外
19、中断 1) P3.4 TO(定时 /计数器 0) P3.5 T1(定时 /计数器 1) P3.6 WR(外部数据存储器写选通 ) P3.7 RD(外部数据存储器读选通 )。 RST 复位输入。当振荡器工作时, RST引脚出现两个机器周期以上高电平将是单片机复位。 ALE/PROG 当访问外部程序存储器或数据存储器时, ALE(地址锁存允许)输出脉冲用于锁存地址的低 8 位字节。每当访问外部数据存储器时将跳过一个 ALE 脉冲。对 FLASH 存储器编程期间,该引脚还用于输入编程脉冲( PROG)。 PSEN 程序储存允许( PSEN)输出是外部程序存储器的读选通信号,当AT89C51 由外部程
20、序存储器取指令(或数据)时,每个机器周期两次 PSEN 有效,即输出两个脉冲,在此期间,当访问外部数据存储器,将跳过两次 PSEN 信号。 EA/VPP 外部访问允许,欲使 CPU 仅访问外部程序存储器(地址为0000H-FFFFH), EA 端必须保持低电平(接地)。如 EA 端为高电平(接 Vcc端), CPU 则执行内部程序存储器的指令 7。 如图 3-1 是 AT89C51 单片机的引脚图 。 P 0 039P 0 138P 0 237P 0 336P 0 435P 0 534P 0 633P 0 732P 1 0/ T1P 1 1/ T2P 1 23P 1 34P 1 45P 1 5
21、6P 1 67P 1 78P 2 021P 2 122P 2 223P 2 324P 2 425P 2 526P 2 627P 2 728I N T 012I N T 113T014T115E A / V P31X218X119R E S E T9R D 17W R 16G N D20R X D10T X D11A L E / P 30P S E N29V C C40主机 U2A T 89 C 51V C CP 1 . 0P 1 . 1P 1 . 2P 1 . 3P 1 . 4P 1 . 5P 1 . 6P 1 . 7P 3 . 3P 3 . 2P 3 . 4P 3 . 5X1X2R E S E TP 3 . 7P 3 . 6V C CP 0 . 0P 0 . 1P 0 . 2P 0 . 3P 0 . 4P 0 . 5P 0 . 6P 0 . 7P 2 . 0P 2 . 1P 2 . 2P 2 . 3P 2 . 4P 2 . 5P 2 . 6P 2 . 7P 3 . 0P 3 . 1123456789P j 210 KV C CP S E NA L E / P 单片机P 1 . 0图 3-1 AT89C51 单片机引脚图