搜档网
当前位置:搜档网 › 正点原子串口实验

正点原子串口实验

正点原子串口实验
正点原子串口实验

第九章串口实验

前面两章介绍了STM32的IO口操作。这一章我们将学习STM32的串口,教大家如何使用STM32的串口来发送和接收数据。本章将实现如下功能:STM32通过串口和上位机的对话,STM32在收到上位机发过来的字符串后,原原本本的返回给上位机。本章分为如下几个小节:

9.1 STM32串口简介

9.2 硬件设计

9.3 软件设计

9.4 下载验证

9.1 STM32串口简介

串口作为MCU的重要外部接口,同时也是软件开发重要的调试手段,其重要性不言而喻。现在基本上所有的MCU都会带有串口,STM32自然也不例外。

STM32的串口资源相当丰富的,功能也相当强劲。ALIENTEK战舰STM32开发板所使用的STM32F103ZET6最多可提供5路串口,有分数波特率发生器、支持同步单线通信和半双工单线通讯、支持LIN、支持调制解调器操作、智能卡协议和IrDA SIR ENDEC规范、具有DMA等。

5.3节对串口有过简单的介绍,接下来我们将从寄存器层面,告诉你如何设置串口,以达到我们最基本的通信功能。本章,我们将实现利用串口1不停的打印信息到电脑上,同时接收从串口发过来的数据,把发送过来的数据直接送回给电脑。战舰STM32开发板板载了1个USB串口和1个RS232串口,我们本章介绍的是通过USB串口和电脑通信。

串口最基本的设置,就是波特率的设置。STM32的串口使用起来还是蛮简单的,只要你开启了串口时钟,并设置相应IO口的模式,然后配置一下波特率,数据位长度,奇偶校验位等信息,就可以使用了,详见5.3.2节。下面,我们就简单介绍下这几个与串口基本配置直接相关的寄存器。

1,串口时钟使能。串口作为STM32的一个外设,其时钟由外设时钟使能寄存器控制,这里我们使用的串口1是在APB2ENR寄存器的第14位。APB2ENR寄存器在之前已经介绍过了,这里不再介绍。只是说明一点,就是除了串口1的时钟使能在APB2ENR寄存器,其他串口的时钟使能位都在APB1ENR寄存器。

2,串口复位。当外设出现异常的时候可以通过复位寄存器里面的对应位设置,实现该外设的复位,然后重新配置这个外设达到让其重新工作的目的。一般在系统刚开始配置外设的时候,都会先执行复位该外设的操作。串口1的复位是通过配置APB2RSTR寄存器的第14位来实现的。APB2RSTR寄存器的各位描述如图9.1.1所示:

图9.1.1 APB2RSTR寄存器各位描述

从图9.1.1可知串口1的复位设置位在APB2RSTR的第14位。通过向该位写1复位串口1,写0结束复位。其他串口的复位位在APB1RSTR里面。

3,串口波特率设置。在5.3.2节,我们已经介绍过了,每个串口都有一个自己独立的波特率寄存器USART_BRR,通过设置该寄存器就可以达到配置不同波特率的目的。具体实现方法,请参考5.3.2节。

4,串口控制。STM32的每个串口都有3个控制寄存器USART_CR1~3,串口的很多配置都是通过这3个寄存器来设置的。这里我们只要用到USART_CR1就可以实现我们的功能了,该寄存器的各位描述如图9.1.2所示:

图9.1.2 USART_CR寄存器各位描述

该寄存器的高18位没有用到,低14位用于串口的功能设置。UE为串口使能位,通过该位置1,以使能串口。M为字长选择位,当该位为0的时候设置串口为8个字长外加n个停止位,停止位的个数(n)是根据USART_CR2的[13:12]位设置来决定的,默认为0。PCE为校验使能位,设置为0,则禁止校验,否则使能校验。PS为校验位选择,设置为0则为偶校验,否则为奇校验。TXIE为发送缓冲区空中断使能位,设置该位为1,当USART_SR中的TXE位为1时,将产生串口中断。TCIE为发送完成中断使能位,设置该位为1,当USART_SR中的TC位为1时,将产生串口中断。RXNEIE为接收缓冲区非空中断使能,设置该位为1,当USART_SR中的ORE或者RXNE位为1时,将产生串口中断。TE为发送使能位,设置为1,将开启串口的发送功能。RE为接收使能位,用法同TE。

其他位的设置,这里就不一一列出来了,大家可以参考《STM32参考手册》第542页有详细介绍,在这里我们就不列出来了。

5,数据发送与接收。STM32的发送与接收是通过数据寄存器USART_DR来实现的,这是一个双寄存器,包含了TDR和RDR。当向该寄存器写数据的时候,串口就会自动发送,当收到收据的时候,也是存在该寄存器内。该寄存器的各位描述如图9.1.3所示:

图9.1.3 USART_DR寄存器各位描述

可以看出,虽然是一个32位寄存器,但是只用了低9位(DR[8:0]),其他都是保留。

DR[8:0]为串口数据,包含了发送或接收的数据。由于它是由两个寄存器组成的,一个给发送用(TDR),一个给接收用(RDR),该寄存器兼具读和写的功能。TDR寄存器

提供了内部总线和输出移位寄存器之间的并行接口。RDR寄存器提供了输入移位寄存器和内部总线之间的并行接口。

当使能校验位(USART_CR1种PCE位被置位)进行发送时,写到MSB的值(根据数据的长度不同,MSB是第7位或者第8位)会被后来的校验位该取代。

当使能校验位进行接收时,读到的MSB位是接收到的校验位。

6,串口状态。串口的状态可以通过状态寄存器USART_SR读取。USART_SR的各位描述如图9.1.4所示:

图9.1.4 USART_SR寄存器各位描述

这里我们关注一下两个位,第5、6位RXNE和TC。

RXNE(读数据寄存器非空),当该位被置1的时候,就是提示已经有数据被接收到了,并且可以读出来了。这时候我们要做的就是尽快去读取USART_DR,通过读USART_DR可以将该位清零,也可以向该位写0,直接清除。

TC(发送完成),当该位被置位的时候,表示USART_DR内的数据已经被发送完成了。如果设置了这个位的中断,则会产生中断。该位也有两种清零方式:1)读USART_SR,写USART_DR。2)直接向该位写0。

通过以上一些寄存器的操作外加一下IO口的配置,我们就可以达到串口最基本的配置了,关于串口更详细的介绍,请参考《STM32参考手册》第516页至548页,通用同步异步收发器一章。

9.2 硬件设计

本实验需要用到的硬件资源有:

1) 指示灯DS0

2) 串口1

串口1之前还没有介绍过,本实验用到的串口1与USB串口并没有在PCB上连接在一起,需要通过跳线帽来连接一下。这里我们把P6的RXD和TXD用跳线帽与PA9和PA10连接起来。如图9.2.1所示:

图9.2.1 硬件连接图示意图

连接上这里之后,我们在硬件上就设置完成了,可以开始软件设计了。

9.3 软件设计

本章的代码设计,比前两章简单很多,因为我们的串口初始化代码和接收代码就是用我们之前介绍的SYSTEM文件夹下的串口部分的内容。这里我们对代码部分稍作讲解。

打开上一章的TEST工程,然后在SYSTEM组下双击usart.c,我们就可以看到该文件里面的代码,先介绍uart_init函数,该函数代码如下:

//初始化IO 串口1

//pclk2:PCLK2时钟频率(Mhz)

//bound:波特率

void uart_init(u32 pclk2,u32 bound)

{

float temp;

u16 mantissa;

u16 fraction;

temp=(float)(pclk2*1000000)/(bound*16);//得到USARTDIV

mantissa=temp; //得到整数部分

fraction=(temp-mantissa)*16; //得到小数部分

mantissa<<=4;

mantissa+=fraction;

RCC->APB2ENR|=1<<2; //使能PORTA口时钟

RCC->APB2ENR|=1<<14; //使能串口时钟

GPIOA->CRH&=0XFFFFF00F;//IO状态设置

GPIOA->CRH|=0X000008B0;//IO状态设置

RCC->APB2RSTR|=1<<14; //复位串口1

RCC->APB2RSTR&=~(1<<14);//停止复位

//波特率设置

USART1->BRR=mantissa; // 波特率设置

USART1->CR1|=0X200C; //1位停止,无校验位.

#if EN_USART1_RX //如果使能了接收

//使能接收中断

USART1->CR1|=1<<8; //PE中断使能

USART1->CR1|=1<<5; //接收缓冲区非空中断使能

MY_NVIC_Init(3,3,USART1_IRQChannel,2);//组2,最低优先级

#endif

}

从该代码可以看出,其初始化串口的过程,和我们前面介绍的一致。先计算得到USART1->BRR的内容。然后开始初始化串口引脚,接着把USART1复位,然之后设置波特率和奇偶校验等。

这里需要注意一点,因为我们使用到了串口的中断接收,必须在usart.h里面设置EN_USART1_RX为1(默认设置就是1的) 。该函数才会配置中断使能,以及开启串口1的NVIC中断。这里我们把串口1中断放在组2,优先级设置为组2里面的最低。

串口1的中断服务函数USART1_IRQHandler,在5.3.1已经有详细介绍了,这里

我们就不再介绍了。

介绍完了这两个函数,我们回到test.c,在test.c里面编写如下代码:#include "sys.h"

#include "usart.h"

#include "delay.h"

#include "led.h"

#include "beep.h"

#include "key.h"

int main(void)

{

u16 t;

u16 len;

u16 times=0;

Stm32_Clock_Init(9); //系统时钟设置

uart_init(72,9600); //串口初始化为9600

delay_init(72); //延时初始化

LED_Init(); //初始化与LED连接的硬件接口

BEEP_Init(); //初始化蜂鸣器端口

KEY_Init(); //初始化与按键连接的硬件接口

while(1)

{

if(USART_RX_STA&0x8000)

{

len=USART_RX_STA&0x3FFF;//得到此次接收到的数据长度

printf("您发送的消息为: ");

for(t=0;t

{

USART1->DR=USART_RX_BUF[t];

while((USART1->SR&0X40)==0);//等待发送结束

}

printf("");//插入换行

USART_RX_STA=0;

}else

{

times++;

if(times%5000==0)

{

printf("战舰STM32开发板串口实验");

printf("正点原子@ALIENTEK");

}

if(times%200==0)printf("请输入数据,以回车键结束");

if(times%30==0)LED0=!LED0;//闪烁LED,提示系统正在运行.

delay_ms(10);

}

}

}

这段代码比较简单,重点看下以下两句:

USART1->DR=USART_RX_BUF[t];

while((USART1->SR&0X40)==0);//等待发送结束

第一句,其实就是发送一个字节到串口,通过直接操作寄存器来实现的。第二句呢,就是我们在写了一个字节在USART1->DR之后,要检测这个数据是否已经被发送完成了,通过检测USART1->SR的第6位,是否为1来决定是否可以开始第二个字节的发送。

其他的代码比较简单,我们执行编译之后看看有没有错误,没有错误就可以开始仿真与调试了。整个工程的编译结果如图9.3.1所示:

图9.3.1 编译结果

可以看到,编译没有哦任何错误和警告,下面我们可以开始下载验证了。

9.4 下载验证

前面2章实例,我们均介绍了软件仿真,仿真的基本技巧也差不多介绍完了,接下来我们将淡化这部分,因为代码都是经过作者检验,并且全部在ALIENTEK战舰STM32开发板上验证了的,有兴趣的朋友可以自己仿真看看。但是这里要说明几点:1,IO口复用的,信号在逻辑分析窗口是不能显示出来的(看不到波形),这一点请大家注意。比如串口的输出,SPI,USB,CAN等。你在仿真的时候在该窗口看不到任何信息。遇到这样的情况,你就不得不准备一个逻辑分析仪,外加一个ULINK或者JLINK 来做在线调试。但一般情况,这些都是有现成的例子,不用这几个东西一般也能编出来。

2,仿真并不能代表实际情况。只能从某些方面给你一些启示,告诉你大方向,不能尽信仿真,当然也不能完全没有仿真。比如上面IO口的输出,仿真的时候,其翻转速度可以达到很快,但是实际上STM32的IO输出就达不到这个速度。

总之,我们要合理的利用仿真,也不能过于依赖仿真。当仿真解决不了了,可以试试在线调试,在线调试一般都可以知道问题在哪个地方,但是问题要怎么解决还是得各位自己动脑筋、找资料了。

我们把程序下载到战舰STM32开发板,可以看到板子上的DS0开始闪烁,说明程序已经在跑了。串口调试助手,这里我们选择的是SSCOM3.3,是由大虾网版主丁丁(聂小孟)编写,是一个非常好用的串口调试助手。它的优点有:1,绿色,免安装;2,体积小,整个软件才700多KB;3,支持自动搜索串口;4,支持中文字符收发;5,具有扩展发送功能。以上是一些主要的优点,当然这个软件也有些小bug,比如串口在连接的情况下,如果突然断开,那么程序就死机了,而且无法正常关闭(必须在任务管理器里面强制结束),还有只要该软件打开着,你的电脑就别想关机。不过瑕不掩瑜,该软件总的来说,还是非常适合各位使用的。

接着我们打SSCOM3.3,设置串口为CH340的USB串口(根据你自己的电脑选择,

我的电脑是COM3),可以看到如图9.4.1所示信息:

图9.4.1 串口调试助手收到的信息

从图9.4.1可以看出,STM32的串口数据发送是没问题的了。但是,因为我们在程序上面设置了必须输入回车,串口才认可接收到的数据,所以必须在发送数据后再发送一个回车符,这里SSCOM3.3提供的发送方法是通过勾选发送新行实现,如图9.4.1,只要勾选了这个选项,每次发送数据后,SSCOM3.3都会自动多发一个回车。设置好了发送新行,我们再在发送区输入你想要发送的文字,然后单击发送,可以得到如图9.4.2所示结果:

图9.4.2 发送数据后收到的数据

可以看到,我们发送的消息被发送回来了(图中圈圈内)。大家可以试试,如果不发送回车(取消发送新行),在输入内容之后,直接按发送是什么结果。

实验四-串口通信实验

姓名:彭嘉乔 学号:3130104084 日期:2015.05 地点: ___________ 指导老师:弓 ________________ 成绩: 实验类型: 同组学生姓名:吴越 、实验内容和原理(必 填) 四、操作方法和实验步骤 六、实验结果与分析(必 填) 七、讨论、心得 一、实验目的 1、掌握80C51串行口工作方式选择、理解串行口四种通讯模式的区别、波特率发生器的作用及通讯过程屮的时 序关系。 2、 掌握串口初始化的设置方法和串行通信编程的能力。 3、 了解PC 机通讯的基本要求,掌握上位机和下位机的通讯方法。 4、 编写简单的通信协议(如串行口工作方式、波特率、校验方式、出错处理等) 二、 实验器材 1、 Micetek 仿真器一台。 2、 实验板一块。 3、 PC 机电脑一台。 4、 九针串口线一条。 別f 尹丿占实验报告 课程名称:彳 — 实验名称:实验四 串口通信实验 、实验目的和要求(必 填) 三、主要仪器设备(必 填) 五、实验数据记录和处理

三、实验原理 串口通讯对单片机而言意义重大,不但可以实现将单片机(下位机)的数据传输到PC端(上位机),

便地进行串口通讯。进行串行通讯时要满足一定的条件,比如电脑的串口是 RS232电平的,而单片机的 串口是TTL 电平的,两者Z 间必须有一个电平转换电路,本实验采用专用芯片 也可以用几个三极管进行模拟转换,但是还是用专用芯片更简单可靠。 3. 1 RS232九针串口基本功能简介 九针串口即RS-232接口,是个人计算机上的通讯接口之一,由电子工业协会 Industries Association , EIA)所制定的异步传输标准接口。通常RS-232接口以9个引脚(DB-9)或是25个引脚(DB-25) 的型态出现,一般个人计算机上会有两组 RS-232接口,分别称为COM1和COM2。该接口分 为公头子和母头子。九针串口(母头)的功能如下,请见图 1 : 9 / \ 6 Ov 3v Ov Ov 图1 RS232九针串口母头功能说明 分别为1 :载波检测 (DCD) ; 2 :接收数据(RXD) ; 3 :发送数据(TXD) : 4 :数据终端准备 好(DTR) ; 5 :信号地(GND) ; 6 :数据准备好(DSR) ; 7 :发送请求(RTS) ; 8 :发送清除(CTS) ; 9 :振铃 指示(RI)接法。 本实验采用三线制连接串口,也就是说和电脑的 9针串口只需连接其屮的3根线:第5脚的GND 、 第2脚的RXD 、第3脚的TXD 。这是最简单的连接方法, 但是已满足本实验硬件需求, 电路如图2所示, MAX232的第11脚和单片机的11脚连接,通过MAX232芯片的电平转换,将T1OUT 输出连接板子上9针串口(母头)MAX232进行转换,虽然 (Electronic

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

实验4火焰原子吸收光谱法测定铁(标准曲线法)

实验四火焰原子吸收光谱法测定铁(标准曲线法) 一、目的与要求 1.加深理解火焰原子吸收光谱法的原理和仪器的构造。 2.掌握火焰原子吸收光谱仪的基本操作技术。 3.掌握标准曲线法测定元素含量的分析技术。 二、方法原理 金属铬和其他杂质元素对铁的原子吸收光谱法测定,基本上没有干扰情况,样品经盐酸分解后,即可采用标准曲线法进行测定。 标准曲线法是原子吸收光谱分析中最常用的方法之一,该法是在数个容量瓶中分别加入成一定比例的标准溶液,用适当溶剂稀释至一定体积后,在一定的仪器条件下,依次测出它们的吸光度,以加入标推溶液的质量(μg)为横坐标,相应的吸光度为纵坐标,绘出标准曲线。 试样经适当处理后,在与测定标准曲线吸光度的相同条件下测定其吸光度(一般采用插入法测定,即将试样穿插进测定标准溶液中间进行测量),根据试样溶液的吸光度,通过标准曲线即可查出试样溶液的含量,再换算成试样的含量(%)。 三、仪器与试剂 1.原子吸收分光光度计。 2.铁元素空心阴极灯。 3.空气压缩机。 4.瓶装乙炔气体。 5.(1+1)盐酸溶液。 6.浓硝酸 7.铁标推溶液(储备液),·mL-1:准确称取高纯金属铁粉1.000g,用30mL盐酸(1+1)溶解后,加2~3mL浓硝酸进行氧化,用蒸馏水稀释至1L,摇匀。 8.铁标准溶液(工作液),100μg·mL-1:取上述铁标准溶液(储备被),用盐酸溶液(ω=稀释10倍,摇匀。 四、内容与步骤 1.试样的处理(平行三份) 准确称取o.2g试样于100mL烧杯中,加入1+1盐酸5mL,微热溶解,移入50 mL容量瓶并稀释至刻度,摇匀备测。 2.标准系列溶液的配制 取6个洁净的50mL容量瓶,各加入1+1盐酸5mL,再分别加入,,,,,铁标准溶液〔工作液),用蒸馏水稀释至刻度,摇匀备测。 3.仪器准备 在教师指导下,按仪器的操作程序将仪器各个工作参数调到下列测定条件,预热20min:分析线: 271.9nm 灯电流: 8mA 狭缝宽度: 0.1mm 燃器高度: 5mm 空气压力:1.4kg/cm2乙炔流量: 1.1L/min 空气流量:5L/min 乙炔压力: 0.5kg/cm2 4.测定标准系列溶液及试样镕液的吸光度。

实验四-串口通信实验

. 实验报告 课程名称:微机原理与接口技术 指导老师:张军明 成绩:__________________ 实验名称:实验四 串口通信实验 实验类型:________________同组学生姓名:吴越 一、实验目的和要求(必填) 二、实验内容和原理(必填) 三、主要仪器设备(必填) 四、操作方法和实验步骤 五、实验数据记录和处理 六、实验结果与分析(必填) 七、讨论、心得 一、实验目的 1、掌握80C51串行口工作方式选择、理解串行口四种通讯模式的区别、波特率发生器的作用及通讯过程中的时序关系。 2、掌握串口初始化的设置方法和串行通信编程的能力。 3、了解PC 机通讯的基本要求,掌握上位机和下位机的通讯方法。 4、编写简单的通信协议(如串行口工作方式、波特率、校验方式、出错处理等)。 二、实验器材 1、Micetek 仿真器一台。 2、实验板一块。 3、PC 机电脑一台。 4、九针串口线一条。 三、实验原理 串口通讯对单片机而言意义重大,不但可以实现将单片机(下位机)的数据传输到PC 端(上位机), 专业:电子信息工程 姓名:彭嘉乔 学号:3130104084 日期:2015.05 地点:东3-409

而且也能实现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: 图1 RS232九针串口母头功能说明 分别为1:载波检测(DCD);2:接收数据(RXD);3:发送数据(TXD);4:数据终端准备好(DTR);5:信号地(GND);6:数据准备好(DSR);7:发送请求(RTS);8:发送清除(CTS);9:振铃指示(RI)接法。 本实验采用三线制连接串口,也就是说和电脑的9针串口只需连接其中的3根线:第5脚的GND、第2脚的RXD、第3脚的TXD。这是最简单的连接方法,但是已满足本实验硬件需求,电路如图2所示,MAX232的第11脚和单片机的11脚连接,通过MAX232芯片的电平转换,将T1OUT输出连接板子上9针串口(母头)第2脚的RXD;板子上9针串口(母头)第3脚的TXD与MAX232芯片的第13脚相连,通过RS232电平转换为TTL电平后,将MAX232芯片的第12脚和单片机的10脚连接,同时9针

串口通信实验报告全版.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.熟悉原子吸收光度计的基本构造及使用方法。 2.掌握原子吸收光谱仪中的石墨炉原子化法和火焰原子化法。 二.实验原理 原子光谱是由于其价电子在不同能级间发生跃迁而产生的。当原子受到外界能量的激发时,根据能量的不同,其价电子会跃迁到不同的能级上。电子从基态跃迁到能量最低的第一激发态时要吸收一定的能量,同时由于其不稳定,会在很短的时间内跃迁回基态,并以光波的形式辐射现同样的能量。根据△E=hυ可知,各种元素的原子结构及其外层电子排布的不同,则核外电子从基态受激发而跃迁到其第一激发态所需要的能量也不同,同样,再跃迁回基态时所发射的光波频率即元素的共振线也就不同,所以,这种共振线就是所谓的元素的特征谱线。加之从基态跃迁到第一激发态的直接跃迁最易发生,因此,对于大多数的元素来说,共振线就是元素的灵敏线。在原子吸收分析中,就是利用处于基态的待测原子蒸汽对从光源辐射的共振线的吸收来进行的。 三火焰原子化器与石墨炉原子化器 原子化系统的作用是将待测试液中的元素转变成原子蒸汽。具体方法有火焰原子化法和无火焰原子化法两种,前者较为常用。

串口通信实验讲解

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

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;

原子吸收光谱实验报告

原子吸收光谱定量分析实验报告 班级:环科10-1 姓名:王强学号:27 一、实验目的: 1.了解石墨炉原子吸收分光光度计的使用方法。 2.了解石墨炉原子吸收分光光度计进样方法及技术关键。 3.学会以石墨炉原子吸收分光光度法进行元素定量分析的方法。 二、实验原理: 在原子吸收分光光度分析中,火焰原子吸收和石墨炉原子吸收是目前使用最多、应用范围最广的两种方法。相对而言,前者虽然具有振作简单、重现性好等优点而得到广泛应用,但该法由于雾化效率低、火焰的稀释作用降低了基态原子浓度、基态原子在火焰的原子化区停留时间短等因素限制了测定灵敏度的提高以及样品使用量大等方面的原因,对于来源困难、鹭或数量很少的试样及固态样品的直接分析,受到很大的限制。石墨炉原子化法由于很好地克服了上述不足,近年来得到迅速的发展。 石墨炉原子吸收方法是利用电能使石墨炉中的石墨管温度上升至2000 ~ 3000 ℃的高温,从而使待测试样完全蒸发、充分的原子化,并且基态原子在原子化区停留时间长,所以灵敏度要比火焰原子吸收方法高几个数量级。样品用量也少,仅5 ~ 100 uL。还能直接分析固体样品。该方法的缺点是干扰较多、精密度不如火焰法好、仪器较昂贵、操作较复杂等。 本实验采用标准曲线法,待测水样品用微量分液器注入,经过干燥、灰化、原子化等过程对样品中的痕量镉进行分析。 三、仪器和试剂: 1.仪器 由北京瑞利分析仪器公司生产的WFX-120型原子吸收分光光度计。 镉元素空心阴极灯 容量瓶 50 mL(5只)微量分液器 ~ mL及5 ~ 50 uL

2.试剂 100 ng/mL镉标准溶液(1%硝酸介质) 2 mol/L硝酸溶液 四、实验步骤: 1.测定条件 分析线波长: nm 灯电流:3 mA 狭缝宽度: nm 干燥温度、时间:100℃、15 s 灰化温度、时间:400℃、10 s 原子化温度、时间:2200℃、3 s 净化温度、时间:2200℃、2 s 保护气流量:100 mL/min 2.溶液的配制 取4只50 mL容量瓶,分别加入0 mL、 mL、 mL、 mL浓度为100 ng/mL的镉标准溶液,再各添加 mL硝酸溶液(2 mol/L),然后以Milli-Q去离子水稀释至刻度,摇匀,供原子吸收测定用。 取水样500 mL于烧杯中,加入5 mL浓硝酸溶液,加热浓缩后转移至50 mL 容量瓶,以Milli-Q去离子水稀释至刻度,摇匀,此待测水样供原子吸收测定用。3.吸光度的测定 设置好测定条件参数,待仪器稳定后,升温空烧石墨管,用微量分液器由稀到浓向石墨管中依次注入40 uL标准溶液及待测水样,测得各份溶液的吸光度。 五、数据记录:

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

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

单片机串口通讯实验报告

实验十单片机串行口与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)学习原子吸收分光光度法的基本原理; (2)了解原子吸收分光光度计的基本结构及其使用方法 (3)学习原子吸收光谱法操作条件的选择 (4)掌握应用标准曲线法测水中铜的含量。 二、实验原理 原子吸收光谱法是一种广泛应用的测定元素的方法。它是一种基于待测元素基态原子在蒸气状态对其原子共振辐射吸收进行定量分析的方法。 铜离子溶液雾化成气溶胶后进入火焰,在火焰温度下气溶胶中的铜离子变成铜原子蒸气,由光源铜空心阴极灯辐射出波长为324.7nm的铜特征谱线,被铜原子蒸气吸收。 在恒定的实验条件下,吸光度与溶液中铜离子浓度符合比尔定律A=Kc 利用吸光度与浓度的关系,用不同浓度的铜离子标准溶液分别测定其吸光度,绘制标准曲线。 在同样条件下测定水样的吸光度,从标准曲线上即可求得说中铜的浓度,进而计算出水中铜的含量。 三、实验仪器和试剂 (1)原子吸收分光光度计M6 AA System (2)铜元素空心阴极灯 (3)空气压缩机 (4)乙炔钢瓶 (5)50ml容量瓶6支 (6)吸量管 (7)铜标准试液(0.9944mg/ml) (8)去离子水 (9)水样

(10)烧杯 四、实验步骤 (1)溶液的配制 准确移取0.25ml,0.50ml,1.00ml,2.,50ml,3.00ml铜标准溶液于50ml 容量瓶中,用去离子水稀释至刻度,使其浓度分别为0.25、0.50、 1.00、 2.50、 3.00μg/ml。 (2)样品的配制 准备水样1和水样2于烧杯中。 (3)标准曲线绘制 测定条件: 燃气流量1:1 燃烧器高度7.0nm 波长324.8nm 根据实验条件,将原子吸收分光光度计按仪器的操作步骤进行调节。切换到标准曲线窗口,在开始测定之前,用二次蒸馏水调零,待仪器电路和气路系统达到稳定,记录仪上基线平直时,按照标准溶液浓度由稀到浓的顺序逐个测量Cu2+标准溶液的吸光度,并绘制Cu的标准曲线。 (4)水样中铜含量的测定 根据实验条件,测量水样的吸光度,并从标准曲线上查得水样中Cu的含量。 五、实验数据处理

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

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

原子吸收光谱实验报告

原子吸收光谱定量分析实验报告班级:环科10-1 姓名:王强学号:2010012127 一、实验目的: 1.了解石墨炉原子吸收分光光度计的使用方法。 2.了解石墨炉原子吸收分光光度计进样方法及技术关键。 3.学会以石墨炉原子吸收分光光度法进行元素定量分析的方法。 二、实验原理: 在原子吸收分光光度分析中,火焰原子吸收和石墨炉原子吸收是目前使用最多、应用范围最广的两种方法。相对而言,前者虽然具有振作简单、重现性好等优点而得到广泛应用,但该法由于雾化效率低、火焰的稀释作用降低了基态原子浓度、基态原子在火焰的原子化区停留时间短等因素限制了测定灵敏度的提高以及样品使用量大等方面的原因,对于来源困难、鹭或数量很少的试样及固态样品的直接分析,受到很大的限制。石墨炉原子化法由于很好地克服了上述不足,近年来得到迅速的发展。 石墨炉原子吸收方法是利用电能使石墨炉中的石墨管温度上升至2000 ~ 3000 ℃的高温,从而使待测试样完全蒸发、充分的原子化,并且基态原子在原子化区停留时间长,所以灵敏度要比火焰原子吸收方法高几个数量级。样品用量也少,仅 5 ~ 100 uL。还能直接分析固体样品。该方法的缺点是干扰较多、精密度不如火焰法好、仪器较昂贵、操作较复杂等。 本实验采用标准曲线法,待测水样品用微量分液器注入,经过干

燥、灰化、原子化等过程对样品中的痕量镉进行分析。 三、仪器和试剂: 1.仪器 由北京瑞利分析仪器公司生产的WFX-120型原子吸收分光光度计。 镉元素空心阴极灯 容量瓶 50 mL(5只)微量分液器0.5 ~ 2.5 mL及5 ~ 50 uL 2.试剂 100 ng/mL镉标准溶液(1%硝酸介质) 2 mol/L硝酸溶液 四、实验步骤: 1.测定条件 分析线波长:228.8 nm 灯电流:3 mA 狭缝宽度:0.2 nm 干燥温度、时间:100℃、15 s 灰化温度、时间:400℃、10 s 原子化温度、时间:2200℃、3 s 净化温度、时间:2200℃、2 s 保护气流量:100 mL/min 2.溶液的配制 取4只50 mL容量瓶,分别加入0 mL、0.125 mL、0.250 mL、0.500 mL浓度为100 ng/mL的镉标准溶液,再各添加2.5 mL硝酸溶液(2 mol/L),然后以Milli-Q去离子水稀释至刻度,摇匀,供原子吸收测

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

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

实验四串口接收模块电路设计

实验四串口接收模块电路设计 一、实验目的: 1、熟练使用ISE设计工具。 2、理解串口传输协议。理解采用“自顶向下”设计思路,分解模块的方法。 3、在ISE使用Verilog HDL设计串口接收模块,完成仿真、下载。 二、原理分析 (一)串口传输协议概述 设计完成异步串口通信通用异步收发是一种典型的异步串口通信,简称UART。串口通信时序如图1所示。 图1 通用异步收发时序图 由图1可以看出,在没有数据传送时,通信线会一直处于高电平,即逻辑1状态;当有数据传送时,数据帧以起始位开始,以停止位结束。起始位为低电平,即逻辑0状态;停止位为高电平,即逻辑1状态,其持续时间可选为1位、1.5位或2位(本次设计选择持续时间1位)。接收端在接收到停止位后,知道一帧数据已经传完,转为等待数据接收状态;只要再接收到0状态,即为新一帧数据的起始状态。 数据帧的数据位低位(LSB)在前,高位(MSB)在后,根据不同的编码规则,数据位可能为5位、6位、7位或者8位(本次设计数据位定位8位)。校验位也可根据需要选择奇校验、偶校验或者不要校验(本次设计不要校验位)。 (二)串口时序分析 串口通讯常用“波特率”表述串口传输速率,常用的参数有9600 bps 和115200 bps等。在硬件传输角度看,波特率表征了传输一位数据所需要的时间。例如:波特率是9600 bps,传输一位数据的时间是1/9600= 0.000104166666666667秒。如果FPGA系统时钟是20MHZ,则一位数据传输时间相当于(1/9600)/(1/20M)=2083个20MHZ时钟周期。 设一帧数据位数=1(开始位)+8(数据位)+1(校验位)+1(结束位)=11位,所以传输一帧数据的时间是11*1/9600=0.00114583333333333333333333333333秒。 为了稳定采集串口数据帧的数据,需要在每位数据的“中间时刻”采样,由此,需要在每位数据开始时刻对时钟进行计数,若系统时钟是20MHZ,则在计数至2083/2=1042时采样此时刻的数值。 三、系统分析: 为实现串口接收电路,FPGA应该完成: 1、及时发现数据传输的开始,并判断每一位的开始。 2、按照“在数据位中间采样”的要求,确认采样时刻。 3、将采样得到串行数据转换为并行数据。

火焰原子吸收光谱法

火焰原子吸收光谱法测定自来水中的钙.镁含量

实验目的 z1、了解原子吸收分光光度计的基本结构和原理。z2、掌握火焰原子吸收光谱分析的基本操作。 z3、熟悉用标准曲线法进行定量测定的方法。

实验原理 原子吸收光谱分析的波长区域在近紫外区。其分析原理是将光源辐射出的待测元素的特征光谱通过样品的蒸汽中待测元素的基态原子所吸收,由发射光谱被减弱的程度,进而求得样品中待测元素的含量,它符合郎珀-比尔定律 A= -lg I/I = -lgT= KCL 式中I为透射光强度,I 0为发射光强度,T为透射比, L为光通过原子化器光程由于L是不变值所以A=KC。 原子吸收分光光度分析具有快速.灵敏.准确.选择性好.干扰少和操作简便等优点。

操作要点 z标准溶液的配制 (1)钙标准溶液系列;准确吸取2.00.4.00.6.00.8.00.10.0ml钙的标准使用液(100ug/ml)分别置于5只25ml容量瓶中,用去离子水稀释至刻度。 (2)镁标准溶液系列;准确吸1.00.2.00.3.00.4.00.5.00ml镁的标准使用液(50ug/ml)分别置于5只25ml 容量瓶中,用去离子水稀释至刻度。 (3)配制自来水样溶液;准确吸取5ml自来水置于25ml容量瓶中,用去离子水稀释至刻度。 根据实验条件将原子吸收分光光度计按仪器操作步骤进行调节,待仪器电路和气路系统达到稳定时,即可进样。 分别测定各标准溶液系列溶液的吸光度和自来水样的吸光度。

实验数据及处理 z从计算机上列表记录钙.镁标准溶液系列溶液的吸光度,然后,分别以吸光度为纵坐标,标准溶液系列浓度为横坐标,用坐标纸绘制标准曲线。 z测定自来水样的吸光度,然后,在上述标准曲线上查得水样中钙.镁浓度(ug/ml),经稀释需乘上倍数,求得原始自来水中钙.镁含量。

串口通讯实验报告

网络编程与实践实验报告 实验内容:串口通信编程 学号:S201502189 姓名:职荣豪 日期:2015-9-28 一、实验要求 使用VS2010编写基于对话框得MFC应用程序,两个窗口分别使用两个串口,使得这两个窗口可以进行通信,包括数据得发送与接收。 二、实验原理 本实验使用Microsoft munications Control控件,利用这个ActiveX控件,只需要编写少量代码即可轻松进行通信。 该控件相关得函数如下: put__mPort:设置串口号 put_Settings:以字符串得形式设置波特率、奇偶校验位(n-无校验,e-偶校验,o-奇校验)、数据位数、停止位数 put_InputMode:设置接收数据得类型(0-文本类型,1-二进制类型) put_InputLen:设置从接收缓冲区读取得字节数,0表示全部读取 put_InBufferSize:设置接收缓冲区大小 put_OutBufferSize:设置发送缓冲区大小 put_RThreshold:设定当接收几个字符时触发Onm事件,0表示不产生事件,1表示每接收一个字符就产生一个事件 put_SThreshold:设定在触发Onm事件前,发送缓冲区内所允许得最少得字符数,0表示发送数据时不产生事件,1表示当发送缓冲区空时产生Onm事件 put_PortOpen:打开或关闭串口,传入参数为true时打开串口,传入参数为false时关闭串口 get_mEvent:获得串口上刚发生得事件,事件值为2表示接收到数据 get_InBufferCount:获得缓冲区中得数据位数 get_Input:获取缓冲区数据,返回类型为VARIANT put_Output:发送数据 三、设计思路 需要添加一个Microsoft munications Control控件,用于进行串口通信。 由于要求同一程序可运行两个窗口进行相互通信,需要两个窗口开启两个不同串口,故需

实验三:串口实验

实验3:串口实验 一、实验目的 1.了解串口的定义及串口通信的特点 2.了解MAX232串口 3.了解80C51串行口工作的原理及工作方式并且能够掌握其程序设计 二、实验内容 利用8051串行口发送和接受数据,用来判断接收数据和发送数据是否一致 三、实验原理 串口通讯对单片机而言意义重大,不但可以实现将单片机的数据传输到计算机端,而且也能实现计算机对单片机的控制。由于其所需电缆线少,接线简单,所以在较远距离传输中,得到了广泛的运用。 本实验主要是用单片机按一定的时间间隔向主机发送字符串,结果在虚拟终端上显示。由于没有串口线的连接因此只能进行仿真,当数据从CPU经过串行端口(仿真时是通过虚拟驱动软件和串口调试助手设置的虚拟串口实现)发送出去时,字节数据转换为串行的位,在接收数据时,串行的位被转换为字节数据并在虚拟终端上显示。 串口:串行接口简称串口(通常指COM口), 是采用串行通信方式的扩展接口。串口是计算机上一种非通用设备通信的协议。大多数两个基于RS232的串口。如左图是串口原理图。 MAX232介绍:MAX232一款兼容RS232标准的芯片,是TTL-RS232电平转换的典型芯片。由于电脑串口RS232电平是-10V与+10V,而一般单片机系统的信号电压是TTL电平0与+5V,该器件包含2个驱动器、2个接收器和一个电压发生器电路提供TIA/EIA-232-F电平。

RS232介绍:RS232 接口是制定用于串行通讯的标准。该标准规定采用一个25个脚的DB25 连接器,对连接器的每个引脚的信号内容加以规定,还对各种信号的电平加以规定。DB25 的串口一般只用到的管脚只有2(RXD)、3(TXD)、7(GND)这三个,随着设备的不断改进,现在DB25 针很少看到了,代替他的是DB9的接口,DB9所用到的管脚比DB25有所变化,是2(RXD)、3(TXD)、5(GND)这三个。因此现在都把RS232接口叫做DB9。 串口通信的原理:串行端口的本质功能是作为CPU和串行设备间的编码转换器。串口按位(bit)发送和接收字节。尽管比按字节(byte)的并行通信慢,但是串口可以在使用一根线发送数据的同时用另一根线接收数据。它很简单并且能够实现远距离通信。比如 IEEE488定义并行通行状态时,规定设备线总长不得超过20米,并且任意两个设备间的长度不得超过2米;而对于串口而言,长度可达1200米。典型地,串口用于ASCII码字符的传输。通信使用3根线完成:地线、发送、接收。由于串口通信是异步的,端口能够在一根线上发送数据同时在另一根线上接收数据。其他线用于握手,但是不是必须的。串口通信最重要的参数是波特率、数据位、停止位和奇偶校验。对于两个进行通信的端口,这些参数必须匹配: ①波特率:这是一个衡量通信速度的参数。它表示每秒钟传送的bit的个数。例如300 波特表示每秒钟发送300个bit。当我们提到时钟周期时,我们就是指波特率例如如果协议需要4800波特率,那么时钟是4800Hz。这意味着串口通信在数据线上的采样率为4800Hz。通常电话线的波特率为14400,28800和36600。 波特率=(2SMOD/32) T1的溢出率 ②数据位:这是衡量通信中实际数据位的参数。当计算机发送一个信息包,实际的数据不会是8位的,标准的值是5、7和8位。如何设置取决于你想传送的信息。比如,标准的ASCII 码是0~127(7位)。扩展的ASCII码是0~255(8位)。如果数据使用简单的文本(标准ASCII码),那么每个数据包使用7位数据。每个包是指一个字节,包括开始/停止位,数据位和奇偶校验位。由于实际数据位取决于通信协议的选取,术语“包”指任何通信的情况。 ③停止位:用于表示单个包的最后一位。典型的值为1,1.5和2位。由于数据是在传输线上定时的,并且每一个设备有其自己的时钟,很可能在通信中两台设备间出现了小小的不同步。因此停止位不仅仅是表示传输的结束,并且提供计算机校正时钟同步的机会。适用于停止位的位数越多,不同时钟同步的容忍程度越大,但是数据传输率同时也越慢。 ③奇偶校验位:在串口通信中一种简单的检错方式。有四种检错方式:偶、奇、高和低。当然没有校验位也是可以的。对于偶和奇校验的情况,串口会设置校验位(数据位后面的一

相关主题