串行接口应用实验

串行接口应用实验
串行接口应用实验

(一)8251 串行接口应用实验

一、实验目的

1、掌握8251的工作方式。

2、学习串行通讯的有关知识。

二、实验设备

1、TDN86/88教学实验系统一台。

2、示波器一台。

3、一组排线。

三、实验内容及步骤

1、系统中的8251芯片

系统装有一片8251芯片,并和标准RS-232C接口连接好,如下图所示。

该电路用来完成同PC微机的联机以及串行监控操作的实现,其端口地址为:

数据口:C0H 控制口:C1H

2、实验单元中的8251

这片8251芯片用于各种串行口实验,连线见下图,其端口地址为:

数据口:80H 控制口:81H

3、8251串行接口应用实验

本实验中,串行传输的数据格式规定如下:

(1)一位逻辑‘0’的起始位,8位数据位(由低位开始传输),1位逻辑‘1’停止位。

(2)传输波特率9600baut。

数据信号的串行输出送示波器,可观察数据波形。与示波器连线如下:

8251 示波器

TxD _____________ +

GND_____________ -

4、实验程序,见13-1.ASM

CODE SEGMENT

ASSUME CS:CODE

START: CALL INIT ;初始化8253和8251

A1: CALL SEND ;向串口送55H

A2: MOV CX,0200H ;定时时间到,再发送下一个数据

LOOP A2

JMP A1 ;重复送数

INIT: MOV AL,76H ;8253的计数器1工作在方式3,送出方波信号,作为8251收发时钟

OUT 43H,AL

MOV AL,0CH ;方波频率为153.6KHz

OUT 41H,AL

MOV AL,00H

OUT 41H,AL

CALL RESET ;复位8251,即向控制口送3个0,一个40H

CALL DELAY ;8251工作速度慢,每送一个控制字,等待一会儿

MOV AL,7EH ;置异步方式:1个停止位,偶校验,字符长为8位,波特率因子为16

OUT 81H,AL ;控制口

CALL DELAY

MOV AL,31H ;RTS输出0,使CTS输入0

OUT 81H,AL ;清除错误标志,并使TxEN置1,允许发送

CALL DELAY

RET

RESET: MOV AL,00H ;复位8251

OUT 81H,AL

CALL DELAY

OUT 80H,AL

CALL DELAY

OUT 80H,AL

CALL DELAY

MOV AL,40H

OUT 81H,AL

RET

DELAY: PUSH CX ;延时子程序

MOV CX,6000H

A3: LOOP A3

POP CX

RET

SEND: PUSH AX ;发送55H

MOV AL,31H

OUT 81H,AL

POP AX

MOV AL,55H

OUT 80H,AL

RET

CODE ENDS

END START

5、实验步骤

(1)将示波器与8251的TxD、GND排针引脚相连接。

(2)输入程序并检查无误,经汇编、连接后装入系统。

(3)运行程序,在示波器上观察数据波形。

(4)改变发送的数,运行程序,观察相应波形。

四、思考题

8251对收发时钟有何特殊要求?

(二)双机通讯实验

一、实验目的

了解8251在半双工双机通讯情况下的软件编制和硬件连接技术。

二、实验设备

1、TDN86/88微机教学系统两台。

2、一组排线。

三、实验内容

用排线将两台仪器相连,具体连线如下图所示。

其中一号机用作接收机,二号机用作发送机。实验目的是将二号机中的3000~3009H十个单元中的代码传送到一号机的3000~3009H 单元中,1、2号机各自的实验程序如下:

一号机实验程序,见14-1.ASM

CODE SEGMENT

ASSUME CS:CODE

START: MOV AL,76H

OUT 43H,AL

MOV AL,0CH

OUT 41H,AL

MOV AL,00H

OUT 41H,AL

CLI

CALL INIT

CALL DELAY

MOV AL,7EH

OUT 81H,AL

CALL DELAY

MOV AL,34H ;清除出错标志,允许接收

OUT 81H,AL

CALL DELAY

MOV AX,0152H ;显示‘R’

INT 10H

MOV CX,000AH

A1: IN AL,81H

AND AL,02H

JZ A1

IN AL,80H

AND AL,7FH

MOV [DI],AL

INC DI

LOOP A1

MOV AL,00H

MOV SI,300AH

MOV [SI],AL

MOV AH,06H

MOV BX,3000H

INT 10H

STI

A2: JMP A2

INIT: MOV AL,00H

OUT 81H,AL

CALL DELAY

;OUT 81H,AL

;CALL DELAY

;OUT 81H,AL

;CALL DELAY

OUT 80H,AL

CALL DELAY

OUT 80H,AL

CALL DELAY

MOV AL,40H

OUT 81H,AL

RET

DALLY : PUSH CX

MOV CX,5000H

A3: LOOP A3

POP CX

RET

CODE ENDS

END START

;二号机实验程序,见14-2.ASM CODE SEGMENT

ASSUME CS:CODE

START: MOV AL,76H

OUT 43H,AL

MOV AL,0CH

OUT 41H,AL

MOV AL,00H

OUT 41H,AL

CALL INIT

CALL DELAY

OUT 81H,AL

CALL DELAY

; MOV AL,34H

MOV AL,31H ;允许发送

OUT 81H,AL

CALL DELAY

MOV DI,3000H

MOV CX,000AH

A1: MOV AL,[DI]

CALL SEND

CALL DELAY

INC DI

LOOP A1

A2: JMP A2 ;键入CTRL-BREAK退出

INIT: MOV AL,00H

OUT 81H,AL

CALL DELAY

;OUT 81H,AL

;CALL DELAY

;OUT 81H,AL

;CALL DELAY

OUT 80H,AL

CALL DELAY

OUT 80H,AL

CALL DELAY

MOV AL,40H

OUT 81H,AL

RET

DALLY : PUSH CX

MOV CX,5000H

A4: LOOP A4

POP CX

RET

SEND: PUSH AX

MOV AL,31H

OUT 81H,AL

POP AX

OUT 80H,AL

A3: IN AL,81H

AND AL,01H

JZ A3

RET

CODE ENDS

END START

四、实验步骤

(1)写出程序的流程图。

(2)按图将1、2号机连接起来。

(3)输入程序,并要求2号机用E命令在3000~3009H填入10个字符,

如:30 31 32 33 34 35 36 37 38 39

(4)先运行1号机程序,等待接收数据,然后运行2号机程序,当数据传送完毕时,1号机显示:R0123456789,用CTRL+C返回监控。(5)检查1号机的3000~3009H,应和2号机一致。

(三) 串口自发自收实验

一、实验目的

掌握8251串行通讯方式的硬件接口电路以及软件编程。

二、实验设备

TDN88教学实验系统一台

三、实验内容及步骤

实验规定串行通讯的数据格式如下:

一个字有一个逻辑“0”起始位,8位ASCII码数据位,一位逻辑“1”停止位,传输波特率为9600baut。实验接线如图所示:

实验用8251 TxD_______RxD

实验程序如下:见14-3.ASM

STACK SEGMENT STACK

DW 64 DUP(?)

STACK ENDS

CODE SEGMENT

ASSUME CS:CODE

START: MOV AL,76H

OUT 43H,AL

MOV AL,0CH

OUT 41H,AL

MOV AL,00H

OUT 41H,AL

CALL INIT

CALL DALLY

MOV AL,7EH

OUT 81H,AL

CALL DALLY

MOV AL,34H

OUT 81H,AL

CALL DALLY

MOV DI,3000H

MOV SI,4000H

MOV CX,000AH

A1: MOV AL,[SI]

PUSH AX

MOV AL,37H

OUT 81H,AL

POP AX

OUT 80H,AL

A2: IN AL,81H

AND AL,01H

JZ A2

CALL DALLY

A3: IN AL,81H

AND AL,02H

JZ A3

IN AL,80H

MOV [DI],AL

INC DI

INC SI

LOOP A1

A4: JMP A4

INIT: MOV AL,00H

OUT 81H,AL

CALL DALLY

OUT 81H,AL

CALL DALLY

OUT 81H,AL

CALL DALLY

OUT 81H,AL

CALL DALLY

OUT 80H,AL

CALL DALLY

MOV AL,40H

OUT 81H,AL

RET

DALLY: PUSH CX

MOV CX,3000H

A5: PUSH AX

POP AX

LOOP A5

POP CX

RET

CODE ENDS

END START

四、实验步骤

(1)按图将TxD和RxD短接。

(2)输入程序并检查无误,经汇编、连接后装入系统。

(3)用E命令在4000~400A单元赋值。

(4)运行程序,用D命令观察3000~300A单元内容和4000~400A单元内容是否一致。

五、思考题

使两机分别工作在中断方式下,画出流程图,并编制程序。

附录1 串行通讯有关知识。

1、定义:

通讯双方按照一位一位方式进行数据传输。

2、电路实现原理:

发送方:首先将待发送的并行数据送发送缓存器,以后,每来一个TxC时钟,

输出端TxD就有一位数据出现。

接收方:每来一个RxD时钟,锁存一位数据,前一次接收的数据向左移动一位。接收到一个字节后,送接收缓冲器锁存。

3、工作方式:

同步方式:让收发双方使用同一个时钟工作,为此只需用一根连线将TxC和RxC 连起来。发送方在时钟的上升沿发送数据,接收方在时钟的下降沿即位信号的中间

接收数据,双方以01111110作为起始定位,接收方检测到此信号后开始接收数据块。异步方式:收发方各自采用相近的时钟工作,只要能正确接收一个字符的数据即可。无数据时,发送方输出高电平,有数据时,依次送低电平的起始位、数据位、

高电平的结束位。见下图:

附录2 8251A串行接口芯片

1、内部结构见下图:

2、方式字见下图:

3、命令控制字见下图:

4、状态字如下:

串口通信实验讲解

课程名称: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。

串口应用实例

串口应用实例 Private Sub commload() On error goto errline Counter=0 for i=0 to 16 https://www.360docs.net/doc/a213271263.html,mport=i mscomm1.portopen=true if mscomm1.portopen=true then mscomm1.portopen=false combo1.additem “ COM”+cstr(i),counter counter=counter+1 end if next i combo1.listindex=0 end sub errline: if err.number=8005 then combo1.additem “com”+cstr(i),counter counter=counter+1 end if resume next end sub 此段代码是扫描串口,并把串口添加到combo1的里面。默认选择的是第一个扫描到的。 调入计算机存在的串口(counter++),这个很重要。随着某些变量的变化,用counter 的++来保存所有需要的变量。不管之前的变量是不是连续或者离散的。Counter 只是负责把需要的全部都记下来。用时自己选择对应需要的。 串口初始化 https://www.360docs.net/doc/a213271263.html,port=1 Mscomm1.setting=”9600,n,8,1” Mscomm1.inbuffersize=1024 Mscomm1.outbuffersize=4096 Mscomm1.inbuffercount=0 Mscomm1.outbuffercount=0 Mscomm1.Rthreshold=1 Mscomm1.sthreshold=1 Mscomm1.inputlen=13 Mscomm1.inputmode=cominputmodebinary Mscomm1.portopen=true 保存数据.ini and .txt文件 Dim strfilename as string

串行口通信实验 单片机实验报告

实验六串行口通信实验 一、实验内容 实验板上有RS-232接口,将该接口与PC机的串口连接,可以实现单片机与PC机的串行通信,进行双向数据传输。本实验要求当PC机向实验板发送的数字在实验板上显示,按实验板键盘输入的数字在PC机上显示,并用串口助手工具软件进行调试。 二、实验目的 掌握单片机串行口工作原理,单片机串行口与PC机的通信工作原理及编程方法。 三、实验原理 51单片机有一个全双工的串行通讯口,所以单片机和电脑之间可以方便地进行串口通信。进行串行通讯信要满足一定的条件,比如电脑的串口是RS232电平(-5~-15V为1,+5~+15V为0),而单片机的串口是TTL电平(大于+2.4V为1,小于- 0.7V为0),两者之间必须有一个电平转换电路实现RS232电平与TTL电平的相互转换。 为了能够在PC机上看到单片机发出的数据,我们必须借助一个Windows软件进行观察,这里我们可以使用免费的串口调试程序SSCOM32或Windows的超级终端。 单片机串行接口有两个控制寄存器:SCON和PCON。串行口工作在方式0时,可通过外接移位寄存器实现串并行转换。在这种方式下,数据为8位,只能从RXD端输入输出,TXD端用于输出移位同步时钟信号,其波特率固定为振荡频率的1/12。由软件置位串行控制寄存器(SCON)的REN位后才能启动,串行接收,在CPU将数据写入SBUF寄存器后,立即启动发送。待8位数据输完后,硬件将SCON寄存器的T1位置1,必须由软件清零。 单片机与PC机通信时,其硬件接口技术主要是电平转换、控制接口设计和远近通信接口的不同处理技术。在DOS操作环境下,要实现单片机与微机的通信,只要直接对微机接口的通信芯片8250进行口地址操作即可。WINDOWS的环境下,由于系统硬件的无关性,不再允许用户直接操作串口地址。如果用户要进行串行通信,可以调用WINDOWS的API 应用程序接口函数,但其使用较为复杂,可以使用KEILC的通信控件解决这一问题。 四、实验电路 [参考学习板说明书P27]

串行接口实验报告

课程实验报告实验名称:串行接口 专业班级: 学号: 姓名: 同组人员: 指导教师: 报告日期:

实验二 1. 实验目的 (3) 2. 实验内容 (3) 3. 实验原理 (3) 4. 程序代码 (6) 5. 实验体会 (13)

实验二 1.实验目的 1.熟悉串行接口芯片8251的工作原理 2.掌握串行通讯接收/发送程序的设计方法 2.实验内容 通过对8251芯片的编程,使得实验台上的串行通讯接口(RS232)以查询方式实现信息在双机上的。具体过程如下: 1. 从A电脑键盘上输入一个字符,将其通过A试验箱的8251数据口发送出去,然后通过B试验箱的8251接收该字符,最后在B电脑的屏幕上显示出来。 2.从A试验箱上输入步进电机控制信息(开关信息),通过A试验箱的8251数据口发送到B试验箱的8251数据口,在B试验箱上接收到该信息之后,再用这个信息控制B试验箱上的步进电机的启动停止、转速和旋转方向。 3.实验原理 1.8251控制字说明 在准备发送数据和接收数据之前必须由CPU把一组控制字装入8251。控制字分两种:方式指令和工作指令,先装入方式指令,后装入工作指令。 另外,在发送和接收数据时,要检查8251状态字,当状态字报告“发送准备好”/“接收准备好”时,才能进行数据的发送或接收。 2.8251方式指令(端口地址2B9H)

3.8251工作指令(端口地址2B9H) 4.8251状态字(端口地址2B9H) 5.8253控制字(283H) 6.8253计数初值(283H) 计数初值=时钟频率/(波特率×波特率因子)本实验:脉冲源=1MHz 波特率=1200 波特率因=16 计数初值= 1000000/1200*16=52

北理工微机原理实验三 使用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没读走前一个字符,下一个字符又接收到,称为溢出错误。

串口通信实验报告全版.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键按下

串口通信实验

实验报告(附页) 一、实验内容 1、串口通信设置: 波特率为115200bps, 数据位为8位,停止位为1位; 2、按键传输数据到串口助手显示; (1)按1,串口显示:“This is Key 1”; D5亮 (2)按2,串口显示:“This is Key 2”; D6亮 (3)按3,串口显示:“This is Key 3”; D7亮 (4)按4,串口显示:“This is Key 4”; D8亮 (5)按“*”Key ,串口显示“All LEDs is Closed” ; 灯全灭; (6)按其它Key,串口显示:”Wrong Key” 3、通过串口小肋手,向实验设备发送信息: 发送字符:”D5”、”D6”、”D7”、”D8” ,则对应的D5、D6、D7、D8亮;若发送“5”、“6”、“7”、“8”则对应的D5、D6、D7、D8灭,如发送其它字符,则在串口助手中显示:“Error Code”; 二、实验方法 (1)利用参考代码构建工程。 (2)编写实验要求的实现实验要求的功能。 (3)连接实验箱,写入程序,测试代码。 三、实验步骤 1)正确连接JLINK 仿真器到PC 机和stm32 板,用串口线一端连接STM32 开发板,另一端连接PC 机串口。 2)用IAR 开发环境打开实验例程:在文件夹05-实验例程\第2 章\2.3-uart 下双击打开工程uart.eww,Project->Rebuild All 重新编译工程。 3)将连接好的硬件平台通电(STM32 电源开关必须拨到“ ON”),接下来选择Project->Download and debug 将程序下载到STM32 开发板中。4)下载完后可以点击“Debug”->“Go”程序全速运行;也可以将STM32 开发板重新上电或者按下复位按钮让刚才下载的程序重新运行。 5)通过串口小助手检验实验结果 四、实验结果 Main函数 #include"stm32f10x.h"

单片机串口通讯实验报告

实验十单片机串行口与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内值取反

ARM实验三 ARM的串行口实验

实验三 ARM的串行口实验 一、实验目的 1.掌握ARM的串行口工作原理。 2.学习编程实现ARM的UART通讯。 3.掌握CPU利用串口通讯的方法。 二、实验内容 学习串行通讯原理,了解串行通讯控制器,阅读ARM芯片文档,掌握ARM的UART相关寄存器的功能,熟悉ARM系统硬件的UART相关接口。编程实现ARM和计算机实现串行通讯: ARM监视串行口,将接收到的字符再发送给串口(计算机与开发板是通过超级终端通讯的),即按PC键盘通过超级终端发送数据,开发板将接收到的数据再返送给PC,在超级终端上显示。 三、预备知识 1.用EWARM集成开发环境,编写和调试程序的基本过程。 2.ARM应用程序的框架结构。 3、了解串行总线。 四、实验设备及工具 硬件:ARM嵌入式开发平台、PC机Pentium100以上、用于ARM920T的JTAG 仿真器、串口线。 软件:PC机操作系统Win2000或WinXP、EWARM集成开发环境、仿真器驱动程序、超级终端通讯程序。 五、实验原理及说明 1.异步串行I/O 异步串行方式是将传输数据的每个字符一位接一位(例如先低位、后高位)地传送。数据的各不同位可以分时使用同一传输通道,因此串行I/O可以减少信号连线,最少用一对线即可进行。接收方对于同一根线上一连串的数字信号,首先要分割成位,再按位组成字符。为了恢复发送的信息,双方必须协调工作。在微型计算机中大量使用异步串行I/O方式,双方使用各自的时钟信号,而且允许时钟频率有一定误差,因此实现较容易。但是由于每个字符都要独立确定起始和结束(即每个字符都要重新同步),字符和字符间还可能有长度不定的空闲时间,因此效率较低。

串行接口应用

Overview The MCS?-51 family contains a flexible set of microcontrollers. These 8-bit embedded controllers have different features such as on-chip program memory, data RAM and some even have integrated A/D converters. One feature that all of the microcontrollers in the MCS?-51 family have in common is an integrated UART (Universal Asynchronous Receiver Transmitter). This guide has been designed so that any programmer with basic microcontroller experience can learn how to use the general features of the on-chip UART in a MCS?-51 microcontroller. This document has been created and designed in response to repeated inquires on the usage of the serial port. Working examples have been included and explained to ease the learning process. The serial port can operate in 4 modes: Mode 0: TXD outputs the shift clock. In this mode, 8 bits are transmitted and received by the same pin, RXD. The data is transmitted starting with the least significant bit first, and ending with the most significant bit. The baud rate is fixed at 1/12 the oscillator frequency. Mode 1: Serial data enters through the RXD pin and exits through the TXD pin. In this mode, a start bit of logic level 0 is transmitted then 8 bits are transmitted with the least significant bits first up to the most significant bit; following the most significant bit is the stop bit which is a logic 1. When receiving data in this mode, the stop bit is placed into RB8 in the SFR (Special Function Register) SCON. The baud rate is variable and is controlled by either timer 1 or timer 2 reload values. Mode 2: Serial data enters through the RXD pin and exits through the TXD pin. In this mode, a total of 11 bits are transmitted or received starting with a start bit of logic level 0, 8 bits of data with the least significant bit first, a user programmable ninth data bit, and a stop bit of logic level 1. The ninth data bit is the value of the TB8 bit inside the SCON register. This programmable bit is often used for parity information. The baud rate is programmable to either 1/32 or 1/64 of the oscillator frequency. Mode 3: Mode three is identical to mode 2 except that the baud rate is variable and is controlled by either timer 1 or timer 2 reload values. For more detailed information on each serial port mode, refer to the "Hardware Description of the 8051, 8052, and 80c51." in the 1993 Embedded Microcontrollers and Processors (270645).

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

实验五串行接口输入/输出实验 一、实验目的 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、掌握单片机串行口工作方式的程序设计,及简易三线式通讯的方法。 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

8031单片机串行口应用

8031单片机串行口应用实验_双机通信 一、实验目的 1、掌握串行口工作方式的程序设计,掌握单片机通信程序编制方法。 2、了解实现串行通信的硬环境,数据格式的协议,数据交换的协议。 3、掌握双机通信的原理和方法。 二、实验内容 1、利用8031单片机串行口,实现双机通信。 2、本实验实现以下功能:1号实验机键盘上键入的数字在2号实验机的数码管上显 示。 三、实验说明 1、实验时需将1号机8031串行接收信号线P3.0(RXD)连到2号机8031串行发送 信号线P3.1(TXD),1号机的P3.1(TXD)连到2号机的P3.0(RXD)。 2、两台实验机必须共地。 一、实验接线图 键盘显示部分原理参考键盘控制器8279应用实验 图(13-1) 五、实验程序框图

六、实验步骤 1、用8芯排线将8279区(a-h)连接到数码管显示区的DU(a-h),JB53(BIT0-BIT7)连接 到数码管显示区的BIT0-BIT7。用4芯排线将8279区的JB52(H1-H7)连到键盘区的KH(H4-H1)上;JB54(L4-L1)连到键盘区的KL(L4-L1)上。8279区8279CS2连到系统译码的Y6上,8279CLK连接到固定脉冲的1MHz。 2、1号机的P3.0和P3.1分别接到2号机的P3.1和P3.0上,并且将二台的GND连接 在一起。 3、先在2号机上调试运行程序test13中RXD.ASM数码管上显示“8031-2”。 4、然后在1号机上调试运行程序test13中TXD.ASM,数码管上显示“8031-1”。 5、在1号机的键盘上输入数字,会在2号机的显示器上显示。 6、也可以通过RS232接口进行双机通信。 注意:如果只有一个串口,则先关闭上位机的调试软件,不复位单片机,然后再打开串口 调试软件。

键盘接口实验实验报告及程序

实验六键盘接口实验 姓名专业通信工程学号成绩 一、实验目的 1.掌握Keil C51软件与Protues软件联合仿真调试的方法; 掌握单片机的键盘接口电路; 掌握单片机键盘扫描原理; 掌握键盘的去抖原理及处理方法。 实验仪器与设备 1.微机1台C51集成开发环境3。Proteus仿真软件 实验内容 用Proteus设计一矩阵键盘接口电路。要求利用P1口接一4*4矩阵键盘。串行口通过一74LS164接一共阴极数码管。参考电路见后面。 用线反转法编写矩阵键盘识别程序,要求采用中断方式(列线通过4输入与门74LS20接/INT0),无按键按下时,数码管循环画“8”;有按键按下时产生中断并将按键的键值0~F通过串行口输出,在数码管上显示3秒钟后返回;返回后,数码管继续循环画“8”。 将P1口矩阵键盘改为8个独立按键(用中断方式设计),键盘通过74LS30(8输入与非门)和74LS04(六反相器)与/INT0相连,重新编写识别和显示程序。实验原理 矩阵键盘识别一般应包括以下内容: 判别有无键按下。 键盘扫描取得闭合键的行、列号。 用计算法火或查表法得到键值。 判断闭合键是否释放,如果没释放则继续等待。 将闭合键的键值保存,同时转去执行该闭合键的功能。 实验步骤 用Proteus设计键盘接口电路; 在Keil C51中编写键盘识别程序,编译通过后,与Proteus联合调试; 按动任意键,观察键值是否能正确显示。 电路设计及调试、程序 程序设计:矩阵键盘 #include<> #define uchar unsigned char #define uint unsigned int uchar code table1[]={0x00,0x01,0x21,0x61,0x65,0x6d,0x7d,0x7f}; uchar code key_table[]={0xee,0xde,0xbe,0x7e,0xed,0xdd,0xbd,0x7d,0xeb,0xdb,0xbb,0x7b,0xe7,0 xd7,0xb7,0x77};

单片机实验报告串行口

单片机实验报告 实验名称:串行通信实验 姓名:魏冶 学号:090402105 班级:光电一班 实验时间:2011-11-29 南京理工大学紫金学院电光系

一、实验目的 1、理解单片机串行口的工作原理; 2、学习使用单片机的TXD、RXD口; 3、了解MAX232芯片的使用。 二、实验原理 MCS-51单片机内部集成有一个UART,用于全双工方式的串行通信,可以发送、接收数据。它有两个相互独立的接收、发送缓冲器,这两个缓冲器同名(SBUF),共用一个地址号(99H),发送缓冲器只能写入,不能读出,接收缓冲器只能读出,不能写入。 要发送的字节数据直接写入发送缓冲器,SBUF=a;当UART接收到数据后,CPU从接收缓冲器中读取数据,a=SBUF;串行接口内部有两个移位寄存器,一个用于串行发送,一个用于串行接收。定时器T1作为波特率发生器,波特率发生器的溢出信号做接收或发送移位寄存器的移位时钟。TI和RI分别发送完数据和接收完数据的中断标志,用来向CPU发中断请求。 三、实验内容 1、学会DPFlash软件的操作与使用,以及内部内嵌的一个串口调试软件的使用。 2、用串口连接PC机和DP-51PROC单片机综合仿真实验仪。 3、编写一个程序,利用单片机的串行口发送0x55,波特率为9600。 程序设计流程图

4、程序下载运行后,可在PC机上的串口调试软件上(内嵌在DPFlash软件的串口调 试器,设置通信口为COM1口,波特率为9600,数据位8,停止位1)看到接收到“UUUUUU……”,出现这样的结果就基本达到要求。 (1)代码: #include void main() { long int i; SCON=0x40; PCON=0; TMOD=0x20; TH1=0xfd; TL1=0xfd; TI=1; TR1=1; star:for(i=0;i<5000;i++); SBUF=0x55; goto star; } (2)电路图; 5、在单片机接收到0x55时返回一个0x41,在PC机一端,以接收到0x41完成,波特率2400。

实验7串行接口输入输出实验

北京林业大学 11学年—12学年第 2 学期计算机组成原理实验任务书 专业名称:计算机科学与技术实验学时: 2 课程名称:计算机组成原理任课教师:张海燕 实验题目:实验七串行接口输入输出实验 实验环境:TEC-XP+教学实验系统、PC机 实验内容 1.串行接口输入输出; 2.串行接口扩展。 实验目的 学习串行口的正确设置与使用。 实验要求 1.实验之前认真预习,明确实验的目的和具体实验内容,做好实验之前的必要准备。 2.想好实验的操作步骤,明确通过实验到底可以学习哪些知识,想一想怎么样有意识地提高教学实验的真正效果; 3.在教学实验过程中,要爱护教学实验设备,记录实验步骤中的数据和运算结果,仔细分析遇到的现象与问题,找出解决问题的办法,有意识地提高自己创新思维能力。 4.实验之后认真写出实验报告,重点在于预习时准备的内容,实验数据,运算结果的分析讨论,实验过程、遇到的现象和解决问题的办法,自己的收获体会,对改进教学实验安排的建议等。善于总结和发现问题,写好实验报告是培养实际工作能力非常重要的一个环节,应给以足够的重视。 必要知识 串行接口是计算机主机和某些设备之间实现通信,硬件造价比较低廉、标准化程度比较高的一种输入输出接口线路,缺点是通信的速度比较低。从在程序中使用串行接口芯片的角度看,接口芯片内有用户可以访问的4个寄存器,分别是接收CPU送来数据的输出数据缓冲

寄存器,向CPU提供数据的输入数据缓冲寄存器,接收CPU发来的控制命令的控制寄存器,向CPU提供接口运行状态的状态寄存器,必须有办法区分这4个寄存器。接口芯片中还有执行数据串行和并行转换的电路,接口识别电路等。 串行接口用于执行数据的输入输出操作。一次输入或输出操作通常需要两个操作步骤完成,第一步是为接口芯片提供入出端口地址,即把指令寄存器低位字节的内容(8位的IO端口地址)经过内部总线和运算器部件写进地址寄存器AR,第二步是执行输入或输出操作,若执行输入指令IN,则应从接口芯片读出一个8位的数据并经过数据总线DB和内部总线IB写进寄存器堆中的R0寄存器,若执行OUT指令,则需要把R0寄存器的内容经过内部总线IB和数据总线DB写入接口芯片。接口芯片与输入输出设备之间的数据传送过程无需另外管理,会自动完成。 教学计算机使用8位的IO端口地址,安排在IN和OUT指令的低位字节,指令的高8位用作指令操作码,16为的指令编码全部占满,已经不能再指定要使用的通用寄存器,最终决定用对IN和OUT指令默认使用运算器中的R0完成输入输出操作。IO地址端口的高4为(最高一位的值一定为1)用于通过译码电路产生接口芯片的8个片选信号,低4位用于选择一个芯片内最多16个寄存器。教学计算机中,只为每个串行口芯片地址分配了两个地址,第一路串行接口的端口地址为80H/81H,第二路串行接口的端口地址可以由用户从90/91~F0/F1这8对中选择,把译码器的一个输出连接到接口芯片的片选信号引脚。两个端口地址如何能够按照选择接口芯片内的4个寄存器呢?请注意,4个寄存器中的两个只用于输入,仅对IN 指令有用,另外两个只用于输出,仅对OUT指令有用。2个端口地址和2条输入输出指令有如下4种组合,分别实现如下4项功能: IN 80:完成从接口芯片输入数据缓冲器读出8位数据并传送到R0寄存器低位字节; OUT 80:完成把R0寄存器低位字节的8位数据写入到接口芯片的输出数据缓冲器; IN 81:完成从接口芯片状态寄存器读出8位接口状态信息并传送到R0寄存器低位字节; OUT 81:完成把R0寄存器低位字节的8位命令信息写入到接口芯片的命令寄存器。 可以看到,偶数地址用于输入输出数据,奇数地址用于输入输出状态或命令信息。 实验说明 1.TEC-XP+配置了两个串行接口COM1 和COM2,其中COM1 口是系统默认的串行口,加电复位后,监控程序对其进行初始化,并通过该口与PC 机或终端相连;而COM2 口,留给用户扩展用。

ARM的串行口实验.

课程名称:嵌入式技术开课机房:11号机房 2012年4月1日星期二8:10~11:35 专业班级通信 09( 班 学号 Xb09680204 姓 名 江 立 坤 实验项目名称实验3—— ARM的串行 口实验 指导教师陈玮 一、实验任务与实验目的 实验目的1. 了解UART的基本知识 2. 掌握基于群星系列CM3程序库的UART配置、数据收发编程 3. 学会串口调试助手或超级终端的使用 实验任务任务一:使用Stellaris驱动库函数,编写可以接收及发送字符串的基于EASY ARM 8962开发板的UART驱动程序 任务二:在Microsoft Visual Studio开发环境下,使用C#编写一桌面程序,要求可以通过串口发送指令,使用其打开LED3~LED6。命令协议可以自己定义。 二、报告内容

任务一 #include"uartGetPut.h" #include"systemInit.h" #include #include #include #define PART_LM3S8962 #include // 定义接收缓冲区 #define MAX_SIZE 40 // 缓冲区最大限制长度 char RxBuf[1 + MAX_SIZE]; // 接收缓冲区 int BufP = 0; // 缓冲区位置变量 tBoolean RxEndFlag = false; // 接收结束标志 // UART2中断服务函数 void UART0_ISR(void { char c; unsigned long ulStatus; ulStatus = UARTIntStatus(UART0_BASE, true; // 读取当前中断状态 UARTIntClear(UART0_BASE, ulStatus; // 清除中断状态 if ((ulStatus & UART_INT_RX || (ulStatus & UART_INT_RT // 若是接收中断或者{ // 接收超时中断 for (;; { if (!UARTCharsAvail(UART0_BASE break; // 若接收FIFO里无字符则跳出 c = UARTCharGetNonBlocking(UART0_BASE; // 从接收FIFO里读取字符 if (c == '\r' { UARTCharPut(UART2_BASE, '\r'; // 回显回车换行

串行接口实验—双机通信

数学与信息技术学院 《计算机应用课程设计》设计报告

摘要 微机与外部的信息交换称为通信,基本方式有并行与串行两种。本文主要说明串行方式,主要掌握微机串行通信的连接方法,熟悉其工作方式及其功能,运用程序流程图说明了其工作过程 详细介绍了使用串行接口芯片8251A实现双CPU系统数据传输的设计和方法,接着从8251A的基本原理、工作方式,以及硬件和软件设计方面进行了详细的说明。并在两台微处理器的目标机上,用串口通信模式实现了两机之间的高效通信。 关键词: 8251A;串口通信;数据传送

Abstract Exchange of information between computer and external as communications.Basic methods are both parallel and serial.This paper shows the serial mode, the main control computer serial communication connection method, familiar with their work and their functions, the use of process flow chart illustrates the process of their work. Described in detail using the serial interface chip 8251A dual CPU system design and method of data transmission, then the basic principle from 8251A, work, and hardware and software design aspects in detail. Two microprocessors in the target machine, achieved with a serial communication mode efficient communication between the two machines. Keywords: 8251A; serial communication; data transfer

相关文档
最新文档