基于51单片机的双机串行通信课程设计1000110061_第1页
基于51单片机的双机串行通信课程设计1000110061_第2页
基于51单片机的双机串行通信课程设计1000110061_第3页
基于51单片机的双机串行通信课程设计1000110061_第4页
基于51单片机的双机串行通信课程设计1000110061_第5页
已阅读5页,还剩19页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、 基于基于 at89c51 单片机的双机串行通信设计单片机的双机串行通信设计 姓名:杨应伟 学号:100110061 专业:机械设计制造及其制动化 班级:机电二班 0 前前 言言 单片机广泛应用于仪器仪表、家用电器、医用设备、航空航天、专用设备 的智能化管理及过程控制等领域随着计算机技术的发展及工业自动化水平的提 高, 在许多场合采用单机控制已不能满足现场要求,因而必须采用多机控制的形 式,而多机控制主要通过多个单片机之间的串行通信实现。串行通信作为单片机 之间常用的通信方法之一, 由于其通信编程灵活、硬件简洁并遵循统一的标准, 因此其在工业控制领域得到了广泛的应用。 在测控系统和工程应用中,

2、常遇到多项任务需同时执行的情况,因而主从 式多机分布式系统成为现代工业广泛应用的模式。单片机功能强、体积小、价 格低廉、开发应用方便,尤其具有全双工串行通讯的特点,在工业控制、数据 采集、智能仪器仪表、家用电器方面都有广泛的应用。同时,ibmpc 机正好 补充单片机人机对话和外围设备薄弱的缺陷。各单片机独立完成数据采集处理 和控制任务,同时通过通信接口将数据传给 pc 机,pc 机将这些数据进行处理、 显示或打印,把各种控制命令传给单片机,以实现集中管理和最优控制。串行 通信是单片机的一个重要应用,本次课程设计就是要利用单片机来完成一个系 统,实现爽片单片机床航通信,通信的结果使用数码管进行显

3、示,数码管采用 查表方式显示,两个单片机之间采用 rs-232 进行双击通信。 在通信过程中,使用通信协议进行通信。在测控系统和工程应用中,常遇 到多项任务需同时执行的情况,因而主从式多机分布式系统成为现代工业广泛 应用的模式。单片机功能强、体积小、价格低廉、开发应用方便,尤其具有全 双工串行通讯的特点,在工业控制、数据采集、智能仪器仪表、家用电器方面 都有广泛的应用。同时,ibmpc 机正好补充单片机人机对话和外围设备薄弱 的缺陷。各单片机独立完成数据采集处理和控制任务,同时通过通信接口将数 据传给 pc 机,pc 机将这些数据进行处理、显示或打印,把各种控制命令传给 单片机,以实现集中管理

4、和最优控制。 串行通信是单片机的一个重要应用,本次课程设计就是要利用单片机来完 成一个系统,实现爽片单片机床航通信,通信的结果使用数码管进行显示,数 码管采用查表方式显示,两个单片机之间采用 rs-232 进行双击通信。在通信过 程中,使用通信协议进行通信。 1 目目 录录 前言.1 1 基本原理 .3 1.1 串行通信 .3 1.2 at89c51 的基本特点.4 1.3 波特率选择 .7 1.4 通信协议的使用 .8 1.5 双机通信 .8 2 总体设计 .1 10 0 2.1 设计目的 .10 2.2 设计要求 .10 2.3 设计方案 .10 3 硬件设计.11 3.1 51 单片机串

5、行接口的结构.11 3.2 整体电路设计 .12 4 软件设计.13 5 联合调试.15 6 总结 .16 参考文献.17 附录.18 2 1 基本原理 1.1 串行通信 计算机与外界的信息交换称为通信。在通信领域内,有两种数据通信方式: 并行通信和串行通信。随着计算机网络化和微机分级 分布式应用 系统的发 展,通信的功能越来越重要。通信是指计算机与外界的信息传输,既包括计 算机与计算机之间的传输,也包括计算机与 外部设备,如终端、打印机和 磁盘等设备之间的传输。 串行通信是指使用一条数据线,将数据一位一位地依次传输,每一位数 据占据一个固定的时间长度。其只需要少数几条线就可以在系统间交换信息

6、, 特别适用于计算机与计算机、计算机与外设之间的远距离通信。 。 串行通信 1.2 at89c51 单片机的主要工作特性 内含 4kb 的 flash 存储器,擦写次数 1000 次; 内含 28 字节的 ram; 具有 32 根可编程 i/o 线; 具有 2 个 16 位可编程定时器; 具有 6 个中断源、5 个中断矢量、2 级优先权的中断结构; 具有 1 个全双工的可编程串行通信接口; 3 具有一个数据指针 dptr; 两种低功耗工作模式,即空闲模式和掉电模式; 具有可编程的 3 级程序锁定定位; at89c51 的工作电源电压为 5(10.2)v 且典型值为 5v,最高工作频率为 24m

7、hz. at89c51 各部分的组成及功能: 振荡器和时 钟电路 数据存储器 128 字节 程序存储器 14kb cpu 两个 16 位定时器 计数器 中断 控制 总线扩展控 制器 并行可编程 i/o 口 可编程 串行口 内 部 总 线 1. 2.1 中央处理器 (1) 运算器 运算器主要用来实现算术、逻辑运算和位操作。其中包括算术和逻辑运算 单元 alu、累加器 acc、b 寄存器、程序状态字 psw 和两个暂存器等。 alu 是运算电路的核心,实质上是一个全加器,完成基本的算术和逻辑运算。 算术运算包括加、减、乘、除、增量、减量、bcd 码运算;逻辑运算包括“与” 、 “或” 、 “异或”

8、 、左移位、右移位和半字节交换,以及位操作中的位置位、位复 位等。 暂存器 1 和暂存器 2 是 alu 的两个输入,用于暂存参与运算的数据。alu 的 输出也是两个:一个是累加器,数据经运算后,其结果又通过内部总线返回到 外部中断扩展控制p0 p1 p2 p3rxdtxd 4 累加器;另一个是程序状态字 psw,用于存储运算和操作结果的状态。 累加器是 cpu 使用最频繁的一个寄存器。acc 既是 alu 处理数据的来源,又 是 alu 运算结果的存放单元。单片机与片外 ram 或 i/o 扩展口进行数据交换必 须通过 acc 来进行。 b 寄存器在乘法和除法指令中作为 alu 的输入之一,

9、另一个输入来自 acc。 运算结果存于 ab 寄存器中。 (2) 控制器 控制器是识别指令并根据指令性质协调计算机内各组成单元进行工作的部 件,主要包括程序计数器 pc、pc 增量器、指令寄存器、指令译码器、定时及控 制逻辑电路等,其功能是控制指令的读入、译码和执行,并对指令执行过程进 行定时和逻辑控制。at89c51 单片机中,pc 是一个 16 位的计数器,可对 64kb 程序存储器进行寻址。复位时 pc 的内容是 0000h. (3)存储器 单片机内部的存储器分为程序存储器和数据存储器。at89c51 单片机的程序 存储器采用 4kb 的快速擦写存储器 flash memory,编程和擦

10、除完全是电器实现。 (4)外围接口电路 at89c51 单片机的外围接口电路主要包括:4 个可编程并行 i/o 口,1 个可 编程串行口,2 个 16 位的可编程定时器以及中断系统等。 at89c51 的工作原理: 1. 引脚排列及功能 at89c51 的封装形式有 pdip,tqfp,plcc 等,现以 pdip 为例。 (1)i/o 口线 p0 口 8 位、漏极开路的双向 i/o 口。 当使用片外存储器及外扩 i/o 口时,p0 口作为低字节地址/数据复用线。在 编程时,p0 口可用于接收指令代码字节;程序校验时,可输出指令字节。p0 口 也可做通用 i/o 口使用,但需加上拉电阻。作为普

11、通输入时,应输出锁存器配 置 1。p0 口可驱动 8 个 ttl 负载。 p1 口 8 位、准双向 i/o 口,具有内部上拉电阻。 5 p1 口是为用户准备的 i/o 双向口。在编程和校验时,可用作输入低 8 位 地址。用作输入时,应先将输出锁存器置 1。p1 口可驱动 4 个 ttl 负载。 p2 8 位、准双向 i/o 口,具有内部上拉电阻。 当使用外存储器或外扩 i/o 口时,p2 口输出高 8 位地址。在编程和校验 时,p2 口接收高字节地址和某些控制信号。 p3 8 位、准双向 i/o 口,具有内部上拉电阻。 p3 口可作为普通 i/o 口。用作输入时,应先将输出锁存器置 1。在编程

12、/ 校验时,p3 口接收某些控制信号。它可驱动 4 个 ttl 负载。 (2)控制信号线 rst 复位输入信号,高电平有效。在振荡器稳定工作时,在 rst 脚施加 两个机器周期以上的高电平,将器件复位。 ea/vpp 外部程序存储器访问允许信号 ea. 当 ea 信号接地时,对 rom 的读操作限定在外部程序存储器,地址为 0000h- ffffh;当 ea 接 vcc 时,对 rom 的读操作从内部程序存储器开始,并可延续至外 部程序存储器。在编程时,该引脚可接编程电压 5v 或 12v。在编程校验时,该 引脚可接 vcc。 psen 片外程序存储器读选通信号 psen,低电平有效。在片外程

13、序存储 器取指期间,当 psen 有效时,程序存储器的内容被送至 p0 口;在访问外部 ram 时,psen 无效。 ale/prog 低字节锁存信号 ale.在系统扩展时,ale 的下降沿将 p0 口 输出的低 8 位地址锁存在外接的地址锁存器中,以实现低字节地址和数据的分 时传送。此外,ale 端连续输出正脉冲,频率为晶振频率的 1/6,可做外部定时 脉冲使用。 (3)外部晶振引线 xtal1 片内振荡器反向放大器和时钟发生线路的输入端。使用片内振 荡器时,连接外部石英晶体和微调电容。 xtal2 片内振荡器反相放大器的输出端。当使用片内振荡器时,外接 石英晶体和微调电容。 1.2.2 存

14、储器组织和特殊功能寄存器 6 at89c51 的存储器将程序存储器和数据存储器分开,并有各自的存储空 间和访问指令。它有 4 个存储空间:片内存储器、片外存储器、片内数据存 储器及片外存储器。 1.2.3 时钟电路和工作时序 (1) 振荡器电路原理 (2)振荡电路的接法 1.3波特率选择 波特率(boud rate)就是在串口通信中每秒能够发送的位数 (bits/second)。mcs-51 串行端口在四种工作模式下有不同的波特率计算方 法。其中,模式 0 和模式 2 波特率计算很简单,请同学们参看教科书;模式 1 和模式 3 的波特率选择相同,故在此仅以工作模式 1 为例来说明串口通信波特

15、率的选择。 在串行端口工作于模式 1,其波特率将由计时/计数器 1 来产生,通常设置定 时器工作于模式 2(自动再加模式)。在此模式下波特率计算公式为: 波特率=(1+smod)*晶振频率/(384*(256-th1) 其中,smod寄存器 pcon 的第 7 位,称为波特率倍增位; void delay(int c) int i,j; for(i=0;ic;i+) for(j=0;j5)/移动间隔时间;取值 0-255 a=0; b+=2; 20 if(b=160)/显示到最后一个字,回头显示,判断值=字数*32 b=0; for(i=0;i16;i+) p1=i; for(k=0;k5;k+) p0=tablej+b; p2=tablej+b+1; delay(2); p0=0 x00; p2=0 x00; j+=2; a+; #include /初始化串行口 void csh() 21 sm0=0; sm1=1; ren=1; ti=0; ri=0; pcon=0; th1=0 xf3

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论