当前位置:文档之家› 双机串行通信的设计与实现

双机串行通信的设计与实现

双机串行通信的设计与实现
双机串行通信的设计与实现

双机串行通信的设计与实现

一、设计要求

1.单机自发自收串行通信。接收键入字符,从8251A 的发送端发送,与同

一个8251A 的接收端接收,然后在屏幕上显示出来。

2.双机串行通信,在一台PC 机键入字符,从8251A 的发送端发送给另一台PC 机,另一台PC 机的8251A 的接收端接收,然后在屏幕上显示出来。

二、所用设备

IBM-PC 机两台(串行通信接口8251A 两片,串行发送器MC1488 和串行接收器MC1489 各两片,定时器/计数器8253,终端控制器8259 等),串口线一根

串行直连电缆用于两台台电脑通过串行口直接相连,电缆两

端的插头都是9 针的母插头:

三、硬件方案

1.设计思想

计算机传输数据有并行和串行两种模式。在并行数据传输方式中,使用8 条或更多的导线来传送数据,虽然并行传送方式的速度很快,但由于信号的衰减或失真等原因,并行传输的距离不能太长,在串行通信方式中,通信接口每次由CPU 得到8 位的数据,然后串行的通过一条线路,每次发送一位将该数据放送出去。

串行通信采用两种方式:同步方式和异步方式。同步传输数据时,一次传

送一个字节,而异步传输数据是一次传送一个数据块。

串口是计算机上一种非常通用设备串行通信的协议。大多数计算机包含两

个基于RS232 的串口。串口按位(bit)发送和接收字节。尽管比按字节(byte)的并行通信慢,但是串口可以在使用一根线发送数据的同时用另一根线接收数据。典型地,串口用于ASCII 码字符的传输。通信使用3 根线完成:(1)地线,(2)发送,(3)接收。由于串口通信是异步的,端口能够在一根线上发送数据同时在另一根线上接收数据。其他线用于握手,但是不是必须的。串口通信最重要的参数是波特率、数据位、停止位和奇偶校验。对于两个进行通行的端口,这些参数必须匹配:

RS-232(ANSI/EIA-232 标准)是IBM-PC 及其兼容机上的串行连接标准。可用于许多用途,比如连接鼠标、打印机或者Modem,同时也可以接工业仪器仪表。用于驱动和连线的改进,RS-232 只限于PC 串口和设备间点对点的通信。

IBM PC 及其兼容机提供了一种有较强的硬件依赖性,但却比较灵活的串行口I/O 的方法,即通过INT 14 调用ROM BIOS 串行通信口的例行程序。该例行程序。该例行程序包括将串行口初始化为指定的字节结构和传输速率,检查控制器的状态,读写字符等功能。

14 号中断的功能总结如下:

串行口服务(Serial Port Service——INT 14H)

00H —初始化通信口03H —读取通信口状态

01H —向通信口输出字符04H —扩充初始化通信口

02H —从通信口读入字符

(1)、功能00H:初始化通信口

入口参数:AH=00H

DX=初始化通信口号(0=COM1,1=COM2,……)

AL=初始化参数,参数的说明如下:波特率奇偶位停止位字的位数76543210

000 = 110X0 = None0 = 1 bit10= 7 bits

001 = 15001 = Odd1 = 2 bits11=8bits

10= 30011 = Even

11= 600

100= 1200

101= 2400

110= 4800

111= 9600

(2)、功能01H :向通信口输出字符

入口参数:AH=01H

AL=字符

DX=初始化通信口号(0=COM1,1=COM2,……)

出口参数:AL 的值不变

AH 的位7=0——操作成功,通信口状态,AH 的位6~0 是其状态位

(3)、功能02H :从通信口读入字符

入口参数:AH=02H

DX=初始化通信口号(0=COM1,1=COM2,……)

出口参数:AL=接受的字符

AH 的位7=0——操作成功,通信口状态,AH 的位6~0 是其状态位

(4)、功能03H

功能描述:读取通信口状态

入口参数:AH=03H

DX=初始化通信口号(0=COM1,1=COM2,……)

出口参数:AH =通信口状态,AL =Modem 状态,参见功能号 00H 中的说 明

(5)、功能 04H

功能描述:扩充初始化通信口,仅在 PS/2 中有效

本设计正是利用 14 号配置串口,实现双机的双工通信及单机的自发自收 通信。并画出了比较完整的原理图与写出了比较详细的程序 2.原理框图

3.工作原理

IBM PC 及其兼容机间经过 RS -232-C 口串行通信是在实际系统中用的 最广泛的。

上述框图只是串口通信的的一个内部的原理图,由于,本次设计是直接配 置的 PC 机中的 RS232 适配卡,上述过程并不能看到,不过在,原理图的 分析中会做详尽的解释

第 4 页

定时器

8253

1488

8251

1489

CPU

总线

9针串口

山东科技大学信息学院微机原理课程设计本次实验的外部来看实际的电路图

PC 机上的串行口是9 针公插座,引脚定义为:

Pin Name Dir Description

1CD Carrier Detect

2RXD Receive Data

3TXD Transmit Data

4DTR Data Terminal Ready

5GND System Ground

6DSR Data Set Ready

7RTS Request to Send

8CTS Clear to Send

9RI Ring Indicator

所以本设计所采用的串口为双端母插头。

串口为交叉线,2,3 号针脚交叉相连,5 号针接公共地。

发送RXD2←→3TXD接收

接收TXD3←→2RXD发送

信号地GND5←→5GND信号地4.电路原理图

4.1 顶层的模块图,top.pri

此原理图的主要参考资料是protel 99 se 中Z80 Microprocessor的例子。整个串行通信系统包括六大部分:CPU 部分、复位和时钟电路部分、电源部分、存储器部分、串口通信接口部分和外设部分。

下就各部分座简要介绍。

4.2 CPU 部分。CPU.sch

CPU 部分本来是用8086 来做的,但考虑到,8086 的寻址比较复杂,数据线分高八位和低八位,所以就改成了8088。IO/M,RD,WR 几个控制引脚的译码通过简单的组合逻辑电路来实现。对RAM 存储器、ROM 存储器、各IO 芯片的寻址译码,是通过一片3-8 译码器74LS138 来实现的。地址线的低13 位代码,在芯片选择的时候,不起作用,只有A13~A15 三位地址线负责译码。为了便于记忆,可把芯片选择时的低13 位地址线设为零,来代表它的片选地址。如本设计中,RAM 地址位0x00000 来表示,而ROM 的地址为0x20000,相应地,55,53,51 的地址分别为:

0x30000,0x40000,0x50000。

低13 位地址线只在选择存储器中的某一存储单元时使用。

4.3 复位和时钟电路。CPU_Clock.sch

微机电路在工作中受到干扰后,容易出现CPU 程序“跑飞”而盲目运行甚至

出现死机现象。此时复位信号有效,使微机系统重新恢复正常运行。本设计采用的是比较简单的一种手动的复位电路。它是通用的吧,是直接从protel 的一个例子中拷过来的。

关于处理器的时钟电路确实有研究头

8284 除了提供频率恒定的时钟信号外,还对准备好(ready)信号,和复

位(reset)信号进行同步。外界的准备好信号输入到8284 的RDY,同步的准备好信号READY 从8284 输出。同样,外界的复位信号输入到8284 的RES,同步的复位信号RESET 从8284 输出。这样,从外部来说,可以在任何时候发出这两个信号,但是,8284 的内部逻辑电路设计成在时钟下降沿处使READY 和RESET 有效。

根据不同的振荡器,8284 和振荡器之间,用两种不同的连接方式。通过F/\C 来实现:

此电路图是按同步通信的方式画的,READY 信号在以后的设计中,也没

有用到,便把它的连接去掉了

4.4 电源部分。Power Supply.sch

4.5 存储器部分。serial_memory.sch

2764 只可读,6264 可读可写,由于处理器用的是8088,便无需考虑A0 的问题了,这种便利也体现在,后面的设计中,IO 芯片的端口地址的设置上。

4.6 串口通信接口部分。serial51.sch

8253 为8251 提供波特率,8253 只用它的第0 个计数器,工作在方式3。下面是一段基于本设计的连接图的通过8251 实现自发自收串行通信的程序,内包含了8253,8251 的初始化。

STACK SEGMENT PARA STACK 'STACK'

DB 128 DUP(?)

STACK ENDS

CODE SEGMENT PARA PUBLIC 'CODE'

ASSUME CS:CODE,SS:STACK,DS:CODE

START:JMP MAIN

SBUF DB 1,2,3,4,5,6,7,8,9,10 ;定义保存“发送信息”

RBUF DB 10 DUP(?) ;和“接收信息”的存储器区域

OCOMM PROC ;将(AL)写入8251 的命令口

PUSH CX ;保存所用寄存器

PUSH DX

MOV DX,209H ;执行端口写入操作

OUT DX,AL

MOV CX,400H ;延时

LOOP $

POP DX ;恢复所用寄存器

POP CX

RET ;返回主调程序

OCOMM ENDP

INIT PROC ;初始化子程序

MOV DX,0x40003H ;设置8253 的1#通道为方式3、只读写低8 位数据和2 进制计数方式

MOV AL,56H

OUT DX,AL

MOV DX, 0x40001H ;设置计数值,此时的通讯速率为

1M÷52÷16≈1200 bps

MOV AL,52

OUT DX,AL

MOV AX,300H ;向8251 的命令端口写入3 个0

II1: CALL OCOMM

DEC AH

JNZII1

MOV AL,40H;复位8251

CALL OCOMM

MOV AL,4EH;设置1 个停止位、8 个数据位和16 的波特率因子CALL OCOMM

MOV AL,37H;允许8251 发送和接收

CALL OCOMM

RET ;返回主调程序

INIT ENDP

MAIN:

MOV AX,CS ;初始化数据段寄存器

MOV DS,AX

LEA SI,SBUF ;和发送

LEA DI,RBUF ;与接收指针

call init

M01:

MOV DX,0x50002H ;等待8251 处于允许发送状态

M02:

IN AL,DX

TEST AL,1

JZ M02

MOV AL,[SI] ;发送1 个数据

INCSI

MOV DX,0x50001H

OUT DX,AL

MOV CX,40H;延时

LOOP $

MOV DX,0x50002H ;等待8251 处于允许接收状态

M03:

IN AL,DX

TEST AL,2

JZ M03

MOV DX,0x50001H ;接收

IN AL,DX

MOV [DI],AL;并保存一个数据

INCDI

CMP SI,OFFSET SBUF+10 ;判断是否处理完了全部数据?

JB M01 ;未完,再处理下一个

HLT ;完了,执行停机动作

CODE ENDS

END START

下面是一段基于本设计的连接图的通过8251 实现串行通信的程序。stack segment stack

stack ends

data segment

data ends

code segment

assume cs:code,ds:data,ss:stack

start:

push cs

pop ds

mov dx,0x0003h ;设置8253 计数1工作方式3

mov al,56h

out dx,al

mov al,52

mov dx,0x0001h给8253 计数器1 送初值

out dx,al

mov dx,0x50001h ;初始化8251

xor al,al

mov cx,03 ;向8251 控制端口送3 个0

delay:

call out1

loop delay

mov al,40h ;向8251 控制端口送40H,使其复位

call out1

mov al,4eh ;设置为1 个停止位,8 个数据位,波特率因子为16 call out1

mov al,27h ;向8251 送控制字允许其发送和接收

call out1

next: mov dx,0x50001h

in al,dx

test al,02 ;检查接收是否准备好

jz next ;没有,等待

mov dx,0x50000h

in al,dx ;准备好,接收

push ax

山东科技大学信息学院微机原理课程设计mov cx,40h

s51:

loop s51 ;延时

waiti:

mov dx,0x50001h

in al,dx

test al,01 ;发送是否准备好

jz waiti

mov dx,0x50000h

pop ax

out dx,al

jmp next

out1 proc near ;向外发送一字节的子程序out dx,al

push cx

mov cx,400h

gg:

loop gg ;延时

pop cx

ret

out1 endp

code ends

end start

4.7 外设部分。key_led.sch

其实在 PC 机中应该是用 8279 来实现的。 四、软件方案 1.程序流程图

是否有键按下?

Y

N

显示提示信息

配置串口 0 为 4800 波特,无 校验,1 位停止位,一帧 8 位

检查键盘状态

读取此键

开 始

2.程序清单

name serialcommunication

datasegment

message db 'Serial Communication',0ah,0dh, db 'Any key press is sent to other PC',0ah,0dh db 'press any key to exit','$'

dataends

code segment

assume cs:code,ds:data

start:

mov ax,data

山东科技大学信息学院微机原理课程设计mov ds,ax

mov ah,09;显示字符串

mov dx,offset message

int 21h

;初始化串口

mov ah,0

mov dx,0;初始化COM0

mov al,0c3h ;11000011,4800,n,1,8

int 14h again:

mov ah,01

int 16h

jz next

mov ah,0

int 16h

cmpal,1bh

je exit

mov ah,1

mov dx,0

int 14h ;调用BIOS 14 号中断

;获取键盘状态

;检查键盘是否按下

;如果没有则转入到接收模式

;如过有按键按下,读取出来

;调用16 号BIOS 中断

;比较一下是否是’ESC’键

;如果是,直接退出通信

;如果不是,把按下的字符发送到COM ;选择COM0

;调用BIOS 中断

;以下这部分代码,检查COM0 端口,看看是否有字符接收,如果有,接收,并且把它在终端上显示出来

next:

mov ah,3 mov dx,0;把COM 口的状态读到AH ;选择COM0

int 14h

and ah,1

cmpah,1

jne again

mov ah,2

mov dx,0

int 14h

mov dl,al

mov ah,2

int 21h

jmp again exit:山东科技大学信息学院微机原理课程设计;

解释同上

;屏蔽除D0 位的其它位

;检查D0 看是否有一个字符等待接收;

没有,则转入到监视键盘模块;有的

话,从COM0 读出

;dl 中存放要显示的字符

;21 号中断2 号调用,显示字符;

调用DOS 21 号中断

;跳回到监视键盘模块

mov ah,4ch :退出DOS

int 21h

code ends

end start

以上是全双工双机通信的程序代码,自发自收也可以用同样的代码,只需改变连线,把9 针插座的2,3 引脚用导线交叉互联即可。

五、方案论证

按设计题目实现双机通信可有三种方法:

第一种方法:通过配置PC 机中固有的RS232 适配卡,通过调用BIOS 的14 号中断,及DOS 中断的16 号、21 号中断里的功能,实现双机的通信。

第二种方案:在微机中通过配置可编程芯片8250 来实现串行通信。第三种方案:由芯片级做起,查资料,画原理图,版图,制版,调试,

实现串口通信。

总地来说,第三种方案不符合现实情况,在时间上,资源上不允许,

但毋庸置疑的是,它确实是最吸引我们的一种方案。

第二种方案是最合情合理的,既不像第三种方案那样遥远,也不像第一种方案那样简单。但在实际做的工程中,发现按实验资料所设计的程序并没有实现,可能有一些未知的原因。最后选择了第三种方案,可惜的是,

这种程序更加偏向于软件。为弥补这种不足,只能把实验原理图画得详细

一点了。

六、调试过程

1.首先把软件调试通过,本设计采用的是tasm,tlink,td 这一套精巧的汇

编开工具发。

2.在PC 双机上通信必需得把PC 双机的串口连起来,但PC 机上的插槽都是公的,若要连接,必需是双端都是母插头的串口线,但实验室的串口线都是一公一母的,不能用,后来,无意中发现一位同学买的单片机开发板上的串口线是双母插头的,解决了这个问题。

3.第二种方案没有成功,可能是对8250 了解的比较少,再一方面,8250

里有比较多的寄存器,在通信的过程中,有一些未认识到的错误在里面,

就继续选择用第一种方案来做。

4.在网上下载了一个串口测试的程序,对调试过程,产生了很大的帮助。

七、运行结果

1.在发送端的程序显示结果

输入的字符没有显示,因为程序没有回显功能

单片机双机之间的串行通信设计

专业方向课程设计报告 题目:单片机双机之间的串行通信设计

单片机双机之间的串行通信设计 一.设计要求: 两片单片机利用串行口进行串行通信:串行通信的波特率可从键盘进行设定,可选的波特率为1200、2400、4800和9600bit/s。 二、方案论证: 方案一:以两片51单片机作为通信部件,以4*4矩阵键盘作为数据输入接口,通过16个不同键值输入不同的信息,按照51单片机的方式3进行串口通信,从机采用中断

方式接收信息并按照通信协议改变波特率或者用I/O口输出、CD4511译码、数码管显示相关数据,整个系统的软件部分采用C语言编写。 方案二:整个系统的硬件设计与方案一样,但是通信方式采用方式一进行通信,主从机之间的访问采用查询方式,数据输出直接由单片机的译码程序输出译码数据,同时软件编写采用汇编语言。 两种方式从设计上来说各有特色,而且两种方式都应该是可行的。方案一中按照方式三通信可以输出九位数据而方式一只能输出八位数据,但就本题的要求来说方式一就可以了。主从机之间的交流采用中断方式是一种高效且保护单片机的选择,但是相比之下本人对查询方式的理解更好一些。数码管的显示若采用CD4511译码则直接输出数据就可以了,但是这样会增加硬件陈本,而且单片机的资源大部分都还闲置着,所以直接编写一段译码程序是比较好的做法。另外在软件编写上,采用C语言在后续设计中对硬件的考虑稍少一些,换言之采用汇编可以使自己对整个通信过程及单片机的部分结构有更清晰地认识所以综合考虑采用方案二。 三、理论设计: 采用AltiumDesigner绘制的原理图(整图)

本系统主要包括五个基本模块:单片机最小系统(包括晶振电路、电源、复位电路及相关设置电路)、4*4矩阵键盘、功能控制电路、数据显示电路、波特率更改指示电路。 本设计的基本思路是通过控制口选择将要实现的功能,然后矩阵键盘输入数据,单片机对数据进行处理(加校验码、设置功能标志位),然后与从机握手,一切就绪之后后就开始发送数据,然后从机对接收数据校验,回发校验结果,主机根据校验结果进行下一步动作,或者重发,或者进入下一 数据的发送过程,然后按照此过程不段循环,直到结束。 晶振电路提供脉冲,加上复位电路,将 EA接入高电电平选择片内程序存储器。 这是一个单片机能够工作的最低设置。

微机原理课程设计报告-双机串行通信

河北科技大学 课程设计报告 学生姓名:学号: 专业班级: 课程名称:微型计算机原理及应用技术学年学期:2 0 1 2 —2 0 1 3 学年第一学期 指导教师: 2 0 1 3 年1 月

课程设计成绩评定表

目录 一、设计题目 (1) 二、设计目的 (1) 三、设计原理及方案 (1) 1、8251A的基本性能 (1) 2、8251A的内部结构 (1) 3、8251外部引脚图 (2) 4、8251A的编程 (2) 5、8251A的初始化 (3) 四、实现方法 (5) 1、程序流程图如下: (5) 2、连线图 (5) 3、8251A操作过程流程图 (7) 4、试验程序(见附录) (7) 五、实施结果 (7) 六、改进意见及建议 (7) 七、个人所做贡献 (8) 八、设计体会 (8) 九、同组成员名单 (8) 十、附录 (9)

一、设计题目 双机通过两台试验箱串行通讯 二、设计目的 1、掌握8088/86实验串行口通信的方法。 2、了解实现串行通讯的硬环境、数据格式的协议、数据交换的协议。 3、学习串行口通讯程序编写方法。 三、设计原理及方案 1、8251A的基本性能 8251A是可编程的串行通信接口芯片,基本性能有: (1).两种工作方式:同步方式,异步方式。同步方式下,波特率为064K,异步方式下,波特率为0~19.2K。 (2).同步方式下的格式 每个字符可以用5、6、7或8位来表示,并且内部能自动检测同步字符,从而实现同步。除此之外,8251A也允许同步方式下增加奇/偶校验位进行校验。 (3).异步方式下的格式 每个字符也可以用5、6、7或8位来表示,时钟频率为传输波特率的1、16或64倍,用1位作为奇/偶校验。1个启动位。并能根据编程为每个数据增加1个、1.5个或2个停止位。可以检查假启动位,自动检测和处理终止字符。 (4).全双工的工作方式 (5).提供出错检测 2、8251A的内部结构 发送器由发送缓冲器和发送 控制电路两部分组成。接收器由接 收缓冲器和接收控制电路两部分 组成。数据总线缓冲器,读/写控 制电路,调制解调控制电路。 8251A 内部结构图

双机间的串口双向通信(DOC)

单片机原理与应用课程设计任务书

单片机原理与应用学年设计说明书 学院名称:计算机与信息工程学院 班级名称: 学生姓名: 学号:2012211369 题目:双机间的串口双向通信 指导教师 姓名: 起止日期:2014.12.29至2015.1.4

一、绪论 随着电子技术的飞速发展,单片机也步如一个新的时代,越来越多的功能各异的单片机为我们的设计提供了许多新的方法与思路。 对于一些场合,比如:复杂的后台运算及通信与高实时性前台控制系统、软件资源消耗大的系统、功能强大的低消耗系统、加密系统等等。如果合理使用多种不同类型的单片机组合设计,可以得到极高灵活性与性能价格比,因此,多种异型单片机系统设计渐渐成为一种新的思路,单片机技术作为计算机技术的一个重要分支,由于单片机体积小,系统运行可靠,数据采集方便灵活,成本低廉等优点,在通信中发挥着越来越重要的作用。 但在一些相对复杂的单片机应用系统中,仅仅一个单片机资源是不够的,往往需要两个或多个单片机系统协同工作。这就对单片机通信提出了更高要求。 单片机之间的通信可以分为两大类:并行通信和串行通信。串行通信传输线少,长距离传输时成本低,且可以利用数据采集方便灵活,成本低廉等优点,在通信中发挥着越来越重要的作用。所以本系统采用串行通信来实现单片机之间可靠的,有效的数据交换。 二、相关知识 2.1 双机通信介绍 两台机器的通信方式可分为单工通信、半双工通信、双工通信,他们的通信原理及通信方式为: 单工通信:是指消息只能单方向传输的工作方式。单工通信信道是单向信道,发送端和接收端的身份是固定的,发送端只能发送信息,不能接收信息;接收端只能接收信息,不能发送信息,数据信号仅从一端传送到另一端,即信息流是单方向的。通信双方采用单工通信属于点到点的通信。根据收发频率的异同,单工通信可分为同频通信和异频通信。 半双工通信:这种通信方式可以实现双向的通信,但不能在两个方向上同时进行,必须轮流交替地进行。也就是说,通信信道的每一段都可以是发送端,也可以是接端。但同一时刻里,信息只能有一个传输方向。如

双机串行通信的设计与实现

双机串行通信的设计与实现 一、设计要求 1.单机自发自收串行通信。接收键入字符,从8251A的发送端发送,与同一个8251A的接收端接收,然后在屏幕上显示出来。 2.双机串行通信,在一台PC机键入字符,从8251A的发送端发送给另一台PC机,另一台PC机的8251A的接收端接收,然后在屏幕上显示出来。 二、所用设备 IBM-PC机两台(串行通信接口8251A两片,串行发送器MC1488和串行接收器MC1489各两片,定时器/计数器8253,终端控制器8259等),串口线一根 串行直连电缆用于两台台电脑通过串行口直接相连,电缆两 端的插头都是9 针的母插头: 三、硬件方案 1.设计思想 计算机传输数据有并行和串行两种模式。在并行数据传输方式中,使用8条或更多的导线来传送数据,虽然并行传送方式的速度很快,但由于信号的衰减或失真等原因,并行传输的距离不能太长,在串行通信方式中,通信接口每次由CPU得到8位的数据,然后串行的通过一条线路,每次发送一位将该数据放送出去。 串行通信采用两种方式:同步方式和异步方式。同步传输数据时,一次传送一个字节,而异步传输数据是一次传送一个数据块。 串口是计算机上一种非常通用设备串行通信的协议。大多数计算机包含两个基于RS232的串口。串口按位(bit)发送和接收字节。尽管比按字节(byte)

的并行通信慢,但是串口可以在使用一根线发送数据的同时用另一根线接收数据。典型地,串口用于ASCII码字符的传输。通信使用3根线完成:(1)地线,(2)发送,(3)接收。由于串口通信是异步的,端口能够在一根线上发送数据同时在另一根线上接收数据。其他线用于握手,但是不是必须的。串口通信最重要的参数是波特率、数据位、停止位和奇偶校验。对于两个进行通行的端口,这些参数必须匹配: RS-232(ANSI/EIA-232标准)是IBM-PC及其兼容机上的串行连接标准。可用于许多用途,比如连接鼠标、打印机或者Modem,同时也可以接工业仪器仪表。用于驱动和连线的改进,RS-232只限于PC串口和设备间点对点的通信。 IBM PC及其兼容机提供了一种有较强的硬件依赖性,但却比较灵活的串行口I/O的方法,即通过INT 14调用ROM BIOS串行通信口的例行程序。该例行程序。该例行程序包括将串行口初始化为指定的字节结构和传输速率,检查控制器的状态,读写字符等功能。 14号中断的功能总结如下: 串行口服务(Serial Port Service——INT 14H) 00H —初始化通信口03H —读取通信口状态 01H —向通信口输出字符04H —扩充初始化通信口 02H —从通信口读入字符 (1)、功能00H:初始化通信口 入口参数:AH=00H DX=初始化通信口号(0=COM1,1=COM2,……) AL=初始化参数,参数的说明如下:波特率奇偶位停止位字的位数76543210

双机间的串口双向通信2.0

单片机应用课程设计任务书

单片机应用课程设计说明书 学院名称:计算机与信息工程学院 班级名称:网工124 学生姓名:卞可虎 学号:2012211369 题目:双机间的串口双向通信设计指导教师:于红利 起止日期:2014.12.29至2015.1.4

目录 一、绪论 (1) 二、相关知识 (6) 2.1 双机通信介绍 (6) 2.2单片机AT89C51介绍 (6) 2.3 串行通信简介 (8) 2.3.1串行通信的特点 (8) 2.3.2串行通信技术标准 (9) 三、总体设计 (10) 3.1 设计需求 (10) 四、硬件设计 (10) 4.1 系统硬件电路设计 (10) 4.1.1整体电路设计 (10) 4.1.2 控制电路设计 (11) 4.1.3 复位电路 (11) 4.1.4 显示电路 (12) 五、软件设计 (12) 5.1发送端程序流程 (12) 5.2接收端程序流程 (13) 5.3按键程序 (14) 5.4串口通信程序 (15) 5.5数码管显示程序 (16)

六、Proteus软件仿真 (16) 七、结束语 (19) 参考文献 (20) 指导教师评语 (21) 成绩评定 (21) 附录:源程序 (22) 一、绪论 电子技术的飞速发展,单片机也步如一个新的时代,越来越多的功能各异的单片机为我们的设计提供了许多新的方法与思路。单片机之间的通信可以分为两大类:并行通信和串行通信。串行通信传输线少,长距离传输时成本低,且可以利用数据采集方便灵活,成本低廉等优点,在通信中发挥着越来越重要的作用。所以本系统采用串行通信来实现单片机之间可靠的,有效的数据交换。 对于一些类似复杂的后台运算及通信与高实时性前台控制系统、软件资源消耗大的系统、功能强大的低消耗系统、加密系统等等。如果合理使用多种不同类型的单片机组合设计,可以得到极高灵活性与性能价格比,因此,多种异型单片机系统设计渐渐成为一种新的思路,单片机技术作为计算机技术的一个重要分支,由于单片机体积小,系统运行可靠,数据采集方便灵活,成本低廉等优点,在通信中发挥着越来越重要的作用。但在一些相对复杂的单片机应用系统中,仅仅一个单片机资源是不够的,往往需要两个或多个单片机系统协同工作。这就对单片机通

双机通信课程设计

西安邮电大学 单片机课程设计报告书题目:双机通信系统

、系统整体设计 1. 系统设计思路 双机通信的实质就是解决两单片机串行通信问题。针对于89C52单片机全双工异步 串行通信口,我们采用单片机直接交叉互连的串行通信方式。 考虑到设计应用于短距离传输、两单片机具有相同的数据格式及电平且为使设计简 单,我们最终决定采用方式二单片机直接交叉连接的串行通信方式, 上位机发送的数据 由串行口 TXD 端输出,直接由下位机的串行口数据接收端 RXD 接攵。需要注意的是一定 要保证主从机相同的数据传输速率,即要求设置相同的波特率。电路分为数码管显示模 块,以及单片机工作的基本复位、晶振模块。 2. 系统设计原理 (1)串行通信 一个是数据传送,另一个是数据转换。所谓数 所谓数据转换就是指单片机在接收数据时,如 单片机在发送 数据时,如何把并行数据转换为 串行数据进行发送。单片机的串行通信使用的是异步串 行通信, 所谓异步就是指发送端 和接收端使用的不是同一个时钟。异步串行通信通常以字符(或者字节)为单位组成字 符帧传送。字符帧由发送端一帧一帧地传送, 接收端通过传输线一帧一帧地接收。 而对 于两个单片机之间的串行通信,由于具有相同的数据格式及电平且是短距离通信则不必 要使用一些电平转化芯片(如 max232等)便可直接实现串行通讯,需要注意的是两单 片机硬件要共地,软件中需要设置相同波特率 STC89C5单片机有一个全双工的异步串行通信口,串行结构如下: ①数据缓冲器(SBUF 接受或发送的数据都要先送到 SBUF 缓存。有两个,一个缓存,另一个接受,用同 一直接地址99H,发送时用指令将数据送到 SBUF 即可启动发送;接收时用指令将 SBUF 中接收到的数据取出。 ②串行控制寄存器(SCON SCO 用于串行通信方式的选择,收发控制及状态指示,各位含义如下: SM0,SM1串行接口工作方式选择位,这两位组合成 00, 01,10,11对应于工作方 式0、1、2、3。串行接口工作方式特点见下表1. 表1串行口工作方式表 串行数据通信要解决两个关键问题, 据传送就是指数据以什么形式进行传送。 何把接收到的串行数据转化为并行数据,

双机串行通信的设计与实现样本

综合实验报告 实验题目:双机串行通信设计与实现 学生班级:电子 学生姓名: 学生学号: 指引教师: 实验时间: .9.12-.9.17

题目:双机串行通信设计与实现 班级:电子14-2 姓名:陈俊臣 摘要 串行通信是单片机一种重要应用。本次课程设计就是要运用单片机来完毕一种系 统实现双片单片机串行通信。通信成果实用数码管进行显示数码管采用查表方式显示。两个单片机之间采用RS232进行双机通信。在通信过程中使用通信合同进行通信。 双机通信实质就是解决两单片机串行通信问题。针对于89C51单片机全双工异步串行通信口,咱们采用单片机直接交叉互连串行通信方式。考虑到本设计应用于短距离传播、两单片机具备相似数据格式及电平且为使设计简朴,咱们最后决定本系统采用方式一单片机直接交叉连接串行通信方式,上位机发送数据由串行口TXD端输出,直接由下位机串行口数据接受端RXD接受。本设计硬件电路分为数码管显示模块、单片机工作基本复位电路以及晶振模块。编程采用C语言加以实现。通信成果使用数码管进行显示,数码管采用查表方式显示,两个单片机之间采用RS-232进行双向通信。

目录 1 引言------------------------------------------------------- 2 设计原理及规定--------------------------------------------- 2.1设计规定和原理-------------------------------------------- 2.2串行通信概述与分类----------------------------------- 2.3串行通信和并行通信区别------------------------------- 2.4 MCS-51串行接口基本特点----------------------------- 3器件简介 3.1器件简朴概述----------------------------------------- 3.2 器件重要功能特性-------------------------------------- 3.3 芯片引脚简介---------------------------------------- 4系统设计 4.1设计规定-------------------------------------------- 4.2设计方案-------------------------------------------- 4.3硬件设计-------------------------------------------- 4.4软件设计------------------------------------------- 4 电路仿真图---------------------------------------------------- 5心得------------------------------------------------------------

双机通信课程设计

成绩: 课程设计报告书 所属课程名称单片机原理与接口技术 题目双机串行通信 分院机电学院 专业、班级机械设计制造及其自动化B0902学号0612090218 学生姓名史强 指导教师周春明 2012年7月13日

目录 1课程设计任务书 (1) 2总体设计 (2) 3硬件系统设计 (3) 4程序设计 (6) 5程序调试及结果分析 (11) 6总结 (13) 7参考文献 (14)

辽东学院 一课程设计任务书 课程设计题目:双机串行通信 课程设计时间:自2012 年7月2日起至2012 年7月13日。课程设计要求: 1.通过本次课题设计,应用《单片机原理及其接口技术》等所学相关知识及查阅资料,完成简易双机串行通信设计,以达到理论与实践更好的结合、进一步提高综合运用所学知识和设计的能力的目的。 2.两片单片机之间进行串行通信,发送端将0~f循环发送到接收端,并在接 收端显示。接收完成后,led灯亮。 学生签名:史强 2012 年7月13日 课程设计评阅意见 评阅教师: 2012年月日

二总体设计 2.1 设计目的 通过本次课题设计,应用《单片机原理及其接口技术》等所学相关知识及查阅资料,完成简易双机串行通信设计,以达到理论与实践更好的结合、进一步提高综合运用所学知识和设计的能力的目的。 通过本次设计的训练,可以使我在基本思路和基本方法上对基于MCS-51单片机的嵌入式系统设计有一个比较感性的认识,并具备一定程度的设计能力。 2.2 设计任务 两片单片机之间进行串行通信,发送端将0~f循环发送到接收端,完成后在接收端的led 灯亮。 2.3 设计方法 本次设计,对于两片89C51,采用RS232进行双机通信。发送方的数据由串行口TXD段输出。接受方接收后,灯亮。为提高抗干扰能力,还可以在输入输出端加光耦合进行光电隔离。 软件部分,通过通信协议进行发送接收,主机先送AAH给从机,当从机接收到AAH后,向主机回答BBH。主机收到BBH后就把数码表TAB[16]中的10个数据送给从机,并发送检验和。从机收到16个数据并计算接收到数据的检验和,与主机发送来的检验和进行比较,若检验和相同则发送00H给主机;否则发送FFH 给主机,重新接受。从机收到16个正确数据后送到一个数码管显示。

基于51单片机的双机串行通信

机电高等专科学校2015-2016学年第1学期通信实训报告 系别:电子通信工程系 班级: xxxxxx 学号: 13xxxxxxxxx : xxxxxxx 2015年12月

基于51单片机的双机串行通信 摘要:串行通信是单片机的一个重要应用,本次课程设计就是要利用单片机来完成一个系统,实现爽片单片机床航通信,通信的结果使用数码管进行显示,数码管采用查表方式显示,两个单片机之间采用RS-232进行双击通信。在通信过程中,使用通信协议进行通信。 关键字:通信双机 一、总体设计 1设计目的 1.通过设计相关模块充分熟悉51单片机的最小系统的组成和原理; 2.通过软件仿真熟悉keil和proteus的配合使用; 3.通过软件编程熟悉51的C51编程规; 4.通过实际的硬件电路搭设提高实际动手能力。 2.设计要求: 两片单片机之间进行串行通信,A机将0x06发送给B机,在B机的数码管上静态显示1,B机将0~f动态循环发送到A机,并在其数码管上显示。 3.设计方案: 软件部分,通过通信协议进行发送接收,A机先送0x06(B机数码管显示1)给B机(B机静态显示),当从机接收到后,向B机发送代表0-f的数码管编码数组。B收到0x06后就把数码表TAB[16]中的数据送给从机。 二、硬件设计 1.51单片机串行通信功能 计算机与外界的信息交换称为通信,常用的通信方式有两种:并行通信和串行通信。51单片机用4个接口与外界进行数据输入与数据输出就是并行通信,并行通信的特点是传输信号的速度快,但所用的信号线较多,成本高,传输的距离较近。串行通信的特点是只用两条信号线(一条信号线,再加一条地线作为信号回路)即可完成通信,成本低,传输的距离较远。 51单片机的串行接口是一个全双工的接口,它可以作为UART(通用异步接受和发送器)用,也可以作为同步移位寄存器用。51单片机串行接口的结构如下:

双机通信,单片机课程设计

单片机课程设计 双机通信 一、设计目的 1、掌握单片机89C52的程序设计,掌握单片机通信程序编制方法。 2、了解单片机实现通信的硬件环境。 3、掌握双机通信的原理和方法。 二、设计要求 1、用两片单片机,实现双机通信; 2、用与A机连接的按键控制A机对B机的信息传输,每按一次键,首先发送端显示要发送数据,两台机器的发光二极管的显示相同。 3、用与B机连接的按键控制B机对A机的信息传输,每次按键,数码管的显示自动加一。 三、设计器材 器件名称个数 STC8952RC 2 晶振 2 电容(30PF) 4 电容(10uF) 2 LED 4 电阻(10K) 4 电阻(330) 2

电阻(8.2K) 2 开关 4 数码管 2 三极管(NPN) 1 排阻 1 四、设计思路及方案 1、设计思路 计划采用主从共两片STC8952RC单片机来实现双机通信的,我们采用单片机直接交叉连接的方式,上位机发送的数据由串行口TXD端输出,直接由下位机的串行口数据接收端RXD接收。需要注意的是一定要保证主从机相同的数据传输速率,即要求设置相同的波特率。电路分为数码管显示模块,单片机工作的基本复位、晶振模块。 2、设计原理 (1)原理概述 双机通信系统通过主从单片机的串行口来实现数据的收发。主单片机通过开关电路来启动发送程序,当开关按下时向从机发送一个数据,从机通过接收中断来接收主机发送过来的数据,并通过编写好的数据代码在LED数码管上显示主机发送过来的数据。同时从机给主机发送一个应答信号来表示已经接收到了主机发送过来的数据,在主机接收应答并校验正确,以二极管显示,这样就完成了一个数据的通信过程,等待按键按下,然后继续下一次数据的发送直到结束。(2)串行通信 串行数据通信要解决两个关键问题,一个是数据传送,另一个是

单片机双机之间的串行通信设计

单片机双机之间的串行通 信设计 Prepared on 24 November 2020

专业方向课程设计报告题目:单片机双机之间的串行通信设计单片机双机之间的串行通信设计 一.设计要求: 两片单片机利用串行口进行串行通信:串行通信的波特率可从键盘进行设定,可选的波特率为1200、2400、4800和9600bit/s。 二、方案论证: 方案一:以两片51单片机作为通信部件,以4*4矩阵键盘作为数据输入接口,通过16个不同键值输入不同的信息,按照51单片机的方式3进行串口通信,从机采用中断方式接收信息并按照通信协议改变波特率或者用I/O口输出、CD4511译码、数码管显示相关数据,整个系统的软件部分采用C语言编写。 方案二:整个系统的硬件设计与方案一样,但是通信方式采用方式一进行通信,主从机之间的访问采用查询方式,数据输出直接由单片机的译码程序输出译码数据,同时软件编写采用汇编语言。 两种方式从设计上来说各有特色,而且两种方式都应该是可行的。方案一中按照方式三通信可以输出九位数据而方式一只能输出八位数据,但就本题的要求来说方式一就可以了。主从机之间的交流采用中断方式是一种高效且保护

单片机的选择,但是相比之下本人对查询方式的理解更好一些。数码管的显示若采用CD4511译码则直接输出数据就可以了,但是这样会增加硬件陈本,而且单片机的资源大部分都还闲置着,所以直接编写一段译码程序是比较好的做法。另外在软件编写上,采用C语言在后续设计中对硬件的考虑稍少一些,换言之采用汇编可以使自己对整个通信过程及单片机的部分结构有更清晰地认识所以综合考虑采用方案二。 三、理论设计: 采用AltiumDesigner绘制的原理图(整图) 本系统主要包括五个基本模块:单片机最小系统(包括晶振电路、电源、复位电路及相关设置电路)、4*4矩阵键盘、功能控制电路、数据显示电路、波特率更改指示电路。 本设计的基本思路是通过控制口选择将要实现的功能,然后矩阵键盘输入数据,单片机对数据进行处理(加校验码、设置功能标志位),然后与从机握手,一切就绪之后后就开始发送数据,然后从机对接收数据校验,回发校验结果,主机根据校验结果进行下一步动作,或者重发,或者进入下一数据的发送过程,然后按照此过程不段循环,直到结束。 单片机最小系统:接上电源和地,

基于51单片机的双机串行通信课程设计 1000110061

基于AT89C51单片机的双机串行通信设计 姓名:杨应伟 学号:100110061 专业:机械设计制造及其制动化 班级:机电二班

前言 单片机广泛应用于仪器仪表、家用电器、医用设备、航空航天、专用设备的智能化管理及过程控制等领域随着计算机技术的发展及工业自动化水平的提高, 在许多场合采用单机控制已不能满足现场要求,因而必须采用多机控制的形式,而多机控制主要通过多个单片机之间的串行通信实现。串行通信作为单片机之间常用的通信方法之一, 由于其通信编程灵活、硬件简洁并遵循统一的标准, 因此其在工业控制领域得到了广泛的应用。 在测控系统和工程应用中,常遇到多项任务需同时执行的情况,因而主从式多机分布式系统成为现代工业广泛应用的模式。单片机功能强、体积小、价格低廉、开发应用方便,尤其具有全双工串行通讯的特点,在工业控制、数据采集、智能仪器仪表、家用电器方面都有广泛的应用。同时,IBM-PC机正好补充单片机人机对话和外围设备薄弱的缺陷。各单片机独立完成数据采集处理和控制任务,同时通过通信接口将数据传给PC机,PC机将这些数据进行处理、显示或打印,把各种控制命令传给单片机,以实现集中管理和最优控制。串行通信是单片机的一个重要应用,本次课程设计就是要利用单片机来完成一个系统,实现爽片单片机床航通信,通信的结果使用数码管进行显示,数码管采用查表方式显示,两个单片机之间采用RS-232进行双击通信。 在通信过程中,使用通信协议进行通信。在测控系统和工程应用中,常遇到多项任务需同时执行的情况,因而主从式多机分布式系统成为现代工业广泛应用的模式。单片机功能强、体积小、价格低廉、开发应用方便,尤其具有全双工串行通讯的特点,在工业控制、数据采集、智能仪器仪表、家用电器方面都有广泛的应用。同时,IBM-PC机正好补充单片机人机对话和外围设备薄弱的缺陷。各单片机独立完成数据采集处理和控制任务,同时通过通信接口将数据传给PC机,PC机将这些数据进行处理、显示或打印,把各种控制命令传给单片机,以实现集中管理和最优控制。 串行通信是单片机的一个重要应用,本次课程设计就是要利用单片机来完成一个系统,实现爽片单片机床航通信,通信的结果使用数码管进行显示,数码管采用查表方式显示,两个单片机之间采用RS-232进行双击通信。在通信过程中,使用通信协议进行通信。

PC机双机串行通信

信息科学与技术学院《微机原理与接口技术》 课程设计报告 题目名称:PC机与PC机间进行串行通信学生姓名:吴森 学号:2009082203 专业:计算机科学与技术 班级:09级(01)班 指导教师:裘祖旗张更新 完成日期:2012年1月2日

目录 一.设计任务与技术要求: .......................................................... - 3 -二.课程设计总结报告正文 .......................................................... - 3 - 1. PC机间串行通信测试 ........................................................... - 3 - 1.1 设计思路......................................................................... - 3 - 1.2 程序框图......................................................................... - 4 - 1.3 程序清单......................................................................... - 5 - 2. PC机间进行字符动画控制.................................................... - 6 - 2.1 设计思路......................................................................... - 7 - 2.2 程序框图......................................................................... - 7 - 2.3 从机程序清单................................................................. - 8 - 3. 程序分析 .............................................................................. - 10 - 4. 调试步骤 .............................................................................. - 10 - 5. 开发心得 .............................................................................. - 10 -三.参考文献 ................................................................................ - 11 -

基于单片机的双机串行通信

河南机电高等专科学校2015-2016学年第1学期通信实训报告 系别:电子通信工程系 班级: xxxxxx 学号: 13xxxxxxxxx 姓名: xxxxxxx 2015年12月

基于51单片机的双机串行通信 摘要:串行通信是单片机的一个重要应用,本次课程设计就是要利用单片机来完成一个系统,实现爽片单片机床航通信,通信的结果使用数码管进行显示,数码管采用查表方式显示,两个单片机之间采用RS-232进行双击通信。在通信过程中,使用通信协议进行通信。 关键字:通信双机 一、总体设计 1设计目的 1.通过设计相关模块充分熟悉51单片机的最小系统的组成和原理; 2.通过软件仿真熟悉keil和proteus的配合使用; 3.通过软件编程熟悉51的C51编程规范; 4.通过实际的硬件电路搭设提高实际动手能力。 2.设计要求: 两片单片机之间进行串行通信,A机将0x06发送给B机,在B机的数码管上静态显示1,B机将0~f动态循环发送到A机,并在其数码管上显示。 3.设计方案: 软件部分,通过通信协议进行发送接收,A机先送0x06(B机数码管显示1)给B机(B机静态显示),当从机接收到后,向B机发送代表0-f的数码管编码数组。B收到0x06后就把数码表TAB[16]中的数据送给从机。 二、硬件设计 单片机串行通信功能 计算机与外界的信息交换称为通信,常用的通信方式有两种:并行通信和串行通信。51单片机用4个接口与外界进行数据输入与数据输出就是并行通信,并行通信的特点是传输信号的速度快,但所用的信号线较多,成本高,传输的距离较近。串行通信的特点是只用两条信号线(一条信号线,再加一条地线作为信号回路)即可完成通信,成本低,传输的距离较远。 51单片机的串行接口是一个全双工的接口,它可以作为UART(通用异步接受和发送器)用,也可以作为同步移位寄存器用。51单片机串行接口的结构如下:

双机通信系统单片机课程设计

设计概况 (2) 1 总体设计 (3) 1.1 设计要求 (3) 1.2 设计方案 (3) 2 双机通信硬件设计 (4) 2.1 AT89C51简介 (4) 2.2 AT89C51串行口的工作方式 (5) 2.3 晶振电路设计 (8) 2.4 复位电路设计 (8) 2.5 接口电路的设计 (9) 2.6 输入输出电路设计 (11) 3 双机通信软件设计 (13) 3.1 串行通信软件实现 (13) 3.2 串行通信程序流程 (13) 3.3 程序清单 (16) 4 软件仿真 (20) 5 硬件连接 (21) 6 设计总结 (23) 参考文献 (24)

设计概况 要构成一个较大规模的控制系统,常常需要采用多机控制实现,而AT89C51单片机有一个异步通信方式的全双工串行接口,可以方便地构成双机、多机系统。而串行通信也成为单片机与单片机、单片机与上位机之间进行数据传输的主要方式,是一种适用于远距离通信的数据传输方式。 串行通信是单片机的一个重要应用。本次课程设计就是要利用单片机来完成一个系统,实现双片单片机串行通信。通信的结果实用数码管进行显示,数码管采用查表方式显示。两个单片机之间采用RS232进行双机通信。在通信过程中,使用通信协议进行通信。 关键词:单片机;串行通信;接口

1 总体设计 1.1 设计要求 设计一个单片机双机通信系统,单片机A接1个8位按键开关,单片机B 接8个发光二极管,通过串行通信实现由A机拨码开关控制B机发光二极管的亮灭。 1.2 设计方案 本次设计,对于两片AT89C51,采用RS-232进行双机通信。如图1所示,发送方的数据由串行口TXD段输出,经过电平转换芯片MAX232将TTL电平转换为RS-232电平输出,经过传输线将信号传送到接收端。接收方也使用MAX232芯片进行电平转换后,信号到达接收方串行口的接收端。接收方接收后,在LED二极管上显示接收的对应信息。 图1 双机通信系统原理框图 软件部分,通过通信协议进行发送接收,发送机先送联络信号给接收机,当接收机接收到联络信号后,向发送机回答一个应答信号,表示同意接收。发送机收到应答信号后开始发送数据,每发送一个数据块字节都要计算“校验和”,假定数据长度为16个字节,起始地址为40H,一个数据块发送完毕后立即发送“校验和”。接收机接收数据并存入数据缓冲区起始地址也为40H,每接收到一个数据字节便计算一次“校验和”,当接收到一个数据块后,在接受发送机发来的“校验和”,并将它与接收机计算的校验和进行比较。若二者相等,说明接受正确,接收机回答00H,发送机结束发送;若二者不等,说明接受不正确,接收机回答0FFH,请求重发,发送机重新发送数据一次。接收机接收到数据后通过发光二极管LED显示发送机的发送状态。

基于51单片机的双机串行通信课程设计

基于51单片机的双机串行通信课程设计

基于A789C51单片机的双机串行通信课程设计 一、总体设计 1设计目的 1.通过设计相关模块充分熟悉A789C51单片机的最小系统的组成和原理; 2.通过软件仿真熟悉keil和proteus的配合使用; 3.通过软件编程熟悉A789C51的CA789C51编程规范; 4.通过实际的硬件电路搭设提高实际动手能力。 2.设计要求: 两片单片机之间进行串行通信,A机将0x06发送给B机,在B机的数码管上静态显示1,B 机将0~f动态循环发送到A机,并在其数码管上显示。 3.设计方案: 软件部分,通过通信协议进行发送接收,A机先送0x06(B机数码管显示1)给B机(B机静态显示),当从机接收到后,向B机发送代表0-f 的数码管编码数组。B收到0x06后就把数码表TAB[16]中的数据送给从机。 二、硬件设计 1.A789C51单片机串行通信功能

图1.AT89CA789C51(52) 计算机与外界的信息交换称为通信,常用的通信方式有两种:并行通信和串行通信。A789C51单片机用4个接口与外界进行数据输入与数据输出就是并行通信,并行通信的特点是传输信号的速度快,但所用的信号线较多,成本高,传输的距离较近。串行通信的特点是只用两条信号线(一条信号线,再加一条地线作为信号回路)即可完成通信,成本低,传输的距离较远。 A789C51单片机的串行接口是一个全双工的接口,它可以作为UART(通用异步接受和发送器)用,也可以作为同步移位寄存器用。A789C51单片机串行接口的结构如下:

(1)数据缓冲器(SBUF) 接受或发送的数据都要先送到SBUF缓存。有两个,一个缓存,另一个接受,用同一直接地址99H,发送时用指令将数据送到SBUF即可启动发送;接收时用指令将SBUF中接收到的数据取出。 (2)串行控制寄存器(PCON) SCON用于串行通信方式的选择,收发控制及状态指示,各位含义如下: SM0,SM1:串行接口工作方式选择位,这两位组合成00,01,10,11对应于工作方式0、1、2、3。串行接口工作方式特点见下表

最新双机串行通信的设计与实现

综合实验报告 实验题目:双机串行通信的设计与实现 学生班级: 电子 学生姓名: 学生学号: 指导教师: 实验时间: 2016.9.12-2016.9.17

题目:双机串行通信的设计与实现 班级:电子14-2 姓名:陈俊臣 摘要 串行通信是单片机的一个重要应用。本次课程设计就是要利用单片机来完成一个系 统实现双片单片机串行通信。通信的结果实用数码管进行显示数码管采用查表方式显示。两个单片机之间采用RS232进行双机通信。在通信过程中使用通信协议进行通信。 双机通信的实质就是解决两单片机串行通信问题。针对于89C51单片机全双工异步串行通信口,我们采用单片机直接交叉互连的串行通信方式。考虑到本设计应用于短距离传输、两单片机具有相同的数据格式及电平且为使设计简单,我们最终决定本系统采用方式一单片机直接交叉连接的串行通信方式,上位机发送的数据由串行口TXD端输出,直接由下位机的串行口数据接收端RXD接收。本设计的硬件电路分为数码管显示模块、单片机工作的基本复位电路以及晶振模块。编程采用C语言加以实现。通信的结果使用数码管进行显示,数码管采用查表方式显示,两个单片机之间采用RS-232进行双向通信。

目录 1 引言------------------------------------------------------- 2 设计原理及要求--------------------------------------------- 2.1设计要求和原理-------------------------------------------- 2.2串行通信概述与分类----------------------------------- 2.3串行通信和并行通信区别------------------------------- 2.4 MCS-51串行接口的基本特点----------------------------- 3器件介绍 3.1器件简单概述----------------------------------------- 3.2 器件主要功能特性-------------------------------------- 3.3 芯片引脚介绍---------------------------------------- 4系统设计 4.1设计要求-------------------------------------------- 4.2设计方案-------------------------------------------- 4.3硬件设计-------------------------------------------- 4.4软件设计------------------------------------------- 4 电路仿真图---------------------------------------------------- 5心得------------------------------------------------------------ 6参考文献--------------------------------------------------------

单片机双机通信系统课程设计

单片机双机通信系统课程设计

一.课程设计的目的及基本要求: 实践课程是使学生融会贯通本课程所学专业理论知识,完成一个较完整的设计计算和安装调试过程,以加深学生对所学理论的理解与应用,认识和熟悉元器件和电子测量仪器的性能指标,了解解决实际问题的一般过程,培养学生综合运用基础理论知识和专业知识去解决实际工程设计问题的能力。通过电子技术的综合性工程训练,使学生达到以下的目的和要求: 1、结合模拟电路、数字电路、可编程逻辑器件、单片机电 子线路CAD等课程中所学的理论知识,按要求独立设计方 案,培养学生独立分析与解决问题的能力; 2、学会查阅相关手册和资料,通过查阅手册和资料,进一 步熟悉常用电子器件的类型和特性,并掌握合理选用的原 则; 3、学会使用常用电子元器件(包括中规模芯片、专用芯片 和可编程器件); 4、掌握基本的现代电子技术设计工具和EDA(Electronic design automation)技术; 5、掌握电子电路的安装与调试技术,进一步熟悉电子仪器 的使用方法; 6、认真撰写总结报告,培养严谨的作风和科学的态度;二.课程设计的主要内容: 课题十九单片机双机通信系统 基本要求:设计两个单片机最小系统,能实现有线通信,一 23

方为发送,另一方为接收。 提高要求:两个单片机最小系统能相互通信,并能实现校验。 三.具体要求和时间安排: 每一个学生在教师指导下,独立完成一个应用系统。工作量如下: 1、电路原理图(A3幅面)1张,要求Protel软件绘制; 2、pcb版图(A3及以上幅面)1张; 3、设计说明书(20-30页)1本,内含能编译通过的源程序(有必要的注释)。 23

相关主题
文本预览
相关文档 最新文档