基于ARM的流水灯嵌入式系统设计_第1页
基于ARM的流水灯嵌入式系统设计_第2页
基于ARM的流水灯嵌入式系统设计_第3页
基于ARM的流水灯嵌入式系统设计_第4页
基于ARM的流水灯嵌入式系统设计_第5页
已阅读5页,还剩20页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、基于基于ARM的流水灯嵌入式系的流水灯嵌入式系统设计统设计第三组第三组 实训报告实训报告总体进度总体进度 根据实训的总体时间,我们小组对此次实训做出以下事件安排: 一、第一周至第二周周三之前完成对99se原理图的设计。 二、第二周周三至第三周完成对程序源代码以及实训报告的的设计。 具体安排具体安排 第一周开始所有组员集中讨论,对原理图的理解以及对总体思路把握。 剩下的几天,考虑到对时间的合理分配,以及我们长时间没有操作99se这个软件,对这个软件比较生疏,因此,由两个人来继续进行讨论对原理图具体构造,由四人专门进行原理图的绘画。 原理图设计结束后,我们以民主的方式来决定程序设计的大体分工,其中

2、由朱徐银、保莉、刘倩三个人负责C程序部分的设计,陆佳丽、眭栋芳和我来进行负责对汇编程序部分的设计。同时作为组长的我,也努力履行着对小组应尽的责任。最终完成状况最终完成状况 经过我们全体组员的不懈努力,我们组已经成功完成此次实训的全部内容。 硬件方面,我们的原理图主要由以下几个部分组成: 1、S3C2410主芯片2、电源电路部分3、按键电路部分4、发光二极管电路部分5、时钟电路部分6、复位电路部分最终完成状况最终完成状况而我们软件部分(C程序部分),则主要由以下4个模块成:1.GPIO端口配置模块2.LED灯状态配置模块3.键值读取模块4.工作模式模块最终完成状况最终完成状况最后,我们组实现了以

3、下程序功能:1. C程序部分,我们通过对按键键值的判断来决定进入哪种不同的跑马灯工作模式,即按SW17进入模式一一盏灯依次循环,按SW19进入模式二两盏灯依次循环。2. 汇编程序部分,我们全部采取调用子函数的方式来实现流水灯的效果,但是由于时间的紧迫我们只实现了C程序中的一种模式。实训报告具体介绍之 硬件篇具体介绍具体介绍(硬件电路部分)(硬件电路部分)S3C2410主芯片:具体介绍具体介绍(硬件电路部分)(硬件电路部分) 电源电路部分:具体介绍具体介绍(硬件电路部分)(硬件电路部分)按键电路部分:具体介绍具体介绍(硬件电路部分)(硬件电路部分)发光二极管电路部分:具体介绍具体介绍(硬件电路部

4、分)(硬件电路部分)时钟电路部分:具体介绍具体介绍(硬件电路部分)(硬件电路部分)复位电路部分:具体介绍具体介绍(硬件电路部分)(硬件电路部分)序号名称数量封装1电阻24AXIAL0.32电容19RAD0.23S3C2410主芯片1DIP804MULTI_ICE1DIP205变压器1TRANSI6发光二极管7DIODE0.47按键1SW-PB8电桥1BRIDGE29电源稳压器3TO-12610电源2CON211晶振1XTAL112SST39VF1DIP8013电源1CON114HY57V561620CT1DIP801574LS145DIP-14下面是此次电路设计所用到的元件清单:实训报告具体介

5、绍之 软件篇具体介绍具体介绍(软件部分)(软件部分)第一节 C程序部分 1. 流程图具体介绍具体介绍(软件部分)(软件部分)2. GEIO端口配置模块void gpio_init(void)rGPECON = rGPECON & ( (3 11 * 2) | (3 12 * 2) ) /GPIO 初始化 将 GPE11, | ( (1 11 * 2) | (1 12 * 2) ); /GPE12, GPH4, GPH6 配置rGPHCON = rGPHCON /为输出方式。 & ( (3 6 * 2) | (3 4 * 2) | ( (1 6 * 2) | (1 4 * 2);rGPGCON

6、= rGPGCON & (0 xf4); rGPGCON = rGPGCON | (0 xa4); /SW17-GPG2-EINT10, SW19-GPG3-EINT11 rGPGCON = rGPGCON & (36 * 2);rGPGCON = rGPGCON | (16 * 2); /将GPG6设置为输出口具体介绍具体介绍(软件部分)(软件部分) 2.LED灯状态配置模块具体介绍具体介绍(软件部分)(软件部分)3. 按键读取模块 int keyScan(void) / 读取按键, 如果 SW17 按下,则 返回 1,否则如果SW19按下返回 2, 否则返回 0。 / J80,2-3, J

7、81,2-3. nt keyValue=0,tValue; tValue = rGPGDAT; if(!(tValue&(13) keyValue = 1;/若SW17被按下,则将keyValue赋值为1 else if(!(tValue&(12) keyValue = 2;/若SW19被按下,则将keyValue赋值为2 return keyValue;/返回keyValue的值 具体介绍具体介绍(软件部分)(软件部分)2. 工作模式模块 void MODE1() /模式一入口 switch(conter1) case 0: LEDALL_off();/灯全灭 LED0_On();/第一盏灯

8、亮 Delay(10000); /延时 break; case 1:LEDALL_off();/灯全灭 LED1_On();/第二盏灯亮 Delay(10000); /延时 break; case 2: LEDALL_off();/灯全灭 LED2_On();/第三盏灯亮 Delay(10000); /延时 break; case 3: LEDALL_off();/灯全灭 LED3_On();/第四盏灯亮 Delay(10000); /延时 break; conter1+;/计数器conter1 if(conter1=4) conter1=0;/如果conter1等于4,表示一轮结束,将 co

9、nter1赋值为1为下一轮到来做准备。 具体介绍具体介绍(软件部分)(软件部分)第二节汇编程序部分1. 流程图具体介绍具体介绍(软件部分)(软件部分)2. GEIO端口配置模块;GPE,GPH 配置bl delay ;调用延时子程序 ldr r0,=GPECON ;r0中为寄存器GPECON的值 ldr r1,r0 ;把r0中的值赋给r1bicr1,r1,#(311*2)|(312*2) ;把GPE11和GPE12设为输出方式orrr1,r1,#(111*2)|(112*2)str r1,r0 ;将r1的值保存到r1所对应的内存单元中 ldr r0,=GPHCON ;r0中为寄存器GPHCON

10、的值 ldr r1,r0 ;把r0中的值赋给r1bic r1,r1,#(36*2)|(34*2) ;把GPH6和GPH4设为输出方式orr r1,r1,#(16*2)|(14*2)str r1,r0 ;将r1的值保存到r1所对应的内存单元中具体介绍具体介绍(软件部分)(软件部分)2.LED灯状态配置模块LED0_ONstmfd sp!,r3,lr ;将寄存器列表中的寄存器(r3,lr)存入堆栈,堆栈指针为R13blLEDALL_OFF ;熄灭所有灯ldr r2,=GPEDAT;r2中的值为寄存器GPEDAT的值ldr r3,r2 ;把r2中的值赋给r3bic r3,r3,#(0 x111) ;

11、点亮灯str r3,r2 ;将r3的值保存到r3所对应的内存单元中ldmfd sp!,r3,lr ;将堆栈内容恢复到寄存器(r3,lr),将lr的内 容装入pc,实现子程序的返回mov pc,lr ;把lr的值给pc 具体介绍具体介绍(软件部分)(软件部分)2.LED灯状态配置模块LED0_OFFldr r2,=GPEDAT ;r2中的值为寄存器GPEDAT的值ldr r3,r2 ;把r2中的值赋给r3ORR r3,r3,#(0 x111) ;熄灭灯str r3,r2 ;将r3的值保存到r3所对应的内存单元中mov pc,lr ;把lr的值给pcLEDALL_OFFstmfd sp!,r3,lr ;将寄存器列表中的寄存器(r3,lr)存入堆栈,堆 栈指针为R1

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论