基于S3C2410的流水灯控制系统Word文档下载推荐.docx

上传人:b****7 文档编号:22962649 上传时间:2023-02-06 格式:DOCX 页数:22 大小:336.52KB
下载 相关 举报
基于S3C2410的流水灯控制系统Word文档下载推荐.docx_第1页
第1页 / 共22页
基于S3C2410的流水灯控制系统Word文档下载推荐.docx_第2页
第2页 / 共22页
基于S3C2410的流水灯控制系统Word文档下载推荐.docx_第3页
第3页 / 共22页
基于S3C2410的流水灯控制系统Word文档下载推荐.docx_第4页
第4页 / 共22页
基于S3C2410的流水灯控制系统Word文档下载推荐.docx_第5页
第5页 / 共22页
点击查看更多>>
下载资源
资源描述

基于S3C2410的流水灯控制系统Word文档下载推荐.docx

《基于S3C2410的流水灯控制系统Word文档下载推荐.docx》由会员分享,可在线阅读,更多相关《基于S3C2410的流水灯控制系统Word文档下载推荐.docx(22页珍藏版)》请在冰豆网上搜索。

基于S3C2410的流水灯控制系统Word文档下载推荐.docx

ARM处理器本身是32位设计,但也配备16位指令集,一般来讲比等价32位代码节省达35%,却能保留32位系统的所有优势。

其广泛地使用在许多嵌入式系统设计。

由于节能的特点,ARM处理器非常适用于行动通讯领域,符合其主要设计目标为低耗电的特性。

1.1.1ARM处理器特点

ARM处理器的三大特点是:

耗电少功能强、16位/32位双指令集和合作伙伴众多。

体积小、低功耗、低成本、高性能;

支持Thumb(16位)/ARM(32位)双指令集,能很好的兼容8位/16位器件;

大量使用寄存器,指令执行速度更快;

大多数数据操作都在寄存器中完成;

寻址方式灵活简单,执行效率高;

指令长度固定。

在今日,ARM家族占了所有32位嵌入式处理器75%的比例,使它成为占全世界最多数的32位架构之一。

ARM处理器可以在很多消费性电子产品上看到,从可携式装置(PDA、移动电话、多媒体播放器、掌上型电子游戏,和计算机)到电脑外设(硬盘、桌上型

路由器)甚至在导弹的弹载计算机等军用设施中都有他的存在。

在此还有一些基于ARM设计的派生产品,重要产品还包括Marvell的XScale架构和德州仪器的OMAP系列。

1.1.2ARM处理器体系结构

1.CISC(Complex Instruction Set Computer,复杂指令集计算机)

在CISC指令集的各种指令中,大约有20%的指令会被反复使用,占整个程序代码的80%。

而余下的指令却不经常使用,在程序设计中只占20%。

2.RISC(Reduced Instruction Set Computer,精简指令集计算机)

RISC结构优先选取使用频最高的简单指令,避免复杂指令;

将指令长度固定,指令格式和寻址方式种类减少;

以控制逻辑为主,不用或少用微码控制等

3.寄存器结构

ARM处理器共有37个寄存器,被分为若干个组(BANK),这些寄存器包括:

(1)31个通用寄存器,包括程序计数器(PC指针),均为32位的寄存器。

(2)6个状态寄存器,用以标识CPU的工作状态及程序的运行状态,均为32位,只使用了其中的一部分。

4.指令结构

ARM微处理器的在较新的体系结构中支持两种指令集:

ARM指令集和Thumb指令集。

其中,ARM指令为32位的长度,Thumb指令为16位长度。

Thumb指令集为ARM指令集的功能子集,但与等价的ARM代码相比较,可节省30%~40%以上的存储空间,同时具备32位代码的所有优点。

1.2S3C2410处理器

S3C2410处理器是Samsung公司基于ARM公司的ARM920T处理器核,采用FBGA封装,采用0.18um制造工艺的32位微控制器。

该处理器拥有:

独立的16KB指令Cache和16KB数据Cache,MMU,支持TFT的LCD控制器,NAND闪存控制器,3路UART,4路DMA,4路带PWM的Timer,I/O口,RTC,8路10位ADC,TouchScreen接口,IIC-BUS接口,IIS-BUS接口,2个USB主机,1个USB设备,SD主机和MMC接口,2路SPI。

S3C2410处理器最高可运行在203MHz。

1.2.1S3C2410处理器规格

核心板的尺寸仅相当于名片的2/3大小。

开发商可以充分发挥想象力,设计制造出小体积,高性能的嵌入式应用产品。

芯片封装:

272-FBGA封装。

主要有两种型号:

S3C2410A-20、S3C2410A-26。

前者主频最高为200MHZ、后者主频最高为266MHZ。

1.2.2S3C2410处理器功能

(1)内部1.8V,存储器3.3V,外部I/O3.3V,16KB数据Cache,16KB指令Cache,

MMU。

(2)内置外部存储器控制器(SDRAM控制和芯片选择逻辑)。

(3)LCD控制器,一个LCD专业DMA。

(4)4个带外部请求线的DMA。

(5)3个通用异步串行端口(IrDA1.0,16-ByteTxFIFO,16-ByteRxFIFO),2通道SPI。

(6)一个多主I2C总线,一个I2S总线控制器。

(7)SD主接口版本1.0和多媒体卡协议版本2.11兼容。

(8)两个USBHOST,一个USBDEVICE(VER1.1)。

(9)4个PWM定时器和一个内部定时器。

(10)看门狗定时器。

117个通用I/O。

(11)56个中断源,24个外部中断。

(12)电源控制模式:

标准、慢速、休眠、掉电。

(13)8通道10位ADC和触摸屏接口。

(14)带日历功能的实时时钟,芯片内置PLL。

(15)设计用于手持设备和通用嵌入式系统。

(16)16/32位RISC体系结构,使用ARM920T 

CPU核的强大指令集。

(17)带MMU的先进的体系结构支持WinCE、EPOC32、Linux。

1.3ADS集成环境简介

ADS是ARM公司的集成开发环境软件,他的功能非常强大。

他的前身是SDT,SDT是ARM公司几年前的开发环境软件,目前SDT早已经不再升级。

ADS包括了四个模块分别是:

SIMULATOR;

C编译器;

实时调试器;

应用函数库。

ADS的编译器调试器较SDT都有了非常大的改观,ADS1.2提供完整WINDOWS界面开发环境。

C编译器效率极高,支持C以及C++,使工程师可以很方便的使用C语言进行开发。

提供软件模拟仿真功能,使没有Emulators的学习者也能够熟悉ARM的指令系统。

配合FFT-ICE使用,ADS1.2提供强大的实时调试跟踪功能,片内运行情况尽在掌握。

ADS1.2需要硬件支持才能发挥强大功能。

目前支持的硬件调试器有Multi-ICE以及兼容Multi-ICE的调试工具如FFT-ICE。

ADS包括三种调试器:

(1)AXD(ARMeXtendedDebugger):

ARM扩展调试器

(2)armsd(ARMSymbolicDebugger):

ARM符号调试器。

(3)与老版本兼容的Windows或Unix下的ARM调试工具,ADW/ADU

其中AXD不仅拥有低版本ARM调试器的所有功能,还新添了图形用户界面,更方便的视窗管理数据显示,格式化和编辑以及全套的命令行界面。

该产品还包括

RealMonitor™(可以在前台调试的同时断点续存并且在不中断应用的情况下读写内存跟踪调试工具)。

第2章电路设计

硬件电路由S3C2410主芯片、电源电路部分、按键电路部分、发光二极管电路部分、时钟电路部分和NOR 

FLASH等部分组成,以下是各个电路部分的具体情况。

(1)S3C2410主芯片如图4-1所示。

图4-1 

控制整个系统的正确运行

(2)按键电路部分如图4-2所示。

图4-2 

提供按键支持

(3) 

发光二极管电路部分如图4-3所示。

图4-3 

显示输出状态 

(4) 

时钟电路部分如图4-4所示。

图4-4 

提供时钟支持

(5) 

电源电路部分如图4-5所示。

图4-5为系统提供稳定的电源

(6) 

NOR 

FLASH部分如图4-6所示。

图4-6 

启动方式

(8)以上硬件电路所需元件清单如表1所示。

表1元件清单

元件清单

序号

名称

数量

封装

1

电阻

24个

AXIAL0.3

2

电容

19个

RAD0.2

3

S3C2410芯片

1个

DIP80

4

MULTI_ICE

DIP20

5

变压器

TRANSI

6

发光二极管

7个

DIODE0.4

7

按键

SW-PB

8

电桥

BRIDGE2

9

电源稳压器

3个

TO-126

10

电源

2个

CON2

11

晶振

XTAL1

12

SST39VF

13

CON1

14

HY57V561620CT

15

74LS14

5个

DIP-14

第3章程序流程图及代码设计

C程序部分,主要由以下4个模块成:

GPIO 

端口配置模块、LED灯状态配置模块、键值读取模块、工作模式模块,下面是各个模块的具体情况。

3.1C程序流程图 

3.2C程序程序代码

3.2.1C程序GPIO端口配置模块 

void 

gpio_init(void) 

{

rGPECON=rGPECON

&

~((3<

<

11*2)|(3<

12*2))

|((1<

11*2)|(1<

12*2));

rGPHCON=rGPHCON 

6*2)|(3<

4*2))

6*2)|(1<

4*2));

rGPGCON=rGPGCON&

~(0xf<

4);

rGPGCON=rGPGCON|(0xa<

rGPGCON=rGPGCON 

~(3<

6*2);

rGPGCON=rGPGCON|(1<

 

}

3.2.2C程序LED灯状态配置模块 

VoidLED0_Off(void) 

rGPEDAT=rGPEDAT|(1<

11);

Void 

LED1_Off(void) 

rGPEDAT=rGPEDAT| 

(1 

12);

LED2_Off(void) 

rGPHDAT 

rGPHDAT| 

LED3_Off(void) 

6);

LED0_On(void) 

rGPEDAT 

rGPEDAT&

~(1 

11);

LED1_On(void) 

LED2_On(void) 

rGPHDAT&

LED3_On(void) 

3.2.3C程序键值读取模块

int 

keyScan(void) 

keyValue=0,tValue;

tValue 

rGPGDAT;

if(!

(tValue&

(1<

3))) 

keyValue 

1;

else 

2))) 

2;

return 

keyValue;

3.2.4C程序工作模式模块

voidMODE1()

{switch(conter1)

case0:

LEDALL_off();

LED0_On();

Delay(10000);

break;

case1:

LED1_On();

case2:

LED2_On();

case3:

LED3_On();

break;

conter1++;

if(conter1==4) 

conter1=0;

MODE2() 

switch(conter2) 

case 

0:

LEDALL_off();

1:

2:

3:

conter2++;

 

if(conter2==4) 

conter2=0;

以上是C程序部分,而汇编程序部分,则主要由以下2个模块成:

GPIO端口配置模块、LED灯状态配置模块,下面分别设计各个模块。

3.3汇编流程图

3.4汇编程序代码

3.4.1汇编程序GPIO端口配置模块

;

GPE,GPH 

配置 

bl 

delay 

ldr 

r0,=GPECON 

r1,[r0] 

bic 

r1,r1,#((3<

11*2)|(3<

12*2)) 

orr 

r1,r1,#((1<

11*2)|(1<

str 

r0,=GPHCON

r1,r1,#((3<

6*2)|(3<

4*2)) 

r1,r1,#((1<

6*2)|(1<

r1,[r0] 

3.4.2汇编程序LED灯状态配置模块

LED0_ON 

stmfdsp!

{r3,lr} 

LEDALL_OFF 

r2,=GPEDAT 

r3,[r2] 

bic 

r3,r3,#(0x1<

11) 

ldmfd 

sp!

mov 

pc,lr 

LED1_ON 

stmfd 

sp!

r2,=GPEDAT 

r3,[r2] 

12) 

ldmfd 

LED2_ON 

LEDALL_OFF 

r2,=GPHDAT 

4) 

LED3_ON 

6) 

pc,lr 

LED0_OFF 

ORR 

LED1_OFF 

LED2_OFF 

LED3_OFF 

bl 

LED2_OFF 

LED3_OFF 

第4章总结

两周时间很快就过去了,关于在ARM嵌入式实验平台上运行流水灯程序的工程训练已经结束了。

经过这前前后后的准备、思考、实施、总结,我终于成功的完成了这次工程训练。

在此次实训中我完成了从资料收集、确定方案、计划制定、电路图设计、程序的调试、检查和评估等一系列任务,实现了流水灯程序在ARM嵌入式实验平台上运行的设计和制作,收获许多也成长了许多,最终圆满地完成了实训任务。

纵观整个的实训过程,经常出现这样那样的困难,比如电路图画错、编程出现错误、软件不会使用,论文不知道怎样去写等,在这期间着实费了我不少时间,我还是努力认真的去学习检查和修改,虽然这个过程非常艰难,但还是值得我回味的。

在整个课程设计过程,我查阅了大量地相关书籍和文献资料,从中学习了一些ARM的工作原理以及怎样去设计一个电子电路,还参照了一些以前做过的课程设计。

对于这次实验,自己总结了如下几点。

首先,要熟悉电路图,对各种功能进行分析,并且结合所学知识及所给的元器件和电路图认真分析每一部分电路的功能和原理。

这是进行以后实验的基础。

其次,实验线路连接要有层次,有条理。

最后,编写好程序代码是非常重要的一部分。

这不仅考验了我们对嵌入式知识的了解程度,还考核了我们对C语言,汇编语言的理解和运用。

通过这次课程设计,我不仅加深了对以前学过课本知识得以理解和应用,并且对于其在电路中的使用有了更多的认识。

通过这次课程设计原先有些课本上理论问题总是弄不懂,这次通过自己亲自动手去实践,以前很多问题就感觉通俗易懂了,此间还掌握了不少理论知识。

认识来源于实践,只有通过实践才能得以检验自己所学的理论知识。

我也真正提高了自己的各项能力,比如独立思考解决问题的能力,与人协作的能力,亲自动手实践的能力,真正的提高了自己的实践技能,培养了自己的创新能力,为今后完成更高质量的项目打下基础。

本次设计让我将理论很好地应用到实际当中去,而且我还学会了如何去培养我们的创新精神,这次课程设计结束了,但在以后的社会发展和学习实践过程中,一定要不懈努力,不能遇到问题就想到退缩,一定要不厌其烦的发现问题所在,然后一一解决,只有这样,才能成功的做成想做的事情通过亲手实践,体会到了收获成果的喜悦。

参考文献

[1]邱铁.ARM嵌入式系统结构与编程.清华大学出版社,2013.

[3]邱关源.电路第五版[M].高等教育出版社,2006.

[4]谭浩强.C语言程序设计[M].清华大学出版社,2005.

[5]刘建军.电子电工基础.人民邮电出版社,2011.

[6]广嵌GEC2410B实验箱材料-GEC2410B实验箱用户手册V1.1.pdf. 

[7]徐英慧等.ARM9嵌入式系统设计.北京:

北京航空航天大学出版社,2015.

[8]张智超等.嵌入式Linux应用开发详解[M].北京:

机械工业版社,2004.

如有侵权请联系告知删除,感谢你们的配合!

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 高等教育 > 法学

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1