实验5、串口通讯实验

更新时间:2024-03-09 02:22:01 阅读量: 综合文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

实验4、串口通讯实验

【实验目的】

1、 学习LPC系列处理器UART的使用方法; 2、 学习用Keil软件开发ARM程序方法和步骤。 3、 了解PC机上超级终端在串口通讯中的使用。 【实验要求】

1、 了解LPC系列处理器UART的功能原理; 2、 在Keil中设计ARM程序,实现串口通讯;

3、 附加要求:使用UART0,实现查询接收并发送,下面的程序是中断实现。 【实验原理】

1、LPC系列处理器UART的寄存器 RBR 接收缓冲 THR 发送缓冲 IER 中断使能 IIR 中断ID FCR FIFO控制 LCR 线控制 LSR 线状态 SCR 高速缓存 DLL 除数LSB DLM 除数MSB

同前几个实验一样,大家要在课上学习懂串口寄存器的原理,简单的串口寄存器编程,只需要对DLL,DLM,LCR,IER,LSR几个寄存器控制即可 2、实验电路原理图

实验电路的连接如下图,T0和R0接p0.02、p0.03口。

4、 程序代码

#include

#define Fpclk 12000000 #define

UART_BPS 115200

0x01

#define IER_RBR typedef unsigned uint; typedef unsigned char BYTE;

/*=========================================================*/ BYTE uart0dat=0;//接收字符变量

void UART0Handler (void) __irq; //中断处理接收 void sendchar(BYTE ch); void init_uart(void); void init_VIC(void); int main (void) { { } }

/*=========================================================*/ void init_uart(void) {

uint Fdiv=(Fpclk/16)/UART_BPS;

PINSEL0 |= 0x00000050; /* RxD0 and TxD0 */ U0LCR = 0x83;

//八位字符,允许访问除数锁存器 //设置波特率

U0DLL = Fdiv%6;

/*=========================================================*/

//发送

//初始化串口 //初始化中断

/*=========================================================*/

init_uart(); //串口0初始化

init_VIC(); while(1) if(uart0dat != 0) { }

sendchar(uart0dat); uart0dat = 0;

U0DLM = Fdiv/256; U0LCR = 0x03;

U0IER = IER_RBR; }

/*=========================================================*/ void init_VIC(void) {

VICIntSelect=0x00000000; VICVectPriority6=6;

VICVectAddr0=(unsigned long )UART0Handler; VICIntEnable=0x00000040; }

/*=========================================================*/ void UART0Handler (void)__irq //串口处理函数 {

uart0dat=U0RBR; VICVectAddr = 0; }

/*=========================================================*/ void sendchar(BYTE ch) {

while( !(U0LSR & 0x20)); U0THR = ch; }

/*=========================================================*/

//查询是否可以发送

/* Acknowledge Interrupt 中断应答*/

//中断设置同前

/* 0x01Enable UART0 interrupt */

本文来源:https://www.bwwdw.com/article/jn3a.html

Top