基于单片机的数据串口通信研究
- 格式:doc
- 大小:16.00 KB
- 文档页数:3
单片机UART通信实现在单片机系统中,UART(通用异步收发器)通信是一种常见的串口通信方式。
通过UART通信,可以实现单片机与外部设备之间的数据传输。
本篇文章将介绍如何使用单片机实现UART通信,并提供相应的代码示例。
一、UART通信原理UART通信是一种串行通信方式,其中数据按照位的形式依次传输。
UART接口包括发送端和接收端,发送端将要传输的数据通过串行方式发送出去,接收端将接收到的数据按位恢复为原始数据。
通信的核心是波特率,即数据传输的速度。
发送端和接收端必须以相同的波特率进行通信,以确保数据的正确传输。
二、单片机UART通信的硬件连接实现单片机UART通信的关键是正确连接相应的硬件。
典型的单片机UART通信硬件连接如下:发送端:- 单片机的TX(发送)引脚连接到外部设备的RX(接收)引脚- 单片机的GND引脚连接到外部设备的GND引脚接收端:- 单片机的RX(接收)引脚连接到外部设备的TX(发送)引脚- 单片机的GND引脚连接到外部设备的GND引脚三、单片机UART通信的软件实现在软件方面,需要编写相应的代码来配置单片机的UART通信模块。
以下是一个示例代码,用于实现基本的UART通信功能。
```c#include <reg51.h>#define BAUDRATE 9600 // 波特率设置为9600bpsvoid uart_init(){TMOD = 0x20; // 设置定时器1为8位自动重装模式TH1 = -(256 - (11059200 / 12 / 32) / BAUDRATE); // 设置波特率TL1 = TH1; // 初始化定时器1的初值TR1 = 1; // 启动定时器1SCON = 0x50; // 标识为8位UART模式EA = 1; // 允许全局中断ES = 1; // 允许串口中断}void uart_send(unsigned char dat)SBUF = dat; // 将数据写入发送寄存器 while (!TI); // 等待发送完毕TI = 0; // 清除发送完成标志}unsigned char uart_receive(){while (!RI); // 等待接收完毕RI = 0; // 清除接收标志return SBUF; // 返回接收到的数据}void main(){unsigned char data;uart_init(); // 初始化UART通信模块 while (1)data = uart_receive(); // 接收数据uart_send(data); // 发送接收到的数据}}```以上代码是基于8051系列单片机的实现示例,具体的单片机型号和编程语言可能有所不同,但基本原理是相同的。
摘要本文详细介绍了基于RS-485总线的单片机与多台单片机间的串行通信原理、实现方法和相应的通信硬件、软件设计。
该设计是由单片机与单片机组成的主从控制系统,其中单片机做为上位机对下位单片机是实现控制和监视功能。
它包括通信和控制两个功能模块。
单片机作为下位机在整个系统中属于从属地位,主要用来接收上位机的命令。
由于此通信的单片接口是RS232的9针接口,且下位机数目有限(32台)。
所以本设计采用了RS485总线以及RS232转RS485的协议芯片以满足长距离多机通信,本文讨论了总线接口转换、主从式通信协议设计方法,给出了采用中断式处理的通信过程流程图,并叙述了设计过程中必备的绘图软件Protel DXP的应用,以及编辑源代码软件keil uVision2的应用,实现了单片机对多个单片机组成采集终端的通信与管理。
关键词:单片机单片机RS-485 通信AbstractThe communication 、realized method and corresponding design of hardware and software between 单片and multiple MCUs based on RS-485 is described in detai in the article. This design instroduces a pincipal and subordinate control system which is composed of 单片and single chip. Divided from its function, it includes two parts: communication and control, in which 单片is used as master, and MCUs is used as slave so as to receive the single order from the master.The bus interface conversion and the design of master-slave communication protocol is introduced and The program flowchart of communication with interrupt process is also given. In the process of design, the use of unnecessary painter software and code editor software is depicted so that realize the communication and administration between 单片and multiple MCUs which composed collection terminal.Keywords: 单片MCUs RS-485 communication目录第一章绪论 (1)第二章课题实施方案 (2)2.1 系统硬件设计 (2)2.2 系统软件设计 (3)第三章硬件电路设计 (9)3.1 C51单片机结构 (9)一CPU结构 (10)二ROM存储器 (11)三I/O端口 (11)四定时器/计数器 (12)五中断系统 (13)3.1.2 51单片机引脚功能及其连接 (13)3.1.3 51 中断系统 (15)3.1.4 C-51的串行通信 (15)3.2.1串行接口RS232结构与引脚功能 (21)3.3 Protel DXP 2004原理图设计 (23)3.3.1 Protel 2004的基本操作 (23)3.3.2绘制原理图 (25)3.3.3制作芯片原理图库 (27)第四章软件电路设计 (30)4.1 系统的通信协议 (31)4.2 C51编程实现单片机与单片机之间的串行通信 (31)4.3 Windows集成开发环境uVision2 (35)4.3.1启动uVision2 (35)4.3.2创建程序 (36)总结 (41)致谢 (42)参考文献 (43)第一章绪论单片机由于其具有控制功能强、设计灵活和性能价格比高的特点。
串⼝通信实验报告⼤连理⼯⼤学实验报告成绩:串⼝通信实验⼀、实验⽬的和要求了解串⼝通信的原理与机制掌握基于8051的串⼝通信硬件电路设计⽅法掌握8051串⼝通信程序调试⽅法⼆、实验原理和内容实验原理:1.串⼝通信简介串⼝通信是指数据在⼀根数据线上按照⼆进制数的数位⼀位接⼀位的传输。
其特点是通信线路简单,只要⼀对传输线就可以实现通信(如电话线),可⼤⼤地降低成本,适⽤于远距离通信。
缺点是传送速度慢。
2. 51单⽚机串⾏⼝简介51单⽚机的串⾏⼝是⼀个可编程全双⼯的通信接⼝,具有UART(通⽤异步收发器)的全部功能,能同时进⾏数据的发送和接收,也可以作为同步移位寄存器使⽤。
51单⽚机的串⾏⼝主要由两个独⽴的串⾏数据缓冲寄存器SBUF组成,它可以通过特殊功能寄存器SBUF对串⾏接收或串⾏发送寄存器进⾏访问,两个寄存器共⽤⼀个地址99H,但在物理上是两个独⽴的寄存器,由指令操作决定访问哪⼀个寄存器。
执⾏写指令时访问串⾏发送寄存器;执⾏读指令时,访问串⾏接收寄存器。
3.串⾏⼝控制寄存器SCON串⾏⼝控制寄存器SCON⽤来设定串⾏⼝的⼯作⽅式、接收或发送控制位以及状态标志位等。
在本实验中设定SM0为0,SM1为1,采⽤串⾏⼝的⼯作⽅式1(8位异步收发,波特率可变,由定时器控制)。
允许串⾏接收位REN设置为1,其它控制、标志位设置为0。
(即令SCON=0X50)4.定时器/计数器模式控制寄存器TMOD定时器/计数器模式控制寄存器TMOD是⼀个逐位定义的8位寄存器,其中低四位(即D0 ~ D3)定义定时器/计数器T0,⾼四位(即D4 ~ D7)定义定时器/计数器T1。
在本实验中使⽤定时器1,设定M1=1,M2=0,,采⽤定时器T1的⼯作⽅式2(⾃动重载8位定时器/计数器),其它控制位设置为0。
并由晶振频率(11.0592MHZ)和波特率(9600)计算初始化定时器T1:TH1=TL1=0xfd。
最后通过对TR1置1启动定时器T1。
单片机串口通信原理
单片机串口通信是指通过串行口进行数据的传输和接收。
串口通信原理是利用串行通信协议,将数据按照一定的格式进行传输和接收。
在单片机中,串口通信一般是通过UART(通用异步收发传输器)模块来实现的。
UART模块包括发送和接收两部分。
发送部分将数据从高位到低位逐位发送,接收部分则是将接收到的数据重新组装成完整的数据。
串口通信的原理是利用串行通信协议将发送的数据进行分帧传输。
在传输的过程中,数据被分成一个个的数据帧,每帧包括起始位、数据位、校验位和停止位。
起始位和停止位用于标识数据的开始和结束,数据位则是用来存放需要传输的数据。
校验位用于校验数据的正确性。
在发送端,单片机将需要发送的数据按照一定的格式组装成数据帧,然后通过UART发送出去。
在接收端,UART接收到的数据也是按照数据帧的格式进行解析,然后重新组装成完整的数据。
通过这样的方式,发送端和接收端可以进行数据的传输和接收。
串口通信具有简单、可靠性高、适应性强等优点,广泛应用于各种领域,如物联网、嵌入式系统等。
掌握串口通信原理对于单片机的应用开发具有重要意义。
一种基于单片机串口通信的数据缓存处理方法
基于单片机串口通信的数据缓存处理方法主要涉及以下几个步骤:
1. 数据接收:首先,单片机通过串口接收来自外部设备的数据。
这些数据通常以字节流的形式传输。
2. 缓存区设置:为了存储接收到的数据,需要设置一个数据缓存区。
这个缓存区的大小取决于预期的数据量和单片机的内存大小。
3. 数据存储:接收到的数据被存储在缓存区中。
通常,数据会按照接收的顺序存储,形成一个连续的数据流。
4. 数据处理:一旦数据被存储在缓存区中,就可以进行进一步的处理。
例如,可以检查数据的完整性,进行错误纠正,或者对数据进行解析。
5. 数据传输:处理后的数据可以通过串口发送到另一个设备,或者在单片机的内部进行处理。
6. 数据清除:当缓存区满时,需要清除最早接收的数据以腾出空间接收新的数据。
这可以通过单片机的内存管理功能实现。
7. 异常处理:在整个过程中,需要处理各种可能的异常情况,如数据丢失、接收错误等。
需要注意的是,不同的单片机和不同的应用可能需要不同的数据缓存处理方法。
因此,上述步骤需要根据具体的应用环境和硬件设备进行调整。
基于stm32的串口通信的自我总结1. 背景介绍近年来,随着物联网和嵌入式系统的快速发展,嵌入式开发领域的需求也越来越大。
而基于stm32的串口通信技术在嵌入式开发中扮演着重要的角色。
串口通信是嵌入式系统中常用的通信方式,它可以实现单片机与外部设备之间的数据传输,应用广泛。
本文将对基于stm32的串口通信进行总结和归纳,旨在共享相关经验和教训,方便读者更好地应用该技术。
2. stm32串口通信的原理基于stm32的串口通信涉及到串口的相关知识和stm32单片机的硬件支持。
在串口通信中,常用的有UART、USART、RS232等协议。
而stm32单片机作为一款常用的嵌入式处理器,在硬件上支持多个串口通信接口,如USART1、USART2、UART4等。
在实际应用中,需要根据具体的需求选择合适的串口通信接口,并在软件上进行相应的配置和驱动。
在stm32的串口通信中,需要了解串口通信的相关寄存器、时钟配置等,以实现数据的可靠传输。
3. 基于stm32的串口通信应用基于stm32的串口通信可以应用在很多场景下,比如与PC机的数据通信、与外部传感器的数据采集等。
在实际的应用中,需要根据具体的需求和外部设备的通信协议选择合适的串口通信接口,并在程序中进行相应的配置和驱动。
另外,在实际的应用过程中,需要考虑串口通信的稳定性和可靠性,并进行相应的错误处理和数据校验,以确保数据的正确传输。
4. 基于stm32的串口通信的优化在实际的应用中,基于stm32的串口通信可能会遇到一些性能上的瓶颈和稳定性的问题。
针对这些问题,可以采取一些优化的措施,比如合理设计串口通信的协议、优化中断服务程序、增加数据校验和重发机制等,以实现串口通信的稳定和高效。
5. 结语基于stm32的串口通信技术在嵌入式系统中应用广泛,本文总结了关于该技术的相关知识和经验。
通过对串口通信的原理、应用和优化进行总结,可以帮助读者更好地理解和应用该技术,提高嵌入式系统的开发效率和质量。
深入理解51单片机串口通信及通信实例串口通信的原理串口通信(SerialCommunicaTIons)的概念非常简单,串口按位(bit)发送和接收字节。
尽管比按字节(byte)的并行通信慢,但是串口可以在使用一根线发送数据的同时用另一根线接收数据。
它很简单并且能够实现远距离通信。
比如IEEE488定义并行通行状态时,规定设备线总长不得超过20米,并且任意两个设备间的长度不得超过2米;而对于串口而言,长度可达1200米。
典型地,串口用于ASCII码字符的传输。
通信使用3根线完成,分别是地线、发送、接收。
由于串口通信是异步的,端口能够在一根线上发送数据同时在另一根线上接收数据。
其他线用于握手,但不是必须的。
串口通信最重要的参数是波特率、数据位、停止位和奇偶校验。
对于两个进行通信的端口,这些参数必须匹配。
a,波特率:这是一个衡量符号传输速率的参数。
指的是信号被调制以后在单位时间内的变化,即单位时间内载波参数变化的次数,如每秒钟传送240个字符,而每个字符格式包含10位(1个起始位,1个停止位,8个数据位),这时的波特率为240Bd,比特率为10位*240个/秒=2400bps。
一般调制速率大于波特率,比如曼彻斯特编码)。
通常电话线的波特率为14400,28800和36600。
波特率可以远远大于这些值,但是波特率和距离成反比。
高波特率常常用于放置的很近的仪器间的通信,典型的例子就是GPIB设备的通信。
b,数据位:这是衡量通信中实际数据位的参数。
当计算机发送一个信息包,实际的数据往往不会是8位的,标准的值是6、7和8位。
如何设置取决于你想传送的信息。
比如,标准的ASCII码是0~127(7位)。
扩展的ASCII码是0~255(8位)。
如果数据使用简单的文本(标准ASCII码),那么每个数据包使用7位数据。
每个包是指一个字节,包括开始/停止位,数据位和奇偶校验位。
由于实际数据位取决于通信协议的选取,术语包指任何通信的情况。
单片机的双机串口通信原理单片机的双机串口通信原理是通过串口连接两个单片机,使它们能够进行数据的传输和通信。
串口是一种常见的通信方式,它使用两条信号线进行数据的传输:一条是串行数据线(TXD),用于发送数据;另一条是串行接收线(RXD),用于接收数据。
通过串口通信,两个单片机可以进行双向的数据传输,实现信息的互相交流和共享。
在双机串口通信中,一台单片机充当主机(Master),另一台单片机充当从机(Slave)。
主机负责发起通信请求并发送数据,从机负责接收并响应主机发送的数据。
通信过程中,主机和从机需要遵守相同的协议和通信规则,以确保数据的正确和可靠传输。
双机串口通信的主要步骤如下:1. 端口初始化:在双机串口通信开始之前,两台单片机的串口端口需要初始化。
主机和从机需要设置相同的波特率(Baud Rate),数据位数(Data Bits)、停止位数(Stop Bits)和校验方式(Parity Bit),确保两台单片机之间的通信能够正常进行。
2. 数据发送:主机将要发送的数据写入到串口发送寄存器中,然后通过串口发送线路将数据位一位一位地发送给从机。
主机发送完所有数据位后,等待从机的响应。
3. 数据接收:从机通过串口接收线路接收主机发送的数据位,然后将接收到的数据位存放在串口接收寄存器中,等待从机的处理。
4. 数据处理:从机接收到主机发送的数据后,根据通信协议和通信规则进行数据处理。
从机可能需要对数据进行校验、解析和执行相应的操作,然后将处理结果写入到串口发送寄存器中,以供主机进行相应的处理。
5. 响应发送:从机将处理结果写入到串口发送寄存器中,然后通过串口发送线路将数据位一位一位地发送给主机。
从机发送完所有数据位后,等待主机的进一步操作。
6. 数据接收:主机通过串口接收线路接收从机发送的数据位,然后将接收到的数据位存放在串口接收寄存器中,等待主机的处理。
7. 数据处理:主机接收到从机发送的数据后,根据通信协议和通信规则进行数据处理。
PLC与单片机串口通信的实现探讨要实现PLC与单片机串口通信,需要有完善的硬件和软件支持。
本文将介绍如何使用PLC的串口和单片机的串口进行通信,并介绍常见的通信方式和协议。
1. 硬件准备首先我们需要准备好PLC和单片机。
对于PLC,我们需要选择带有串口接口的PLC。
对于单片机,我们可以选择带有串口接口的单片机或者使用外接的串口芯片。
接下来,我们需要使用串口线连接PLC和单片机。
2. 通信方式通信方式分为两种:点对点通信和多点通信。
点对点通信是指单片机与PLC之间建立一条直接连接进行通信,适用于直接控制PLC的场景。
多点通信是指多个单片机与PLC建立连接进行通信,适用于需要多个单片机同时控制PLC的场景。
在本文中,我们将讨论点对点通信方式。
3. 通信协议通信协议是通信双方遵循的规定,包括通信的数据格式、命令、指令等。
下面介绍两种常见的通信协议。
(1)Modbus协议Modbus协议是一种应用于串行通信网络的协议,通信双方需要遵循规定的通信协议。
PLC的串口可以支持Modbus协议。
单片机需要编写程序实现与PLC的通信。
在单片机发送数据时,需要按照Modbus协议的格式将数据打包,发送到PLC。
在PLC接收到数据后,需要按照协议格式进行解码,并根据协议规定的指令进行执行。
(2)ASCII码协议4. 编写程序要实现PLC与单片机的串口通信,需要编写程序。
下面简单介绍使用C语言编写串口通信程序的步骤。
(1)打开串口在单片机上,我们需要使用C语言调用串口接口库函数打开串口。
在PLC上,需要配置串口参数。
(2)发送数据(3)接收数据在单片机上,我们可以使用C语言调用串口接口库函数,接收PLC发送回来的数据。
在PLC上,需要编写程序读取串口接收缓冲区中的数据,并进行解码和指令执行。
5. 总结通过对PLC与单片机串口通信的实现探讨,我们可以简单了解PLC与单片机的串口通信原理,以及常见的通信方式和协议。
在实际应用中,我们需要根据实际需求选择合适的通信方式和协议,并编写程序实现通信。
单片机双机之间的串行通讯设计报告摘要:本文介绍了一种基于单片机的双机之间的串行通讯设计。
该设计使用两个单片机,通过串行通信协议进行数据传输。
通讯过程中,两台单片机之间通过数据线连接,并使用中断方式进行数据接收和发送。
同时,本文还介绍了串行口工作方式 0 的应用,以及如何使用移位寄存器进行串行口扩展。
通过该设计,可以实现两台单片机之间的高速数据传输,并且具有良好的稳定性和可靠性。
关键词:单片机,串行通讯,中断方式,移位寄存器,串行口扩展一、引言串行通讯是计算机系统中常用的一种数据传输方式,它可以实现不同设备之间的数据传输。
在单片机应用中,串行通讯也是一种常见的数据传输方式。
本文介绍了一种基于单片机的双机之间的串行通讯设计,该设计使用两个单片机通过串行通信协议进行数据传输。
本文还介绍了串行口工作方式 0 的应用,以及如何使用移位寄存器进行串行口扩展。
通过该设计,可以实现两台单片机之间的高速数据传输,并且具有良好的稳定性和可靠性。
二、设计原理该串行通讯设计使用两个单片机,分别为发送单片机和接收单片机。
发送单片机将数据通过串行口发送到接收单片机,接收单片机再将接收到的数据进行处理。
两台单片机之间通过数据线连接,并使用中断方式进行数据接收和发送。
在串行通讯中,数据是通过串行口进行传输的。
串行口工作方式0 是一种常见的串行口工作方式,它使用移位寄存器进行数据接收和发送。
在移位寄存器中,数据被移位到寄存器中进行传输,从而实现了数据的串行传输。
三、设计实现1. 硬件设计在该设计中,发送单片机和接收单片机分别使用一个串行口进行数据传输。
发送单片机将数据通过串行口发送到接收单片机,接收单片机再将接收到的数据进行处理。
两台单片机之间通过数据线连接,并使用中断方式进行数据接收和发送。
硬件设计主要包括两个单片机、串行口、数据线和中断控制器。
其中,两个单片机分别拥有自己的串行口,并且都能够接收和发送数据。
数据线将两台单片机连接在一起,中断控制器用于处理数据的接收和发送。
基于单片机的数据串口通信研究
作者:蒋信
来源:《电子技术与软件工程》2016年第06期
摘要科技的发展日新月异,机电一体化的发展对自动化系统的可靠性提出了更高的要求,在这样的背景下,单片机在工业控制领域的应用越来越广泛也越来越重要。
基于以上,本文从通信过程、显示设计、键盘接口等方面研究了基于单片机的数据串口通信。
【关键词】单片机数据串口通信研究
在计算机控制领域中,计算机与外设数据之间的通信主要依靠单片机来实现,单片机的串口功能能够实现数据的传输以及分析,这就属于串口通信,可以预见的是,单片机的数据串口通信将会得到更广泛的应用,单片机之间的通信也有赖于其数据串口通信功能。
基于以上,本文简要研究了基于单片机的数据串口通信。
1 串口通信的实现方式
设备在实现通信的过程中,必须树立一个信息接发双方都认可的通信方式,只有这样才能够保证信息在传送的过程中不发生冲突,才能够实现设备之间的通信,对于串口通信来说,主要有以下两种方式。
1.1 异步通信方式
异步通信方式实现的过程中,数据传输方式为独立字节的形式,不同的字节前端有着不同的起始信号,不同字节的后端则会有不同的终止信号,起始信号只能是一个,而终止信号可以是一个也可以是多个。
数据传输过程中,字节进行移动,一个字节的迁移过程表示一个字节的传输过程,传输之前使用起始信号进行传输,传输结束之后使用终止信号将传输线调回标准状态,一个字节传输完毕后进行下一个字节的传输,字节传输有着连续性,这就是异步传输方式。
由于没一个字节都要附加起始信号信息和终止信号信息,因此异步传输方式的效率较低,但异步通信方式容许一定程度的频率漂移,有着一定的误差缓冲作用。
1.2 同步通信方式
同步通信方式指的是将所有字符和字节连接在一起进行传输的一种通信方式,多个字符相互连接组成数据块,在数据块前增加同步字符,以同步字符作为传输起始信号,在传输后增加校验字符,以校验字符作为传输终止信号,以此来校验传输过程中的错误和误差,数据块中的各个字符之间没有间隔,相较于异步通信方式来说,其传输效率较高,但其对于信息接收端和信息发送端的同步性要求较高,因此硬件的复杂程度也就更高。
2 基于单片机的数据串口通信
2.1 单片机数据串口通信过程
单片机数据串口通信功能的实现主要依赖于数据寄存器,这个数据寄存器一般设置在单片机的串行端口上,其能够实现数据的接收和发送,从而为实现通信提供了可能。
一般来说,数据在写入寄存器的时候同时会进行发送,从而进入到数据的传输流程中,而数据寄存器在读取数据的时候同时也开始数据的接收,这就是单片机数据串口通信的简单过程。
具体来说,串行接口与单片机通信的过程中,可编程逻辑控制器会接收到单片机发送的命令帧格式,在通信结束之后,可编程逻辑控制器执行命令,可编程逻辑控制器需要以ASCII的形式来形成接收到的信息,但是单片机的输入方式有着一定的局限性,只能够进行高低电平输入,这就需要在信息发送过程中对信息进行格式转化,串口通信协议中有信息帧格式,可以以此为依据将信息转化为二进制格式,转化后的信息发送至数据寄存器中,从而完成单片机数据串口通信过程。
2.2 单片机的显示设计分析
单片机显示程序的设计一般有两种方式:
2.2.1 动态显示驱动
指的是通过数码管来实现单片机动态显示的一种驱动显示方式具体来说,并联所有选择的线路,利用八位I/O口来控制这些并联的线路,将除八位I/O口之外的I/O口作为数码管选线,显示数字的译码由单片机进行输出,此时,为选通电路与各个数码显示管一一对应,并由对应的数码显示管来进行有效的控制,没有对应的数码显示管在此过程中不会产生反应,这就是动态显示驱动的过程。
2.2.2 静态显示驱动
静态显示驱动属于一种直流驱动方式,数码管有两个极,分别是共阳极和共阴极,在接地设置上,让这两个极同时接地,且同时连接电源,这就是静态显示驱动方式,需要注意的是,相较于动态显示驱动方式而言,静态显示驱动方式会占用更多的I/O口,这就给显示设计带来了一定的复杂性,因此,在实际的单片机显示设计中,一般采用动态显示驱动方式较多。
2.3 矩阵式键盘接口分析
在单片机数据串口通信过程中,可能在键盘中需要较多数量的键盘按键,为了避免占用过多的I/O口,则需要对这些键盘按键进行合理的排序。
下面介绍一种矩阵形式的排列方式,以此来实现键盘按键的合理划分布。
在矩阵式排列的过程中,垂直线和交叉点在同一条水平线上不能够直接的联通,而是要通过按键来实现二者的连接,这就形成了一种4×4的矩阵式排列方式,这种键盘连接对于端口的应用效率明显提升。
矩阵式键盘连接方式适用于线路较多情况,线路越多,则其提升端口使用效率的效果越明显。
矩阵式排列分布方式下,使用端口线增加线路时,一条线的增加对应一个键的增加,而使用普通线,一条线的增加对应二十键,此时使用矩阵式排列方式就能够取得良好的效果。
矩阵式结构虽然能够避免过多的占用I/O口,但是其也有着一定的局限性,即矩阵式结构实现难度较大,相对来说比较复杂。
已经确定的矩阵式键盘来说,可以采用“行扫描法”来识别按键,对于按键落下与否的判断来说,可以降低行线到低电平状态,检测列线的状态,如果发现有一条列线的电平为低状态,则可以判断键盘的按键在按下的状态,如果所有的列线都在高电平的状态,则可以判断键盘按键处于非按下的状态。
在确定有键盘按键处于按下的状态时,则需要确认具体是哪一个按键处于按下状态,首先将某一条行线调到低电平的状态,之后对列线进行逐条检查,哪一列的列线处于低电平状态,则其与调到低电平状态这条行线的交点按键就是闭合的按键,依此进行判断即可。
3 结论
信息的发展日新月异,数据通信在工业及信息领域的应用越来越重要,计算机与外设数据的连接则依赖于单片机的数据串口通信,这就打破了信息传输的地域性限制。
本文简要研究了基于单片机的数据串口通信,旨在进一步促进单片机数据串口通信技术的进一步发展。
参考文献
[1]佘艳.基于单片机的数据串口通信[J]. 电子技术与软件工程,2015,01:262.
[2]王振宇.基于单片机的数据串口通信研究[J].电子技术与软件工程,2015,07:256-257.
[3]刘远义,张锐,刘宏洋.PC机与单片机的串口通信数据采集系统设计[J].邢台学院学报,2013,02:174-176.
作者单位
湖北工程学院新技术学院12级电子信息工程湖北省孝感市 432000。