单片机第一次实验.doc
《单片机第一次实验.doc》由会员分享,可在线阅读,更多相关《单片机第一次实验.doc(16页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、如有侵权,请联系网站删除,仅供学习与交流单片机第一次实验【精品文档】第 16 页Cortex-M4原理与实践实验报告实验一 GPIO 接口实验一.实验目的1. 掌握 Code Composer Studio 6.0(以下简称 CCS)的安装和配置步骤过程。2. 了解 Cortex-M4 开发系统和计算机与目标系统的连接方法。3. 了解 CCS 软件的操作环境和基本功能,了解 TM4C1294 软件开发过程。1) 学习创建工程和管理工程的方法;2) 了解基本的编译和调试功能;3) 学会设置断点,注入和提取数据文件;4) 学习使用观察窗口;5) 了解图形功能的使用方法。二实验程序流程图 本实验通过
2、多种方法来控制 GPIO 端口的读写,通过 GPIO 端口的读写来控制主板上两 个独立的 LED 灯,D1、D2 的点亮和熄灭。主板上 D1、D2 、D3 对应的 GPIO 口分别为 PF1、 PF2、PF3。三实验代码、注释及现象#include #include #include inc/hw_memmap.h#include inc/hw_types.h#include driverlib/pin_map.h#include driverlib/sysctl.h#include driverlib/gpio.hint main(void)SysCtlPeripheralEnable(SY
3、SCTL_PERIPH_GPIOF); /使能 GPIOF 口GPIODirModeSet(GPIO_PORTF_BASE,GPIO_PIN_1,GPIO_DIR_MODE_OUT); /设置为输出模式 GPIOPadConfigSet(GPIO_PORTF_BASE,GPIO_PIN_1,GPIO_STRENGTH_8MA_SC,GPIO_PIN_TYPE_STD); /进一步设置为 8mA、带转换速率控制的推挽输出 GPIOPinWrite(GPIO_PORTF_BASE,GPIO_PIN_1, 0xff);/PF1 输出高电平while(1); /LED_D1 on 简单LE现象:LED
4、1 被点亮四.思考题1.代码#include #include #include inc/hw_memmap.h#include inc/hw_types.h#include driverlib/pin_map.h#include driverlib/sysctl.h#include driverlib/gpio.hint main(void) SysCtlClockFreqSet(SYSCTL_XTAL_25MHZ | SYSCTL_OSC_MAIN | SYSCTL_USE_PLL | SYSCTL_CFG_VCO_480), 10000000); /设置系统时间为10MHZSysCtlP
5、eripheralEnable(SYSCTL_PERIPH_GPIOF);/使能 GPIOF 口 GPIODirModeSet(GPIO_PORTF_BASE,GPIO_PIN_1|GPIO_PIN_2|GPIO_PIN_3,GPIO_DIR_MODE_OUT); /设置为输出模式 GPIOPadConfigSet(GPIO_PORTF_BASE,GPIO_PIN_1|GPIO_PIN_2|GPIO_PIN_3,GPIO_STRENGTH_8MA_SC,GPIO_PIN_TYPE_STD); /进一步设置为 8mA、带转换速率控制的推挽输出while(1)GPIOPinWrite(GPIO_P
6、ORTF_BASE,GPIO_PIN_1,0xff); /PF1输出高,点亮LED0SysCtlDelay(100*(10000000/3000); /延时n*1ms 100msGPIOPinWrite(GPIO_PORTF_BASE,GPIO_PIN_1,0); /PF1输出低,关闭LED0GPIOPinWrite(GPIO_PORTF_BASE,GPIO_PIN_2,0xff); /PF2输出高,点亮LED2SysCtlDelay(100*(10000000/3000); /延时n*1msGPIOPinWrite(GPIO_PORTF_BASE,GPIO_PIN_2,0); /PF2输出低
7、,点亮LED2GPIOPinWrite(GPIO_PORTF_BASE,GPIO_PIN_3,0xff);/PF2输出高,点亮LED2SysCtlDelay(100*(10000000/3000); /延时n*1msGPIOPinWrite(GPIO_PORTF_BASE,GPIO_PIN_3,0);/PF2输出低,点亮LED22.实验现象:主板上LED0,LED1,LED2按照间隔时间顺序依次点亮实验原理解读:主要利用延迟函数,按顺序点亮和关断LED1,LED2,LED3。 五实验中遇到的问题及其解决方法首先是没有按默认路径安装,然后配置一直不对,缺少文件,后来把软件卸载之后再重新安装在默认
8、路径,问题就解决了。实验二矩阵按键操作实验一、实验目的1.熟悉和掌握矩阵式键盘的工作原理、电路设计和软件编程方法。2.熟悉和掌握矩阵式键盘的行列扫描法。3.掌握键盘延时消抖的软件方法。二、实验过程(包括流程图)图 2-1 实验程序流程图三、实验代码、注释(最好每条注释)及现象volatile uint32_t ui32Loop; /定义变量volatile uint32_t key; /定义变量void delay()int ui32Loop0;for(ui32Loop0=0;ui32Loop01000;ui32Loop0+) /delay /通过循环跑空函数延迟int identify_ke
9、y()key=0; /*a row is setted 0000 0111(PD1 PH3 PH2 PM3)GPIO_PORTD_AHB_DATA_R = 0x00; /PD1 PD0 is setted 0GPIO_PORTH_AHB_DATA_R = 0x0c; /PH2 PH3 is setted 1GPIO_PORTM_DATA_R = 0x08; / PM3 is setted 1for(ui32Loop=0;ui32Loop1000;ui32Loop+) /delay if(GPIO_PORTP_DATA_R&0x04)=0x00)/&(GPIO_PORTP_DATA_R=0x04
10、) delay();/eliminate buffeting if(GPIO_PORTP_DATA_R&0x04)=0x00) /PP2 is setted 0 ? key=1;/0key return 0; else if(GPIO_PORTN_DATA_R&0x08)=0x00)/PN3 is setted 0 ? delay(); if(GPIO_PORTN_DATA_R&0x08)=0x00) key=5;/4key return 0; else if(GPIO_PORTN_DATA_R&0x04)=0x00) delay(); if(GPIO_PORTN_DATA_R&0x04)=0
11、x00) key=9;/8key return 0; else if(GPIO_PORTD_AHB_DATA_R&0x01)=0x00) delay(); if(GPIO_PORTD_AHB_DATA_R&0x01)=0x00) key=13;/12key return 0; /*a row is setted 0000 1011(PD1 PH3 PH2 PM3)GPIO_PORTD_AHB_DATA_R = 0x02;GPIO_PORTH_AHB_DATA_R = 0x04;GPIO_PORTM_DATA_R = 0x08; for(ui32Loop=0;ui32Loop1000;ui32L
12、oop+)if(GPIO_PORTP_DATA_R&0x04)=0x00)/&(GPIO_PORTP_DATA_R=0x04) delay(); if(GPIO_PORTP_DATA_R&0x04)=0x00) key=2;/1key return 0; else if(GPIO_PORTN_DATA_R&0x08)=0x00) delay(); if(GPIO_PORTN_DATA_R&0x08)=0x00) key=6;/5key return 0; else if(GPIO_PORTN_DATA_R&0x04)=0x00) delay(); if(GPIO_PORTN_DATA_R&0x
13、04)=0x00) key=10;/9key return 0; else if(GPIO_PORTD_AHB_DATA_R&0x01)=0x00) delay(); if(GPIO_PORTD_AHB_DATA_R&0x01)=0x00) key=14;/13key return 0;/*a row is setted 0000 1101(PD1 PH3 PH2 PM3)GPIO_PORTD_AHB_DATA_R = 0x02;GPIO_PORTH_AHB_DATA_R = 0x08;GPIO_PORTM_DATA_R = 0x08;for(ui32Loop=0;ui32Loop1000;u
14、i32Loop+)if(GPIO_PORTP_DATA_R&0x04)=0x00)/&(GPIO_PORTP_DATA_R=0x04) delay(); if(GPIO_PORTP_DATA_R&0x04)=0x00) key=3; /2key return 0; else if(GPIO_PORTN_DATA_R&0x08)=0x00) delay(); if(GPIO_PORTN_DATA_R&0x08)=0x00) key=7; /6key return 0; else if(GPIO_PORTN_DATA_R&0x04)=0x00) delay(); if(GPIO_PORTN_DAT
15、A_R&0x04)=0x00) key=11; /10key return 0; else if(GPIO_PORTD_AHB_DATA_R&0x01)=0x00) delay(); if(GPIO_PORTD_AHB_DATA_R&0x01)=0x00) key=15; /14key return 0;/*a row is setted 0000 1110(PD1 PH3 PH2 PM3)GPIO_PORTD_AHB_DATA_R = 0x02;GPIO_PORTH_AHB_DATA_R = 0x0c;GPIO_PORTM_DATA_R = 0x00;for(ui32Loop=0;ui32L
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 单片机 第一次 实验
限制150内