实验四CLED跑马灯实验.doc

上传人:自*** 文档编号:126895984 上传时间:2020-03-28 格式:DOC 页数:4 大小:347.50KB
返回 下载 相关 举报
实验四CLED跑马灯实验.doc_第1页
第1页 / 共4页
实验四CLED跑马灯实验.doc_第2页
第2页 / 共4页
实验四CLED跑马灯实验.doc_第3页
第3页 / 共4页
实验四CLED跑马灯实验.doc_第4页
第4页 / 共4页
亲,该文档总共4页,全部预览完了,如果喜欢就下载吧!
资源描述

《实验四CLED跑马灯实验.doc》由会员分享,可在线阅读,更多相关《实验四CLED跑马灯实验.doc(4页珍藏版)》请在金锄头文库上搜索。

1、实验四C LED跑马灯实验一、实验目的l 了解S3C2410的I/O及其相关设置;l 继续熟悉ARM开发环境。二、实验设备l 硬件:TX2440A实验板;测控与显示扩展板;PC机;J-Link V8仿真器;l 软件:PC机操作系统(WINDOWS XP);ARM Developer Suite v1.2;J-link ARM V4.081;三、实验内容l 了解DM2410实验板I/O接口原理。l 利用ADS编译环境,用C语言编写跑马灯主程序。四、实验说明S3C2410有多达117位的I/O口可以提供方便的扩展。分为8组端口如下: Port A (GPA): 23-output port Por

2、t B (GPB): 11-input/output port Port C (GPC): 16-input/output port Port D (GPD): 16-input/output port Port E (GPE): 16-input/output port Port F (GPF): 8-input/output port Port G (GPG): 16-input/output port Port H (GPH): 11-input/output port所有的端口都是复用的,因为是复用的端口所以在应用I/O口之前应该对端口进行设置,使之成为需要的模式,这个模式是由八个I/

3、O控制寄存器GPxCON设置,其中的x就是A-H,每个端口还有数据寄存器GPxDAT,和上拉寄存器GPxUP。五、实验步骤1、仔细阅读实验说明部分,熟悉S3C2410的I/O口及其控制;2、建立工作目录如:D:armlab3、启动ADS1.2,使用ARM Executable Image工程模板建立一个工程led4、将本“实验4流水灯目录”下的“LED”目录下的两个文件夹“system、uart”拷贝到新建立的工程目录“D:armlabled”下5、建立文件组“inc”鼠标右键点击屏幕,弹出 6、添加systeminc目录下的文件至当前工程中,并拖入到文件组“inc”下,不要添加“mmu.h”

4、文件。 7、添加systemsrc目录下的文件至当前工程中,并拖入到文件组“src”下, 不要添加“mmu.c”文件。8、添加uart目录下的文件至当前工程中,uart.h拖入到文件组“inc”下,uart.c拖入到文件组“src”下。9、建立源文件“Main.c”10、按文件“实验四B ADS+AXD+JLINK仿真调试TX2440A(保留出厂程序方式)”要求设置项目及AXD,并编译改错。11、连接PC机、J-link仿真器和实验板。12、调试运行程序观察程序运行。自行修改程序观察各变量、寄存器等的作用。13、程序运行后在扩展板上的LED灯将轮流显示(跑马等),打开终端仿真器secureCR

5、T可以接受实验板输出信息。六、参考例程 实验中当端口输出为0时,相应的LED亮,输出1时,相应的LED灭。源程序如下:/=/工程名称:LED.mcp/功能描述:用GPIO控制四个LED/ IDE环境: ADS v1.2/组成文件:main.c/硬件连接:LED1 - GPF0/ LED2 - GPF1/ LED3 - GPF2/ LED4 - GPF3/维护记录:2009-9-22V1.0 /=/=/ 文件名称:main.c/ 功能描述:定义了主函数/ 维护记录:2009-9-22V1.0/=/=/ 包含头文件区/=#include 2440addr.h#include 2440lib.h#i

6、nclude option.h#include def.h#include uart.h#define LED1ON 0xFE /LED1点亮值为0xFE(低电平点亮)#define LED2ON (LED1ON1) /LED2点亮值为LED1左移1位#define LED3ON (LED1ON2) /LED3点亮值为LED2左移1位#define LED4ON (LED1ON3) /LED4点亮值为LED3左移1位extern unsigned int PCLK;void Main(void)SetSysFclk(FCLK_400M); /设置系统时钟 400M ChangeClockDiv

7、ider(2, 1); /设置分频 1:4:8CalcBusClk(); /计算总线频Uart_Select(0);Uart_Init(0, 115200);Uart_Printf(LED TEST!n);rGPFCON = (rGPFCON | 0xFFFF) & 0xFFFFFF55; /GPF0-GPF3设置为output rGPFUP = rGPFUP & 0xFFF0; /使能GPF上拉电阻 rGPFDAT = 0x0F; /GPF低4位初始化为1 while(1) Uart_Printf(LED1 ON!n); rGPFDAT = LED1ON; /点亮LED1 Delay(100

8、0); Uart_Printf(LED2 ON!n); rGPFDAT = LED2ON; /点亮LED2 Delay(1000); Uart_Printf(LED3 ON!n); rGPFDAT = LED3ON; /点亮LED3 Delay(1000); Uart_Printf(LED4 ON!n); rGPFDAT = LED4ON; /点亮LED4 Delay(1000); 可以看到对I/O口的操作实际上只需要两个步骤:1) 控制GPxCON将I/O口设置成输入、输出模式,如果需还要设置GPxUP;2) 将相应的数据写入GPxDAT。七、实验结果当程序运行正常l 板子上可以看到:四个LED灯从上往下亮起,不停地循环反复。八、实验拓展1、分析程序语句功能。2、修改程序,让LED灯从上往下逐个点亮。3、修改程序,让LED灯从下往上逐个点亮。4、自己拓展设计灯亮花样。

展开阅读全文
相关资源
相关搜索

当前位置:首页 > IT计算机/网络 > 其它相关文档

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号