




已阅读5页,还剩45页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
摘 要 人们生活水平的提高和社会的进步推动着各个领域发展高效率的控制方法 以适 应当今高效率的时代要求 方便 快捷 简单 已经成为如今各种灯控系统的研发目 标 传统的家庭灯控制系统往往是一个房间一个控制开关 每个开关固定地对应控制 着一个灯的亮灭 各个开关和房间之间彼此独立 假如房间较大 楼层较高 则必须 步行到每个楼层和房间进行照明灯的关断或者开启 这给当今讲究效率的生活方式带来 了诸多不便 随着科学技术的不断发展 人类社会迎来了电子信息时代 为此 借助现代化高科技电子技术和通信技术 本文简要设计了家庭灯控系统 本文根据设计任务的要求进行方案设计 并确定出最优的设计方案 该方案设计 出一种具有结构简单 价格低廉 工作性能可靠等特点的家庭灯控系统 本设计方案 就是在一个家庭中采用多个控制板连接在总线上 各个控制板间可以互相通信 彼此 之间关系对等 没有主从机之分 根据该设计方案 本设计制作了两部可供演示的样 机 进一步证明该设计的实际应用性 在文中 主要论述了家庭灯控系统的方案设计 硬件和软件设计 重点阐述系统 的结构 相关电路模块设计 系统的程序设计及系统扩展 最后 对本次设计进行了 总结 关键字 通信 家庭灯 AT89S52 MAX485 Abstract With the improvement of people s living standard and the promoting of social progress a Efficient control is demanded to meet the High efficiency requirements of the times Today Convenient quick easy Has become the goals of a variety of lighting control system development Traditional family lights Control system is always a control switch in a room b Each switch fixed to a lamp s light and off It s independent between the switchs and the rooms We must walk to each floor and room for a light s turn on or turn off If the room is larger the floor higher it has brought a lot of inconvenience to the efficiency of today s lifestyle With the continuous development of science and technology human society entered the electronic information age Therefore with modern high tech electronics and communications technology this paper is designed home lighting control system This paper s design is according to the requirements of the design task and to determine the optimal design The program to design a household lamp control system of simple low cost and reliable performance characteristics In the design there are many of panels connected to the bus in a family The panels can communicate with each other and it is an equal relationship there are not Host computer and Slave computer According to the design I designed and manufactured two prototypes for demonstration and further prove that the design of practical application In the paper mainly discusses the home light control system s design the hardware and software design Focus on narrative the structure of the system related circuit module design system programming and system expansion Finally a summary of this design Key words communication family lights AT89S52 MAX485 目 录 引言 1 1 通信的介绍及选择 2 1 1 通信的种类 2 1 1 1 并行通信 2 1 1 2 串行通信 2 1 1 3 通信的选择 3 1 2 串行数据在传输线上的形式和标准 3 1 3 串行通信的数据传输率 5 1 4 串行通信的发送时钟和接收时钟 5 1 5 异步通信协议 6 2 灯控系统的总体设计 9 2 1 家庭概况 9 2 2 无主从机的通信系统解决方案 9 2 3 灯控系统的总体结构 9 2 4 单个控制板的总体原理图 10 3 系统的硬件设计 11 3 1 主要元器件的选取 11 3 1 1 主控制器的选择 11 3 1 2 控制器的选定及其简介 13 3 1 3 总线芯片的选定及其简介 15 3 2 电路原理图设计 16 3 2 2 单片机的引脚控制功能设计 16 3 2 3 系统时钟电路 17 3 3 4 复位电路 18 3 3 5 串口接口电路 18 3 3 6 输出控制和状态显示电路 19 4 软件部分 20 4 1 单片机通信的软件设计 20 4 1 1 通信协议 20 4 1 2 波特率的设置 20 4 2 单片机的软件流程 21 5 硬件系统制作及调试 26 5 1 硬件系统的设计 26 5 2 系统 PCB 板的设计 27 5 2 1 确定 PCB 的大小 27 5 2 2 PCB 布局 27 5 2 3PCB 布线 27 5 3 硬件调试 28 5 3 1 检测元器件 29 5 3 2 检测各个引脚信号 29 5 3 3 遇到的问题及其解决 29 5 4 软件调试 29 5 4 1 程序的初始化调试 29 5 4 2 程序模块的可行性调试 29 5 4 3 遇到的问题及其解决 30 6 结论 32 谢 辞 33 参 考 文 献 34 附 录 35 第 1 页 共 46 页 引言 社会的进步推动着各个领域树立效率的控制方法 以适应时代的要求 方便 快捷 简单 已经成为如今各种灯控系统的研发目标 传统的家庭灯控制系统往往是一个房间 一个控制开关 每个开关固定地对应控制着一个灯的亮灭 各个开关和房间之间彼此独 立 假如房间较大 楼层较高 则必须步行到每个楼层和房间进行照明灯的关断或者开 启 这给当今讲究效率的生活方式带来了诸多不便 本课题基于上述背景 完成设计家 庭灯控系统 服务于社会 家庭灯控系统 它是基于分布式控制系统理论而设计的 由由若干台控制器并联组 成分布式通信控制系统 各控制器间通过 RS 485 总线连接 实现互相之间的通信控制 通过按键选择所要控制的楼层房间的照明灯 并控制其是关断还是开启 取代了必须到 各个房间进行控制的繁琐劳动 系统采用了分布式结构设计和 RS 485 总线通信 通过 软件的改进实现了没有主从机的通信方式 安装 使用方便 运行可靠 扩展灵活 可 广泛应用于家庭 企业等场合 具有较好的应用前景 本文介绍了家庭灯控系统的总体设计 工作原理 阐述了软硬件电路设计 并给出 了详细电路图 本设计的重点是串行通信的设计 第 2 页 共 46 页 1 通信的介绍及选择 1 1 通信的种类 通信是指计算机与外界的信息传输 既包括计算机与计算机之间的传输 也包括计 算机与外部设备 如终端 打印机和磁盘等设备之间的传输 随着计算机网络化和微机 分级分布式应用系统的发展 通信的功能越来越重要 在通信领域内 有两种数据通信 方式 并行通信和串行通信 1 1 1 并行通信 并行通信传输中有多个数据位 同时在两个设备之间传输 发送设备将这些数据位 通过 对应的数据线传送给接收设备 还可附加一位数据校验位 接收设备可同时接收 到这些数据 不需要做任何变换就可直接使用 并行方式主要用于近距离通信 计算 机内的总线结构就是并行通信的例子 这种方法的优点是传输速度快 处理简单 缺点 并行数据传输技术向来是提高数据传输率的重要手段 但是 进一步发展却 遇到了障碍 首先 由于并行传送方式的前提是用同一时序传播信号 用同一时序接收 信号 而过分提升时钟频率将难以让数据传送的时序与时钟合拍 布线长度稍有差异 数据就会以与时钟不同的时序送达 另外 提升时钟频率还容易引起信号线间的相互干 扰 导致传输错误 因此 并行方式难以实现高速化 从制造成本的角度来说 增加位 宽无疑会导致主板和扩充板上的布线数目随之增加 成本随之攀升 1 1 2 串行通信 串行通信是指 使用一条数据线 将数据一位一位地依次传输 先由具有几位总线的 计算机内的发送设备 将几位并行数据经并 串转换硬件转换成串行方式 再逐位经 传输线到达接收站的设备中 并在接收端将数据从串行方式重新转换成并行方式 以供 接收方使用 传输的每一位数据占据一个固定的时间长度 其只需要少数几条线就可以 在系统间交换信息 串行数据传输的速度要比并行传输慢得多 适用于计算机与计算机 计算机与外设之间的远距离通信 对于覆盖面极其广 阔的公用电话系统来说具有更大 的现实意义 这种方法的优点是通信成本也较低 只需一个信道 而且支持长距离传输 第 3 页 共 46 页 串行数据通信的方向性结构有三种 即单工 半双工和全双工 缺点 数据传输速度低 在串行口传送 1 位的时间内 并行口可以传送一个字节 当并行口完成单词 advanced 的传送任务时 串行口中仅传送了这个单词的首字母 a 1 1 3 通信的选择 通过以上对两种通信方式的对比知道 在本设计中采用串行通信已经足以满足要求 因此我们选择了串行通信的标准 1 2 串行数据在传输线上的形式和标准 串行数据在传输时通常采用调幅 AM 和调频 FM 两种方式传送数字信息 远程 通信时 发送的数字信息 如 二进制数据 首先要调制成模拟信息 调幅方式 第 4 页 共 46 页 幅度调制是用某种电平或电流来表示逻辑 1 称为传号 mark 而用另一种电 平或电流来表示逻辑 0 称为空号 space 出现在传输线上的 mark space 的 串 行数据形式如图 1 1 所示 图 1 1 mark space 串行数据 使用 mark space 形式通常有四种标准 TTL 标准 RS 232 标准 20mA 电流环标准 和 60mA 电流环标准 TTL 标准 用 5V 电平表示逻辑 1 用 0V 电平表示逻辑 0 这里采用的是正 逻辑 RS 232 标准 用 5V 15V 之间的任意电平表示逻辑 1 用 5V 15V 电平 表示逻辑 0 这里采用的是负逻辑 20mA 电流环标准 线路中存在 20mA 电流表示逻辑 1 不存在 20mA 电流表示逻辑 0 60mA 电流环标准 线路中存在 60mA 电流表示逻辑 1 不存在 60mA 电流表示逻辑 0 调频方式 频率调制方式是用两种不同的频率分别表示二进制中的逻辑 1 和逻辑 0 通常使用 曼彻斯特编码标准和堪萨斯城标准 曼彻斯特编码标准 它的数据形式如图 1 2 所示 这种标准兼有电平变化和频率变 化来表示二进制数的 0 和 1 从图中可看出 每当出现一个新的二进制位时 就有一 个电平跳变 如果该位是逻辑 1 则在中间还有一个电平跳变 而逻辑 0 仅有位边沿 跳变 所以逻辑 1 的频率比逻辑 0 的频率大一 倍 曼彻斯特编码标准通常用在两台 计算机之间的同步通信 图 1 2 曼彻斯特编码标准 堪萨斯城标准 它的数据形式如图 1 3 所示 它用频率为 1200Hz 中的 4 个周期 表示逻辑 0 而用频率为 2400Hz 中的 8 个周期表示逻辑 1 第 5 页 共 46 页 图 1 3 堪萨斯城标准 1 3 串行通信的数据传输率 数据传输率是指单位时间内传输的信息量 可用比特率和波特率来表示 比特率 比特率是指每秒传输的二进制位数 用 bps bit s 表示 波特率 波特率是指每秒传输的符号数 若每个符号所含的信息量为 1 比特 则 波特率等于比特率 在计算机中 一个符号的含义为高低电平 它们分别代表逻辑 1 和逻辑 0 所以每个符号所含的信息量刚好为 1 比特 因此在计算机通信中 常将比特率称为波特率 即 1 波特 B 1 比特 bit 1 位 秒 1bps 例如 电传打字机最快传 输率为每秒 10 个字符 秒 每个字符包含 11 个二进制位 则数据传输率为 11 位 字符 10 个字符 秒 110 位 秒 110 波特 Baud 计算机中常用的波特率是 110 300 600 1200 2400 4800 9600 19200 28800 33600 目前最高可达 56Kbps 位时间 Td 位时间是指传送一个二进制位所需时间 用 Td 表示 Td 1 波特率 1 B 例如 B 110 波特 秒 则 Td 1 110 0 0091ms 1 4 串行通信的发送时钟和接收时钟 在串行通信中 二进制数据以数字信号的信号形式出现 不论是发送还是接收 都必 须有时钟信号对传送的数据进行定位 在 TTL 标准表示的二进制数中 传输线上高电平 表示二进制 1 低电平表示二进制 0 且每一位持续时间是固定的 由发送时钟和接收 时钟的频率决定 发送时钟 第 6 页 共 46 页 发送数据时 先将要发送的数据送入移位寄存器 然后在发送时钟的控制下 将 该并行数据逐位移位输出 通常是在发送时钟的下降沿将移位寄存器中的数据串行输出 每个数据位的时间间隔由发送时钟的周期来划分 接收时钟 在接收串行数据时 接收时钟的上升沿对接收数据采样 进行数据位检测 并将其 移入接收器的移位寄存器中 最后组成并行数据输出 波特率因子 接收时钟和发送时钟与波特率有如下关系 F n B 这里 F 是发送时钟或接 收时钟的频率 B 是数据传输的波特率 n 称为波特率因子 设发送或接收时钟的周 期为 Tc 频率为 F 的位传输时间为 Td 则 Tc 1 F Td 1 B 得到 Tc Td n 在实际串行通信中 波特率因子可以设定 在异步传送时 n 1 16 64 实 际常采用 n 16 即发送或接收时钟的频率要比数据传送的波特率高 n 倍 在同步通信 时 波特率因子 n 必须等于 1 1 5 异步通信协议 1 串行异步通信时的数据格式 异步方式通信 ASYNC Asynchronous Data Communication 又称起止式异步通信 是计算机通信中最常用的数据信息传输方式 它是以字符为单位进行传输的 字符之间 没有固定的时间间隔要求 而每个字符中的各位则以固定的时间传送 收 发双方取得 同步的方法是采用在字符格式中设置起始位和停止位 在一个有效字符正式发送前 发 送器先发送一个起始位 然后发送有效字符位 在字符结束时再发送一个停止位 起始 位至停止位构成一帧 串行异步传输时的数据格式如图 1 4 所示 图 1 4 串行异步数据格式 从图中可以看到以下几点 起始位 起始位必须是持续一个比特时间的逻辑 0 电平 标志传送一个字符 的开始 数据位 数据位为 5 8 位 它紧跟在起始位之后 是被传送字符的有效数据位 传送时先传送字符的低位 后传送字符的高位 数据位究竟是几位 可由硬件或软件来 设定 第 7 页 共 46 页 奇偶位 奇偶校验位仅占一位 用于进行奇校验或偶校验 也可以不设奇偶位 停止位 停止位为 1 位 1 5 位或 2 位 可有软件设定 它一定是逻辑 1 电 平 标志着传送一个字符的结束 空闲位 空闲位表示线路处于空闲状态 此时线路上为逻辑 1 电平 空闲位 可以没有 此时异步传送的效率为最高 2 串行异步通信时的数据接收 串行异步通信时 接收方不断地检测或监视串行输入线上的电平变化 当检测到 有效起始位出现时 便知道接着是有效字符位的到来 并开始接收有效字符 当检测到 停止位时 就知道传输的字符结束了 经过一段随机时间间隔之后 又进行下一个字符 的传送过程 通常接收端的采样时钟周期要比传输字符的位周期短 常用的采样时钟 频率为位频率的 16 倍 采取这种措施是为了提高抗干扰能力 参看图 1 5 所示 图 1 5 采样时钟周期 从图中可知 传输字符的位周期 Td 等于采样时钟周期 Tc 的 16 倍 接收器的采样时 钟的每个上升沿对输入信号进行采样 检验接收数据线上的低电平是否保持 8 或 9 个连 续的时钟周期 以确定传输线上的低电平是否是真的起始位 这样就可以避免噪声干扰 引起的误操作 从而删除假的起始位 相当精确地确定起始位的中间点 从而提供一个 时间基准 从这个基准开始 每隔 16 个 Tc 对其余数据位采样 以确保传输数据的正确 性 接收端为实现采样数据的基准 可以执行以下步骤 在接收端设置一采样时钟频率计数器 当检测到起始位下降沿时 将其清零 并开 始对采样时钟计数 即每来一个时钟 计数器加 1 当计数器计到 8 时 表示已到达起始位的中间位置 此时采样值为 0 说明是真正的 起始位 同时将计数器清零 若采样值不为 0 则说明一开始检测到的下降沿不是真正 的起始位前沿 而是一次干扰 此次检测应作废 计数器清零 并重新开始检测起始位 第 8 页 共 46 页 检测到真正的起始位后 计数器清零 以后每次计到 16 时 便采样收到的信号波形 即每一位的中间 将采到的数值暂存起来 同时将计数器清零 重新计数 直至最 后的停止位被采样 如果停止位采样正确 为 1 则字符被接收 并由暂存器装入寄存器 若停止位采 样值为 0 说明同步或传输有问题 此次采样所得字符作废 不被接收 第 9 页 共 46 页 2 灯控系统的总体设计 家庭灯控系统一般应用于小范围区域 机与机之间没有主从之分 属于一个典型的 小范围内的分布式应用 针对这一特点 我们设计为各机即为主机也可为从机的结构 各机之间的通信采用标准的 RS485 总线 可以满足在 1200 米的范围内实现各机间的通 信 2 1 家庭概况 假如我们在一个房间或者一层楼中 想控制其它房间或者其它楼层的照明灯的亮灭 情况 我们可以通过控制板首先按下所要选择的房间或者楼层 然后控制板上就会显示 你所选房间或者楼层的照明灯的亮灭情况 接着根据需要按下各个灯的亮灭控制键 每 次按下那就的灯就会由亮到灭或者由灭到亮 并且每次按下控制板都会将灯的状态送回 所选择的房间或者楼层 从而达到控制的目的 家庭最多可以有八个房间或者楼层 每 个房间或者楼层中有八个照明灯和一个控制板 而各个控制板是互相通信的 可以互相 进行通信控制 2 2 无主从机的通信系统解决方案 每个单片机中的程序都是一样的 平时都处于接收信息的状态 一旦有按键按下则 调用相应的处理程序进行相应的选择房间或者照明灯的状态处理 当接收到信息时则进行中断 然后判断是否是选择本机的地址 是则进行相应的标 志设定 不是则返回主程序中继续侦听总线信息 2 3 灯控系统的总体结构 图 2 1 中各机都挂接 485 总线上平时都处于侦听状态 随时等待其它机的呼叫 图 2 1 总体结构图 RS485 1 号机2 号机3 号机 第 10 页 共 46 页 在 RS485 总线上 同一时刻 只能有一个机间的通信 RS485 通信的可靠性从软件 通信协议上要做处理 硬件上也要做相应的可靠性设计 2 4 单个控制板的总体原理图 图 2 总体原理图 按键主控制器 控制 输出 RS485 器件 状态显示 第 11 页 共 46 页 3 系统的硬件设计 3 1 主要元器件的选取 3 1 1 主控制器的选择 硬件设计过程中控制器是系统的核心部分 它能够控制系统的信号的采集及处理 功能 它的性能的好坏决定着系统设计的成败与否 因此 必须对主控制器从功能和应 用性能进行选择 可选用控制器主要有 FPGA PLC 单片机两类 它们各有自己的有缺 点 方案一 采用 FPGA 为系统的控制器 FPGA 可以实现各种复杂的逻辑功能 模块大 密度高 它将所有器件集成在一块芯片上 减少了体积 提高了稳定性 并且可应用 EDA 软件仿真 调试 易于进行功能控制 FPGA 采用并行的输入输出方式 提高了系统 的处理速度 适合作为大规模实时系统的控制核心 但是由于本设计对数据处理的时间 要求不高 FPGA 的高速处理的优势得不到充分体现 并且由于其集成度高 使其成本偏 高 同时由于芯片的引脚较多 实物硬件电路板布线复杂 加重了电路设计和实际焊接 的工作 方案二 可编程控制器 PLC 是专为在工业环境应用而设计的 它采用一类可编程 的存储器 用于其内部存储程序 执行逻辑运算 顺序控制 定时 计数与算术操作 等面向用户的指令 并通过数字或模拟式输入 输出控制各种类型的机械或生产过程 它的主要功能是逻辑控制 定时控制 计数控制 步进控制 PID 控制 数据控制 通 信和联网等 因此它的抗干扰能力强 工作可靠 但其无法读取外部存储器的数据 而 本课题家庭照明控制系统要实现对照明的人性化管理 也就是根据人的控制输入出现相 应的照明场景和自动执行相应控制输出相结合 具备很大的灵活性 方便修改相应的场 景参数 易于功能扩展 还可以与其它控制模块进行通信 方案二 采用 AT89S51 单片机作为控制系统的方案 单片机算术运算功能强 软件 编程灵活 自由度大 可用软件编程实现各种算法和逻辑控制 由于其功耗低 体积小 技术成熟和成本低等优点 各个领域应用广泛 并且 由于芯片引脚少 在硬件很容易 实现 AT89S51 单片机自身带资源有两个定时器 2 个外部中断 和一格串行通信中断 综合上述三种方案 方案一和二功能强大 控制编成复杂且成本较高 与方案三对 比 方案三硬件简单 灵活度大 成本较低 而且就目前所要设计的系统 AT89S51 单 片机自带功能基本都能满足设计需求 由于单片机技术在各个领域得到越来越广泛的应 用 世界上许多集成电路生产厂家相继推出了各种类型的单片机 而单片机的设计在满 第 12 页 共 46 页 足大多数测控参数对数据处理速度和数据容量相对要求不高的前提下 大力发展了其控 制功能和控制运行的可靠性 因而更适合于检测 控制型应用场合 本系统并不需要进 行复杂数学模型的计算工作 数据容量也不多 非常适合使用单片机作为本系统的微处 理器 而在单片机家族的众多成员中 AT89 系列单片机以其优越的性能 成熟的技术及高 可靠性和高性能价格比 迅速占领了工业测控和自动化工程应用的主要市场 成为国内 单片机应用领域中的主流 目前 可用于 AT89 系列单片机开发的硬件越来越多 与其 配套的各类开发系统 各种软件也日趋完善 因此 可以极方便地利用现有资源 开发 出用于不同目的的各类应用系统 由于 AT89S51 单片机是在 8031 的基础上推出的增强 型产品 并提高了芯片的集成度 因此在性能上大为提高 增加了多种片内硬件功能 并扩展了功能单元的种类和数量 通过以上分析 在本设计中采用 AT89S51 处理输入的 数据并控制照明灯 其完全是胜任的 故最终选择方案三来实现该设计 2 总线标准的选择 方案一 采用 RS 232 RS 232 串口标准是种在低速率串行通讯种增加通讯距离的单 端标准 RS 232 采取不平衡传输方式 即单端通讯 其收发端的数据信号都是相对于地 信号的 所以其共模抑制能力差 再加上双绞线的分布电容 其传输距离最大约为 15M 最高速率为 20KBPS 且其只能支持点对点通信 方案二 采用 RS 485 为弥补 RS 232 通信距离短 速率低等缺点 人们又提出 了 RS 485 接口标准 RS 485 采用平衡发送和差分接收方式实现通信 发送端将串行口 的 TTL 电平信号转换成差分信号 A B 两路输出 经过线缆传输之后在接收端将差分信 号还原成 TTL 电平信号 由于传输线通常使用双绞线 又是差分传输 所以又极强的抗 共模干扰的能力 总线收发器灵敏度很高 可以检测到低至 200mV 电压 故传输信号 在千米之外都是可以恢复 RS 485 422 最大的通信距离约为 1219M 最大传输速率为 10Mb S 传输速率与传输距离成反比 在 100Kb S 的传输速率下 才可以达到最大的通 信距离 如果需传输更长的距离 需要加 485 中继器 RS 485 采用半双工工作方式 支 持多点数据通信 RS 485 总线一般最大支持 32 个节点 如果使用特制的 485 芯片 可 以达到 128 个或者 256 个节点 最大的可以支持到 400 个节点 RS 485 只规定了平衡 驱动器和接收器的电气特性 而没有规定接插件 传输电缆和应用层通信协议 因而在 是一种相对经济 具有相当高噪声抑制 相对高的传输速率 传输距离远和宽共模范围 的平台 RS 485 总线上只能有一个主机 往往应用在集中控制枢纽与分散控制单元之 间 方案三 采用 CAN 标准 CAN 控制器工作于多主方式 网络中的各节点都可根据 总线访问优先权 取决于报文标识符 采用无损结构的逐位仲裁方式竞争向总线发送数据 且 CAN 协议废除了站地址编码 而代之以对通信数据进行编码 这可使不同的节点同 时接收到相同的数据 这些特点使得 CAN 总线构成的网络各节点之间的数据通信实时 第 13 页 共 46 页 性强 并且容易构成冗余结构 提高系统的可靠性和系统的灵活性 CAN 总线通过 CAN 控制器接口芯片 82C250 的两个输出端 CANH 和 CANL 与物理总线相连 而 CANH 端的状态只能是高电平或悬浮状态 CANL 端只能是低电平或悬浮状态 这就保 证不会出现 当系统有错误 出现多节点同时向总线发送数据时 导致总线呈现短路 从而损坏某些节点的现象 而且 CAN 节点在错误严重的情况下具有自动关闭输出功能 以使总线上其他节点的操作不受影响 从而保证不会因个别节点出现问题 使得总线处 于 死锁 状态 再者 CAN 具有完善的通信协议 可由 CAN 控制器芯片及其接口芯 片来实现 从而大大降低了系统的开发难度 缩短了开发周期 CAN bus 基本设计规 范要求有高的位速率 高抗电磁干扰性而且能够检测出产生的任何错误 CAN bus 总 线在通信能力可靠性 实时性 灵活性 易用性 传输距离远 成本低等方面有着明显 的优势 通过以上三个方案的简单比较 看起来似乎采用 CAN 比较有优势 但我们不防将上 述比较有优势的两种总线标准 RS 485 和 CAN 的总性能列于下表中再次进行比较 RS 485 与 CAN 总线性能比较见表 3 1 特性RS 485CAN bus 成本低廉稍高 多 20 30 元 节点 总线利用率低 高 网络特性单主节点多主节点 数据传输率低高 容错机制无可靠的错误处理和检错 机制 通讯距离最大 1 2Km可达 10Km 5Kb s 开发难度简单需要一定的技术基础 表 3 1 通过以上比较 我们不难发现虽然 CAN 的优势比较大 但在本系统中采用 RS 485 已经足以满足要求 而不必再采用开发难度较大成本较高的 CAN 所以最终本系统采用 RS 485 的总线形式 3 1 2 控制器的选定及其简介 由上述方案论证得出所用的控制器为 89S51 单片机 单片机 MICROCONTROLLER 又称为微控制器 是在一块硅片上集成了各种部件的微型机算机 这些部件包括中央处 理器 CPU 数据存贮器 RAM 程序存贮器 ROM 定时器 计数器和多种 I O 接口电路 本设计的主控制电路由 89S51 作为核心 这个系列的单片机的技术性能如下 工作 环境温度 0 70 存储环境温度 65 1500 EA Vpp 端对 Vss 的电压为 第 14 页 共 46 页 0 5 21 5v 任何脚到 Vss 的电压为 0 5 7v 电源电压 5V10 电源电流为 125 250mA 电源功耗为 1 5w 其中 89S51 的封装管脚如图 3 1 所示 89S51 的内部结构主要包括有 ALU 部件 定时和控制部件 并行 I O 接口 串行 I O 接口 定时器部件 程序存储器 数据存储器等七个部分 ALU 部件含有 ALU 单元 以及累加器 Acc 寄存器 B 栈指针 SP 数据指针 DPTR 程序状态字 PSW 暂时寄存器 TMP1 TMP2 等 ALU 除了可以进行四则算术运算之外 还可以进行布尔运算 其中定时和控制部件用于产 生指令执行的同步信号及微操作 信号 它和 ALU 部件形成了 89S51 的 CPU 89S51 有四个并行 I O 接口分别为 P0 P1 P2 和 P3 它们都是 8 位并行端口 它们 都是双向通道 每一条 I O 线都能独立地用作输入或输出 作输出时数据可以锁住 作 输入时数据可以缓冲 但这四个通道的功能不完全相同 其中 P0 口是地址 数据复合 总线 它用于传送低 8 位地址 A0 A7 也用于传送数据 D0 D7 P2 口是高 8 位地址 A8 A15 的地址总线 但也可作一般的 I O 口 P1 是一个纯 I O 口 它只用于数据的输 入输出 P3 是控制信号及 I O 信号复用口 它除了用作 1 O 口之外 还用于传送控制信 号 P3 口对应引脚用于控制信号时的情况如表 3 2 所示 表 3 2 P3 口的引脚功能 引脚信号控制信号说明 P3 0RXD串行数据输入 P3 1TXD串行数据输出 P3 2INT0外部中断 0 P3 3INT1外部中断 1 1 P1 0 2 P1 1 3 P1 2 4 P1 3 5 P1 4 6 P1 5 7 P1 6 8 P1 7 9 RST VPD 10 RXD P3 0 11 TXD P3 1 12 INT0 P3 2 13 INT 1 P3 3 14 T0 P3 4 15 T1 P3 5 16 WR P3 6 17 RD P3 7 18 XTAL2 19 XTAL1 20 VSS 21 P2 0 A8 22 P2 1 A9 23 P2 2 A10 24 P2 3 A11 25 P2 4 A12 26 P2 5 A13 27 P2 6 A14 28 P2 7 A15 29 PSEN 30 ALE PROG 31 EA VPP 32 P0 7 AD7 33 P0 6 AD6 34 P0 5 AD5 35 P0 4 AD4 36 P0 3 AD3 37 P0 2 AD2 38 P0 1 AD1 39 P0 0 AD0 40 VCC 89S51 图 3 1 89S51 封装引脚图 第 15 页 共 46 页 P3 4T0定时器 0 输入 P3 5T1定时器 1 输入 P3 6WR写存储器信号 P3 7RD读存储器信号 单片机的复位通常有上电复位和按钮复位两种复位方式 上电复位是利用电容的充 放电来实现 按钮复位又分为按钮电平复位和按钮脉冲复位 前者 将复位端通过电阻 与 VCC相接 后者 利用微分产生正脉冲来达到复位的目的 复位电路参数的选择 RC 应能保证复位高电平持续时间大于两个机器周期 3 1 3 总线芯片的选定及其简介 由上述方案论证得出所用的通信标准为 RS 485 Maxim 公司生产的 MAX485 接 口芯片是就是一种常用的 RS 485 芯片 图 3 2 MAX485 封装引脚图 MAX485 采用单一电源 5 V 工作 额定电流为 300 A 采用半双工通讯方式 它完 成将 TTL 电平转换为 RS 485 电平的功能 其引脚结构图如图 3 2 所示 从图中可以看 出 MAX485 芯片的结构和引脚都非常简单 内部含有一个驱动器和接收器 RO 和 DI 端分 别为接收器的输出和驱动器的输入端 与单片机连接时只需分别与单片机的 RXD 和 TXD 相连即可 RE 和 DE 端分别为接收和发送的使能端 当 RE 为逻辑 0 时 器件处于接收 状态 当 DE 为逻辑 1 时 器件处于发送状态 因为 MAX485 工作在半双工状态 所以只 需用单片机的一个管脚控制这两个引脚即可 A 端和 B 端分别为接收和发送的差分信号 端 当 A 引脚的电平高于 B 时 代表发送的数据为 1 当 A 的电平低于 B 端时 代表发送 的数据为 0 在与单片机连接时接线非常简单 只需要一个信号控制 MAX485 的接收和发 送即可 同时将 A 和 B 端之间加匹配电阻 一般可选 100 的电阻 可以串行口取电 可以驱动 max232 与 max485 实现通信 没加负载时电压有 5 16V 加负载后降制 3V 左右 MAX485 主要特性 第 16 页 共 46 页 半双工 速率 2 5Mbps 限摆率 NO 低电流关断模式 NO 接收允许控制 YES 静态电流 300 负载个数 32 引脚数 8 MAX485 是用于 RS 485 与 RS 422 通信的低功耗收发器 MAX485 的驱动器摆率不受限 制 可以实现最高 2 5Mbps 的传输速率 这些收发器在驱动器禁用的空载或满载状态下 吸取的电源电流在 120 A 至 500 A 之间 所有器件都工作在 5V 单电源下 驱动器 具有短路电流限制 并可以通过热关断电路将驱动器输出置为高阻状态 接收器输入具 有失效保护特性 当输入开路时 可以确保逻辑高电平输出 具有较高的抗干扰性能 MAX485 与单片机的连接如 3 3 图所示 图 3 3 MAX485 与单片机的连接图 3 2 电路原理图设计 3 2 2 单片机的引脚控制功能设计 本控制系统设计中单片机的各管脚的控制功能阐述如下 1 P0 口是一组双向 I O 端口 在设计中 P0 0 P0 7 接上一个排阻作为上拉电阻然 后再分别与 LED 灯相连 用于显示当前所选的照明灯的状态 2 P1 口是一个带内部上拉电阻的 8 位双向 I O 端口 本设计中 P1 0 P1 7 与 第 17 页 共 46 页 4 4 按键相接 构成按键部分 用来控制房间或者楼层照明灯的选择和亮灭的控制 3 P2 口是一个带内部上拉电阻的 8 位双向 I O 端口 本设计中 P2 0 P2 7 分别与 八个 LED 灯相接 构成控制输出部分 用来控制当前所控制照明灯的亮灭状态 4 P3 口是一个带内部上拉电阻的 8 位双向 I O 端口 在整个系统中 这 8 个引脚 还具有专门的第二功能 本设计中用到 P3 0 和 P3 1 作为串口输出 P3 7 作为 MAX485 的使能端的控制引脚 RXD 与 TXD 与 RS 485 芯片 MAX485 相连 信号经 过电平转换后与其它机的 MAX485 连接 3 2 3 系统时钟电路 晶振是电路中常用用的时钟元件 全称是叫晶体震荡器 在单片机系统里晶振的作 用非常大 他结合单片机内部的电路 产生单片机所必须的时钟频率 单片机的一切指 令的执行都是建立在这个基础上的 晶振的提供的时钟频率越高 那单片机的运行速度 也就越快 晶振用一种能把电能和机械能相互转化的晶体在共振的状态下工作 以提供稳定 精确的单频振荡 在通常工作条件下 普通的晶振频率绝对精度可达百万分之五十 AT89S51 单片机的时钟信号通常用两种电路形式得到 内部振荡方式和外部振荡方 式 内部振荡方式所得的时钟信号比较稳定 在引脚 XTAL1 和 XTAL2 外接晶振 就构 成了内部振荡方式 由于单片机内部有一个高增益反相放大器 当外接晶振后 就构成 了自激振荡器并产生振荡时钟脉冲 内部振荡方式的外部电路如下图 3 4 所示 图中 两个电容 C2 C3 起稳定振荡频率 快速起振的作用 其电容值一般在 20 30pF 晶振 频率的典型值为 6MHz 或 12MHz 设计中电容取 30pF 晶振为 11 059MHz 本设计中使用的晶振为 11 0592MHz 使串口波特率更精确 晶振电路如下图 3 4 所 示 第 18 页 共 46 页 图 3 4 系统时钟电路 3 3 4 复位电路 为了提高可靠性 简化电路 这里采用了上电复位的复位形式 复位电路如下图 3 5 所示 电容值 10uF 电阻值 8 2K 图 3 5 复位电路 上电复位电路电容器充电来实现复位 在图中可以看出 上电瞬时 RST 端的电位与 VCCC 等电位 RST 为电平 随着电容器充电电流的减少 RST 的电位不断下降 其充电 时间常数为 10 10 6 8 2 103s 82 10 3s 82ms 此时间常数足以使 RST 在保持为高 电平的时间内完成复位操作 3 3 5 串口接口电路 MAX485 是用于 RS 422 485 通信的差分平衡收发器 由 MAXIM 公司生产 芯片 包含一个驱动器和一个接收器 适用于半双工通信 其主要特性如下 1 传输线上可连接 32 个收发器 2 具有驱动过载保护 3 最大传输速率为 2 5Mbit s 4 共模输入电压范围为 7V 12V 5 工作电流范围为 120uA 500uA 6 供电电源 5V 电路如下图 3 6 所示 第 19 页 共 46 页 图 3 6 串口电路 其中 RE DE 为使能端 接单片机的 P3 7 引脚 3 3 6 输出控制和状态显示电路 电路的输出控制是将控制量输出到照明灯以控制其亮灭 在本设计中用 LED 灯作为 模拟 P2 为输出端口 而状态显示是用 LED 灯显示当前所控制的灯的亮灭状况 端口 为 P0 如图 3 7 所示 图 3 7 输出和显示电路 第 20 页 共 46 页 4 软件部分 4 1 单片机通信的软件设计 4 1 1 通信协议 要想保证通信成功 通信双方必须有一定的约定 比如 作为发送方 必须知道什 么时候发送信息 发什么 对方是否收到 收到的内容有没有错 要不要重发 怎样通 知对方结束等等 在发送与接收方之间的这些约定 就叫通信协议 必须在编程前确定 下来 只有双方遵守了这些规定 才能正确交换信息和数据 单片机与单片机之间的通 信协议为 波特率 9600bit s 信息格式 1 位起始位 低电平 8 位数据位 1 位可编程的第 9 位 1 位停止位 高 电平 传送方式 采用中断接收 查询发送 1 首先使所在单片机的 SM2 位置 1 处于只接收地址帧的状态 2 主机先发送一帧地址信息 其中前 8 位为地址 第 9 位为地址 数据信息的标 志位 该位置 1 表示该帧为地址信息 3 从机接收到地址帧后 各自将接收的地址与本机的地址比较 对于地址相符的 那个那从机 使 SM2 位清 0 以接收主机随后发来的所有信息 对于地址不符的从机 仍保持 SM2 1 对主机随后发来的数据不理睬 直到发送新的地址帧 4 当从机发送数据结束后 置第 9 位 TB8 为 1 作为从机数据传送结束标志 5 主机接收数据时先判断数据结束标志 RB8 若 RB8 1 则表示数据传送结束 苦味接收帧的 RB8 0 则原数据到缓冲区 并准备接收下帧信息 6 苦味主机向从机发送数据 则从机在第 3 步中比较地址相符后 从机令 SM2 0 同时把本站地址发回主机 作为应答之后才能收到主机发送来的数据 其它从 机继续监听地址 SM2 1 无法收到数据 7 主机收到从机的应答地址后 确认地址是否相符 如果地址不符 则发复位信 号 数据帧中 TB8 1 如果地址相符 则清 TB8 开始发送数据 4 1 2 波特率的设置 在串行通信中 一个重要的指标是波特率 它反映了串口通信的数率 也反映了对 第 21 页 共 46 页 21 32122 SMOD OSC K f 波特率 初值 传输通道的要求 波特率越高 要求传输通道的频带越宽 一般异步通信的波特率为 50 9600 b s 在上面的通信协议里 已规定波特率为 9600b s 是合符要求的 下面来计 算定时器的初值 89S51 串行通信的波特率由定时器 T1 的益出率获得 仅指串行口方式 1 方式 3 其波特率公式为 5 1 T1 在设置波特率时 一般都采用模式 2 因为当 T1 益出后 参数自动装入 可避 免不必要的中断请求 当晶振 12MHz 设置波特率为 9600 b s 定时器工作模式 2 SMOD 0 则定 OSC f 时器的初值可以由公式 5 1 求出 为 0FDH 4 2 单片机的软件流程 软件部分是用来配合硬件电路 控制后面电路的响应 以实现设计预定功能 软件 主要由三部分组成 按键的检测 地址的判别 命令的判别 传送数据 按键的检测和 数据的传送是采用查询方式 地址和命令的判别采用中断处理 平时所有的控制板都处 于接收信息的状态 并对接键和状态标志不断地进行循环的查询 一旦有按键按下就进 行相应的处理 如 有房间选择键按下则将相应房间的灯状态读入 有灯控键按下则改 变相应的灯的状态并同时将灯的状态送回相应的房间 如查询到标志位为 1 则调用相应 的函数进行数据的收发 如有信息收到也进行串行的中断 在中断服务程序中进行是不 是本机地址的判断然后根据判断的结果对标志位进行置位 按照以上的软件程序设计思想 画出单片机程序的流程图并根据流程图写出相应的 程序 具体程序见附录 B 整个系统的软件的主要流程图如下所示 第 22 页 共 46 页 开始 波特率设置 端口初始化 是否有房间选择键按下 是否有灯控键按下 选择本机的 标志是否为 1 N N N Y Y Y 将相应灯 的状态置反 第 23 页 共 46 页 1 有房间选择键按下时的处理程序 发送房 间地址 发送 读命令 接收信息 接收 完成 将收到的灯状态 送到本机显示 N Y 2 选择本机的标志为 1 时的处理程序 第 24 页 共 46 页 接收信息 接收 完成 N Y 是发送命令 发送本房间 灯的状态 接收信息 Y 接收完成 根据收到的信息改 变本房间的灯状态 N Y 标志位置 0 N 3 中断处理程序 第 25 页 共 46 页 是本机地址 将标志位置 1 退出中断 N Y 第 26 页 共 46 页 5 硬件系统制作及调试 硬件系统的制作的过程分为以下五个步骤 1 硬件系统设计 如电路原理图设计 PCB 印制板绘制等 2 应用程序的设计 根据系统实现的功能编程 3 应用程序的仿真调试 指用仿真器对硬件进行在线调试或软件仿真
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 院感培训第一季度
- 2025年自动售货机项目提案报告
- 海康java面试题及答案
- 快餐服务员考试题及答案
- 新时代主题教育实施路径
- 餐饮领班考试题及答案
- 野狗智力测试题及答案
- 工业互联网平台SDN在智能工厂生产调度与优化中的应用报告
- 培训简报格式模板
- 超市卫生法律法规
- 国开《学前儿童语言教育活动指导》形考1-4试题及答案
- 海康2023综合安防工程师认证试题答案HCA
- 浊度仪使用说明书
- GB/T 14404-2011剪板机精度
- GB/T 14294-1993组合式空调机组
- GA 1517-2018金银珠宝营业场所安全防范要求
- 提高痰留取成功率PDCA课件
- 组合导航与融合导航解析课件
- 伊金霍洛旗事业编招聘考试《行测》历年真题汇总及答案解析精选V
- 深基坑支护工程验收表
- 颅脑CT影像课件
评论
0/150
提交评论