基于单片机的串口通信模块设计.doc下载

weixin_39821228 2023-03-19 18:00:10
1 绪论 1.1 研究背景 通信是指不同的独立系统利用线路互相交换数据,它的主要目的是将数据从一端传送 到另一端,实现数据的交换。在现代工业控制中,通常采用计算机作为上位机与下层的 实时控制与监测设备进行通讯。现场数据必须通过一个数据收集器传给上位机,同样上 位机向现场设备发命令也必须通过数据收集器。串行通信因其结构简单、执行速度快、 抗干扰能力强等优点,已被广泛应用于数据采集和过程控制等领域。 计算机与外界的信息交换称为通信。基本的通信方式有并行通信和串行通信两种。串 行通信是指一条信息额各位数据被逐位按顺序传送的通信方式。串行通信的特点是:数 据位传送,按位顺序进行,最少只需要一根传输线即可完成,成本低但传送速度快,串 行通信的距离可以从几米到几千米 。 随着计算机技术尤其是单片微型机技术的发展,人们已越来越多地采用单片机来对一 些工业控制系统中如温度、流量和压力等参数进行监测和控制。PC机具有强大的监控和 管理能力,而单片机则具有快速及灵和的控制特点,通过PC机的RS- 232串行接口与外部设备进行通信,是许多测控系统中常用的一种通信解决方案。而随着 USB接口技术的成熟和使用的普及,由于USB 接口有着RS-232(DB- 9)串口无法比拟的优点,RS-232(DB-9)串口正在逐步地为USB 接口所替代。而在现在的大多数笔记本电脑中,出于节省物理空间和用处不大等原因, RS-232(DB-9)串口已不再设置,这就约束了基于RS-232(DB-9)串口与PC 机联络的单片机设备的使用范围。当前USB接口逐步取代RS-232(DB- 9)串口已是大势所趋,单片机同计算机的USB通信在实际工作中的应用范围也将越来越广 。本文所介绍的单片机和PC机的USB通信方法,电路简单,兼容性好,可移植性强,故可 作为单片机同计算机的USB通信模块广泛应用于工业和电子产品的开发中。因此研究如何 实现PC机与单片机通过USB之间的通信具有非常重要的现实意义。 1.2 国内外研究现状 由于计算机工业自动控制和检测系统越来越多地采用集总分散系统,而主从式是其中最 为普遍的一种方式,因此各种各样主从式总线通信系统的方法不断涌现。目前比较常用 的有利用IIC总线传输协议设计的主从式总线通信系统,还有的是利用SPI总线传输协议 和USB协议以及串口通信等设计的主从式总线通信系统[6,7]。 由于主从式总线通信系统采用的方法众多,因此目前国内外一般是根据实际情况而采 用不同的方法去实现主从式通信系统的功能[8]。比如,如果要设计的主从式通信系统只 是小范围内传送数据,甚至只是板间传送数据,或者要求使用的I/O口很少,而对于数据 的抗干扰能力的要求不是很高的话,则采用IIC总线传输协议是最合适不过的了。IIC总 线支持任何一种IC制造工艺,并且PHILIPS和其他厂商提供了种类非常丰富的I2C兼容芯 片。作为一个专利的控制总线,IIC已经成为世界性的工业标准。每个器件都有一个唯一 的地址,而且可以是单接收的器件(例如:LCD驱动器)或可以接收也可以发送的器件( 例如:存储器)。发送器或接收器可以在主模式或从模式下操作,这取决于芯片是否必 须启动数据的传输还是仅仅被寻址。IIC是一个多主总线,即它可由多个连接的器件控制 [9]。 基本的I2C总线规范于20年前发布,其数据传输速率最高为100Kbits/s,采用7位寻址 。但是由于数据传输速率和应用功能的迅速增加,I2C总线也增强为快速模式(400Kbit s/s)和10位寻址以满足更高速度和更大寻址空间的需求[10]。IIC总线始终和先进技术 保持同步,但仍然保持其向下兼容性。并且最近还增加了高速模式,其速度可达3.4Mbi ts/s。它使得IIC总线能够支持现有以及将来的高速串行传输应用,例如EEPROM和Flash 存储器[11]。 而如果需要远距离传输数据,且对数据传送的抗干扰能力要求有点高,则可以使用R S-422或者RS- 485协议进行主从式通信系统的设计[12]。另外,USB协议则是一种比较新型、快速、灵 活的总线传输方法,此通信系统通常只有一个主机,利用此方法设计的通信息有如下特 点:(1)适用范围广泛,适用于数码相机,高速数据采集等多种设备;(2)支持热拔 插,且此过程由系统自动完成,无需用户干预;(3)采用菊花链式的星型总线结构,支 持多达127个外设同时连接;(4)5Mbps、12Mbps和480Mbps的3种速度模式,可以满足不 同外设对速度的要求。USB发展到今天,总共有三种标准:1996年发布的USB1.0,1998年 发布的USB1.1以及刚刚发布的最新标准USB2.0,此三种标准最大的差别就在于数据传输 率方面,在其他方面也不同程度的改进,总体来说,就目前的USB2.0而 , 相关下载链接:https://download.csdn.net/download/qq_43934844/87506571?utm_source=bbsseo
...全文
7 回复 打赏 收藏 转发到动态 举报
写回复
用AI写文章
回复
切换为时间正序
请发表友善的回复…
发表回复
1设计任务 多机串行通信的设计基本任务 1.设计三个以上单片机实现主从式串行通信的系统,主机发送数据到指定站号的从机端 ,也可以群发到所有从机端,并在LED数码管上显示。 2.可通过接在主机上的键盘输入数据,通过主机发送到从机。 3.从机也可输入数据,并可在查询到主机空闲时将数据发送给主机。 4*.从机间可相互通信(从机—)主机(另一从机),通信协议遵从modbus规范。 4@. 其他功能(创新部分) 仿真模块例 2设计方案 2.1设计任务 本文在参考了现在普遍的多机通信系统的基础上,设计了一种基于51单片机STC89C5 1的多机通信系统。在proteus上设计并仿真电路图。进入proteus程序仿真,启动程序系 统,首先主机通过按键选择准备通信的从机,接通后,主机通过矩阵键盘上的数字按键 与从机通信,使从机上的数码管显示对应的数字,以此实现多机通信。如,与2号机通信 并传输"8"这个数字。首先主机从选择从机按键上按"2号机"键,与2号机连通后按下主机 矩阵键盘上的"8"键,对应的2号机数码管上会显示数字"8",证明通信成功。 2.2串行通信简介 串行通信可以分为同步通信和异步通信两类。 同步通信是一种连续串行传送数据的通信方式,一次通信只传送一帧信息。这里的信 息帧与异步通信中的字符帧不同,通常含有若干个数据字符。它们均由同步字符、数据 字符和校验字符(CRC)组成。其中同步字符位于帧开头,用于确认数据字符的开始。数 据字符在同步字符之后,个数没有限制,由所需传输的数据块长度来决定;校验字符有 1到2个,用于接收端对接收到的字符序列进行正确性的校验。同步通信的缺点是要求发 送时钟和接收时钟保持严格的同步。 异步通信中,在异步通行中有两个比较重要的指标:字符帧格式和波特率。数据通常 以字符或者字节为单位组成字符帧传送。字符帧由发送端逐帧发送,通过传输线被接收 设备逐帧接收。发送端和接收端可以由各自的时钟来控制数据的发送和接收,这两个时 钟源彼此独立,互不同步。接收端检测到传输线上发送过来的低电平逻辑"0"(即字符帧 起始位)时,确定发送端已开始发送数据,每当接收端收到字符帧中的停止位时,就知 道一帧字符已经发送完毕。 串口通信最重要的参数是波特率、起始位、数据位、停止位和奇偶校验。 波特率:是一个衡量通信速度的参数,表示每秒钟传送的bit的个数。 起始位:当通信线上没有数据被传送时处于逻辑"1"状态,当发送设备要发送一个数 据时,先发送一个逻辑"0"信号,这个低电平就是起始位,起始位通过通信线传向接收设 备,接收端检测到这个低电平后,就确认开始接收数据了。起始位的作用是使通信双方 在传送数据前协调同步。 数据位:是衡量通信中实际数据位的参数,当计算机发送一个信息包,实际的数据不 会是8位的,标准的值是5、7或8位,如何设置取决于要传送的信息。每个包是指一个字 节,包括开始/停止位、数据位和奇偶校验位,由于实际数据位取决于通信协议的选取, 术语"包"指任何通信的情况。 停止位:用于表示单个包的最后一位。典型的值为1、1.5和2位,它是一个数据的结 束标志,接收端接收到停止位后,通信线路上会回复逻辑"1"的状态,知道下一个起始位 的到来。 奇偶校验位:在串行通信中一种简单的检错方式,有四种方式:偶、奇、高和低。对 于偶和检验的情况,串口会设置检验位,用一个值确保传输的数据有偶个或者奇个逻辑 高位。高位和低位不真正的检查数据,简单置位逻辑高或者逻辑低校验,这样使得接收 设备能够知道一个位的状态,有机会判断是否有噪声干扰了通信或者是否传输和接收数 据是否不同步。 3.系统硬件设计 3.1接口设计 MCS- 51单片机具有多机通信功能,利用它可以构成分布式系统,电路结构如图3.1所示 图3.1电路结构 本设计单片机之间通过串口进行通信,主机通过按键来选择要进行通信的从机,进而 通过按键控制从机的数码管显示数字。 数码管与单片机的连接方式采用并行连接方式。系统设计框图如图3.2所示: 图3.2系统设计框图 3..2主机电路模块设计 3.2.1 单片机简介 AT89C51单片机内部主要由9个部件组成:1个8位中央处理器;4KBFlash存储器;12 8B的数据存储器;32条I/O口线;2个定时器/计数器;1个具有6个中断源、4个优先级的 中断嵌套结构;用于多处理机通信、I/O扩展或全双工UART的串行口;特殊功能寄存器; 1个片内振荡器和时钟电路。AT89S51系列单片机完全继承了MCS- 51的指令系统,共有111条指令,按其功能可分为五大类:数据传送类指令、算术运算类 指令、逻辑运算类指令、控制转移类指令、布尔操作。AT89C51单片机引脚如图3.3所示 。 图3.3AT89C51单片机引脚图 管脚说明: P0口:8位、漏极开路的双向
目 录 1 设计内容及要求 1 1.1 设计内容与要求: 1 1.2设计要求: 1 2 系统总体方案设计 2 2.1 总体方案设计 2 2.2 设计说明 2 3 各部分方案选定及接口设计 3 3.1 主控制器单片机的选择 3 3.2 时钟电路 3 3.3显示接口电路 3 3.4 键盘接口电路 4 4 系统软件的设计 5 4.1 设计说明 5 4.2 主程序设计 5 4.3 时间处理模块 6 4.5 键盘扫描模块 9 5 系统的调试与使用说明 11 6 总结 12 7 参考文献 13 附录: 14 1 设计内容及要求 1.1 设计内容与要求: 具有时钟和电子跑表的功能。开机为时钟功能,用4位LED数码管显示时、分,以24小 时计时方式;用按键控制切换到电子跑表功能:可用3位数码管从00.0开始计时的功能。 1.2设计要求: 1)确定系统设计方案; 2)进行系统的硬件设计; 3)完成必要元器件选择; 4)完成应用程序设计; 5)进行应用程序的调试; 2 系统总体方案设计 2.1 总体方案设计 电子跑表的设计有多种方法,例如,可用中小规模集成电路组成电子跑表;也可用 专用的电子钟芯片配以显示电路及其所需要的外围电路组成电子跑表;还可以利用单片 机来实现等等。为求结构简单,本次设计利用单片机组成数字电子跑表。 2.2 设计说明 本系统采用AT89C51单片机、4位LDE数码管显示、一个排阻、4个调节按钮、2个电容 与1个晶体振荡器共同构成本的单片机电子跑表的硬件。时钟模块与计时模块则分别由单 片机内部的定时器/记数器T0与T1来实现。时间显示功能通过LED数码管动态扫描来实现 。电子跑表的启动/暂停/清零功能由软件来实现。P1.0实现时钟与秒表的切换功能,P1 .1接开始计时键,P1.2接计时暂停键,P1.3接计时重新计时键。本系统软件部分则采用 C51编写,功能模块结构化强,共利用了6个功能函数,2个中断服务函数和1个主函数构 成了本次电子跑表的软件部分。图2.1为本系统方框图。 3 各部分方案选定及接口设计 3.1 主控制器单片机的选择 本次设计采用AT89C51单片机,以下为其标准功能:4k 字节Flash 闪速存储器,128字节内部RAM,32 个I/O 口线,两个16位定时/计数器,一个5向量两级中断结构,一个全双工串行通信口,片内 振荡器及时钟电路。同时,AT89C51可降至0Hz的静态逻辑操 作,并支持两种软件可选的节电工作模式。空闲方式停止CPU的工作,但允许RAM,定时 /计数器,串行通信口及中断系统继续工作。掉电方式保存RAM中的内容,但振荡器停止 工作并禁止其它所有部件工作直到下一个硬件复位。 3.2 时钟电路 单片机工作的时间基准是由时钟电路提供的。在单片机的XTAL1和XTAL2两个管脚,接 一只晶振及两只电容就构成了单片机的时钟电路,如图3.2所示。电路中,电容器C1和C 2对振荡频率有微调作用,本次设计中电容器取值为20pF,石英晶体选择12MHz,故单片 机的机器周期为1us。 图3.1 内部时钟电路 3.3显示接口电路 本次设计中使用了4位共阴数码显示管,显示控制采用动态显示,即数据的显示是由 段和位选信号共同配合完成的。为了实现显示器的动态扫描,我们需要对显示器进行段 控和位控,因此在显示器接口电路中需要有两个输出口,其中一个用于输出8条段控线; 另一个用于输出位控线,位控线的数目等于显示器的位数。本次设计中用P1口与显示器 的8条段控线相接,用P2.4~P2.7与显示器的4条位控线相接。如图3.2所示。 图3.2 显示接口电路 3.4 键盘接口电路 本设计的键盘接口电路中使用了4个按键分别与单片机的P1.1~P1.3口相连如图3.3所 示,分别实现时钟/秒表切换、开始计时、暂停计时、重新计时的功能。按键的开关状态 通过一定的电路转换为高、低电平状态。按键闭合过程在相应的I/O端口形成一个负脉冲 。闭合和释放过程都要经过一定的过程才能达到稳定,这一过程是处于高、低电平之间 的一种不稳定状态,称为抖动。抖动持续时间的常长短与开关的机械特性有关,一般在 5-10ms之间。为了避免键的一次处理闭合,应采CPU多次按用措施消除抖动。 4 系统软件的设计 4.1 设计说明 在进行应用软件设计时应采用模块化结构设计,其优点是:每个模块的程序结构简 单,任务明确,易于编写,调试和修改,程序可读性好,对程序的修改可局部进行,其 他部分可以保持不变,便于功能扩充和版本升级,是便于多个模块的调用和分工合作。 因此为了达到功能结构模块化,易读,简单,易移植的特点,故本次设计采用C51编写。 系统编写时可分为键盘扫描程序模块,时间处理模块,显示模块。如图4.1所示。将 这些事先划分好的模块用C51编成不同的子函数,再将它们
基于单片机的电子日历设计 一、设计目的和要求 单片机应用技术飞速发展,纵观我们现在生活的各个领域,从导弹的导航装置,到飞 机上各种仪表的控制,从计算机的网络通讯与数据传输,到工业自动化过程的实时控制 和数据处理,以及我们生活中广泛使用的各种智能IC卡、电子宠物等,这些都离不开单 片机。单片机是集CPU ,RAM ,ROM ,定时,计数和多种接口于一体的微控制器。它体积小,成本低,功能强,广泛应用于智 能产业和工业自动化上。而51系列单片机是各单片机中最为典型和最有代表性的一种。 这次课程设计通过对它的学习,应用,从而达到学习、设计、开发软、硬的能力。 通过对一个基于单片机的能实现电子日历功能电子时钟的设计,从而达到学习、了解单 片机相关指令在各方面的应用。系统由主控制器AT89C51、时钟电路DS1302、显示电路、 和复位电路等部分构成,能实现时钟日历显示的功能,能进行时、分、秒的显示。 系统设计要求:电子日历能显示,能调整。基于51系列的单片机进行的电子万年历设 计可以显示年月日时分秒及周信息,具有可调整日期和时间功能。在设计的同时对单片 机的理论基础和外围扩展知识进行了比较全面准备。具体实现功能:显示年月日时分秒 及星期信息,具有可调整日期和时间功能,与即时时间同步。 主要使用到的工具和器件: Keilc51 Protues DS1302 AT89S52 LCD12864 二、方案设计 每一系统都有几个核心的模块。它对整个系统的性能有非常大的影响。比如 系统的主控。 2.1 主控芯片选择方案论证 方案一:选择51系列的单片机;AT89S52 是一种低功耗、高性能CMOS8位微控制器,具有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内容被保存,振荡器被冻结,单片机一切工作停止,直到下一 个中断或硬件复位为止。 方案二:选择msp430系列单片机;MSP430系列单片机是一个16位的单片机,采用了精简 指令集(RISC)结构,具有丰富的寻址方式(7 种源操作数寻址、4 种目的操作数寻址)、简洁的 27 条内核指令以及大量的模拟指令;大量的寄存器以及片内数据存储器都可参加多种运算 ;还有高效的查表处理指令。这些特点保证了可编制出高效率的源程序。MSP430 系列单片机的各系列都集成了较丰富的片内外设。它们分别是看门狗(WDT)、模拟比较 器A、定时器A0(Timer_A0)、定时器A1(Timer_A1)、定时器B0(Timer_B0)、UART、 SPI、I2C、硬件乘法器、液晶驱动器、10位/12位ADC、16位Σ-Δ ADC、DMA、I/O端口、基本定时器(Basic Timer)、实时时钟(RTC)和USB控制器等若干外围模块的不同组合。其中,看门狗可以 使程序失控时迅速复位;模拟比较器进行模拟电压的比较,配合定时器,可设计出A/D 转换器;16 位定时器(Timer_A 和 Timer_B)具有捕获/比较功能,大量的捕获/比较寄存器,可用于事件计数、时序发生、 PWM等;有的器件更具有可实现异步、同步及多址访问串行通信接口可方便的实现多机通 信等应用;具有较多的 I/O 端口,P0、P1、P2 端口能够接收外部上升沿或下降沿的中断输入;10/12位硬件 A/D 转换器有较高的转换速率,最高可达200kbps ,能够满足大多数数据采集应用;能直接驱动液晶多达 160 段;实现两路的 12 位D/A转换;硬件I2C串行总线接口实现存储器串行扩展;以及为了增加数据传输速度, 而采用的DMA模块。MSP430 系列单片机的这些片内外设为系统的单片解决方案提供了极大的方便。 方案对比: 运算周期:时钟显示最小单位为秒,51和msp430的运算周期都在1秒之内,这一点 都满足要求。 IO口是否满足系统设计要求:51有32个IO口,msp430的IO口则更多。这一点都满足 要求。 是否需要外加时钟芯片:采用定时器,误差较大。Msp430内部就有时钟RTC单元, 5

12,791

社区成员

发帖
与我相关
我的任务
社区描述
CSDN 下载资源悬赏专区
其他 技术论坛(原bbs)
社区管理员
  • 下载资源悬赏专区社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧