文档库 最新最全的文档下载
当前位置:文档库 › 实验六:串行接口

实验六:串行接口

实验六:串行接口
实验六:串行接口

实验五单片机串行通信实验

一.实验目的

1.了解串行通信的原理,学习串行通信程序的设计和操作;

2.学习使用上位机软件“串行调试助手”。

二.实验内容

1,单片机与PC机串行通信

单片机串行接口通过MAX232芯片将单片机发出的TTL电平信号转化为RS232电平信号,与PC及232接口连接。编程实现通信。

PC机使用串口调试助手发送数据到单片机,单片机接收到数据后回发数据给PC机,单片机接收到的数据控制P0口上的LED显示二进制数。比如00H时,LED全灭,FFH时全亮。

注意:晶振需11.0592MHZ

2,单片机双机通信实验(类似于教材例6.3)

将邻近的两台单片机实验板的串行接口交叉连接(A机的RXD-B机的TXD,A机的TXD-B 机的RXD),分别在两台单片机编程设置恰当的通信方式,编写程序实现通信。

A机读取电路板上P1和P3的独立按键K1-K8的状态,组合为一完整地字节数据,然后发送到B机,并在B机的P0口上的LED显示出二进制编码

三.实验步骤

1.运行Keil C51软件,新建一个工程,编写程序。

2.将生成的HEX文件烧写到单片机中。

观察PC机串口助手和单片机上LED的编码状态。

四. 实验参考程序

实验1

ORG 0000H

LJMP MAIN

ORG 0023H

LJMP KP

ORG 0100H

MAIN: MOV TMOD,#20H

MOV TL1,#0FDH

MOV TH1,#0FDH ;9600bps

MOV SCON,#50H ;

MOV PCON,#00H

SETB EA

SETB ES

SETB TR1

Sjmp $

Kp: clr ri

Mov A,sbuf

Clr a

Mov sbuf,a

Jnb ti,$

Clr ti

Cpl a

Mov p0,a

Reti

END

实验2

A单片机(发送端)

ORG 0000H

LJMP MAIN

ORG 0030H

MAIN: MOV TMOD,#20H

MOV TL1,#0FDH

MOV TH1,#0FDH ;9600bps

MOV SCON,#40H ;发送端,不允许接收

MOV PCON,#00H

Setb tr1

Next_send:

Mov a,p1

Anl a,#0f0h ;屏蔽低4位

Rlc a

Rlc a

Rlc a

Rlc a ;左移4位成为高四位

Mov r0,a ;保存高四位

Mov a,p3

Anl a,#00111100b ;只保留p3.2到p3.5位

Rlc a

Rlc a ;右移2位成为低四位

Orl a,r0 ;形成K1K2k3k4k5k6k7k8开关二进制编码

Mov sbuf,a ;发送给B机

Wait: Jbc ti,loop1

Sjmp wait

Loop1: sjmp next_send ;返回不断读取数据、发送

end

B单片机(接收端)

ORG 0000H

LJMP MAIN

ORG 0030H

MAIN: MOV TMOD,#20H

MOV TL1,#0FDH

MOV TH1,#0FDH ;9600bps

MOV SCON,#50H ;接收送端,允许接收

MOV PCON,#00H

Setb tr1

Next_receiv:

Jbc ri,loop1

Sjmp Next_receiv

loop1: Mov a,sbuf ;接收到完整数据

mov p0,a ;送LED显示

Sjmp Next_receiv ;返回,不断接收、显示数据

end

串口通信实验讲解

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

最新单片微机原理及应用 徐春辉第10章 习题答案51系列单片机的串行通信习题与思考题答案

练习与思考题10 1.串行数据传送的主要优点和作用是什么? 答:串行数据传送的主要优点是硬件接口简单,接口端口少(2个)。主要用于微机之间或微机与外设之间的数据通信。 2.单工、半双工、全双工通信有什么异同? 答:相同之处在于都是串行通信; 单工方式:数据仅按一个固定方向传送。 半双工方式:数据可实现双向传送,但不能同时进行。 全双工方式:允许通信双方同时进行数据双向传送。。 3.假定串行口串行发送的字符格式为1个起始位,8个数据位,1个奇校验位,1个停止位, 请画出传送字符“F”的帧格式。 起始位0 1 1 0 0 0 1 0 校验位0 停止位 4.若异步通信接口按方式3传送,已知其每分钟传送3600个字符,其波特率是多少? 答:已知每分钟传送3600个字符,方式3每个字符11位,则: 波特率=(11b/字符)×(3600字符/60s)=660b/s 5.AT89S51单片机的串行口由哪些功能部件组成?各有什么作用? 答:AT89S51单片机的串行接口由发送缓冲器SBUF,接收缓冲器SBUF、输入移位寄存器、串行接口控制器SCON、定时器T1构成的波特率发生器等部件组成。 由发送缓冲期SBUF发送数据,接收缓冲期SBUF接收数据。串行接口通信的工作方式选择、接收和发送控制及状态等均由串行接口控制寄存器SCON控制和指示。定时器T1产生串行通信所需的波特率。 6.AT89S51单片机串行口有几种工作方式?有几种帧格式?各种工作方式的波特率如何 确定? 答:串行口有4种工作方式:方式0、方式1、方式2、方式3; 有3种帧格式,方式2和3具有相同的帧格式; 方式0的发送和接收都以fosc/12为固定波特率, 方式1的波特率=2SMOD/32×定时器T1的溢出率 方式2的波特率=2SMOD/64×fosc 方式3的波特率=2SMOD/32×定时器T1的溢出率 7.为什么MCS-51串行口的方式0帧格式没有起始位(0)和停止位(1)? 解答:串行口的方式0为同步移位寄存器输入输出方式,常用于外接移位寄存器,以扩展并行I/O口,一般不用于两个MCS-51之间的串行通信。该方式以fosc/12的固定波特率从低为位到高位发送或接受数据。 8.AT89S51中SCON的SM2,TB8,RB8有何作用? 答:A T89S51中SCON的SM2是多机通信控制位,主要用于方式2和方式3.若置SM2=1,则允许多机通信。 TB8是发送数据的第9位,在方式2或方式3中,根据发送数据的需要由软件置位

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

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

微型计算机原理与接口技术第十章课后答案

第十章 1. 串行通信与并行通信的主要区别是什么?各有什么优缺点? 答:计算机与外部的信息交换称为通信,基本的通信方式有两种,并行通信和串行通信。 并行通信:数据各位同时传送,此方式传输数据的速度快,但使用的通信线多,若要并行传送8位数据,需要用8根数据线,另外还需一些控制信号线。随着传输距离的增加,通信线成本的增加将成为突出的问题,而且传输的可靠性随着距离的增加而下降。因此,并行通信适用于近距离传送数据的场合。 串行通信:将要传送的数据或信息按一定的格式编码,然后在单根线上按一位接一位的先后顺序进行传送。发送完一个字符后,再发送第二个。接收数据时,每次从单根线上一位接一位的接收信息,再把它们拼成一个字符,送给CPU作进一步处理。适用于远距离通信,需要的通信线少和传送距离远等优点。 2. 在串行通信中,什么叫单工、半双工、全双工工作方式? 答:串行通信时,数据在两个站A与B之间传送,按传送方向分成单工、半双工和全双工三种方式。 单工数据线仅能在一个方向上传输数据,两个站之间进行通信时,一边只能发送数据,另一边只能接收数据,也称为单向通信。 在半双工方式中,数据可在两个设备之间向任一个方向传输,但两个设备之间只有一根传输线,故同一时间内只能在一个方向上传输数据,不能同时收发。 全双工:对数据的两个传输方向采用不同的通路,可以同时发送和接收数据。 3. 什么叫同步工作方式?什么叫异步工作方式?哪种工作方式的效率更高?为什么? 答:串行通信有两种基本工作方式:异步方式和同步方式 异步方式:不发送数据时,数据信号线总是呈现高电平,称为MARK状态,也称空闲状态。当有数据要发送时,数据信号线变成低电平,并持续一位的时间,用于表示字符的开始,称为起始位。起始位后,在信号线上依次出现待发送的每一位字符数据,最低有效位D0最先送出,根据不同编码,有效数据位可由5位、6位、7位或8位构成,数据位后面有一个奇偶校验位,校验位后至少有一位高电平表示停止位,用于指示字符的结束。由此可见,异步方式发送一个7位的ASCII码时,实际需发送10位、10.5位或11位信息,故影响传输效率。 同步方式:没有数据传送时,传输线处于MARK状态,为了表示数据传输的开始,发送方式发送一个或两个特殊字符,称为同步字符。当发送法和接收方达到同步后,就可以一个字符接一个字符发送一大块数据,不再需要用起始位和停止位了,这样就可以明显的提高数据的传输速率。同步方式传送数据时,在发送过程中,收发双发还必须用同一个时钟进行协调,用于确定串行传输中每一位的位置。接收数据时,接受方可利用同步字符将内部时钟与发送方保持同步,然后将同步字符后面的数据逐位移入,并转换成并行格式,供CPU读取,直至收到结束符为止。 4. 用图表示异步串行通信数据的位格式,标出起始位,停止位和奇偶校验位,在数字位上标出数字各位发送的顺序。 答:

北理工微机原理实验三 使用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机串口通信

实验单片机与PC机串口通信(C51编程)实验 要求: 1、掌握串行口的控制与状态寄存器SCON 2、掌握特殊功能寄存器PCON 3、掌握串行口的工作方式及其设置 4、掌握串行口的波特率(bondrate)选择 任务: 1、实现PC机发送一个字符给单片机,单片机接收到后即在个位、十位数码管上进行显示,同时将其回发给PC机。要求:单片机收到PC机发来的信号后用串口中断方式处理,而单片机回发给PC机时用查询方式。 采用软件仿真的方式完成,用串口调试助手和KEIL C,或串口调试助手和PROTEUS分别仿真。 需要用到以下软件:KEIL,VSPDXP5(虚拟串口软件),串口调试助手,Proteus。 (1)虚拟串口软件、串口调试助手和KEIL C的联调 首先在KEIL里编译写好的程序。

打开VSPD,界面如下图所示:(注明:这个软件用来进行串口的虚拟实现。在其网站上可以下载,但使用期为2周)。 左边栏最上面的是电脑自带的物理串口。点右边的addpair,可以添加成对的串口。一对串口已经虚拟互联了,如果添加的是COM3、COM4,用COM3发送数据,COM4就可以接收数据,反过来也可以。 接下来的一步很关键。把KEIL和虚拟出来的串口绑定。现在把COM3和KEIL绑定。在KEIL中进入DEBUG模式。在最下面的COMMAND命令行,输入 modecom39600,0,8,1 %分别设置com3的波特率、奇偶校验 位、数据位、停止位 assigncom3sout %把单片机的串口和COM3绑定到一 起。因为所用的单片机是

(以上参数设置注意要和所编程序中设置一致!) 打开串口调试助手 可以看到虚拟出来的串口COM3、COM4,选择COM4,设置为波特率9600,无校验位、8位数据位,1位停止位(和COM3、程序里的设置一样)。打开COM4。 现在就可以开始调试串口发送接收程序了。可以通过KEIL发送数据,在串口调试助手中就可以显示出来。也可以通过串口调试助手发送数据,在KEIL中接收。 实验实现PC机发送一个字符给单片机,单片机接收到后将其回发给PC机。在调试助手上(模拟PC)发送数据,单片机收到后将收到的结果回送到调试助手上。 2、以下在Proteus和串口调试助手实现的结果: 将编译好的HEX程序加载到Proteus中,注意这里需要加上串口模块,用来进行串行通信参数的设置。 点击串口,可以对串口进行设置: 用串口调试助手发送数据,即可看到仿真结果。 实验参考程序源文件在exp2-comm文件夹中。

单片机串口通讯实验报告

实验十单片机串行口与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方式,双方使用各自的时钟信号,而且允许时钟频率有一定误差,因此实现较容易。但是由于每个字符都要独立确定起始和结束(即每个字符都要重新同步),字符和字符间还可能有长度不定的空闲时间,因此效率较低。

串行通信实验报告材料

串行通信实验报告 班级姓名学号日期 一、实验目的: 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 实训任务 (1) 调用usart.c文件中相关函数及变量; (2) 通过计算机串口软件发送LED灯闪烁时间间隔实现串口对LED灯频率的控制。 1.1 实验说明 STM32串口简介 串口是MCU的重要外部接口,同时也是软件开发重要的调试手段。现在基本上所有的MCU都会带有串口,STM32自然也不例外。 本实验将主要从库函数操作层面结合寄存器的描述,介绍如何设置串口,以达到最基本的通信功能,并且介绍如何通过USB串口和电脑通信。串口设置的一般步骤可以总结为如下几个步骤: 1) 串口时钟使能,GPIO时钟使能 2) 串口复位 3)GPIO端口模式设置 4) 串口参数初始化 6) 使能串口 7) 编写中断处理函数 与串口基本配置直接相关的几个固件库函数和定义主要分布在 stm32f10x_usart.h和stm32f10x_usart.c文件中。关于串口更详细的介绍,请参考《STM32 参考手册》第516页至548页,通用同步异步收发器一章。 1.2 实验步骤 (1) 实训平台上PA9和PA10已经与TXD、RXD连接,串口硬件配置完成; (2) 将LED端口与对应IO口用导线连接; (3) 用数据线将串口与电脑的USB接口连接; (4) 复制上一个实验工程修改名称并保存为USART实验,并将工程文件名

称修改为USART. uvprojx; (5) 编写main()函数,程序编译成功后下载程序到实训平台; (6) 打开串口调试助手XCOM V2.0,改变延时时间观察LED灯的变化。 2 程序设计

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

实验六键盘接口实验 姓名专业通信工程学号成绩 一、实验目的 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};

8250串口实验

实验七 8250串口实验 一、实验目的 1、熟悉串行通信的一般原理和8250的工原理。 2、了解RS--232串行接口标准及连接方法。 3、掌握8250芯片的编程方法。 二、实验设备 MUT—Ⅲ型实验箱、8086CPU模块。 三、实验原理介绍 1.实验原理图见8250串行接口电路。由MAX232完成RS232 电平和TTL电平的转换,由8250完成数据的收发。8250内部有 10个寄存器,分别对应着不同的IO口地址。对不同的寄存器进 行初始化或读出写入操作就可以完成与计算机的通信。由于不能 同时收发数据,所以8250又称为通用串行异步收发器,简写为:UART。8250实验电路的所有信号均已连好。 8250串行接口电路 (1)电路原理:该电路由一片8250,一片MAX232组成,该电路所有信号线均已接好。原理图如下: (2)电路测试:见整机测试 2.程序框图(8250.ASM)

3.程序代码 ;******************************************* code segment ;define data segment assume cs:code org 0100h start: mov bx,0480h mov dx,bx add dx,6 mov ax,80h out dx,ax mov dx,bx mov ax,0ch ;000ch---9600 ,clk=4.77MHZ/4 ; AL=4770000/16/9600/4=8 out dx,ax add dx,2 mov ax,0h out dx,ax add dx,4 mov ax,07 ;no pe,8 bit, 1 stop out dx,ax mov dx,bx add dx,2 ;no interupt mov ax,0 out dx,ax add dx,8h in ax,dx mov dx,bx in ax,dx crd: call recv call send jmp crd send: push ax mov bx,0480h mov dx,bx

单片机实验报告串行口

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

课程名称:嵌入式技术开课机房: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'; // 回显回车换行

实验四-串口通信实验

实验报告 课程名称:微机原理与接口技术 指导老师:张军明 成绩:__________________ 实验名称:实验四 串口通信实验 实验类型:________________同组学生姓名:吴越 一、实验目的和要求(必填) 二、实验内容和原理(必填) 三、主要仪器设备(必填) 四、操作方法和实验步骤 五、实验数据记录和处理 六、实验结果与分析(必填) 七、讨论、心得 一、实验目的 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

第十章 串口选择题

一、选择题 1.设串行异步通信的数据格式是:1个起始位,7个数据位,1个校验位,1个停止位,若传输率为1200,则每秒钟传输的最大字符数为( C)。 (A)10个(B)110个(C)120个(D)240个 2.在数据传输率相同的情况下,同步字符传输的速度要高于异步字符传输,其原因是(D )。(A)字符间无间隔(B)双方通信同步 (C)发生错误的概率少(D)附加的辅助信息总量少 3.异步串行通信中,收发双方必须保持(C )。 (A)收发时钟相同(B)停止位相同 (C)数据格式和波特率相同(D.以上都正确 4.在数据传输率相同的情况下,同步传输率高于异步传输速率的原因是(A )。 (A)附加的冗余信息量少(B)发生错误的概率小 (C)字符或组成传送,间隔少(D)由于采用CRC循环码校验 5.用REPE SCASB指令对字符串进行扫描,如CX= 0时,扫描结束,那么表示(D)。(A)在字符串中遇上第一个AL中指定的字符 (B)在字符串中有一个AL中指定的字符 (C)在字符串中有一个不是AL中指定的字符 (D)在字符串中遇上第一个不是AL中指令的字符 6.intel公司生产的用于数据串行传送的可编程接口芯片是(D)。 (A)8259 (B)8237 (C)8255 (D)8251 7.在异步通信方式中,通常采用(B )来校验错误。 (A)循环冗余校验码(B)奇、偶校验码

(C)海明校验码(D)多种校验方式的组合 8.intel 8251A的TxD、RxD引脚的信号电平符合(B)。 (A)DTL标准(B)TTL标准(C)HTL标准(D)RS-232C标准 9.8251的方式字(模式字)的作用是( C )。 (A)决定8251的通信方式(B)决定8251的数据传送方向 (C)决定8251的通信方式和数据格式(D)以上三种都不对 10.异步传送中,CPU了解8251A是否接收好一个字符数据的方法是(D )。 (A)CPU响应8251A的中断请求 (B)CPU通过查询请求信号RTS (C)CPU通过程序查询RxD接收线状态 (D)CPU通过程序查询RxRDY信号状态 11.传送ASCII码时D7位为校验位,若采用偶校验,传送字符4的ASCII码34H时的编码为(A)。 (A)B4H (B)34H (C)35H (D)B5H 12.异步串行通信的主要特点是( B )。 (A) 通信双方不需要同步(B) 传送的每个字符是独立发送的 (C) 字符之间的间隔时间应相同(D) 传送的数据中不含有控制信息 13.在异步串行通信中,使用波特率来表示数据的传送速率,它是指(D)。 (A) 每秒钟传送的字符数(B) 每秒钟传送的字节数 (C) 每秒钟传送的字数(D) 每秒钟传送的二进制位数 14.串行通信中,若收发双方的动作由同一个时钟信号控制,则称为(A)串行通信。 (A)同步(B)异步(C)全双工(D)半双工

串口实验

5.2 串口通讯实验 5.2.1 实验目的 1. 掌握ARM的串行口工作原理; 2. 学习并编程实现ARM的UART通讯; 3. 掌握S3C44B0X寄存器配置方法。 5.2.2 实验内容 1. 实现查询方式串口的收发功能。接收来自串口(通过超级终端)的字符并将接收到的字符发送到超级终端。 5.2.3 预备知识 1. 了解ADT IDE集成开发环境的基本功能; 2. 学习串口通讯的基本知识; 5.2.4 实验设备 1. 硬件:JX44B0教学实验箱、PC机; 2. 软件:PC机操作系统 Windows 98(2000、XP) + ADT IDE集成开发环境。 5.2.5 基础知识 串行通信接口电路一般由可编程的串行接口芯片、波特率发生器、EIA与TTL电平转换器以及地址译码电路组成。采用的通信协议有两类:异步协议和同步协议。随着大规模集成电路技术的发展,通用的同步(USRT)和异步(UART)接口芯片种类越来越多,它们的基本功能是类似的。采用这些芯片作为串行通信接口电路的核心芯片,会使电路结构比较简单。下面介绍了异步串行通信的基本原理、串行接口的物理层标准以及S3C44B0X串行口控制器。1. 异步串行通信 异步串行方式是将传输数据的每个字符一位接一位(例如先低位、后高位)地传送。数据的各不同位可以分时使用同一传输通道,因此串行I/O可以减少信号连线,最少用一对线即可进行。接收方对于同一根线上一连串的数字信号,首先要分割成位,再按位组成字符。为了恢复发送的信息,双方必须协调工作。在微型计算机中大量使用异步串行I/O方式,双方使用各自的时钟信号,而且允许时钟频率有一定误差,因此实现较容易。但是由于每个字符都要独立确定起始和结束(即每个字符都要重新同步),字符和字符间还可能有长度不定的空闲时间,因此效率较低。 图5-3给出异步串行通信中一个字符的传送格式。开始前,线路处于空闲状态,送出连续“1”。传送开始时首先发一个“0”作为起始位,然后出现在通信线上的是字符的二进制编码数据。每个字符的数据位长可以约定为5位、6位、7位或8位,一般采用ASCII编码。后

相关文档