当前位置:文档之家› 串行通信实验报告

串行通信实验报告

串行通信实验报告
串行通信实验报告

串行通信实验报告

班级姓名学号日期

一、实验目的:

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

MOV SBUF,75H WAIT4: JNB TI,WAIT4

CLR TI

MOV IE,#90H

MOV DPH,78H

MOV DPL,77H

MOVX A,@DPTR

MOV SBUF,A WAIT: JNB F0,WAIT

RET

COM_INT: CLR TI

INC DPTR

MOV A,DPH

CJNE A,76H,END1 MOV A,DPL

CJNE A,75H,END1 SETB F0

CLR ES

CLR EA

RET

END1: MOVX A,@DPTR

MOV SBUF,A

END

乙方发送程序如下:

ORG 0000H

LJMP MAIN

ORG 0023H

LJMP COM_INT

ORG 1000H MAIN: MOV SP,#53H

ACALL RECEI HERE: SJMP HERE RECEI: MOV R0,#78H MOV TMOD,#20H MOV TH1,#0F3H MOV TL1,#0F3H MOV PCON,#80H SETB TR1

MOV SCON,#50H MOV IE,#90H CLR F0

CLR 7FH WAIT: JNB 7FH,WAIT

COM_INT: PUSH DPL

PUSH DPH

PUSH Acc

CLR RI

JB F0,R_DATA

MOV A,SBUF

MOV @R0,A

DEC R0

CJNE R0,#74H,RETN SETB F0

RETN: POP Acc

POP DPH

POP DPL

RETI

R_DATA: MOV DPH,78H

MOV DPL,77H

MOV A,SBUF

MOVX @DPTR,A

INC 77H

MOV A,77H

JNZ END2

INC 78H

END2: MOV A,76H

CJNE A,78H,RETN

MOV A,75H

CJNE A,77H,RETN

CLR ES

CLR EA

SETB 7FH

SJMP RETN

END

五、实验过程中遇到的主要问题

OUTBIT equ 08002h ; 位控制口

OUTSEG equ 08004h ; 段控制口

IN equ 08001h ; 键盘读入口

HasRcv equ 20h.0 ; 接收标志位

LEDBuf equ 40h ; 显示缓冲

RCVBuf equ 50H ; 接收缓冲

ORG 0000H

LJMP START

; 串行口中断程序

ORG 0023H

JNB TI,S0_R

CLR TI

NOP

SJMP S0_RET

S0_R: ; 接收数据

CLR RI

MOV RCVBUF,SBUF ; 保存数据

SETB HasRcv ; 提示收到数据

NOP

S0_RET:

RETI

LEDMAP: ; 八段管显示码

db 3fh, 06h, 5bh, 4fh, 66h, 6dh, 7dh, 07h

db 7fh, 6fh, 77h, 7ch, 39h, 5eh, 79h, 71h Delay: ; 延时子程序

mov r7, #0

DelayLoop:

djnz r7, DelayLoop

djnz r6, DelayLoop

ret

DisplayLED:

mov r0, #LEDBuf

mov r1, #6 ; 共6个八段管

mov r2, #00100000b ; 从左边开始显示Loop:

mov dptr, #OUTBIT

mov a, #0

movx @dptr, a ; 关所有八段管

mov a, @r0

mov dptr, #OUTSEG

movx @dptr,a

mov dptr, #OUTBIT

mov a, r2

movx @dptr, a ; 显示一位八段管

mov r6, #1

call Delay

mov a, r2 ; 显示下一位

rr a

mov r2, a

inc r0

djnz r1, Loop

ret

TestKey:

mov dptr, #OUTBIT

mov a, #0

movx @dptr, a ; 输出线置为0

mov dptr, #IN

movx a, @dptr ; 读入键状态

cpl a

anl a, #0fh ; 高四位不用

ret

KeyTable: ; 键码定义

db 16h, 15h, 14h, 0ffh

db 13h, 12h, 11h, 10h

db 0dh, 0ch, 0bh, 0ah

db 0eh, 03h, 06h, 09h

db 0fh, 02h, 05h, 08h

db 00h, 01h, 04h, 07h

GetKey:

mov dptr, #OUTBIT

mov P2, dph

mov r0, #Low(IN)

mov r1, #00100000b

mov r2, #6

KLoop:

mov a, r1 ; 找出键所在列

cpl a

movx @dptr, a

cpl a

rr a

mov r1, a ; 下一列

movx a, @r0

cpl a

anl a, #0fh

jnz Goon1 ; 该列有键入

djnz r2, KLoop

mov r2, #0ffh ; 没有键按下, 返回0ffh

sjmp Exit

Goon1:

mov r1, a ; 键值= 列X 4 + 行

mov a, r2

dec a

rl a

rl a

mov r2, a ; r2 = (r2-1)*4

mov a, r1 ; r1中为读入的行值

mov r1, #4

LoopC:

rrc a ; 移位找出所在行

jc Exit

inc r2 ; r2 = r2+ 行值

djnz r1, LoopC

Exit:

mov a, r2 ; 取出键码

mov dptr, #KeyTable

movc a, @a+dptr

mov r2, a

WaitRelease:

mov dptr, #OUTBIT ; 等键释放

clr a

movx @dptr, a

mov r6, #10

call Delay

call TestKey

jnz WaitRelease

mov a, r2

ret

START:

MOV SP, #60H

MOV IE, #0 ; DISABLE ALL INTERRUPT

MOV TMOD,#020H ; 定时器1工作于方式2 (8位重装)

MOV TH1, #0F3H ; 波特率?2400BPS @ 12MHz

MOV TL1, #0F3H

ANL PCON,#07FH ; SMOD 位清零

orl PCON,#80h

MOV SCON,#050H ; 串行口工作方式设置

MOV LEDBuf, #0ffh ; 显示8.8.8.8.

mov LEDBuf+1, #0ffh

mov LEDBuf+2, #0ffh

mov LEDBuf+3, #0ffh

mov LEDBuf+4, #0

mov LEDBuf+5, #0

SETB TR1

SETB ES

SETB EA

;mov sbuf,a

;jnb ti,$

MLoop:

jb HasRcv, RcvData ; 收到数据?

call DisplayLED ; 显示

call TestKey ; 有键入?

jz MLoop ; 无键入, 继续显示

call GetKey ; 读入键码

anl a, #0fh ; 通讯口输出键码

MOV SBUF,A

LJMP MLoop

RcvData:

clr HasRcv ; 是

mov a, RcvBuf ; 显示数据

mov b,a

anl a,#0fh ; 显示低位

mov dptr, #LEDMap

movc a, @a+dptr

mov LEDBuf+5, a

mov a,b

swap a ; 显示高位

anl a,#0fh

mov dptr, #LEDMap

movc a, @a+dptr

mov LEDBuf+4, a

ljmp MLoop

END

六、实验后的心得体会

RS232串口通信实验报告

RS232串口通信实验报告 学院:电子信息学院 班级:08031102 姓名:张泽宇康启萌余建军 学号:2011301966 2011301950 2011301961 时间:2014年11月13日 学校:西北工业大学

一.实验题目: 设计一个简单的基于串口通信的信息发送和接受界面 二.实验目的: 1.熟悉并掌握RS232串口标准及原理。 2.实现PC机通过RS232串口进行数据的收发。 3.熟悉VC语言编写程序的环境,掌握基本的VC语言编程技巧。 三.实验内容 程序代码: P// PC1PC2Dlg.cpp : implementation file // #include "stdafx.h" #include "PC1PC2.h" #include "PC1PC2Dlg.h" #ifdef _DEBUG #define new DEBUG_NEW #undef THIS_FILE static char THIS_FILE[] = __FILE__; #endif ////////////////////////////////////////////////////////////////////////// // CAboutDlg dialog used for App About class CAboutDlg : public CDialog { public: CAboutDlg(); // Dialog Data //{{AFX_DATA(CAboutDlg) enum { IDD = IDD_ABOUTBOX }; //}}AFX_DATA // ClassWizard generated virtual function overrides //{{AFX_VIRTUAL(CAboutDlg) protected: virtual void DoDataExchange(CDataExchange* pDX); // DDX/DDV support //}}AFX_VIRTUAL

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

IEEE802标准和以太网 实验报告

实验报告 实验中心(室):计算机工程实验教学中心实验分室:计算机网络基础 实验课程:计算机网络与互联网实验项目名称:IEEE802标准和以太网专业:计算机科学与技术(网络工程)年级:2014级 姓名:刘成学号:20140657031105 日期:2016年11月3日 一.实验目的 1. 掌握以太网的报文格式 2. 掌握MAC 地址的作用 3. 掌握MAC 广播地址的作用 4. 掌握LLC 帧报文格式 5. 掌握协议编辑器和协议分析器的使用方法 6. 掌握协议栈发送和接收以太网数据帧的过程 二.实验环境 三.实验内容 练习 1 领略真实的MAC 帧 各主机打开工具区的“拓扑验证工具”,选择相应的网络结构,配置网卡后,进行拓扑验证,如果通过拓扑验证,关闭工具继续进行实验,如果没有通过,请检查网络连接。本练习将主机 A 和 B 作为一组,主机 C 和 D 作为一组,主机 E 和 F 作为一组。现仅以主机A、B 所在组为例,其它组的操作参考主机A、B 所在组的操作。 1. 主机B 启动协议分析器,新建捕获窗口进行数据捕获并设置过滤条件(提取ICMP 协议)。 2. 主机A ping 主机B,察看主机B 协议分析器捕获的数据包,分析MAC 帧格式。 3. 将主机B 的过滤器恢复为默认状态。练习 2 理解MAC 地址的作用 本练习将主机 A 和 B 作为一组,主机 C 和 D 作为一组,主机 E 和 F 作为一组。现仅以主机A、B 为例,其它组的操作参考主机A、B 的操作。 1. 主机B 启动协议分析器,打开捕获窗口进行数据捕获并设置过滤条件(源MAC 地址为主机A 的MAC 地址)。 2.主机A ping 主机B。 3.主机B 停止捕获数据,在捕获的数据中查找主机A 所发送的ICMP 数据帧,并分析该帧内容 练习 3 编辑并发送MAC 广播帧 本练习将主机A、B、C、D、E、F 作为一组进行实验。1. 主机 E 启动协议编辑器。2. 主机 E 编辑一个MAC 帧:目的MAC 地址:FFFFFF-FFFFFF 源MAC 地址:主机 E 的MAC 地址协议类型或数据长度:大于0x0600 数据字段:编辑长度在46—1500 字节之间的数据 3. 主机A、B、C、D、F 启动协议分析器,打开捕获窗口进行数据捕获并设置过滤条件(源MAC 地址为主机 E 的MAC 地址)。4. 主机E 发送已编辑好的数据帧。5. 主机A、B、C、D、F 停止捕获数据,察看捕获到的数据中是否含有主机E 所发送的数据帧。●结合练习三的实验结果,简述FFFFFF-FFFFFF 作为目的MAC 地址的作用。 四.实验结果及分析(还需回答思考问题) 本机IP :169.254.112.31 本机MAC :7427EA-F01A1B 目标IP:169.254.62.201 目标MAC:7427EA-F0FA9D 练习1.2结果截图

UART串口通信实验报告

实验四 UART 串口通信 学院:研究生院 学号:1400030034 姓名:张秋明 一、 实验目的及要求 设计一个UART 串口通信协议,实现“串 <-->并”转换功能的电路,也就是 “通用异步收发器”。 二、 实验原理 UART 是一种通用串行数据总线,用于异步通信。该总线双向通信,可以实 现全双工传输和接收。在嵌入式设计中,UART 用来主机与辅助设备通信,如汽 车音响与外接AP 之间的通信,与PC 机通信包括与监控调试器和其它器件,如 EEPROM 通信。 UART 作为异步串口通信协议的一种,工作原理是将传输数据的每个字符一 位接一位地传输。 其中各位的意义如下: 起始位:先发出一个逻辑” 0的信号,表示传输字符的开始。 资料位:紧接着起始位之后。资料位的个数可以是 4、5、6、7、8等,构成 一个字符。通常采用ASCII 码。从最低位开始传送,靠时钟定位。 奇偶校验位:资料位加上这一位后,使得“ 1的位数应为偶数(偶校验)或奇数 (奇校验),以此来校验资料传送的正确性。 停止位:它是一个字符数据的结束标志。可以是 1位、1.5位、2位的高电 平。由于数据是在传输线上定时的,并且每一个设备有其自己的时钟,很可能 在通信中两台设备间出现了小小的不同步。 因此停止位不仅仅是表示传输的结束, 并且提供计算机校正时钟同步的机会。适用于停止位的位数越多,不同时钟同步 的容忍程度越大,但是数据传输率同时也越慢。 空闲位:处于逻辑“ 1状态,表示当前线路上没有资料传送。 波特率:是衡量资料传送速率的指标。表示每秒钟传送的符号数(symbol )。 一个符号代表的信息量(比特数)与符号的阶数有关。例如资料传送速率为 120 字符/秒,传输使用256阶符号,每个符号代表8bit ,则波特率就是120baud,比 特率是120*8=960bit/s 。这两者的概念很容易搞错。 三、 实现程序 library ieee; use ieee.std 」o gic_1164.all; end uart; architecture behav of uart is en tity uart is port(clk : in std_logic; rst_n: in std 」o gic --系统时钟 --复位信号 rs232_rx: in std 」o gic rs232_tx: out std 」o gic --RS232接收数据信号; --RS232发送数据信号;); use ieee.std_logic_ un sig ned.all;

串行通信实验报告

串行通信实验报告 班级学号日期 一、实验目的: 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

计算机网络与通讯实验报告记录

计算机网络与通讯实验报告记录

————————————————————————————————作者:————————————————————————————————日期:

实验名称:RJ-45接口与网卡设置 一.题目 二.实验设备仪器(软件环境) ⒈RJ-45压线钳 ⒉双绞线剥线器 ⒊ RJ-45接头 ⒋双绞线 ⒌网线测试仪 ⒍网卡 三.试验目的 1.掌握使用双绞线作为传输介质的网络连接方法,学会制作RJ45接头。 2.学会测线器的使用方法。 3.学会网卡的安装与设置。 四.试验内容及步骤 1.网线制作 (1)按以下步骤制作网线(直通线): ●抽出一小段线,然后先把外皮剥除一段; ●将双绞线反向缠绕开; ●根据标准排线(注意这里非常重要); ●铰齐线头(注意线头长度); ●插入插头; ●用打线钳夹紧; ●用同样方法制作另一端。 (2)网线的检查、测试 可以使用网线测试仪或万用表测试网线连接逻辑是否正确。网线制作好后,将其两端分别插入网卡和交换机的插口内,开机后对应的指示灯应闪亮。 2.网卡的安装与设置 (1)安装网卡驱动程序 一.将网卡插入计算机主板的插槽内,启动计算机; 二.单击【开始】|【设置】|【控制面板】命令,打开【控制面板】窗口,双击【添加硬件】 图标; 三.弹出【添加硬件向导】,在设备列表中选择所用的网卡设备,插入带有网卡驱动程序的 光盘(或磁盘),按向导提示逐步安装驱动程序; 四.若安装成功,向导会给出正确的提示。

(2)网络协议的添加(此步可略) 一般情况下,安装好网卡的驱动程序以后,最基本的TCP/IP网络协议会自动被添加到系统中。但在某些特殊情况下,需要我们手动添加/删除网络协议: ●单击【开始】|【设置】|【控制面板】命令,打开【控制面板】窗口,双击【网 络连接】图标; ●打开【网络连接】窗口,选中【本地连接】图标,点击右键,在弹出菜单中选 【属性】; ●进入【属性】对话框,选【常规】项,单击【安装】按钮; ●弹出【选择网络组件类型】对话框,在【单击要安装的网络组件类型】列表中 选【协议】,单击【安装】; ●弹出【选择网络协议】对话框,在【网络协议】列表中选择所要的协议,单击 【确定】按钮。 (3)网卡的设置 网卡安装成功后,必须对其进行配置,配置前,必须到网络中心申请到合法的IP地址,并得到网络中心提供的域名及其IP地址、网关的IP地址。 (1)打开【网络连接】中“本地连接”的【属性】窗口; (2)选中【Internet协议(TCP/IP)】,单击【属性】按钮; (3)打开【Internet协议(TCP/IP)属性】窗口,分别设置“IP地址”、“子网掩码”、“默认 网关”、“DNS服务器”等项。 3.网络连通的测试 常用ping命令来测试网络连接,格式: ping [-t] [-a] [-n count] [-l length] [-f] [-i ttl] [-v tos] [-r count] [-s count] [[-j computer-list] | [-k computer-list]] [-w timeout] destination-list 参数含义 -t 校验与指定计算机的连接,直到用户中断。 -a 将地址解析为计算机名。 -n count 发送由count指定数量的ECHO 报文,默认值为 4。 -l length 发送包含由length 指定数据长度的ECHO报文。 默认值为64字节,最大值为8192 字节。 -f 在包中发送“不分段”标志,该包将不被路由上的 网关分段。 -I ttl 将“生存时间”字段设置为ttl指定的数值。 -v tos 将“服务类型”字段设置为tos指定的数值。 -r count 在“记录路由”字段中记录发出报文和返回报文的 路由。指定的Count值最小可以是1,最大可以是 9 。 -s count 指定由count指定的转发次数的时间邮票。 -j computer-list 经过由computer-list指定的计算机列表的路由报 文。中间网关可能分隔连续的计算机(松散的源路 由)。允许的最大IP地址数目是9。 -k computer-list 经过由computer-list指定的计算机列表的路由报

UART串口通信实验报告

实验四UART串口通信 学院:研究生院学号:1400030034姓名:张秋明 一、实验目的及要求 设计一个UART串口通信协议,实现“串<-->并”转换功能的电路,也就是“通用异步收发器”。 二、实验原理 UART是一种通用串行数据总线,用于异步通信。该总线双向通信,可以实现全双工传输和接收。在嵌入式设计中,UART用来主机与辅助设备通信,如汽车音响与外接AP之间的通信,与PC机通信包括与监控调试器和其它器件,如EEPROM通信。 UART作为异步串口通信协议的一种,工作原理是将传输数据的每个字符一位接一位地传输。 其中各位的意义如下: 起始位:先发出一个逻辑”0”的信号,表示传输字符的开始。 资料位:紧接着起始位之后。资料位的个数可以是4、5、6、7、8等,构成一个字符。通常采用ASCII码。从最低位开始传送,靠时钟定位。 奇偶校验位:资料位加上这一位后,使得“1”的位数应为偶数(偶校验)或奇数(奇校验),以此来校验资料传送的正确性。 停止位:它是一个字符数据的结束标志。可以是1位、1.5位、2位的高电平。由于数据是在传输线上定时的,并且每一个设备有其自己的时钟,很可能在通信中两台设备间出现了小小的不同步。因此停止位不仅仅是表示传输的结束,并且提供计算机校正时钟同步的机会。适用于停止位的位数越多,不同时钟同步的容忍程度越大,但是数据传输率同时也越慢。 空闲位:处于逻辑“1”状态,表示当前线路上没有资料传送。 波特率:是衡量资料传送速率的指标。表示每秒钟传送的符号数(symbol)。一个符号代表的信息量(比特数)与符号的阶数有关。例如资料传送速率为120字符/秒,传输使用256阶符号,每个符号代表8bit,则波特率就是120baud,比特率是120*8=960bit/s。这两者的概念很容易搞错。 三、实现程序 library ieee; use ieee.std_logic_1164.all; use ieee.std_logic_arith.all; use ieee.std_logic_unsigned.all; entity uart is port(clk : in std_logic; --系统时钟 rst_n: in std_logic; --复位信号 rs232_rx: in std_logic; --RS232接收数据信号; rs232_tx: out std_logic --RS232发送数据信号;); end uart; architecture behav of uart is

串行通信实验报告

串行通信实验报告 班级姓名学号日期 一、实验目的: 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

单片机串口通讯实验报告

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

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

《嵌入式系统实验报告》 串行通信实验 南昌航空大学自动化学院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);”,那么程序还能否完全正常无误运行? 答:OSSemPost (OS_EVENT *pevent),这个函数是释放资源,执行后资源数目会加1。在该函数中,删除对应语句则使串口资源UART0_Sem始终无法释放。

以太网交换配置实验报告

以太网交配置实验报告 郴州师范学校王资生 2012-11-14 任务要求: 1、掌握以太网交换原理; 2、掌握Vlan配置方法; 3、掌握三层交换原理; 4、掌握链路聚合的配置方法 实验一用trunck口实现Vlan跨交换机扩展要求:PC0、PC2属于vlan10,PC1、PC3属于vlan20,在SW0上进行正确的配置,要求实现PC0和PC1之间不能通信,PC2和PC3之间不能通信,PC0和PC2之间可以通信,PC1和PC3之间可以通信。 IP设置: 实验步骤: 一、建立好数据连接。如上图 二、设置好各IP,具体如下: PC0:192.168.1.1 255.255.255.0 PC1:192.168.1.2 255.255.255.0 PC3:192.168.1.3 255.255.255.0 PC4:192.168.1.4 255.255.255.0 三、配置交换s1

代码如下: 1、在交换机上创建两个vlan,分别是Vlan 10 和Vlan 20 Switch>en Switch#config t Enter configuration commands, one per line. End with CNTL/Z. Switch(config)#vlan 10 Switch(config-vlan)#vlan 20 2、指定两个端口fa0/1 和fa0/2 Switch(config)#interface fa0/1 Switch(config-if)#switch mode access Switch(config-if)#switch access vlan 10 Switch(config-if)#interface fa0/2 Switch(config-if)#switch mode access Switch(config-if)#switch access vlan 20 3、设置交换机S1与S2连接端口类型,端口fa0/3允许fa0/1和fa0/2通过Switch(config-if)#switch moder trunk Switch(config-if)#switch trunk all Switch(config-if)#switch trunk allowed vlan 10,20 5、查看配置情况,是否成功。 Switch#show run Building configuration... Current configuration : 1133 bytes ! version 12.1 no service timestamps log datetime msec no service timestamps debug datetime msec no service password-encryption ! hostname Switch ! ! spanning-tree mode pvst ! interface FastEthernet0/1 switchport access vlan 10 switchport mode access ! interface FastEthernet0/2 switchport access vlan 20 switchport mode access

(3)UART 发送与接收

实验报告3 1.实验名称:UART 发送与接收 2.实验原理:以UART方式设置串口,当有数据发送时触发中断,进入中断程序。 3.实验结果: 实现CC2530通过串口向PC机串口发送字符串“What is your name?”,电脑向CC2530发送名字,名字以#号结束,CC2530向串口发送字符串”HELLO”+名字。 4.实验改进需求: 输出0V和1V 5.代码: 原始代码: #include #include #define led1 P1_0 #define led2 P1_1 #define uint unsigned int #define uchar unsigned char void initUARTO(void); void InitialAD(void); void UartTX_Send_String(uchar *Data,int len); uchar str1[20]="What is your name?"; uchar str2[7]="HELLO"; uchar Recdata[20]; uchar RXTXflag=1; uchar temp; uint datanumber=0; uint stringlen;

//初始化串口0函数 void initUARTO(void) { CLKCONCMD &=~0x40; while(CLKCONSTA & 0x40); CLKCONCMD &=~0x47; PERCFG=0x00; P0SEL=0x3c; P2DIR&=~0xc0; U0CSR|=0x80; U0GCR|=9; U0BAUD|=59; UTX0IF=1; U0CSR|=0x40; IEN0|=0x84; } //串口发送字符串函数 void UartTX_Send_String(uchar *Data,int len) { uint j; for(j=0;j

宽带通信网综合实验报告.doc

《宽带通信网综合实验报告》 组员:XX 组员:XX 学院:通信工程学院

FTTx实验 【实验步骤和结果】 1、根据图13所示,搭建系统,其中三台ONU接计算机终端,还有一台ONU 接IPTV机顶盒。用ping命令检查接入系统是否可以连通?如果不能连通,请分析原因。如果可以连通,使用tracert命令检查路由,并给出HTTx的路由信息。 图1(ping) 图2(tracert) 2、用ipconfig检查接入终端的IP地址和网关,记录下来,并与LAN接入的地 址相比较,它们有什么不同?原因是什么? 经比较发现,两个地址的网段不同。

图3为ipconfig命令 图4为LAN接入地址 3、用telnet远程登录R4101路由器,记录有关光接口的配置信息。 ESR实验 【实验步骤和结果】 1、搭建系统,将三台S2016交换机组成一个ESR环,确定主节点为S2016(1),从节点 为S2016(2)和S2016(3)。 S2016(1)系统地址S2016(2)系统地址S2016(3)系统地址 192.168.6.249 192.168.6.250 192.168.6.251

(1)先配置主交换机: (2)进入ESR配置模式,并将该交换机配置成主站: (3)置ESR环所用接口和VLAN,并使能该ESR: (4)配置从交换机: 先对S2016(2)进行配置:

步骤同上,对S2016(3)进行相同配置。 (5)使用ping 192.168.6.254命令查看网络,网络连通成功。 3、人为切断ESR环路,由于前面对主、从交换机的成功配置,使得ESR域的master node 控制其第二接口的阻塞实现了保护倒换功能。系统正常运行。 S2016(1) S2016(2) S2016(3) 端口连接和用途端口用途端口用途 16 连接S2016(1) 15 连接S2016(1) 15 与S2016(2)连接, 用作组建ESR环 15 连接S2016(3) 16 连接S2016(2) 16 与S2016(3)连接, 用作组建ESR环

网络交换技术实验报告

Harbin Institute of Technology 网络交换技术 实验报告 院(系)电子与信息工程学院 学科信息与通信工程(51) 学生 学号 提交报告日期2013年10月27日 哈尔滨工业大学

网络交换技术课程实验报告 一,实验目的 数据通信是通信技术和计算机技术相结合而产生的一种新的通信方式。它通过通信线路将信息发生源(数据终端)与计算机连结起来,从而可使不同地点的数据终端直接利用计算机来实现软、硬件和信息资源的共享。交换机和路由器在数据通信中起着核心作用,用来完成组网和数据交换的功能。 本实验的目的就是通过实际操作加深对交换机和路由器基本知识和原理的了解,熟悉相关配置,强化对数据通信的认识。 二,实验内容 本实验使用中兴公司生产的3900系列交换机和1800系列路由器,分别进行VLAN和QoS的配置实验。 1,中兴3900系列交换机的VLAN和QoS配置实验 1.1 ZXR103900交换机简介 ZXR103900/3200是中兴通讯自主研发的智能快速以太网交换机,本实验中使用的3928属于3900系列,3900系列可作为大型企业网、园区网的汇聚三层交换机,支持多种单播和组播路由协议。ZXR103906/3952/3928实现了全线速的二三层交换功能,广泛支持多种协议,提供各种功能。 1.2 VLAN简介 VLAN(VitualLocalAreaNetwork)是一种将物理网络划分成多个逻辑(虚拟)局域网(LAN)的技术。 每个VLAN都有一个VLAN标识(VID)。利用VLAN技术,网络管理者能够根据实际应用需要,把同一物理局域网中的用户逻辑的划分成不同的广播域(每个广播域即一个VLAN),使具有相同需求的用户处于同一个广播域,不同需求的用户处于不同的广播域。每个VLAN在逻辑上就像一个独立的局域网,与物理上形成的LAN具有相同的属性。同一个VLAN中的所有广播和单播流量都被限制在该VLAN中,不会转发到其它VLAN中。当不同VLAN的设备要进行通信时,必须经过三层的路由转发。 VLAN的优点主要有: 1.减少网络上的广播流量; 2.增强网络的安全性; 3.简化网络的管理控制。 1.3 VLAN配置 (1)一般配置 如图1所示,交换机A的端口fei_3/1、fei_3/2和交换机B的端口fei_3/1、fei_3/2属于VLAN10;交换机A的端口fei_3/4、fei_3/5和交换机B的端口fei_3/4、fei_3/5属于VLAN20,均为Access端口。两台交换机通过端口gei_7/1以Trunk方式连接,

单片机实验报告串行口

单片机实验报告 实验名称:串行通信实验 姓名:魏冶 学号: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。

实验四 UART串口通信实验报告

实验四UART串口通信 一、实验目的及要求 设计一个UART串口通信协议,实现“串<-->并”转换功能的电路,也就是“通用异步收发器”。 二、实验原理 UART是一种通用串行数据总线,用于异步通信。该总线双向通信,可以实现全双工传输和接收。在嵌入式设计中,UART用来主机与辅助设备通信,如汽车音响与外接AP之间的通信,与PC机通信包括与监控调试器和其它器件,如EEPROM通信。 UART作为异步串口通信协议的一种,工作原理是将传输数据的每个字符一位接一位地传输。 其中各位的意义如下: 起始位:先发出一个逻辑”0”的信号,表示传输字符的开始。 资料位:紧接着起始位之后。资料位的个数可以是4、5、6、7、8等,构成一个字符。通常采用ASCII码。从最低位开始传送,靠时钟定位。 奇偶校验位:资料位加上这一位后,使得“1”的位数应为偶数(偶校验)或奇数(奇校验),以此来校验资料传送的正确性。 停止位:它是一个字符数据的结束标志。可以是1位、1.5

位、2位的高电平。由于数据是在传输线上定时的,并且每一个设备有其自己的时钟,很可能在通信中两台设备间出现了小小的不同步。因此停止位不仅仅是表示传输的结束,并且提供计算机校正时钟同步的机会。适用于停止位的位数越多,不同时钟同步的容忍程度越大,但是数据传输率同时也越慢。 空闲位:处于逻辑“1”状态,表示当前线路上没有资料传送。 波特率:是衡量资料传送速率的指标。表示每秒钟传送的符号数(symbol)。一个符号代表的信息量(比特数)与符号的阶数有关。例如资料传送速率为120字符/秒,传输使用256阶符号,每个符号代表8bit,则波特率就是120baud,比特率是120*8=960bit/s。这两者的概念很容易搞错。 三、实现程序 library ieee; use ieee.std_logic_1164.all; use ieee.std_logic_arith.all; use ieee.std_logic_unsigned.all; entity uart is port(clk : in std_logic; --系统时钟rst_n: in std_logic; --复位信号 rs232_rx: in std_logic; --RS232接收

通信网原理实验报告Ethernet-and-ARP

实验一Ethernet and ARP 一、实验目的 1.加强对以太网帧格式的理解; 2.理解ARP协议的工作原理。 二、实验环境 1.PC机一台; 2.WireShark软件。 三、实验内容 1. Capturing and analyzing Ethernet frames 2. The Address Resolution Protocol 四、实验步骤及思考 (一)Capturing and analyzing Ethernet frames HTTP GET Message

(1)Based on the contents of the Ethernet frame containing the HTTP GET message 1. What is the 48-bit Ethernet address of your computer? Answer:The 48-bit Ethernet address of my computer is:c8:0a:a9:db:9b:f3 The Ethernet address of my computer 2. What is the 48-bit destination address in the Ethernet frame? Is this the Ethernet address of https://www.doczj.com/doc/996993355.html,? (Hint: the answer is no). What device has this as its Ethernet address? [Note: this is an important question, and one that students sometimes get wrong. Re-read pages 468-469 in the text and make sure you understand the answer here.]

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