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

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

串行通信实验报告

班级姓名学号日期

一、实验目的:

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

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

PPT的实验报告[新版].doc

膈莅蕿罿 计算机实验报告 课程名称:大学计算机基础 实验名称: 学院:专业: 报告人:级: 同组人: 指导教师: 实验时间: 实验报告提交时间: 教务处制 一、实验目的 ①掌握演示文稿制作的基本过程②按时文稿播放的基本操作 二、实验内容 ㈠powerpoint的启动及其窗口 ⒈大纲窗格 ⒉演示文稿编辑区⒊备注区 ㈡演示文稿的创建、保存与打开 ⒈演示文稿的创建⒉插入对象 ⒊演示文稿的保存⒋演示文稿的关闭⒌演示文稿的打开 ㈢演示文稿视图 ⒈普通视图 ⒉幻灯片浏览视图⒊幻灯片放映视图 ㈣格式化幻灯片 ⒈文本格式化⒉修饰幻灯片背景⒊使用配色方案⒋修改母版⒌应用版式⒍应用模板 ㈤管理幻灯片 ⒈选择幻灯片⒉删除幻灯片 ⒊插入新幻灯片⒋移动与复制幻灯片 ㈥幻灯片的放映 ⒈默认的播放效果 ⒉设置幻灯片切换方式⒊设置动画 ㈦打印幻灯片㈧应用举例 ㈨powerpoint的高级应用 ⒈个人简历的制作⒉旅游推荐的制作 三、实验结果展示 (1)powerpoint的启动及其窗口 执行“开始”→“所有程序”→“microsoft office”→“microsoft office powerpoint 2003”命令,或双击桌面上的powerpoint快捷图标,打开powerpoint应用程序窗口(2)演示文稿的创建、保存与打开 1、演示文稿的创建 建立第一张文稿 启动powerpoint后,演示文稿编辑区显示一张空白的幻灯片。用户可以先单击标题文本框,输入文本“深圳大学信息学院”。 建立第二张文稿

执行“插入”菜单的“新幻灯片”命令,powerpoint会自动增加一张版式为“标题和文 本”的新幻灯片。 2、插入对象 插入对象 在powerpoint中可以插入的对象包括了文本、艺术字、表格、图形和图片等。使用插入 对象可以丰富幻灯片的内容。 使用“插入”菜单的“对象”命令,出现“插入对象”对话框。 [羃袅莄蕿] 选择“新建”则直接从应用软件中创建;选择“由文件创建”则插入内容为已存在的对 象文件。 powerpoint也提供了一些剪贴画,可使用“插入”菜单的“图片”→“剪贴画”命令插 入剪贴画。如图6-6为插入了剪贴画的幻灯片。 单击“绘图”工具栏的“插入艺术字”按钮,可插入艺术字。 插入图片 3、演示文稿的保存 演示文稿建立完毕,使用“文件”菜单的“保存”命令保存文稿。首次保存会出现“另 存为”对话框,可以选择保存的位置、类型、文件名,再次则不在出现。若希望改变某些保 存选项,可使用“文件”菜单的“另存为”命令。 演示文稿存盘后,其文件扩展名为.pps。 4、演示文稿的关闭 使用“文件”菜单的“关闭”命令可关闭暂时不再使用的演示文稿。 5、演示文稿的打 开 执行“文件”菜单的“打开”命令可以打开一个已存在的演示文稿。篇二:ppt实验报 告 ??实验报告 一、实验目的 1. 熟悉office软件的编辑制作环境;熟练掌握 powerpoint演示文稿图形程序,掌握 课件基本动态的设置和交互创建方法。 2.熟悉多媒体课件的开发流程,形成初步的多媒体课件的设计、开发能力;提高学生 的合作意识,培养学生创新能力。 二、实验环境 多媒体计算机; windows xp 操作系统 三、实验内容 [肄芅蚁螃] 实验内容:利用powerpoint程序设计与制作一个内容相对完整的自学演示型课件。结合 自己的专业,选择了比较合适的教学内容,有利于让学生更好的接受该课程,更好的理解该课 程教学的重难点,学习更多的知识。 [芁螀袈羀] 四、操作步骤 [蒂蚁罿蒂] 1.首先准备好要做成模版的图片,打开powerpoint并新建一个空白的ppt文档。 2.视图→母版→幻灯片母版,进入母版编辑状态。??点击绘图工具栏上的“插入图 片”按钮(或按“插入→图片→来自文件”),选中要做为模版的图片,确定。并调整图 片大小,使之与母版大小一致。 ?? 3.在图片上点击鼠标右键,叠放次序→置于底层,使图片不能影响对母版排版的编辑。

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

UART串口通信设计实例

2.5 UART串口通信设计实例(1) 接下来用刚才采用的方法设计一个典型实例。在一般的嵌入式开发和FPGA设计中,串口UART是使用非常频繁的一种调试手段。下面我们将使用Verilog RTL编程设计一个串口收发模块。这个实例虽然简单,但是在后续的调试开发中,串口使用的次数比较多,这里阐明它的设计方案,不仅仅是为了讲解RTL编程,而且为了后续使用兼容ARM9内核实现嵌入式开发。 串口在一般的台式机上都会有。随着笔记本电脑的使用,一般会采用USB转串口的方案虚拟一个串口供笔记本使用。图2-7为UART串口的结构图。串口具有9个引脚,但是真正连接入FPGA开发板的一般只有两个引脚。这两个引脚是:发送引脚TxD和接收引脚RxD。由于是串行发送数据,因此如果开发板发送数据的话,则要通过TxD线1 bit接着1 bit 发送。在接收时,同样通过RxD引脚1 bit接着1 bit接收。 再看看串口发送/接收的数据格式(见图2-8)。在TxD或RxD这样的单线上,是从一个周期的低电平开始,以一个周期的高电平结束的。它中间包含8个周期的数据位和一个周期针对8位数据的奇偶校验位。每次传送一字节数据,它包含的8位是由低位开始传送,最后一位传送的是第7位。

这个设计有两个目的:一是从串口中接收数据,发送到输出端口。接收的时候是串行的,也就是一个接一个的;但是发送到输出端口时,我们希望是8位放在一起,成为并行状态(见图2-10)。我们知道,串口中出现信号,是没有先兆的。如果出现了串行数据,则如何通知到输出端口呢?我们引入“接收有效”端口。“接收有效”端口在一般情况下都是低电平,一旦有数据到来时,它就变成高电平。下一个模块在得知“接收有效”信号为高电平时,它就明白:新到了一个字节的数据,放在“接收字节”端口里面。

最新科学实验报告单

实验内容:学会使用显微镜(六年级上册第一单元) 课题:1、水滴里的生物 实验器材:显微镜、滴管、纱布、载玻片、盖玻片、碘酒、吸水纸、玻片标本若干实验类型:教师演示、学生操作 实验结论:水滴里含有草履虫等多种微生物。显微镜是观察微生物的重要工具。 小学科学六年级上册演示实验报告单 实验内容:解释地球内部结构(六年级上册第二单元) 课题:3、地球的内部 实验器材:地球构造模型(学生自制模型) 实验类型:教师演示、学生操作

实验结论:按现有的理论推测,地球内部大致可以分为三层:地壳、地幔和地核。 小学科学六年级上册演示实验报告单 实验内容:解释物质的变化(六年级上册第三单元) 课题:1、蜡烛的变化 实验器材:蜡烛、火柴、垃圾盒(或培养皿) 实验类型:教师演示、学生操作

实验结论:蜡烛是固体,点着时因受热熔化成了液体,随着温度的增高,液体又转化成能燃烧的气体。蜡烛在燃烧时,会发光发热,还会生成二氧化碳、水蒸汽、灰烬等新物质。 小学科学六年级上册演示实验报告单 实验内容:探究铁钉生锈的原因(六年级上册第三单元) 课题:2、铁钉生锈了 实验器材:无锈的钉子3枚、同样大小的有盖的透明瓶子(汽水瓶、葡萄糖瓶……)3个、白开水、蜡烛、火柴 实验类型:教师演示、学生操作(长期) 实验结论:铁生锈的必要条件是氧气、水同时存在。 小学科学六年级上册演示实验报告单 实验内容:辨别物质的酸碱性(六年级上册第三单元) 课题:3、变色花 实验器材:紫包菜、热水、滴管、烧杯(紫甘蓝水若干)、不同的液体(白醋、碱水等)、不同的食物若干(面包片、馒头片、饼干等) 实验类型:教师演示、学生操作

串行通信实验报告

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

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

实验六串行口通信实验 一、实验内容 实验板上有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]

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

实验报告-实验一IAR串口通信

实验报告-实验一IAR串口通信 以下是为大家整理的实验报告-实验一IAR串口通信的相关范文,本文关键词为实验,报告,IAR,串口,通信,实验,平台,使用,串口,通信,您可以从右上方搜索框检索更多相关文章,如果您觉得有用,请继续关注我们并推荐给您的好友,您可以在综合文库中查看更多范文。 实验一平台使用及串口通信 本次实验报告在下课后3天内上交!一、实验目的 (1)了解物联网实验 (2)箱熟悉IAR开发平台

(3)能够读懂原理图中有关传感器的接口电路(4)能够建工程项目并编写程序(5)掌握串口通信 二、实验设备 仿真器1台,gec_cc2530板1块,usb连接线1根。 三、实验内容 使用cc2530通过uART接收控制命令,完成LeD的控制。 四、实验代码 完善红色注释部分代码: #include#include #defineuintunsignedint#defineucharunsignedchar #defineRLeDp1_0#definegLeDp1_1#defineYLeDp1_4 voidinituART0(void); ucharRecdata[3]=%ucharRxTxflag=1; uchartemp; uintdatanumber=0;uintstringlen; /*******************************@brief串口(uART0)初始化******************************/voidinituART0(void){ cLKconcmD//设置系统时钟源为32mhZ晶振while(cLKconsTA//等待晶振稳定 cLKconcmD//设置系统主时钟频率为32mhZpeRcFg=0x00;//位置1p0口p0seL=0x3c;//p0用作串口

单片机串口通讯实验报告

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

最新软件测试实验报告(例)..

本科实验报告 课程名称:软件测试技术 实验项目:软件测试技术试验 实验地点:实验楼 专业班级: 学生姓名: 指导教师:谢红薇 2015年10月14 日

太原理工大学学生实验报告 实验名称实验一白盒测试方法 实验地点实验楼211 实验时间2015.10.9 一、实验目的和要求 (1)熟悉掌握白盒测试方法中的逻辑覆盖和路径覆盖的测试方法。 (2)通过实验掌握逻辑覆盖测试用例设计,掌握流程图的绘制。 (3)运用所学理论,完成实验研究的基本训练过程。 二、实验内容和原理 测试以下程序段 Void DoWork(int x,int y,int z) { (1)int k=0,j=0; (2)if((x>0)&&(z<10)) (3){ (4)k=x*y-1; (5)j=sqrt(k); (6)} (7)if((x==4)||(y>5)) (8)j=x*y+10; (9)j=j%3; (10)} 说明:程序中每行开头的数字(1-10)是对每句语句的编号。 a 画出程序的控制流图(用题中给出的语句编号表示)。 b分别用语句覆盖、判定覆盖、条件覆盖、判定/条件覆盖、条件组合覆盖和路径覆盖方法设计测试用例,并写出每个测试用例的执行路径(用题中给出的语句编号表示)。 三、实验仪器设备 笔记本电脑 四、操作方法与实验步骤 1、绘制控制流图 控制流图:

2、编写完整C 程序 附:程序代码 #include #include 1 5 2 a b e 4 7 8 9 E c d f h g i j 6 3 l k S

int dowork(int x,int y,int z){ int k=0,j=0; if((x>0)&&(z<10)){ k=x*y-1; j=sqrt(k); } if((x==4)||(y>5)) j=x*y+10; j=j%3; return j; } void main(){ int x, y ,z,j; printf("输入x,y,z的值"); scanf("%d%d%d",&x,&y,&z); j=dowork(x,y,z); printf("j的值%d",j); } 3、设计用例并运行记录分析 设判定条件 M=(x>0)&&(z<10) N=(x==4)||(y>5) 设路径 P1( abcdefhijl)=M and N P2(abcdefhkl)=M and /N P3(abgijl)=/M and N P4(abgkl)=/M and/N 1.语句覆盖 输入{x=4,y=8,z=9} 输出{j=0} 覆盖路径P1(abcdefhijl) 2.判定覆盖 输入{x=4,y=8,z=9} 输出{j=0} 覆盖路径P1(abcdefhijl)

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

《嵌入式系统实验报告》 串行通信实验 南昌航空大学自动化学院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始终无法释放。

最新C实验报告实验三

实验三 一)实验目的与要求: 1)掌握选择结构程序设计基本思想 与流程图描述。 2)掌握if-else的语法。 3)培养良好的编程风格(缩排风 格)。 二)实验内容 1)设计一个简单的计算器程序。该程序接收用户从键盘输入的一个简单表达式形式如:操作数运算符操作数后计算表达式的值,运算符限定为+、-、*、/之一。(该程序实现方式规定使用if-else语句) 可能的输入输出示例: 输入:12/5 输出:2.4 流程图: 编程: #include #include //计算表达式的值 int main() {

char s; //定义s为字符型 int number1,number2; //定义number1,number2,end为整型 float end; //定义end为单精度常量 printf("请输入计算表达式:"); //输入“请输入计算表达式:” scanf("%d%c%d",&number1,&s,&number2); //从键盘上输入数字,字符,数字 if (number2==0) //判断第二个数字是否为零 { printf("0不可作为除数"); //输出“0不可作为除数” } else if (s=='+') //判断符号是否为‘+’ { printf("%f\n",end); //输出end } else if (s=='-') //判断符号是否为‘-’{ printf("%f\n",end); //输出end } else if (s=='*') //判断符号是否为‘*’ { printf("%f\n",end); //输出end } else if (s=='/') //判断符号是否为‘/’ { printf("%f\n",end); //输出end } return 0; }

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

最新软件测试实验报告

桂林航天工业学院课程设 计报告 课程名称:软件测试 专业:软件技术 学号: 201102520xxx 姓名: 指导教师:

实验一黑盒测试 一.实验目的 (1)能熟练应用黑盒测试技术进行测试用例设计; (2)对测试用例进行优化设计; 二.实验内容 1.三角形问题的边界值分析测试用例 在三角形问题描述中,除了要求边长是整数外,没有给出其它的限制条件。在此,我们将三角形每边边长的取范围值设值为[1, 100] 。在三角形问题中,有四种可能的输出:等边三角形、等腰三角形、一般三角形和非三角形。利用这些信息能够确定下列输出(值域)等价类。 R1 = { : 边为a,b,c的等边三角形 } R2 = { : 边为a,b,c的等腰三角形 } R3 = { : 边为a,b,c的一般三角形 } R4 = { : 边为a,b,c不能组成三角形 } 2. 找零钱最佳组合 假设商店货品价格(R) 都不大于100元(且为整数),若顾客付款(P)在100元内,现有一个程序能在每位顾客付款后给出找零钱的最佳组合(找给顾客货币张数最少)。假定此商店的货币面值只包括:50元(N50)、10元(N10)、 5元(N5)、1元(N1) 四种。请结合等价类划分法和边界值分析法为上述程序设计出相应的测试用例。 三、程序代码 1.三角形问题程序。 #include int main(void){ int a,b,c;//定义三个整数a,b,c printf("请输入1到100的三个整数:"); scanf("%d%d%d",&a,&b,&c); if((a>=1&&a<=100)&&(b>=1&&b<=100)&&(b>=1&&b<=100))//判断取值范围 { if((a+b>c)&&(a+c>b)&&(b+c>a))//判断是否构成三角形 {

单片机实验报告串行口

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

ARM串口实验报告.

《 APM串口实验》 实验报告 课程名称:嵌入式微处理器技术 班级:电信 0901 姓名: 地点:嵌入式系统基础实训室 指导教师:王瑾 ARM的串行口实验 一、实验目的 ◆ 1.掌握ARM 的串行口工作原理。 ◆ 2.学习编程实现ARM 的UART 通讯。 ◆ 3.掌握CPU 利用串口通讯的方法。 二、实验内容 学习串行通讯原理,了解串行通讯控制器,阅读ARM 芯片文档,掌握ARM 的UART 相关寄存器的功能,熟悉ARM 系统硬件的UART 相关接口。编程实现ARM 和计算机实现串行通讯: ARM 监视串行口,将接收到的字符再发送给串口(计算机与开发平台是通过超级终端通讯的),即按PC 键盘通过超级终端发送数据,开发平台将接收到的数据再返送给PC,在 超级终端上显示。 三、预备知识 1、1.用ARM SDT 2.5或ADS1.2 集成开发环境,编写和调试程序的基本过程。 2、2.ARM 应用程序的框架结构。

3、3.了解串行总线 四、实验设备及工具 硬件:ARM嵌入式开发平台、用于ARM7TDMI 的JTAG 仿真器、PC机Pentium100 以上、串口线。 软件:PC 机操作系统win98、Win2000 或WinXP 、ARM SDT 2.51 或ADS1.2 集成开发环境、仿真器驱动程序、超级终端通讯程序。 五、实验原理及说明 1.异步串行I/O 异步串行方式是将传输数据的每个字符一位接一位(例如先低位、后高位地传送。数据的各不同位可以分时使用同一传输通道,因此串行I/O 可以减少信号连线,最少用一对线即可进行。接收方对于同一根线上一连串的数字信号,首先要分割成位,再按位组成字符。为了恢复发送的信息,双方必须协调工作。在微型计算机中大量使用异步串行I/O 方式,双方使用各自的时钟信号,而且允许时钟频率有一定误差,因此实现较容易。但是由于每个字符都要独立确定起始和结束(即每个字符都要重新同步,字符和字符间还可能有长度不定的空闲时间,因此效率较低。 图2-1 串行通信字符格式 图2-1 给出异步串行通信中一个字符的传送格式。开始前,线路处于空闲状态,送出连续“1”。传送开始时首先发一个“0” 作为起始位,然后出现在通信线上的是字符的二进 制编码数据。每个字符的数据位长可以约定为5 位、6 位、7 位或8 位,一般采用ASCII 编码。后面是奇偶校验位,根据约定,用奇偶校验位将所传字符中为“1”的位数凑成奇数个或偶数个。也可以约定不要奇偶校验,这样就取消奇偶校验位。最后是表示停止位的“1” 信号,这个停止位可以约定持续1 位、1.5位或2 位的时间宽度。至此一个字符传送完毕,线路又进入空闲,持续为“1”。经过一段随机的时间后,下一个字符开始传送才又发出起始位。 每一个数据位的宽度等于传送波特率的倒数。微机异步串行通信中,常用的波特率为50,

最新C实验报告综合实验一

一)实验目的与要求: 1)掌握选择结构程序设计思维和实现方法; 2)掌握循环结构程序设计思维和实现方法; 3)综合运用结构化程序设计基本要求,自顶向下完成算法设计与细化; 4)培养良好的编程风格(缩排风格)。 二)实验内容 设计一个学生成绩管理系统(V1.0),提供成绩管理系统菜单,至少包含以下选项供用户选择: 1)学生成绩新增 2)学生成绩查询 3)学生成绩修改 4)学生成绩删除 5)学生成绩全览 6)班级成绩统计 7)退出 程序能接收用户选择,并进行相应操作,直到用户选择退出。 //////////////////////////////////////////////////////////////// 流程图:

编程: #include #include //成绩管理系统V1.0 int main() { int inp,inp2,inp3,inp4; //定义inp,inp2,inp3,inp4 为整型常量char inp5; //定义inp5为字符型常量 sig:

printf("您好,欢迎使用成绩管理系统,请选择:\n");//输出您好,欢迎使用成绩管理系统,请选择: printf("1 学生成绩新增\n");//输出1 学生成绩新增 printf("2 学生成绩查询\n");//输出2 学生成绩查询 printf("3 学生成绩修改\n");//输出3 学生成绩修改 printf("4 学生成绩删除\n");//输出4 学生成绩删除 printf("5 班级成绩全览\n");//输出5 班级成绩全览 printf("6 班级成绩统计\n");//输出6 班级成绩统计 //输出0 退出 scanf("%d",&inp);//输入inp //清空缓冲区 switch(inp)//进行运算 { case(1):printf("新功能尚待完成!\n");//输出新功能尚待完成! printf("1 返回主界面\n");//输出1 返回主界面 scanf("%d",&inp2);//输入inp2 getchar();//清空缓冲区 goto sig;//进行循环

相关文档
最新文档