ARM9控制LED流水灯程序设计
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
华东交通大学理工学院
课程设计报告书
课程名称嵌入式系统原理及应用
题目ARM9 I/O口控制LED流水灯程序设计分院电信分院
专业班级通信工程2008-2
学号**************
学生姓名骆玉春
指导教师徐涢基
2012年12月30 日
华东交通大学理工学院
课程设计任务书
专业通信工程班级2008级2班姓名骆玉春
一、课程设计题目ARM9 I/O口控制LED流水灯想设计
二、课程设计工作:自2011 年12 月28 日起至2012 年 1 月 2 日止。
三、课程设计的内容要求:
1.了解ARM9的I/O口的工作原理;
2.基于arm920T的内核,在开发板或者实验箱上,实现LED的流水控制;
3.了解I/O口怎么控制LED的输出;
4.掌握设置I/O口的状态需要设置的寄存器GPB CON、GPBDAT、GPBUP;
5.掌握在ADS环境下建立工程,用H-JTAG来调试程序,生成.HEX 文件;
6.总结本次课程设计的知识点。
学生签名:
201 年月日
课程设计评阅意见
评阅人职称
20 年月日
目录
课程设计任务书 (2)
第1章课程设计目的 (4)
第2章S3C2440的I/O口配置 (5)
第3章S3C2440的I/O口寄存器 (6)
第4章课程设计过程 (9)
4.1 设计步骤 (9)
4.2 部分原理图 (9)
4.3 源程序 (10)
4.4 编译调试结果 (17)
第8章课程设计心得 (19)
参考文献 (20)
第1章课程设计目的
这学期开了嵌入式这门课程,之前就了解到嵌入式系统是当前最热门最有发展前途的IT 应用领域之一。嵌入式系统用在一些特定专用设备上,通常这些设备的硬件资源(如处理器、存储器等)非常有限,并且对成本很敏感,有时对实时响应要求很高等。特别是随着消费家电的智能化,嵌入式更显重要。像我们平常常见到的手机、可视电话、PDA、电子字典、VCD/DVD/MP3 Player、机顶盒(Set Top Box)、数字相机(DC)、数字摄像机(DV)、高清电视(HDTV)、游戏机、智能玩具、交换机、路由器、数控设备或仪表、汽车电子、家电控制系统、医疗仪器、航天航空设备等等都是典型的嵌入式系统。
随着社会的发展,嵌入式在未来的应用会越来越广泛。随着物联网的时代的到来,电器将会与互联网,移动电话成为一体,通过无线通信技术以及互联网技术将可以使人们在任何时候控制电器等的工作。
通过这次课程设计使我们了解基本的嵌入式编程方法以及培养我们对嵌入式编程的兴趣,与此同时,我们还能巩固一下C编程和汇编编程基础,为将来的嵌入式学习和工作做好充足的准备!
第2章S3C2440的I/O口配置在S3C2440 的CPU中有130多个多功能的输入输出引脚,分为8个端口,如下所示:
- Port A(GPA): 25-output port
- Port B(GPB): 11-input/out 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): 9-input/output port
- Port J(GPJ): 13-input/output port
每个端口可以很容易地通过软件配置,以满足不同的系统配置和设计要求。如果引脚不用于复用功能,则引脚可配置为普通的I/O口。它们的寄存器是相似的:GPxCON用于选择引脚功能,GPxDAT用于都/写引脚数据,GPxUP用于确定是否使用内部上拉电阻(x为A、B、..........、H、J,注意没有GPAUP)。
1.GPxCON中每两位控制一根引脚:
00表示输入、01表示输出、10表示特殊功能、11保持不用。其中GPBCON 中共有22位来管理GPB的功能设置,每两位来管理一个口的功能设置,两位共有四种状态,当GPB中的两位值为00时,配置为输入功能;配置为01时,是输出功能;10为复用功能;11为保留状态。
2.GPxDAT用于读/写引脚:
当引脚设为输入时,读此寄存器可知相应引脚的状态是高是低。
当引脚设为输出时,写此寄存器相应位可令此引脚输出低电平或高电平。
3. GpxUP
GPBUP宫11位,每一位代表一个管脚的上拉功能,某位为0时,相应引脚上拉功能被使能,为1时,相应引脚被禁止使用上拉功能。
第3章S3C2440的I/O口寄存器LED灯是接在某一个I/O上的,点亮或者熄灭LED灯其实就是对I/O寄存器的操作。ARM的I/O口寄存器主要包括端口配置寄存器GPXCON、端口数据寄存器GPXDAT、端口上拉电阻使能寄存器GPXUP、MISCELLANEOUS控制寄存器和外部中断寄存器五种(其中X为芯片的I/O口字母)。在这个课程设计我们只用前三个寄存器,下面就对着三个寄存器进行简单的介绍。
对于ARM芯片来说,它的寄存器很多,为了区分不同的寄存器,系统给每个寄存器都分配了一个固定的地址,地址就像每个人的身份证一样,是唯一的。那么当你使用这个地址的时候ARM就知道你要使用哪个寄存器了,所以在编程的时候,首先要声明待操作的寄存器地址。下表就是本次课程设计要用到的寄存器的地址和位定义:
ARM芯片找到相应寄存器后,也先要设置端口配置寄存器GPBCON,也就是告诉寄存器做好接收数据或者输出数据或者响应外部中断的准备,下表为它的功能描述: