实验十四串行通讯

实验十四串行通讯
实验十四串行通讯

实验十四串行通讯

--04(3)班唐冬子(11号)

一、实验目的

1、了解串行通讯的基本原理。

2、掌握串行接口芯片8251的工作原理和编程方法。

二、实验内容

1、按图43连接好电路,(8251插通用插座)其中8253计数器用于产生8251的发送和接收时钟,TXD和RXD连在一起。

2、编程:从键盘输入一个字符,将其ASCII码加 1 后发送出去,再接收回来在屏幕上显示,实现自发自收。

三、算法、流程图与源代码

算法:初始化8253和8251 ,读8251状态字,键入字符ASC码加1通过8251数据端口发送到8251,从8251读数据,将字符显示在屏幕。

流程图与源代码:

DATA SEGMENT

IOPORT EQU 0C800H-280H

IO8253A EQU IOPORT+280H

IO8253B EQU IOPORT+283H

IO8251A EQU IOPORT+2b8H

IO8251B EQU IOPORT+2B9H

MES DB 'PLEASE INPUT A CHARACTOR:',0DH,0AH,24H

DATA ENDS

CODE SEGMENT

ASSUME CS:CODE,DS:DATA

START:MOV AX,DATA

MOV DX,IO8253B ;设置8253计数器0工作方式 MOV AL,00010110B

OUT DX,AL

MOV DX,IO8253A

MOV AL,60 ;给8253计数器0送初值

OUT DX,AL

MOV DX,IO8251B ;复位之前先给两次控制字 MOV AL,01001110B

OUT DX,AL

MOV AL,00100111B

OUT DX,AL

MOV DX,IO8251B ;初始化8251

MOV AL,01000000B ;复位

OUT DX,AL

MOV AL,01001110B ;设置控制方式

OUT DX,AL

MOV AL,00100111B ;向8251送控制字

OUT DX,AL

MOV SI,OFFSET MES

AGAIN: MOV DL,[SI] ;显示提示信息

INC SI

MOV AH,2

INT 21H

CMP AL,24H

JNZ AGAIN

WAIT0: MOV DX,IO8251B

IN AL,DX

TEST AL,01H ;发送是否准备好

JZ WAIT0

MOV AH,1 ;是,从键盘上读一字符

INT 21H

CMP AL,1BH ;若为ESC,结束

JZ EXIT

MOV DX,IO8251B

INC AL

OUT DX,AL ;发送

WAIT1: MOV DX,IO8251B

IN AL,DX

TEST AL,02H ;检查接收是否准备好

JZ WAIT1 ;没有,等待

MOV DX,IO8251A

IN AL,DX ;准备好,接收

MOV DL,AL

MOV AH,2 ;将接收到的字符显示在屏幕上

INT 21H

MOV DL,0DH

MOV AH,2

INT 21H

MOV DL,0AH

MOV AH,2

INT 21H

JMP WAIT0

EXIT: MOV AH,4CH ;退出

INT 21H

CODE ENDS

END START

四、调试过程

按照实验要求接线,连接硬件电路图,在DOS环境下做这个实验,编辑文件+编译ASM+连接OBJ+执行EXE,然后屏幕出现提示符:PLEASE INPUT A CHARACTOR:

在键盘上输入任何字符(除ESC)都会在屏幕上显示这个字符和比这个字符对应的ASCII 码值大1的字符。如在键盘输入1,则屏幕上输出:12,下面是屏幕显示过程:PLEASE INPUT A CHARACTOR:

12

56

ef

op

rs

lm

$%

*+

.

.

.

如果输入ESC则返回DOS!

五、总结

这是最后一次微机实验,因为考试时间比较紧,事先没有花时间准备,直接实验就做实验,这次实验是我和王敏芝同学一起完成的,经过问老师,我们两个人讨论,和参考一下资料,最后顺利完成实验,从做这次实验上,我感觉到以前做实验所学到的知识是这次实验的顺利完成的条件。通过这次实验也让我懂得,坚持,会成功的,我们就是没有放弃才最终完成实验的!

8251串行通讯实验

安徽师范大学数计学院实验报告 专业名称11计科 课程微机原理 实验名称串行通信实验姓名 学号110704012

8251 可编程串行口与PC 机通讯实验 一、实验目的 (1) 掌握8251 芯片的结构和编程,掌握微机通讯的编制。 (2) 学习有关串行通讯的知识。 (3) 学习PC 机串口的操作方法。 二、实验说明 1、8251 信号线 8251 是CPU 与外设或Mode 之间的接口芯片,所以它的信号线分为两组:一组是用于与CPU 接口 的信号线,另一组用于与外设或Mode 接口。 (1)与CPU 相连的信号线: 除了双向三态数据总线(D7~D0)、读(RD)、写(WR)、片选(CS)之外,还有: RESET:复位。通常与系统复位相连。 CLK:时钟。由外部时钟发生器提供。 C/D:控制/数据引脚。 TxRDY:发送器准备好,高电平有效。

TxE:发送器空,高电平有效。 RxRDY:接收器准备好,高电平有效。 SYNDET/BRKDET:同步/中止检测,双功能引脚。 (2)与外设或Mode 相连的信号线: DTR:数据终端准备好,输出,低电平有效。 DSR:数据装置准备好,输入,低电平有效。 RTS:请求发送,输出,低电平有效。 CTS:准许传送,输入,低电平有效。 TxD:发送数据线。 RxD:接收数据线。 TxC:发送时钟,控制发送数据的速率。 RxC:接收时钟,控制接收数据的速率。 2、8251 的初始化编程和状态字 8251 是一个可编程的多功能串行通信接口芯片,在使用前必须对它进行初始化编程。初始化编 程包括CPU 写方式控制字和操作命令字到8251 同一控制口,在初始化编程时必须按一定的顺序。如 下面的流程图:

嵌入式系统实验报告-串行通信实验

《嵌入式系统实验报告》 串行通信实验 南昌航空大学自动化学院050822XX 张某某 一、实验目的: 掌握μC/OS-II操作系统的信号量的概念。 二、实验设备: 硬件:PC机1台;MagicARM2410教学实验开发平台台。 软件:Windows 98/2000/XP操作系统;ADS 1.2集成开发环境。 三、实验内容: 实验通过信号量控制2个任务共享串口0打印字符串。为了使每个任务的字符串信息(句子)不被打断,因此必须引入互斥信号量的概念,即每个任务输出时必须独占串口0,直到完整输出字符串信息才释放串口0。 四、实验步骤: (1)为ADS1.2增加DeviceARM2410专用工程模板(若已增加过,此步省略)。 (2)连接EasyJTAG-H仿真器和MagicARM2410实验箱,然后安装EasyJTAG-H仿真器(若已经安装过,此步省略),短接蜂鸣器跳线JP9。 (3)启动ADS 1.2,使用ARM Executable Image for DeviceARM2410(uCOSII)工程模板建立一个工程UART0_uCOSII。(本范例在ADS文件夹中操作) (4)在ADS文件夹中新建arm、Arm_Pc、SOURCE文件夹。将μC/OS 2.52源代码添加到SOURCE文件夹,将移植代码添加到arm文件夹,将移植的PC服务代码添加到Arm_Pc文件夹。 (5)在src组中的main.c中编写主程序代码。 (6)选用DebugRel生成目标,然后编译链接工程。 (7)将MagicARM2410实验箱上的UART0连接跳线JP1短接,使用串口延长线把MagicARM2410实验箱的CZ11与PC机的COM1连接。 注意:CZ11安装在MagicARM2410实验箱的机箱右侧。 (8)PC机上运行“超级终端”程序(在Windows操作系统的【开始】->【程序】->【附件】->【通讯】->【超级终端】),新建一个连接,设置串口波持率为115200,具体设置参考图3.5,确定后即进入通信状态。 (9)选择【Project】->【Debug】,启动AXD进行JTAG仿真调试。 (10)全速运行程序,程序将会在main.c的主函数中停止(因为main函数起始处默认设置有断点)。 (11)可以单步运行程序,可以设置/取消断点,或者全速运行程序,停止程序运行,在超级终端上观察任务0和任务1的打印结果。 五、实验结论与思考题(手写,打印无效): 1、如果任务0删除语句“OSSemPost(UART0_Sem);”,那么程序还能完全正常无误运行么?如果发生异常会出现什么现象?

串口通信实验讲解

课程名称:Zigbee技术及应用实验项目:串口通信实验指导教师: 专业班级:姓名:学号:成绩: 一、实验目的: (1)认识串口通信的概念; (2)学习单片机串口通信的开发过程; (3)编写程序,使单片机与PC通过串口进行通信。 二、实验过程: (1)根据实验目的分析实验原理; (2)根据实验原理编写C程序; (3)编译下载C程序,并在实验箱上观察实验结果。 三、实验原理: 串行通信是将数据字节分成一位一位的形式在一条传输线上逐个地传送,此时只需要一条数据线,外加一条公共信号地线和若干条控制信号线。因为一次只能传送一位,所以对于一个字节的数据,至少要分8位才能传送完毕,如图3-1所示。 图2-1串行通信过程 串行通信制式: (1)单工制式 这种制式是指甲乙双方通信时只能单向传送数据,发送方和接收方固定。 (2)半双工制式 这种制式是指通信双方都具有发送器和接收器,即可发送也可接收,但不能同时接收和发送,发送时不能接收,接收时不能发送。

(3)全双工制式 这种制式是指通信双方均设有发送器和接收器,并且信道划分为发送信道和接收信道,因此全双工制式可实现甲乙双方同时发送和接收数据,发送时能接收,接收时能发送。 三种制式分别如图3-2所示 图3-2串行通信制式 3.1硬件设计原理 CC2530有两个串行通信接口USART0和USART1,两个USART具有同样的功能,可已分别运行于UART模式和同步SPI模式。 CC2530的两个串行通信接口引脚图分布如表3-1所示 表3-1 CC2530串行通信口引脚图分布 本实验CC2530模块使用的是USART1的位置2,P1_6和P1_7。

8251串行通讯实验

8251串行通讯实验 一.基本实验内容: 实现二台PC机之间的双机通讯。即甲机输入的键值发送到乙机CRT上显示,反之亦然。二原理图及连线: 1.8251CS连208~20FH (波特率2400) 2.9芯电缆对接二机的RS-232口 三.参考程序 D8251 EQU 208H Z8251 EQU 20aH DATA SEGMENT MESS DB '按下!后返回DOS.',0DH,0AH,'$' DATA ENDS STACK SEGMENT STA DW 32 DUP() TOP DW STACK ENDS

CODE SEGMENT MAIN PROC FAR ASSUME CS:CODE,DS:DATA,SS:STACK START: MOV DX,Z8251 ;初始化8251 MOV AL,40H OUT DX,AL MOV CX,1000h LOOP $ MOV AL,0CEH ;设置为8个数据位,两个停止位波特率因子为16 OUT DX,AL ;无奇偶校验位 MOV CX,1000h LOOP $ MOV AL,25H ;设为请求发送,允许发送,允许接收状态 OUT DX,AL MOV CX,1000h LOOP $ ;NIT 8251 END REC: MOV DX,Z8251 MOV AH,02H WAIT9: IN AL,DX ;有数据送到吗 AND AL,AH JZ SEND ;没有数据送到则跳转至发送 MOV DX,D8251 ;有数据送到则从数据缓冲区读入 IN AL,DX MOV DL,AL

MOV AH,02H ;显示在屏幕上 INT 21H CMP AL,'!' JE ED ;接收到结束符则返回DOS JMP REC ;不是结束符则继续接收 ED: MOV AX,4C00H INT 21H SEND: MOV CX,1000h LOOP $ MOV DX,Z8251 MOV AH,01H WAIT8: IN AL,DX AND AL,AH JZ WAIT8 ;发送缓冲器不空则等待 MOV DL,0FFH MOV AH,06H INT 21H JZ REC ;无键按下则跳回"接收"处 MOV DX,D8251 ;有键按下则发送相应字符 OUT DX,AL CMP AL,'!' ;是结束字符则返回DOS JE ED1 JMP REC ;不是结束字符则跳回"接收"处ED1: MOV AX,4C00H INT 21H MAIN ENDP CODE ENDS

串口通信实验报告全版.doc

实验三双机通信实验 一、实验目的 UART 串行通信接口技术应用 二、实验实现的功能 用两片核心板之间实现串行通信,将按键信息互发到对方数码管显示。 三、系统硬件设计 (1)单片机的最小系统部分 (2)电源部分 (3)人机界面部分

数码管部分按键部分 (4)串口通信部分 四、系统软件设计 #include #define uchar unsigned char #define uint unsigned int void send(); uchar code0[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f};//0-9的数码管显示 sbit H1=P3^6; sbit H2=P3^7;

sbit L1=P0^5; sbit L2=P0^6; sbit L3=P0^7; uint m=0,i=0,j; uchar temp,prt; /***y延时函数***/ void delay(uint k) { uint i,j; //定义局部变量ij for(i=0;i

{ m=1; //KEY1键按下 return(m); } if(H2==0) { m=4; //KEY4键按下 return(m); } } } if(L2==0) { delay(5); if (L2==0) { L2=0;H1=1;H2=1; if(H1==0) { m=2; //KEY2键按下 return(m); } if(H2==0) { m=5; //KEY5键按下 return(m); } } } if(L3==0) { delay(5); if (L3==0) { L3=0;H1=1;H2=1; if(H1==0) { m=3; //KEY3键按下

8251可编程通信实验

一、实验目的与要求 了解8251的内部结构,工作原理;了解8251与8088的接口逻辑;掌握对8251的初始化编程方法,学会使用8251实现设备之间的串行通信。 二、实验逻辑原理图与分析 2.1 画实验逻辑原理图 AD0~AD15 ALE WR# RD#数据锁 存器 地址锁 存器 地址译 码器 8086 8253 D0~D7 OUT0 GATE0 CLK0 CS# A0 A1 WR# RD# A0 A1 VCC 2M D0~D7 C/D# TxC# CS# RxC# WR# TXD RD# RXD 8251 RS- 232C COM1 PC RXD TXD 2.2 逻辑原理图分析 8251A是可编程的串行通信接口芯片,它的主要特点如下: ①可用于串行异步通信,也可用于串行同步通信。 ②对于异步通信,可设定停止位为1位、 1位半或2位,数据位可在5-8位之间选择。 ③对于同步通信,可设为单同步、双同步或者外同步,同步

字符可由用户自己设定。 ④异步通信的时钟频率可设为波特率的1倍、16倍或64倍。 ⑤可以设定奇偶校验的方式,也可以不校验。校验位的插入、检出及检错都由芯片本身完成。 ⑥在异步通信时,波特率的可选范围为0~19.2千波特;在同步通信时,波特率的可选范围为0~64千波特。 ⑦提供与外部设备特别是调制解调器的联络信号,便于直接和通信线路相连接。 ⑧接收、发送数据分别有各自的缓冲器,可以进行全双工通信。 8251A内除具有可读可写的数据寄存器外,还具有只可写的控制字寄存器和只可读的状态寄存器。控制字寄存器寄存方式控制字和命令控制字。 三、程序分析 3.1程序功能 实现8251A与PC机的串行通讯,使用8253作分频器提供8251的收发时钟。 3.2程序分析 INIT_8253 PROC NEAR MOV DX,W_8253_C MOV AL,37H OUT DX,AL

最新串行通信实验报告整理

串行通信实验报告 班级姓名学号日期 一、实验目的: 1、掌握单片机串行口工作方式的程序设计,及简易三线式通讯的方法。 2、了解实现串行通讯的硬环境、数据格式的协议、数据交换的协议。 3、学习串口通讯的程序编写方法。 二、实验要求 1.单机自发自收实验:实现自发自收。编写相应程序,通过发光二极管观察 收发状态。 2.利用单片机串行口,实现两个实验台之间的串行通讯。其中一个实验台作为发送方,另一侧为接收方。 三、实验说明 通讯双方的RXD、TXD信号本应经过电平转换后再行交叉连接,本实验中为 减少连线可将电平转换电路略去,而将双方的RXD、TXD直接交叉连接。也可以将本机的TXD接到RXD上。 连线方法:在第一个实验中将一台实验箱的RXD和TXD相连,用P1.0连接发光二极管。波特率定为600,SMOD=0。 在第二个实验中,将两台实验箱的RXD和TXD交叉相连。编写收发程序,一台实验箱作为发送方,另一台作为接收方,编写程序,从内部数据存储器 20H~3FH单元中共32个数据,采用方式1串行发送出去,波特率设为600。通过运行程序观察存储单元内数值的变化。 四、程序 甲方发送程序如下: ORG 0000H LJMP MAIN ORG 0023H LJMP COM_INT ORG 1000H MAIN: MOV SP,#53H MOV 78H,#20H

MOV 77H,00H MOV 76H,20H MOV 75H,40H ACALL TRANS HERE: SJMP HERE TRANS: MOV TMOD,#20H MOV TH1,#0F3H MOV TL1,#0F3H MOV PCON,#80H SETB TR1 MOV SCON,#40H MOV IE,#00H CLR F0 MOV SBUF,78H WAIT1: JNB TI,WAIT1 CLR TI MOV SBUF,77H WAIT2: JNB TI,WAIT2 CLR TI MOV SBUF,76H WAIT3: JNB TI,WAIT3 CLR TI

单片机串行通信实验报告(实验要求、原理、仿真图及例程)

《嵌入式系统原理与实验》实验指导 实验三调度器设计基础 一、实验目的和要求 1.熟练使用Keil C51 IDE集成开发环境,熟练使用Proteus软件。 2.掌握Keil与Proteus的联调技巧。 3.掌握串行通信在单片机系统中的使用。 4.掌握调度器设计的基础知识:函数指针。 二、实验设备 1.PC机一套 2.Keil C51开发系统一套 3.Proteus 仿真系统一套 三、实验内容 1.甲机通过串口控制乙机LED闪烁 (1)要求 a.甲单片机的K1按键可通过串口分别控制乙单片机的LED1闪烁,LED2闪烁,LED1和LED2同时 闪烁,关闭所有的LED。 b.两片8051的串口都工作在模式1,甲机对乙机完成以下4项控制。 i.甲机发送“A”,控制乙机LED1闪烁。 ii.甲机发送“B”,控制乙机LED2闪烁。 iii.甲机发送“C”,控制乙机LED1,LED2闪烁。 iv.甲机发送“C”,控制乙机LED1,LED2停止闪烁。 c.甲机负责发送和停止控制命令,乙机负责接收控制命令并完成控制LED的动作。两机的程序要 分别编写。 d.两个单片机都工作在串口模式1下,程序要先进行初始化,具体步骤如下: i.设置串口模式(SCON) ii.设置定时器1的工作模式(TMOD) iii.计算定时器1的初值 iv.启动定时器 v.如果串口工作在中断方式,还必须设置IE和ES,并编写中断服务程序。

(2)电路原理图 Figure 1 甲机通过串口控制乙机LED闪烁的原理图 (3)程序设计提示 a.模式1下波特率由定时器控制,波特率计算公式参考: b.可以不用使用中断方式,使用查询方式实现发送与接收,通过查询TI和RI标志位完成。 2.单片机与PC串口通讯及函数指针的使用 (1)要求: a.编写用单片机求取整数平方的函数。 b.单片机把计算结果向PC机发送字符串。 c.PC机接收计算结果并显示出来。 d.可以调用Keil C51 中的printf来实现字符串的发送。 e.单片机的数码港显示发送的次数,每9次清零。

北理工微机原理实验三 使用8251A的串行接口应用实验

本科实验报告 实验名称:实验三使用8251A的串行接口应用实验 课程名称:计算机原理与应用实验实验时间: 任课教师:实验地点: 实验教师: 实验类型:□原理验证■综合设计□自主创新 学生姓名: 学号/班级:组号:学院:同组搭档:专业:成绩:

1. 实验目的 1) 掌握串行通信原理及半双工和全双工的编程方法; 2) 掌握用8251A接口芯片实现微机间的同步和异步通信; 3) 掌握8251A芯片与微机的接口技术和编程方法。 2. 实验原理和内容 8251A是一种可编程的同步/异步串行通信接口芯片,具有独立的接收器和发送器,能实现单工、半双工、双工通信。 1) 8251A内部结构 8251A通过引脚D0~D7和系统数据总线直接接口,用于和CPU传递命令、数据、状态信息。读写控制逻辑用来接收CPU的控制信号、控制数据传送方向。CPU对8251A的读写操作控制表如表3-4所示。 表3-4 CPU对8251A的读写操作控制表 2) 8251A的方式控制字和命令控制字 方式控制字确定8251A的通信方式(同步/异步)、校验方式(奇校/偶校/不校)、字符长度及波特率等,格式如图3-10所示。 命令控制字使8251A处于规定的状态以准备收发数据,格式如图3-11所示。 方式控制字和命令控制字无独立的端口地址,8251A 根据写入的次序来区分。 CPU对8251A初始化时先写方式控制字,后写命令控制字。

3) 状态寄存器 8251状态寄存器用于寄存8251A的状态信息,供CPU查询,定义如图3-12所示。TXRDY位:当数据缓冲器空时置位,而TXRDY引脚只有当条件( 数据缓冲器空?/CTS?TXE)成立时才置位。 溢出错误:CPU没读走前一个字符,下一个字符又接收到,称为溢出错误。

实验1 串行通信实验

计算机通讯网络 随堂实验报告 学院计算机与电子信息学院 专业电子信息工程班级电信08 -1班 姓名程跃斌学号 08034030117 指导教师左敬龙 实验报告评分:_______

实验一串行通信实验 一.实验目的: 1.认识计算机具有串行通信的功能。 2.理解串行通信中数据位、校验位的关系。 3.能利用软件开发具有串行通信功能的程序。 二.实验原理: 计算机上的 机来说是发送数据,对另一台机就是接收数据,所以收、发数据线要换接。连接方法如下。 9芯对9芯串口 A机B机 2●←→●3 3●←→●2 5●←→●5 三.实验仪器: 计算机两台,串行通信电缆一条。 四.实验步骤: 步骤一:认识计算机上的串口,并将串口通信电缆正确的接在两台计算机上; 步骤二:通过windows已有的程序“超级终端”(打开方法:程序——附件——通信——超级终端)通过串行电缆初步认识计算机具有串行通信的功能; 步骤三:修改连接参数,测试建立的连接是否可以正常通信,如果出现异常,分析产生的原因; 步骤四:自己编程实现串口通信。在任何编程语言平台下都可以实现串口通信。同学们可根据自己熟悉的语言来编制串口通信程序。 实验程序流程图:

五.实验数据与分析: COM1参数设置:在这个对话框中,可以选择通信双方采用的通信速率、数据位的个数、奇偶校验位、停止位和可以使用的流量控制方法。不管设置什么参数,必须保证两台计算机的所有参数相同,而且数据传输速率不能超过115200bit/s。设置参数完毕后,单击“确定”按钮。 图1 COM1参数设置 通信双方可以互相发送一些字符。在缺省情况下,发送端发送的字符在本地不会显示。如果希望使用本地回显功能,则单击“文件”菜单,选择“属性”命令,在打开的窗口中选择“设置”选项卡,并单击“ASCII码设置”,打开如图2所示的对话框;选中“本地显示键 入的字符(E)”复选框,返回到超级终端窗口中,再发送一些字符,观察结果。

串行通信实验报告

串行通信实验报告 班级学号日期 一、实验目的: 1、掌握单片机串行口工作方式的程序设计,及简易三线式通讯的方法。 2、了解实现串行通讯的硬环境、数据格式的协议、数据交换的协议。 3、学习串口通讯的程序编写方法。 二、实验要求 1.单机自发自收实验:实现自发自收。编写相应程序,通过发光二极管观察收发状态。 2.利用单片机串行口,实现两个实验台之间的串行通讯。其中一个实验台作为发送方,另一侧为接收方。 三、实验说明 通讯双方的RXD、TXD信号本应经过电平转换后再行交叉连接,本实验中为减少连线可将电平转换电路略去,而将双方的RXD、TXD直接交叉连接。也可以将本机的TXD接到RXD上。 连线方法:在第一个实验中将一台实验箱的RXD和TXD相连,用P1.0连接发光二极管。波特率定为600,SMOD=0。 在第二个实验中,将两台实验箱的RXD和TXD交叉相连。编写收发程序,一台实验箱作为发送方,另一台作为接收方,编写程序,从部数据存储器20H~3FH 单元中共32个数据,采用方式1串行发送出去,波特率设为600。通过运行程序观察存储单元数值的变化。 四、程序 甲方发送程序如下:

ORG 0000H LJMP MAIN ORG 0023H LJMP COM_INT ORG 1000H MAIN: MOV SP,#53H MOV 78H,#20H MOV 77H,00H MOV 76H,20H MOV 75H,40H ACALL TRANS HERE: SJMP HERE TRANS: MOV TMOD,#20H MOV TH1,#0F3H MOV TL1,#0F3H MOV PCON,#80H SETB TR1 MOV SCON,#40H MOV IE,#00H CLR F0 MOV SBUF,78H WAIT1: JNB TI,WAIT1

单片机串口通讯实验报告

实验十单片机串行口与PC机通讯实验报告 ㈠实验目的 1.掌握串行口工作方式的程序设计,掌握单片机通讯的编制; 2.了解实现串行通讯的硬环境,数据格式的协议,数据交换的协议; 3.了解PC机通讯的基本要求。 ㈡实验器材 1.G6W仿真器一台 2.MCS—51实验板一台 3.PC机一台 ㈢实验内容及要求 利用8051单片机串行口,实现与PC机通讯。 本实验实现以下功能,将从实验板键盘上键入的字符或数字显示到PC 机显示器上,再将PC机所接收的字符发送回单片机,并在实验板的LED上显示出来。 ㈣实验步骤 1.编写单片机发送和接收程序,并进行汇编调试。 2.运行PC机通讯软件“commtest.exe”,将单片机和PC机的波特率均设定 为1200。 3.运行单片机发送程序,按下不同按键(每个按键都定义成不同的字符), 检查PC机所接收的字符是否与发送的字符相同。 4.将PC机所接收的字符发送给单片机,与此同时运行单片机接受程序,检 查实验板LED数码管所显示的字符是否与PC机发送的字符相同。

㈤ 实验框图

源程序代码: ORG 0000H AJMP START ORG 0023H AJMP SERVE ORG 0050H START: MOV 41H,#0H ;对几个存放地址进行初始化 MOV 42H,#0H MOV 43H,#0H MOV 44H,#0H MOV SCON,#00H ;初始化串行口控制寄存器,设置其为方式0 LCALL DISPLAY ;初始化显示 MOV TMOD,#20H ;设置为定时器0,模式选用2 MOV TL1, #0E6H ;设置1200的波特率 MOV TH1, #0E6H SETB TR1 ;开定时器 MOV SCON,#50H ;选用方式1,允许接收控制 SETB ES SETB EA ;开中断 LOOP: ACALL SOUT ;键盘扫描并发送,等待中断 SJMP LOOP SERVE JNB RI,SEND ;判断是发送中断还是接收中断,若为发送中 断则调用 ACALL S IN ;发送子程序,否则调用接收子程序 RETI SEND: CLR TI ;发送子程序 RETI SIN: CLR RI ;接受子程序 MOV SCON, #00H MOV A, SBUF ;接收数据 LCALL XS ;调用显示子程序 RETI 子程序: SOUT: CLR TI ;清发送中断标志位 LCALL KEY ;调用判断按键是否按下子程序 MOV A,R0 ;将按键对应的数字存入A MOV SBUF,A ;输出按键数字给锁存 RET KEY: MOV P1,#0FFH ;将P1设置为输入口 MOV A, P1 CPL A ;将A内值取反

实验五:串行接口输入输出实验

实验五串行接口输入/输出实验 一、实验目的 1、学习TEC-XP+教学计算机I/O接口扩展的方法; 2、学习串行通信的基本知识,掌握串行通信接口芯片的设置和使用方法。 二、实验说明 1、TEC-XP+教学计算机的I/O结构 TEC-XP+教学计算机配置有COM1和COM2两个串行接口,其中COM1是TEC-XP+默认的标准接口,与PC终端相连接,监控程序负责对COM1进行初始化和使用管理。COM2预留给用户扩展使用,监控程序不能识别COM2,也不对COM2进行任何操作,用户需要对COM2进行初始化和使用管理。COM1和COM2均由可编程串行通信接口芯片intel8251芯片构成。 2、Intel8251的组成及控制和使用方法 可编程串行通信接口芯片Intel8251支持同步和异步两种通信方式。在异步方式下,波特率为0~19.2Kbps,数据位可为5、6、7或8位,可设1个奇偶校验位,1个起始位,1个、1.5个或2个停止位。Intel8251内部有7个功能模块负责实现与CPU的数据交换以及与I/O设备的数据通信功能,内部有6个寄存器,其中与异步通信方式的有关的寄存器有5个,即模式寄存器、控制寄存器、状态寄存器、数据发送寄存器和数据接收寄存器。 模式寄存器的功能是设定intel8251的工作模式,控制寄存器的功能是控制intel8251的数据发送和接收等工作过程,状态寄存器的功能是反映intel8251数据发送和接收等工作的状态,各寄存器的格式如图5-1、图5-2和图5-3所示。当CPU把需发送的数据写入数据发送寄存器后,intel8251将自动把数据组成帧并逐位发送出去。Intel8251能自动完成数据接收操作,并把接收到的数据存放在数据接收寄存器中,CPU 从中读取即可。 图5-1模式寄存器格式图5-2 控制寄存器格式 图5-3 状态寄存器格式 CPU对模式寄存器、控制寄存器和数据发送寄存器只能写入,不能读出。对状态寄存器和数据接收寄存器只能读出,不能写入。Intel8251使用2个地址来访问内部的寄存器,其中用偶地址访问数据发送寄存

实验四-串口通信实验

实验报告 课程名称:微机原理与接口技术 指导老师:张军明 成绩:__________________ 实验名称:实验四 串口通信实验 实验类型:________________同组学生姓名:吴越 一、实验目的和要求(必填) 二、实验内容和原理(必填) 三、主要仪器设备(必填) 四、操作方法和实验步骤 五、实验数据记录和处理 六、实验结果与分析(必填) 七、讨论、心得 一、实验目的 1、掌握80C51串行口工作方式选择、理解串行口四种通讯模式的区别、波特率发生器的作用及通讯过程中的时序关系。 2、掌握串口初始化的设置方法和串行通信编程的能力。 3、了解PC 机通讯的基本要求,掌握上位机和下位机的通讯方法。 4、编写简单的通信协议(如串行口工作方式、波特率、校验方式、出错处理等)。 二、实验器材 1、Micetek 仿真器一台。 2、实验板一块。 3、PC 机电脑一台。 4、九针串口线一条。 三、实验原理 串口通讯对单片机而言意义重大,不但可以实现将单片机(下位机)的数据传输到PC 端(上位机),而且也能实现PC 对单片机的控制,51单片机有一个全双工的串行通讯口,所以单片机和PC 之间可以方便地进行串口通讯。进行串行通讯时要满足一定的条件,比如电脑的串口是RS232电平的,而单片机的串口是TTL 电平的,两者之间必须有一个电平转换电路,本实验采用专用芯片MAX232进行转换,虽然也可以用几个三极管进行模拟转换,但是还是用专用芯片更简单可靠。 3.1 RS232九针串口基本功能简介 九针串口即RS-232接口,是个人计算机上的通讯接口之一,由电子工业协会(Electronic Industries Association ,EIA) 所制定的异步传输标准接口。通常 RS-232 接口以9个引脚 (DB-9) 或是25个引脚 (DB-25) 的型态出现,一般个人计算机上会有两组RS-232接口,分别称为COM1和COM2。该接口分为公头子和母头子。九针串口(母头)的功能如下,请见图1: 专业:电子信息工程 姓名:彭嘉乔 学号:3130104084 日期:2015.05 地点:东3-409

(仅供参考)微机原理实验三

实验三使用8251A的串行接口应用实验 一、实验目的 1) 掌握串行通信原理及半双工和全双工的编程方法。 2) 掌握用8251A 接口芯片实现微机间的同步和异步通信。 3) 掌握8251A 芯片与微机的接口技术和编程方法。 二、实验原理和内容 8251A 是一种可编程的同步/异步串行通信接口芯片,具有独立的接收器和发送器,能实现单工、半双工、双工通信。 1)8251A 内部结构 8251A 通过引脚D0~D7 和系统数据总线直接接口,用于和CPU 传递命令、数据、状态信息。读写控制逻辑用来接收CPU 的控制信号、控制数据传送方向。CPU 对8251A 的读写操作控制表如表3-4 所示。 方式控制字确定8251A 的通信方式(同步/异步)、校验方式(奇校/偶校/不校)、字符长度及波特率等,格式如图3-10 所示。 命令控制字使8251A 处于规定的状态以准备收发数据,格式如图3-11 所示。 方式控制字和命令控制字无独立的端口地址,8251A 根据写入的次序来区分。 CPU 对8251A 初始化时先写方式控制字,后写命令控制字

3)状态寄存器 8251 状态寄存器用于寄存8251A 的状态信息,供CPU 查询,定义如图3-12 所示。 TXRDY位:当数据缓冲器空时置位,而TXRDY引脚只有当条件( 数据缓冲器空? /CTS?TXE)成立时才置位。 溢出错误:CPU 没读走前一个字符,下一个字符又接收到,称为溢出错误。 帧错误:在字符结尾没检测到停止位,称为帧错误。 4)PC 机寄存器的端口地址

其中:线路控制寄存器第七位:DLAB=0;线路控制寄存器第七位:DLAB=1。 5)波特率和除数因子对照表 232标准的机械、电气规范。 6)实验连接方法 按图连接好电路,其中8254 计数器用于产生8251 的发送和接收时钟,TXD 和RXD 连在一起。

单片机课程设计实验单片机间串行通信

《单片机原理及应用》 课程设计报告 课程设计题目:单片机间串行通信原理专业班级:2012级电子信息科学与技术学生姓名:罗滨志 学号:120802010051 成绩: 2014 年12 月27日

目录 摘要 (1) 1 设计任务 (1) 1.1 功能要求 (2) 1.2 总体方案及工作原理 (2) 2 系统硬件设计 (2) 2.1 器件选择 (2) 2.1.1主要器件的型号 (2) 2.1.2 AT89C51 (3) 2.1.3键盘输入电路 (5) 2.1.4晶振电路方案 (6) 2.1.5数码管显示 (6) 2.1.6复位电路方案 (6) 2.2 硬件原理图 (7)

3 系统软件设计 (7) 3.1基本原理 (8) 3.2系统软件设计流程图 (8) 3.3 按键程序设计 (9) 3.3.1串口通信程序设计: (10) 3.3.2 显示程序设计: (10) 3.4软件清单 (10) 3.4.1发送端程序 (10) 3.4.2接收端程序 (9) 4实验步骤 (14) 4.1实验程序调试 (14) 4.1.1发送端程序调试 (14) 4.1.2接收端程序调试 (15) 4.2实验仿真 (16)

5设计总结 (17) 6参考文献: (17)

摘要 单片机自20世纪70年代问世以来,以其极高的性能价格比,受到人们的重视和关注,应用很广、发展很快。而AT89C51单片机是各单片机中最为典型和最有代表性的一种,本设计是基于MCS51系列单片机中AT89C51所设计的一种具有一个全双工的串行通信口,可以实现单片机与单片机之间点对点串行通信,主从通信以及上,下位机互相通信等。本设计基于单片机技术原理,以单片机芯片AT89C51作为核心控制器,由单片机与键盘控制数码管的显示,修改设置LED显示由按键开关控制,通过硬件电路制作以及软件程序的编制,设计制作一个简单的单片机间串行通信。 关键词:单片机 AT89C51 串行通信 1 设计任务 单片机间串行通信,是工业自动化、智能终端、通信管理等领域传统且重要的通讯手段。 此次设计单片机串行通信,就是为了了解单片机的工作原理,从而学会制作数字钟。本次课程设计通过理论设计和实物制作解决相应的实际问题,巩固和运用在《单片机原理与应用及C51程序设计》中所学的理论知识和实验技能,掌握单片机应用系统的一般设计方法,提高设计能力和实践动手能力,为以后从事电子电路设计、研发电子产品打下良好的基础。

串行通信实验16550

(一)实验名称 串行通信实验16550 (二)实验内容 1)串行通讯基础实验。编写程序,向串口连续发送一个数据(55H),将串口输出连 接到示波器上,用示波器观察数据输出产生的波形。 2)串口自发自收应用实验。编写程序,将一串数据发送至串口,再接收回来显示。(三)实验目的 1)学习和掌握有关串行通信的知识 2)学习和体会16550的工作原理、工作方式,利用其进行应用编程 3)学习和掌握PC机串口的操作方法 (四)实验日期、时间和地点 2011—1—4 6,7节 2011-1-7 1,节 微机高级实验室 (五)实验环境(说明实验用的软硬件环境及调试软件) PC机一台,PIT-B实验箱一套,TDPIT、td-debug软件环境一套 (六)实验步骤(只写主要操作步骤,要简明扼要,还应该画出程序流程图或实验电路的具体连接图) 一:

二:自发自收

(七)实验结果(经调试通过的源程序的所有代码,应包含必要的说明文字) MY_03F8 EQU 0E480H MY_03FB EQU 0E483H MY_03FD EQU 0E485H DATAS SEGMENT NUM DB 55H;此处输入数据段代码 DATAS ENDS STACKS SEGMENT DW 10 DUP(0);此处输入堆栈段代码 STACKS ENDS CODES SEGMENT ASSUME CS:CODES,DS:DATAS,SS:STACKS START: MOV AX,DATAS MOV DS,AX ;初始化16550 MOV DX,MY_03FB ;16550控制寄存器地址送DX MOV AL,80H ;置DLAB=1,设置除数寄存器 OUT DX,AL CALL DALLY MOV DX,MY_03F8 ;除数寄存器地址送DX MOV AX,03C0H ;波特率为1200bit/s OUT DX,AL CALL DALLY MOV AL,AH INC DX OUT DX,AL CALL DALLY MOV DX,MY_03FB ;16550控制寄存器地址送DX MOV AL,0BH ;8位数据位,奇校验,1位停止位 OUT DX,AL CALL DALLY CALL GO MOV AH,4CH INT 21H GO PROC NEAR LOP1: MOV DX,MY_03FD ;通信状态寄存器地址送DX IN AL,DX CALL DALLY

单片机串口通信实验报告

信息工程学院实验报告 课程名称:单片机原理及接口 实验项目名称:串口通信实验实验时间:2017、5 一、实验目得: 1.了解什么就是串口,串口得作用等。 2、了解串口通信得相关概念 3、利用keil软件,熟悉并掌握中串口通信得使用 4、通过实验,熟悉串口通信程序得格式,串口通信得应用等 二、实验原理 1、串口通信概念: 单片机应用与数据采集或工业控制时,往往作为前端机安装在工业现场,远离主机,现场数据采用串行通信方式发往主机进行处理,以降低通信成本,提高通信可靠性。如下图所示。 2、串口数据通信方式及特点 ★数据通信方式有两种:并行通信与串行通信 ★并行通信: 所传送数据得各位同时发送或接收, ?数据有多少位就需要多少根数据线。 特点: 速度快,成本高,适合近距离传输 如计算机并口,打印机,8255 。 ★串行通信:所传送数据得各位按顺序一位一位 地发送或接收。 只需一根数据,一根地线,共2 根 特点:成本低,硬件方便,适合远距离通信, 传输速度低。 串行通信与并行通信示意图如下: 成绩: 指导老师(签名):

3、串行通信基本格式 ①单工通信:数据只能单向传送。 ②半双工通信:通信就是双向得,但每一时刻,数据流通得方向就是单向得。 ③全双工通信:允许数据同时在两个方向流动,即通信双方得数据发送与接收就是同时进行得。 4、异步串行通信/同步串行通信 ①异步串行通信: 异步串行通信采用如下得帧结构: 起始位+ 8位数据位+ 停止位或起始位+ 9位数据位+停止位 其中:起始位为低电平,停止位为高电平。 优点:硬件结构简单 缺点:传输速度慢 ②同步串行通信: 在同步通信中,发送方在数据或字符开始处就用同步字符(常约定1~2个字节)指示一帧得开始,由时钟来实现发送端与接收端同步,接收方一旦检测到与规定得同步字符符合,下面就连续按顺序传送若干个数据,最后发校验字节。见下图: 5、串行通信过程与UART 基本得计算机异步串行通信系统中,两台计算机之间通过三根信号线TxD、RxD与GND连接起来,TxD与GND构成发送线路,RxD与GND构成接收线路。一台计算机得TxD、RxD线分别与另一台计算机得RxD、TxD线相连。 由于在串行通信过程中得并串转换、串并转换、线路检测、采样判决、组帧、 拆帧、发送与接收等操作需消耗CPU大量时间,以至CPU无法处理其它工 作,因而开发出专用于处理异步串行通信发送与接收工作得芯片UART(通用 异步串行通信接收发送器)。 CPU只需将要发送得一个字节数据交给UART,其它发送工作由UART自动完成,当UART将一帧数据发送完毕,会通知CPU 已发送完,可提交下一个字节。 UART自动监测线路状态并完成数据接收工作,当接收到一个字节数据后,UART会通知CPU来读取。采用UART 后,CPU得负担大大减轻了。

单片机串口通信实验

滨江学院 单片机原理及应用 题目单片机串口通信实验 院系____电子工程系______ 专业_____通信工程_______ 学生姓名_______******_______ 学号______**********___ 二O一二年六月十日

单片机串口通信实验 摘要:CPU 与其外部设备之间的信息交换或计算机之间的信息交换均可被称为“通信”。串行通信是指数据逐位顺序串行传送的通信方式。串行通信只需一对传输线,并且可以利用电话线等现有通信信道作为传输介质,因而可以大大降低传输线路的成本。 关键字:51单片机,串口通信,全双工 正文:MCS 一51 系列单片机内部有一个可编程的全双工串行通信口,可作为通用异步接收和发送器,也可作为同步移位寄存器用。该串行口有4 种工作模式。片内的定时器/计数器可用作波特率发生器。接收、发送均可工作在查询方式或中断方式。MCS 一51 系列单片机内部的串行通信口,有二个物理上相互独立的接收、发送缓冲器SBUF,对外也有两条独立的收、发信号线RxD(P3.0)和TxD (P3.1)。可以同时发送、接收数据,实现全双工传送。发送缓冲器和接收缓冲器不能互换,发送缓冲器只能写入不能读出,接收缓冲器只能读出不能写入。两个缓冲器占用同一个端口地址(99H)。具体对哪一个缓冲器进行操作,取决于所用的指令是发送还是接收。 一、实验 1、实验目的 掌握单片机串行口工作原理,单片机串行口与PC机的通信工作原理及编程方法。 2、实验器材 微机、串口通讯软件、程序烧录软件、面包板一块、芯片一块、电焊等 3、实验内容 实验板上有RS-232接口,将该接口与PC机的串口连接,可以实现单片机与PC机的串行通信,进行双向数据传输。本实验要求当PC机向实验板发送的数字在实验板上显示,按实验板键盘输入的数字在PC机上显示,并用串口助手工具软件进行调试。 4、实验原理 51单片机有一个全双工的串行通讯口,所以单片机和电脑之间可以方便地进行串口通信。进行串行通讯信要满足一定的条件,比如电脑的串口是RS232电平(-5~-15V为1,+5~+15V为0),而单片机的串口是TTL电平(大于+2.4V

实验三 串行通信

本科实验报告实验名称:串行通信

一、实验目的 1.了解串行通信的基本原理。 2.掌握串行接口芯片8251的工作原理和编程方法。 3.掌握串行接口芯片8250的工作原理和编程方法。 4.掌握对串行接口芯片的初始化编程;学会串行半双工和全双工的编程技巧。 二、实验内容及步骤 1. 利用PC机系统的串行通信接口实现与实验系统的双机通信,PC机的串行通信接口的 端口地址为3F8H,并画出三线连接,七线连接通信接口的连线图,接口为标准RS—232(25芯)插座。 2. 按图1连接好电路,其中8254计数器用于产生8251的发送和接收时钟,TXD和RXD 连在九针接口处。 串行通讯电路 3.连线: CLK0/8254 接1M时钟 CLK/8251 接1M时钟(系统已经连接,不用学生连接) GATE0/8254 接+5V OUT0 /8254 接TX/RXCLK/8251 CS/8254 接Y0/IO地址 CS/8251 接Y7/IO地址

RXD/8251 接TXD/九针接口 TXD/8251 接RXD/九针接口 4. 8254计数器的计数初值=时钟频率/(波特率X波特率因子),这里的时钟频率接1MHz,波特率若选1200,波特因子若选16,则计数器初值为52。 5. 设串行通信的波特率为1200、偶校验、数据位为7位、1位停止位,利用查询方式实现单工通信。要求发送方将任一文件传送到收方,收方收到后将源程序写入磁盘。分别编写收方和发方的通信程序。 6. 上述参数不变,用中断方式实现半双工通信,编写程序。 7. PC机寄存器的端口地址如下表所示: 线路控制寄存器第七位DLAB=0 线路控制寄存器第七位DLAB=1

相关文档
最新文档