欢迎来到天天文库
浏览记录
ID:5451219
大小:262.50 KB
页数:22页
时间:2017-12-12
《嵌入式系统实训报告》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、嵌入式系统实训报告专业:电子信息工程技术班级:电子092姓名:郑升学号:6313093206指导老师:邬志锋21第一阶段GPIO的控制一、实训目的1、掌握寄存器的使用2、使用GPIO的控制方法点亮和熄灭LED二、实训内容控制LED的点亮,点亮L4,L6,熄灭L5、L7。三、实训设备一组设备为:普通PC、嵌入式系统实验板四、GPIO的使用将管脚用作GPIO,需要先通过设置(PINSELx)将管脚连接到GPIO,然后再根据应用的实际使用方向设置(IOxDIR)为对应的输入/输出。如果GPIO用作输出,则通过操作IOxSET和IOxCLR两个寄存器来进行置位和清零操作;如
2、果GPIO用过输入口,则通过读取IOxPIN的值来读取IO口的实际状态。如图1所示。只有IOxSET/IOxCLR中被写入1的位对应的管脚才能设置为高/低电平,写入0的位对应的管脚的状态不发生改变。但是,仅通过写IOxSET或IOxCLR寄存器是不可能使一个GPIO口同时输出包含0和1的二进制数。21图1五、程序代码#include"includes.h"intmain(void){PINSEL0=PINSEL0&(~(3ul<<6));PINSEL2=PINSEL2&(~(13ul<<3));PINSEL0=PINSEL0&(~(3ul<<14));IO0DIR=
3、IO0DIR
4、(1ul<<3);IO1DIR=IO0DIR
5、(1ul<<24);IO1DIR=IO0DIR
6、(1ul<<25);IO0DIR=IO0DIR
7、(1ul<<7);IO0CLR=(1ul<<3);IO0SET=(1ul<<24);IO0CLR=(1ul<<25);21IO0SET=(1ul<<7);while(1){}}第二阶段UART的使用一、实训目的1、掌握LPC21XX系列处理器UART的使用方法2、掌握串口调试助手的使用二、实训内容使用串口调试助手控制LED的亮和灭,当收到0时,熄灭LED,否则点亮三、实训设备一组设备为:普通PC、嵌入式系统实验板
8、四、LPC21XX的UART的使用LPC21XX的UART使用的主要步骤如图2所示。其中前四步叫做初始化UART,一般放在一个初始化函数中完成。21图2五、程序代码#include"includes.h"voidDelay(unsignedintt){unsignedinti;while(t--){i=3000;while(i--);}}voidInitUART0(void)21{PINSEL0=(PINSEL0&0xfffffff0)
9、(0x01<<0)
10、(0x01<<2);U0LCR=0x80;U0DLM=0;U0DLL=180;U0LCR=0x03;}unsi
11、gnedcharUART0_RcvByte(void){unsignedcharrcv_data;while((U0LSR&0x01)==0);rcv_data=U0RBR;return(rcv_data);}intmain(void){unsignedcharrcv_data;PINSEL0=PINSEL0&(~(3ul<<6));IO0DIR=IO0DIR
12、(1ul<<3);InitUART0();while(1){21rcv_data=UART0_RcvByte()-'0';if(rcv_data==0){IO0SET=1ul<<3;IO0SET=1ul<<7
13、;IO1SET=1ul<<24;IO1SET=1ul<<25;}else{IO0CLR=1ul<<3;IO0CLR=1ul<<7;IO1CLR=1ul<<24;IO1CLR=1ul<<25;}}}21第三阶段中断系统的使用一、实训目的1、理解LPC21XX系列处理器的中断系统2、掌握中断的概念和LPC21XX中断系统的程序编写方法二、实训内容使用中断的方法接收UART发送过来的数据,然后再控制LED的亮和灭,当收到0时,熄灭LED,否则点亮。PC端使用的是串口调试助手。三、实训设备一组设备为:普通PC、嵌入式系统实验板四、中断的使用中断使用流程步骤如图3所示。图3五
14、、程序代码21#include"includes.h"unsignedintGetsome;voidInitUART0(void){PINSEL0=(PINSEL0&0xfffffff0)
15、(0x01<<0)
16、(0x01<<2);U0LCR=0x80;U0DLM=0;U0DLL=180;U0LCR=0x03;U0IER=U0IER&0xfe
17、0x01;}voidInitVIC(void){VICIntSelect=VICIntSelect&(~(1ul<<6));VICVectCntl2=0x20
18、0x06;VICVectAddr2=(unsignedint)U
此文档下载收益归作者所有