毕业设计:单片机多机通信实现资料.doc
《毕业设计:单片机多机通信实现资料.doc》由会员分享,可在线阅读,更多相关《毕业设计:单片机多机通信实现资料.doc(232页珍藏版)》请在咨信网上搜索。
毕业设计:单片机多机通信实现(完整版)资料 (可以直接使用,可编辑 优秀版资料,欢迎下载) A. 数据库 B. 数据库系统 6、电子邮件系统提供的是一种__存储转发式_服务,WWW服务模式为__B/S____。 A. “一方”表的主索引或候选索引,“多方”表的普通索引 【答案】B 答案: C. 只能根据数据库表建立视图 D. 可以根据数据库表和自由表建立视图 case n=4 四、简答(总计30分) *求圆面积的独立自定义函数 area.prg 毕业设计说明书 单片机多机通信实现 专 业 电子信息工程 学生姓名 杜运福 班 级 B电子062 学 号 0610620224 指导教师 张春永 完成日期 2021年6月 10日 单片机多机通信实现 摘要:目前,单片机在多机通信领域应用很广。但研究最多的是上位机与下位机的通信及多单片机构成的主从式多机通信系统。本文重点研究了多单片机的平权式多机通信,使各单片机有相同的权限。 本文从平权式多机通信协议入手,首先设计了具体平权式多机通信协议;主机通信用按键控制,模拟实际应用中的触发信号输入。对于1号单片机,还可通过液晶实时显示工作状态,初始为主机。在不需置其他单片机为主机的情形下,本多机通信系统可以作为主从式多机通信系统。从机通信模式通过串口中断触发启动,通信结束即恢复之前的从机状态。通信过程中,主机先发送寻址的从机号,待从机响应后开始通信。通信结束后,主机发送自己的主机号,告知从机。然后从机发给主机校验字节数据,主机检验错误,检验无误后,作出响应,1号单片机液晶会显示,2号和3号单片机收发数据无误后会使LED指示灯亮起。其外,本文研究了可切换双向接口的实现方法。通过用单片机的一个引脚控制单片机的串口的连接方式,使其工作在主机模式或从机模式。 本研究已经仿真通过,真实可行。具有一定的检错能力,串行通信的比特率是9600bit/s,通信速度较快,且可靠性高。本研究通过硬件电路解决了通信过程中多单片机争用主机权的问题。 关键词:单片机;多机通信;平权;AT89S52 Realization of many SCM communication Abstract:At present, the single chip multi-machine communication in a wide field of applications. However, the most studied is the host computer and lower computer communications and multi-chip microprocessor master-slave multi-machine communication system. This paper focuses on a number of single chip multi-machine communication affirmative, so that the MCU has the same permissions. The paper machine from the multi-level communication protocol of the right to start with, first, the specific communication protocol. Host Communication button control, the practical application of simulation in the trigger signal input. For the No. 1 microcontroller, but also through the LCD display working status, the initial for the host. No other single chip set in the case of the host, the multi-machine communication system can be used as master-slave multi-machine communication system. Communication mode from the machine through the serial port interrupt triggering, communication before the end of the recovery from the machine state. Communication process, the host sends the address number from the machine until the response from the plane after communications. After communication, the host sends its own host number, informed from the machines. And then distributed to the host from the machine check bytes of data, the host test error, test and proved correct response, 1 single chip LCD displays, 2 and 3, after the MCU will send and receive data correct LED light is on. Besides, this paper, bi-directional switch implementation of the interface methods. Through the use of microcomputer control of a microcontroller pin serial port connection, to work in master mode or slave mode. This study has been simulated by the real feasible. Have some error detection capability, the bit rate of serial communication 9600bit / s, communication speed, and reliability. In this study, the hardware circuit through the communication process to resolve the contention over the host microcontroller over the issue. Key words::SCM;Multi-machine communication;Equal rights; AT89S52 目录 1 绪论 1 1.1 论文研究的背景与意义 1 1.2 单片机多机通信领域的历史及国内外发展现状 1 1.3 本论文的研究内容 2 2 单片机多机通信理论及方案选择 3 2.1 单片机串口通信 3 2.2 单片机多机通信方案选择 5 2.3 微处理器的选择 5 2.4 液晶LCD1602介绍 9 3 单片机多机通信协议设计 15 4 硬件电路设计 16 4.1 单片机最小系统的设计 16 4.2 矩阵键盘电路设计 17 4.3 液晶显示电路设计 18 4.4 可切换接口电路设计 19 4.5 2号与3号单片机按键电路设计 23 4.6 LED显示电路设计 23 4.7 主机权分配电路设计 24 4.8 电源电路设计 28 5 软件设计 29 5.1 多机通信协议的算法设计 29 5.2 键盘程序设计 32 5.3 系统初始化程序设计 35 6 结论 35 参考文献 36 致谢 37 附录1:1号单片机电路原理图 38 附录2:2号单片机电路原理图 39 附录3:3号单片机电路原理图 39 附录4:仿真电路图 41 附录5:源程序: 42 单片机多机通信实现 1 绪论 1.1 课题研究的背景与意义 目前单片机渗透到我们生活的各个领域,几乎很难找到哪个领域没有单片机的踪迹。导弹的导航装置,飞机上各种仪表的控制,计算机的网络通讯与数据传输,工业自动化过程的实时控制和数据处理,广泛使用的各种智能IC卡,民用豪华轿车的安全保障系统,录象机、摄象机、全自动洗衣机的控制,以及程控玩具、电子宠物等等,这些都离不开单片机。更不用说自动控制领域的机器人、智能仪表、医疗器械了。 单片机广泛应用于仪器仪表、家用电器、医用设备、航空航天、专用设备的智能化管理及过程控制等领域随着计算机技术的发展及工业自动化水平的提高, 在许多场合采用单机控制已不能满足现场要求,因而必须采用多机控制的形式,而多机控制主要通过多个单片机之间的串行通信实现。串行通信作为单片机之间常用的通信方法之一, 由于其通信编程灵活、硬件简洁并遵循统一的标准, 因此其在工业控制领域得到了广泛的应用。 构成较大规模的检测、控制系统,经常要采用多个单片机,组成可以通信的多机系统。Mcs一51系列单片机为实现多机通信联网设计了方便的串行通信接口功能。将多个Mcs一51单片机组成串行总线形式的相互通道,通过写单片机的串行控制方式寄存器,将串行口置成方式2或方式3,就可以实现主机与分机之间的串行通信。这种多机系统结构简单,应用广泛,但它只能实现由主机呼叫分机,然后实现主机与分机之间的全双工串行通信。我们在监控系统中要求既有主机与分机主动通信,又有分机与主机主动通信,这种结构的多机系统就无法满足要求。 多机协同工作已是单片机发展的一个重要趋势,目前单片机多机通信的主要方式仍然是主从式多机通信系统。 单片机多机通信的目的是实现分布式处理系统,单片机多机通信的方式有很多种,应用前景广阔,非常具有研究意义! 1.2 单片机多机通信领域的历史及国内外发展现状 单片微型计算机(Single Chip Microcomputer)简称单片机,又称MCU(Micro Controller Unit),是将计算机的基本部分微型化,使之集成在一块芯片上的微机.片内含有CPU、ROM、RAM、并行I/O、串行I/O、定时器/计数器、中断控制、系统时钟及系统总线等。 随着科技的发展,单片机已不是一个陌生的名词,它的出现是近代计算机技术发展史上的一个重要里程碑,因为单片机的诞生标志着计算机正式形成了通用计算机系统和嵌入式计算机系统两大分支。单片机单芯片的微小体积和低的成本,可广泛地嵌入到如玩具、家用电器、机器人、仪器仪表、汽车电子系统、工业控制单元、办公自动化设备、金融电子系统、舰船、个人信息终端及通讯产品中,成为现代电子系统中最重要的智能化工具。 所涉及的市场占有率最高的是MCS—51系列,因为世界上很多知名的IC生产厂家都生产51兼容的芯片。生产MCS—51系列单片机的厂家如美国AMD公司、ATMEL公司、INTEL公司、WINBOND公司、PHILIPS公司、ISSI公司、TEMIC公司及南韩的LG公司、日本NEC、西门子公司等。到目前为止,MCS—51单片机已有数百个品种,还在不断推出功能更强的新产品。 现代的单片机普遍具备通信接口,可以很方便地与计算机进行数据通信,为在计算机网络和通信设备间的应用提供了极好的物质条件,现在的通信设备基本上都实现了单片机智能控制,从 , 机、小型程控交换机、楼宇自动通信呼叫系统、列车无线通信、再到日常工作中随处可见的移动 ,集群移动通信,无线电对讲机等。 单片机的通信领域应用首先从两片单片机之间的通信发展起来,后来有了主从式多机通信并得到了广泛的应用,又出现了以单片机作为下位机与以PC机作为上位机的通信应用,上位机用VB或VC++等面向对象的程序设计语言编写通信收发程序,也得到了广泛的应用。虽然,单片机多机通信已经有较长的研究历史了,但其形式大多是主从式的,很少是平权式的。 1.3 本课题的研究内容 本文在研究传统的多机通信系统的基础上,设计了一种基于MCS-51系列单片机AT89S52 的多机通信系统。初始时,1号单片机为主机。主机通过串口向从单片机发送指定格式的数据,从单片机收数据并作出响应,主机通过液晶屏显示通信信息,从机通过LED显示通信状态。主机通信结束即转为从机,其他单片机可置为主机,获得总线控制权。1号单片机通过矩阵键盘控制通信过程与显示,2与3号单片机通过独立按键控制通信状态与主从机切换。 在此多机通信系统中,各个单片机具有平等的权限。仅在初始时,1号单片机被默认置为主机,若不需使2号与3号单片机变成主机,则此通信系统可以作为主从式多机通信系统。任何时刻,系统只有一片单片机作为主机,其他均为从机。主机发送的信息可以传送到指定从机,各从机之间也不能直接通信。主机发起通信,从机接收到自己的单片机号后,开始与主机通信。 2 单片机多机通信理论及方案选择 2.1 单片机串口通信 AT89S52单片机内部含有一个可编程全双工串行通信接口,具有UART的全部功能。该接口电路不仅能同时进行数据的发送和接收,也可作为一个同步移位寄存器使用。 在进行异步通信时,数据的发送和接收分别在各自的时钟(TCLK和RCLK)控制下进行的,但都必须与字符位数的波特率保持一致。MCS-51串行口的发送和接收时钟可由两种方式产生,一种是由主机频率fosc经分频后产生,另一种方式是由内部定时器T1或T2的溢出率经16分频后提供。 串行口的发送过程由一条写发送缓冲器的指令把数据(字符)写入串行口的发送缓冲器SBUF(发)中,再由硬件电路自动在字符的始、末加上起始位(低电平)、停止位(高电平)及其它控制位(如奇偶位等),然后在移位脉冲SHIFT的控制下,低位在前,高位在后,从TXD端(方式0除外)一位位地向外发送。 串行口的接收与否受制于允许接收位REN的状态,当REN被软件置“1”后,允许接收器接收。接收端RXD一位位地接收数据,直到收到一个完整的字符数据后,控制电路进行最后一次移位,自动去掉启始位,使接收中断标志RI置“1”,并向CPU申请中断。TI和RI是由硬件置位的,但需要用软件复位。 a.SBUF是两个在物理上独立的接收、发送缓冲器,可同时发送、接收数据。两个缓冲器只用一个字节地址99H,可通过指令对SBUF的读写来区别是对接收缓冲器的操作还是对发送缓冲器的操作。串行口对外有两条独立的收发信号线RXD(P3.0)、TXD(P3.1),因此可以同时发送、接收数据,实现全双工。 b.SCON寄存器用来控制串行口的工作方式和状态,可按位寻址,其字节地址为98H。 它用于定义串行口的工作方式及实施接收和发送控制。字节地址为98H,其各位定义如表2-1。 表2-1 SCON寄存器的各位功能定义 D7 D6 D5 D4 D3 D2 D1 D0 SM0 SM1 SM2 REN TB8 RB8 TI RI 表2-2 串行口工作方式选择位定义 SM0、SM1 工作方式 功能描述 波特率 0 0 方式0 8位移位寄存器 Fosc/12 0 1 方式1 10位UART 可变 1 0 方式2 11位UART Fosc/64或fosc/32 1 1 方式3 11位UART 可变 其中fosc为晶振频率 SM2:多机通讯控制位。在方式0时,SM2一定要等于0。在方式1中,当SM2=1时,则只有接收到有效停止位时,RI才置1。在方式2或方式3下,当SM2=1且接收到的第九位数据RB8=1时,RI才置1。 REN:接收允许控制位。由软件置位以允许接收,又由软件清0来禁止接收。 TB8: 是要发送数据的第9位。在方式2或方式3中,要发送的第9位数据,根据需要由软件置1或清0。 RB8:接收到的数据的第9位。在方式0中不使用RB8。在方式1中,若SM2=0,RB8为接收到的停止位。在方式2或方式3中,RB8为接收到的第9位数据。 TI:发送中断标志。在方式0中,第8位发送结束时,由硬件置位。在其它方式的发送停止位前,由硬件置位。TI置位既表示一帧信息发送结束,同时也是申请中断,可根据需要,用软件查询的方法获得数据已发送完毕的信息,或用中断的方式来发送下一个数据。TI必须用软件清0。 RI:接收中断标志位。在方式0,当接收完第8位数据后,由硬件置位。在其它方式中,在接收到停止位的中间时刻由硬件置位(例外情况见于SM2的说明)。RI置位表示一帧数据接收完毕,可用查询的方法获知或者用中断的方法获知。RI也必须用软件清0。 c.PCON中的SMOD用来控制波特率加倍。 d.TMOD设置定时器1的工作方式,用来产生波特率 e.如果用到中断,则还需要用到中断相关的寄存器IE,IP等 方式0:同步移位寄存器方式,其波特率是固定为振荡频率fosc的1/12。在这种工作方式下,发送和接收串行数据都通过RXD(P3.0)进行,从TXD(P3.1)输出移位脉冲,控制外部的移位寄存器移位。1帧信息为8位,没有起始位,停止位。 方式1:8位UART,1帧信息为10位,其中一位起始位“0”、八位数据位(先低位后高位)和一个停止位“1”,波特率可变,根据定时器1的溢出率计算。 方式2:9位UART,1帧信息为11位,其中一位起始位“0”、八位数据位(先低位后高位),一位控制位(第九位)和一个停止位“1”。波特率为振荡频率的1/64或1/32 方式3:9位UART,帧信息为11位,其中一位起始位“0”、八位数据位(先低位后高位),一位控制位(第九位)和一个停止位“1”。波特率可变,根据定时器1的溢出率计算。 附加的第9位数据为SCON中的TB8的值,它由软件置位或清零,可作为多机通信中地址/数据信息的标志位,也可作为数据的奇偶校验位。 单片机的串行通信传输方式有三种:单工制式、半双工制式和全双工制式。 2.2 单片机多机通信方案选择 根据需要,各片单片机有相等的权限,每块单片机都可设置为主机或从机,因此单片机的串口应具有双向可选择性。采用两个同相三态门加上一个反相器即可构成这样的接口,并由单片机的一根引脚控制单片机串口的连接方式。 发送数据区可存放1B~48B的数据,以空字符'\0'作为发送数据结束标志。接收数据时以空字符作为接收有效数据结束标志。通信结束时,从机发回收发长度作为校验。 2.3 微处理器的选择 本系统对微处理器要求不是太高,速度不要求太高,但代码较长,因此要求微处理器应有较大的程序存储空间,最好用Flash ROM。通信的发送缓冲区与接收缓冲区均从RAM中分配,为了能传送更多的数据,要求要有较大的RAM。此外,处理器还应有一个全双工的串行口。 综合考虑以上各种因素,选用MCS-51系列的单片机AT89S52。 AT89S52是一种低功耗高性能的CMOS 8位微处理器,具有8K在系统可编程Flash存储器。使用Atmel公司高密度非易失性存储技术制造,与工业80C51产品指令和引脚完全兼容。片上Flash允许程序存储器在系统可编程,亦适用于常规编程器。在单芯片上,拥有灵巧的8位CPU和在系统可编程Flash,使得AT89S52为众多嵌入式控制应用系统提供高灵活、超有效的解决方案。 AT89S52 具有以下标准功能:8k 字节 Flash,256 字节 RAM,32 位 I/O 口线,看门狗定时器,2 个数据指针,三个 16 位定时器/计数器,一个 6 向量 2 级中断结构,全双工串行口,片内晶振及时钟电路。另外,AT89S52 可降至 0Hz 静态逻辑操作,支持 2 种软件可选择节电模式。空闲模式下,CPU停止工作,允许 RAM、定时器/计数器、串口、中断继续工作。掉电保护方式下,RAM 内容被保存,振荡器被冻结,单片机一切工作停止,直到下一个中断或硬件复位为止。 其引脚结构如下图: 图2-1 AT89S52的引脚结构 单片机AT89S52的引脚说明: VCC:电源 GND:地 P0口:P0 口是一个 8 位漏极开路的双向 I/O 口。作为输出口,每位能驱动 8 个 TTL 逻辑电平。对 P0 端口写“1”时,引脚用作高阻抗输入。当访问外部程序和数据存储器时,P0 口也被作为低 8 位地址/数据复用。在这种模式下,P0 具有内部上拉电阻。 在 flash 编程时,P0 口也用来接收指令字节;在程序校验时,输出指令字节。程序校验时,需要外部上拉电阻。 P1口:P1 口是一个具有内部上拉电阻的 8 位双向 I/O 口,p1 输出缓冲器能驱动 4 个TTL 逻辑电平。对 P1 端口写“1”时,内部上拉电阻把端口拉高,此时可以作为输入口使用。作为输入使用时,被外部拉低的引脚由于内部电阻的原因,将输出电流(IIL)。 此外,P1.0 和 P1.2 分别作定时器/计数器 2 的外部计数输入(P1.0/T2)和时器/计数器 2的触发输入(P1.1/T2EX),具体如下表所示。在Flash编程和校验时,P1口接收低8位地址字节。 P1口的第二功能如下表: 表2-2 P1口的第二功能 引脚号 第二功能 P1.0 T2(定时器/计数器T2的外部计数输入),时钟输出 P1.1 T2EX(定时器/计数器T2的捕捉/重载触发信号和方向控制) P1.5 MOSI(在系统编程用) P1.6 MISO(在系统编程用) P1.7 SCK(在系统编程用) P2口:P2 口是一个具有内部上拉电阻的 8 位双向 I/O 口,P2 输出缓冲器能驱动 4 个TTL逻辑电平。对P2 端口写“1”时,内部上拉电阻把端口拉高,此时可以作为输入口使用。作为输入使用时,被外部拉低的引脚由于内部电阻的原因,将输出电流(IIL)。在访问外部程序存储器或用16位地址读取外部数据存储器(例如执行 MOVX @DPTR)时,P2口送出高八位地址。在这种应用中,P2口使用很强的内部上拉发送1。在使用8位地址(如 MOVX @RI)访问外部数据存储器时,P2 口输出P2锁存器的内容。 在 flash 编程和校验时,P2 口也接收高 8 位地址字节和一些控制信号。 P3口:P3口是一个具有内部上拉电阻的 8 位双向 I/O口,P2 输出缓冲器能驱动 4 个TTL 逻辑电平。对P3端口写“1”时,内部上拉电阻把端口拉高,此时可以作为输入口使用。作为输入使用时,被外部拉低的引脚由于内部电阻的原因,将输出电流(IIL)。P3口亦作为 AT89S52特殊功能(第二功能)使用,如下表所示。 在Flash编程和校验时,P3口也接收一些控制信号。 P3口具有第二功能,具体如下表。 表2-3 P3口的第二功能 引脚号 第二功能 P3.0 RXD(串行输入) P3.1 TXD(串行输出) P3.2 INT0(外部中断0) P3.3 INT1(外部中断1) P3.4 T0(定时器0的外部输入) P3.5 T1(定时器0的外部输入) P3.6 WR(外部数据存储器写选通) P3.7 RD(外部数据存储器读选通) RST:复位输入。晶振工作时,RST脚连续两个机器周期高电平使单片机复位。看门狗计时完成后,RST脚输出96个晶振周期的高电平。 :地址锁存控制信号(ALE)是访问外部程序存储器时,锁存低8位地址的输出脉冲。在 flash 编程时,此引脚(PROG)也用作编程输入脉冲。在一般情况下,ALE以晶振六分之一的固定频率输出脉冲,可用来作为外部定时器或时钟使用。然而,特别强调,在每次访问外部数据存储器时,ALE脉冲将会跳过。如果需要,通过将地址为 8EH 的 SFR 的第 0 位置“1”,ALE 操作将无效。这一位置“1”,ALE 仅在执行 MOVX 或 MOVC 指令时有效。否则,ALE将被微弱拉高。这个 ALE 使能标志位(地址为 8EH 的SFR的第0位)的设置对微控制器处于外部执行模式下无效。 :外部程序存储器选通信号(PSEN)是外部程序存储器选通信号。 当 AT89S52 从外部程序存储器执行外部代码时,PSEN 在每个机器周期被激活两次,而在访问外部数据存储器时,PSEN 将不被激活。 :访问外部程序存储器控制信号。为使能从 0000H 到 FFFFH 的外部程序存储器读取指令,EA 必须接 GND。 为了执行内部程序指令,EA 应该接 VCC。 在 flash 编程期间,EA 也接收 12 伏 VPP电压。 XTAL1:振荡器反相放大器和内部时钟发生电路的输入端。 XTAL2:振荡器反相放大器的输出端。 表2-4 AT89S52 特殊寄存器映象及复位值 并不是所有的地址都被定义了,片上没有定义的地址是不能用的。读这些地址,一般将得到一个随机数据;写入的数据将会无效。用户不应该给这些未定义的地址写入数据“1”。由于这些寄存器在将来可能被赋予新的功能,复位后,这些位都为“0”。 定时器 2 寄存器:寄存器 T2CON 和 T2MOD 包含定时器 2 的控制位和状态位(如表 2和表 3 所示),寄存器对RCAP2H和RCAP2L是定时器 2 的捕捉/自动重载寄存器。 中断寄存器:各中断允许位在 IE 寄存器中,六个中断源的两个优先级也可在 IE 中设置。 T2CON 地址为 0C8H 复位值:0000 0000B 位可寻址 表2-5 T2CON位定义 TF2 EXF2 RCLK TCLK EXEN2 TR2 C/T2 CP/RL2 D7 D6 D5 D4 D3 D2 D1 D0 TF2:定时器 2 溢出标志位。必须软件清“0”。RCLK=1 或 TCLK=1 时,TF2不用置位。 EXF2:定时器 2 外部标志位。EXEN2=1 时,T2EX 上的负跳变而出现捕捉或重载时,EXF2 会被硬件置位。定时器2 打开,EXF2=1 时,将引导 CPU执行定时器 2 中断程序。EXF2 必须如见清“0”。在向下/向上技术模式(DCEN=1)下 EXF2 不能引起中断。 RCLK:串行口接收数据时钟标志位。若 RCLK=1,串行口将使用定时器 2 溢出脉冲作为串行口工作模式 1 和 3 的串口接收时钟;RCLK=0,将使用定 时器 1 计数溢出作为串口接收时钟。 TCLK:串行口发送数据时钟标志位。若 TCLK=1,串行口将使用定时器 2 溢出脉冲作为串行口工作模式 1 和 3 的串口发送时钟;TCLK=0,将使用定 时器 1 计数溢出作为串口发送时钟。定时器 2 外部允许标志位。当 EXEN2=1 时,如果定时器 2 没有用作串行时钟,T2EX(P1.1)的负跳变见引起定时器2捕捉和重载。若EXEN2=0,定时器 2 将视 T2EX 端的信号无效 TR2:开始/停止控制定时器2。TR2=1,定时器 2 开始工作定时器 2 定时/计数选择标志位。为0,定时;为1,外部事件计数(下降沿触发) CP/RL2:捕捉/重载选择标志位。当 EXEN2=1 时,为1,T2EX 出现负脉冲,会引起捕捉操作;当定时器 2 溢出或 EXEN2=1 时 T2EX 出现负跳变,都会出现自动重载操作。为0 将引起 T2EX 的负脉冲。当RCKL=1或 TCKL为1时,此标志位无效,定时器2溢出时,强制做自动重载操作。 2.4 液晶LCD1602介绍 市面上字符液晶绝大多数是基于HD44780液晶芯片的,控制原理是完全相同的,因此HD44780写的控制程序可以很方便地应用于市面上大部分的字符型液晶。字符型LCD通常有14条引脚线或16条引脚线的LCD,多出来的2条线是背光电源线VCC(15脚)和地线GND(16脚),其控制原理与14脚的LCD完全一样,定义如下表所示: 表2-6 LCD1602的引脚定义 HD44780内置了DDRAM、CGROM和CGRAM。DDRAM就是显示数据RAM,用来寄存待显示的字符代码。共80个字节,其地址和屏幕的对应关系如下表: 表2-7 DDRAM地址与屏幕对应关系 要在LCD1602屏幕的第一行第一列显示一个"A"字,就要向DDRAM的00H地址写入“A”字的代码就行了。但具体的写入是要按LCD模块的指令格式来进行的。在1602中我们就用前16个就行了。第二行也一样用前16个地址。对应如下: 表2-8 DDRAM地址与显示位置的对应关系 文本文件中每一个字符都是用一个字节的代码记录的。一个汉字是用两个字节的代码记录。在PC上我们只要打开文本文件就能在屏幕上看到对应的字符是因为在操作系统里和BIOS里都固化有字符字模。字模就代表了是在点阵屏幕上点亮和熄灭的信息数据。例如“A” 01110 ○■■■○ 10001 ■○○○■ 10001 ■○○○■ 10001 ■○○○■ 11111 ■■■■■ 10001 ■○○○■ 10001 ■○○○■ 图2-2 'A'的字模 上图左边的数据就是字模数据,右边就是将左边数据用“○”代表0,用“■”代表1。在LCD模块上也固化了字模存储器,这就是CGROM和CGRAM。HD44780内置了192个常用字符的字模,存于字符产生器CGROM(Character Generator ROM)中,另外还有8个允许用户自定义的字符产生RAM,称为CGRAM(Character Generator RAM)。下图说明了CGROM和CGRAM与字符的对应关系。 表2-9 CGROM中字符码与字模关系对照表 从上图可以看出,“A”字的对应上面高位代码为0100,对应左边低位代码为0001,合起来就是01000001,也就是41H。可见它的代码与我们PC中的字符代码是基本一致的。因此我们在向DDRAM写C51字符代码程序时甚至可以直接用P1='A'这样的方法。PC在编译时就把“A”先转为41H代码了。 HD44780的指令集介绍,共11条指令: 1.清屏指令 功能:<1> 清除液晶显示器,即将DDRAM的内容全部填入"空白"的ASCII码20H; <2> 光标归位,即将光标撤回液晶显示屏的左上方; <3> 将地址计数器(AC)的值设为0。 2.光标归位指令 功能:<1> 把光标撤回到显示器的左上方; <2> 把地址计数器(AC)的值设置为0; <3> 保持DDRAM的内容不变。 3.进入模式设置指令 功能:设定每次定入1位数据后光标的移位方向,并且设定每次写入的一个字符是否移动。参数设定的情况如下所示: 位名 设置 I/D 0=写入新数据后光标左移 1=写入新数据后光标右移 S 0=写入新数据后显示屏不移动 1=写入新数据后显示屏整体右移1个字符 4.显示开关控制指令 功能:控制显示器开/关、光标显示/关闭以及光标是否闪烁。参数设定的情况如下: 位名 设置 D 0=显示功能关 1=显示功能开 C 0=无光标 1=有光标 B 0=光标闪烁 1=光标不闪烁 5.设定显示屏或光标移动方向指令 功能:使光标移位或使整个显示屏幕移位。参数设定的情况如下: S/C R/L 设定情况 0 0 光标左移1格,且AC值减1 0 1 光标右移1格,且AC值加1 1 0 显示器上字符全部左移一格,但光标不动 1 1 显示器上字符全部右移一格,但光标不动 6.功能设定指令 功能:设定数据总线位数、显示的行数及字型。参数设定的情况如下: 位名 设置 DL 0=数据总线为4位 1=数据总线为8位 N 0=显示1行 1=显示2行 F 0=5×7点阵/每字符 1=5×10点阵/每字符 7.设定CGRAM地址指令 功能:设定下一个要存入数据的CGRAM的地址。 8.设定DDRAM地址指令 功能:设定下一个要存入数据的CGRAM的地址。 9.读取忙信号或AC地址指令 功能:<1> 读取忙碌信号BF的内容,BF=1表示液晶显示器忙,暂时无法接收单片机送来的数据或指令;当BF=0时,液晶显示器可以接收单片机送来的数据或指令; <2> 读取地址计数器(AC)的内容。 10.数据写入DDRAM或CGRAM指令一览 功能:<1> 将字符码写入DDRAM,以使液晶显示屏显示出相对应的字符; <2> 将使用者自己设计的图形存入CGRAM。 11.从CGRAM或DDRAM读出数据的指令一览 功能:读取DDRAM或CGRAM中的内容。 基本操作时序: 读状态 输入:RS=L,RW=H,E=H 输出:DB0~DB7=状态字 写指令 输入:RS=L,RW=L,E=下降沿脉冲,DB0~DB7=指令码 输出: 无读数据 输入:RS=H,RW=H,E=H 输出:DB0~DB7=数据 写数据 输入:RS=H,RW=L,E=下降沿脉冲,DB0~DB7=数据 输出:无 3 单片机多机通信协议设计 AT89S52的内部RAM只有256字节,不能存储太多的数据包;其次,单片机的外接晶振选用11.0592MHz,片内CPU的速度不理想,控制多个时钟,CPU资源消耗太多,会大大降低系统性能。因此,取消了停止等待协议有发送窗口这一机制,而采用发送一个数据包就等待当前数据包的确认包,超时再发。 主机通信协议如下: (1) 主机的SM2=0;发送从机地址。 (2) 若从机无应答则等待。若有应答,地址若不符,则发从机复位命令,返回(1);若有应答且地址相符则继续,准备发送命- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 毕业设计 单片机 通信 实现 完整版 资料
咨信网温馨提示:
1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,个别因单元格分列造成显示页码不一将协商解决,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前自行私信或留言给上传者【二***】。
5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
6、文档遇到问题,请及时私信或留言给本站上传会员【二***】,需本站解决可联系【 微信客服】、【 QQ客服】,若有其他问题请点击或扫码反馈【 服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【 版权申诉】”(推荐),意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:4008-655-100;投诉/维权电话:4009-655-100。
1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,个别因单元格分列造成显示页码不一将协商解决,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前自行私信或留言给上传者【二***】。
5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
6、文档遇到问题,请及时私信或留言给本站上传会员【二***】,需本站解决可联系【 微信客服】、【 QQ客服】,若有其他问题请点击或扫码反馈【 服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【 版权申诉】”(推荐),意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:4008-655-100;投诉/维权电话:4009-655-100。
关于本文