ImageVerifierCode 换一换
格式:DOCX , 页数:12 ,大小:353.62KB ,
资源ID:5286838      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/5286838.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(软件使用说明.docx)为本站会员(b****6)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

软件使用说明.docx

1、软件使用说明三、基础知识1LPC2106/2105/2104特性简介(注:只选择了部分与设计任务相关的内容介绍,详细资料参考嵌入式系统课程设计(学生)文件夹中的LPC2106使用手册。) ARM7TDMI-S 处理器 ;128k 字节片内Flash 程序存储器,具有ISP 和IAP 功能。Flash 编程时间:1ms 可编程512 字节,扇区擦除或整片擦除只需400ms。 64/32/16K 字节静态RAM(LPC2106/2105/2104 )。极小封装:TQFP48 (7 7mm2)。 向量中断控制器控制中断; 双UART,其中一个带有完全的调制解调器接口。具有I 2C串行接口和 SPI

2、串行接口;两个定时器,分别具有4 路捕获/ 比较通道;多达6 路输出的PWM 单元;实时时钟;看门狗定时器 ;通用I/O 口 ; CPU 操作频率可达60MHz;双电源: CPU 操作电压范围:1.65V1.95V(1.8V8.3%) , I/O 电压范围:3.0V3.6V(3.3V10%) ; 两个低功耗模式:空闲和掉电;片内PLL 允许CPU 以最大速度运行,可以在超过整个晶振操作频率范围的情况下使用。 主要应用:Internet 网关 ;串行通信协议转换器 ; 访问控制 ; 工业控制; 医疗设备等。LPC2106/2105/2104 包含一个支持仿真的ARM7TDMI-S CPU、与片内

3、存储器控制器接口的ARM7 局部总线、与中断控制器接口的AMBA 高性能总线(AHB)和连接片内外设功能的VLSI 外设总线(VPB,ARMAMBA 总线的兼容超集)。LPC2106/2105/2104 将ARM7TDMI-S 配置为小端(little-endian)字节顺序。2LPC2106/2105/2104 存储器重新映射和BOOT BLOCK AHB 外设分配了2M 字节的地址范围,它位于4G 字节ARM 存储器空间的最顶端。每个AHB 外设都分配了16k 字节的地址空间。LPC2106/2105/2104 的外设功能(中断控制器除外)都连接到VPB 总线。AHB到VPB 的桥接将VP

4、B 总线与AHB 总线相连。VPB 外设也分配了2M 字节的地址范围,从3.5GB 地址点开始。每个VPB 外设在VPB 地址空间内都分配了16k 字节地址空间。3引脚说明LPC2106/2105/2104封装为TQFP48 (7 7mm2),考虑到学生设计仿真硬件电路时,PROTEUS中的 LPC2106是DIP形式,为避免学生混淆,下面以PROTEUS中DIP形式做管脚说明及使用介绍,其实管脚是完全一致的。(1)电源和地双电源:3.3V(管脚40、17)提供给I/O,1.8V(管脚5)提供给ARM7处理器地:管脚43、31、19、7(2)(管脚6)复位,复位电路设计参见上图。(3)RTC(

5、26)K和DBGSEL(27),用作JTAG下载调试,如没有用到可以不接。(4)XTAL1(11脚)和XTAL2(12脚):外接晶振。(5)32个I/O口。4 管脚配置为GPIO下的几个寄存器设置 寄存器PINSEL0和PINSEL1的设置。LPC2106的I/O口全都是3功能服用端口,也就是说即可用作普通输入输出端口,又用作第2或第3种功能。设计人员可根据需要设置两个32位特殊功能寄存器PINSEL0和PINSEL1。PINSEL0对应引脚P0.0P0.15,PINSEL1对应引脚P0.16P0.31。都是寄存器中用两位来完成1根引脚的功能设置。例如:2 GPIO方向寄存器设置当管脚配置为G

6、PIO 模式时,可使用该寄存器控制管脚的方向。任意管脚的方向位的设置必须与管脚功能一致。 输出置1寄存器IOSET当管脚配置为GPIO 输出模式时,可使用该寄存器从管脚输出高电平。写入1 使对应管脚输出高电平。 写入0 无效。如果一个管脚被配置为输入或第二功能,写IOSET 无效。 输出清零寄存器IOCLR当管脚配置为GPIO 输出模式时,可使用该寄存器从管脚输出低电平。写入1 使对应管脚输出低电平。 写入0 无效。如果一个管脚被配置为输入或第二功能,写IOCLR 无效。如果指定输出管脚在GPIO 输出置位寄存器(IOSET)和GPIO 输出清零寄存器(IOCLR)中的对应位都置位,那么管脚的

7、输出电平取决于后写入的寄存器的值。例如: IOSET = 0x0000 0080 IOCLR = 0x0000 0080 P0.7 输出电平为低,因为写GPIO 清零寄存器在写置位寄存器之后。四、软件调试软件调试步骤如下:1. 启动ADS1.2,选择Codewarrior2. 新建工程项目,项目类型为ARM Executable Image,并在Project name下输入工程名3. 右键单击空白处,添加所需项目文档进工程,见下图,除main.c是用户自己编写的应用程序外,其余的文件都是LPC2106的启动代码,简单应用无需更改。4. 点击图标,进行工程相关设置 选ARM FORELF,用P

8、ROTEUS仿真必须选择。 设置代码起始地址(0x00000000)与数据起始地址(0x40000000) 设置程序入口地址 设置输出文件类型及文件名,用PROTEUS仿真必须选择INTEL 32 bit Hex文件类型,文件名可随意输入。全部设置完后点OK退出并保存设置。 联合编译,点图标。如无错误,会得到编译信息,并会发现生成了自己命名的HEX文件。 将HEX文件加载在PROTEUS中的PC2106中运行。观察程序执行结果是否达到预期目标。五、十字路口交通灯控制源程序仿真效果图设计任务二 uC/OS-的移植与应用一、设计目的:1了解嵌入式实时操作系统C/OS-II可移植、可裁剪等性能特点,

9、正确理解实时操作系统中任务、信号、消息、中断等基本概念以及C/OS-II多任务管理的调度算法;2掌握C/OS-II在ARM7上移植的方法;3能将C/OS-II移植在LPC2106中,并根据具体要求创建用户任务,解决实际问题;二、具体任务:1C/OS-II移植在LPC2106中。2编写用户任务程序,完成实时温度的采集控制。硬件电路见参考硬件电路图,图中用滑动变阻器代替温度传感器转换后的电压,用ADC0809完成A/D转换,并用数码管显示出来。三、基础知识1. 嵌入式操作系统随着计算机技术的迅速发展和芯片制造工艺的不断进步,嵌入式系统的应用日益广泛:从民用的电视、手机等电路设备到军用的飞机、坦克等

10、武器系统,到处都有嵌入式系统的身影。在嵌入式系统的应用开发中,采和嵌入式实时操作系统(简称RTOS)能够支持多任务,使得程序开发更加容易,便于维护,同时能够提高系统的稳定性和可靠性。这已逐渐成为嵌入式系统开发的一个发展方向。 嵌入式操作系统是一种支持嵌入式系统应用的操作系统软件。它是嵌入式系统(包括硬、软件系统)极为重要的组成部分,通常包括与硬件相关的底层驱动软件、系统内核、设备驱动接口、通信协议、图形界面、标准化浏览器Browser等。嵌入式实时操作系统有很多,如VxWorks、PalmOS、WindowsCE等。这些操作系统均属于商品化产品,价格昂贵且由于源泉代码不公开导致了诸如对设备的支

11、持、应用软件的移植等一系列的问题;而开放源码的RTOS在成本和技术上有其特有的优势,在RTOS领域占有越来越重要的地位,例如C/OS-II、uCLinux等。2. C/OS-II简介C/OS-II是专门为计算机的嵌入式应用设计的,是一个简单、高效的嵌入式实时操作系统内核,绝大部分代码是用C语言编写的。CPU硬件相关部分是用汇编语言编写的、总量约200行的汇编语言部分被压缩到最低限度,为的是便于移植到任何一种其它的CPU上。目前,它支持 x86、ARM、PowerPC、MIPS 等众多体系结构,并有上百个商业应用实例,其稳定性和可用性是经过实践验证的。同时,它的源代码公开,可以从www.ucos

12、-网站上获得全部源码以及其在各种体系结构平台上的移植范例。 最新的 C/OS-II 2.0 版以上的内核都具有可抢占的实时多任务调度功能,另外它还提供了许多系统服务,例如信号量、消息队列、邮箱、内存管理、时间函数等,这些功能可以根据不同的需求进行裁减。可以说,uC/OS-II是一个具备现代操作系统特点的RTOS,同时它结构清晰、注解详尽,具有良好的可扩展性和可移植性,被广泛地应用于各种架构的微处理器上。C/OS具有执行效率高、占用空间小、实时性能优良和可扩展性能等特点,最小内核可编译至2KB。C/OS-II已经移植到了几乎所有知名的CPU上。 3C/OS-II在ARM7上的移植 C/OS-II

13、的移植代码主要分为3部分,第1部分是与处理器无关的代码,这部分无需更改,直接添加(附在嵌入式系统课程设计(学生)-流水灯项目-SOURCE文件夹中);第2部分是与应用相关的两个头文件OS_CONFIG.H、INCLUDES.H;第3部分是与处理器相关的代码,也是C/OS-II移植的关键,主要由3个文件构成:Os_cpu.h、Os_cpu_c.c、Os_cpu_c.s。 Os_cpu.h:该文件中主要定义了与处理器相关的数据类型,软件中断符号。因为ucos不适用C语言中的short,int和long等数据类型,因为他们与处理器类型相关,隐含着不可移植性,因此需定义与处理器相关的数据类型,便于移植

14、;而定义的软件中断符号是为了在发生软件中断时,根据定义的软件中断号,跳转到指定的软件中断服务程序。 (1)定义与编译器相关的数据类型:为了保证可移植性,程序中没有直接使用C语言中的short,int及long等数据类型的定义,因为他们与处理器类型相关,隐含着不可移植性;而是自己定义了一套数据类型。 (2)选择开关中断的方式,同时定义软件中断符号。 (3)定义栈的增长方向:虽然ARM处理器核对于两种栈的增长方式(向上/向下)都支持,但GCC的C语言编译器仅支持一种方式,即从上往下增长,并且是满递减堆栈。所以OS_STK_GROWTH的值为1, Os_cpu_c.c:该文件主要进行任务堆栈的初始化

15、(OS_STK *OSTaskStkInit)和软件中断服务程序(void SWI_Exception)。软件中断服务程序中主要是对os_cpu.h中除了00,01中断号的其余中断标志号进行处理。在该文件要编写10个简单的C函数,但是只有一个函数是必要的,其余的必须声明,但不一定要包含任何代码,唯一需要编写的是OSTaskStkInit()。这个函数的功能主要是初始化任务的栈结构,在ARM体系结构下,任务堆栈空间由高至低依次将保存着pc、lr、r12、r11、r10、. r1、r0、CPSR、SPSR,因此在初始化任务堆栈空间时,应该与ARM体系结构中一样。 Os_cpu_c.s:该文件中包括

16、软件中断标号入口处理SoftwareInterrupt,启动优先级最高的任务OSStartHighRdy,任务切换时的堆栈处理OSIntCtxSw和OSIntCtxSw_1。当发生软件中断时,便跳到SoftwareInterrupt标号处,然后根据其中断号进行相应的处理OSStartHighRdy启动就绪态中任务优先级最高的任务。OSIntCtxSw保存被中断任务的一些状态寄存器保存到该模式下的堆栈中,当优先级高的任务完成后,再从堆栈中返回。而OSIntCtxSw_1是任务切换时,对新任务所做的堆栈处理。4C/OS-II的多任务调度C/OS-以及绝大多数商业上销售的实时内核都是可剥夺型内核。最高优先级的任务一旦就绪,总能得到CPU的控制权。当一个运行着的任务使一个比它优先级高的任务进入了就绪态,当前任务的CPU使用权就被剥夺了,或者说被挂起了,那个高优先级的任务立刻得到了CPU的控制权。如果是中断服务子程序使一个高优先级的任务进入就绪态,中断完成时,中断了的任务被挂起,优先级高的那个任务开始运行。5. 根据应用,划分任务,编写程序。对于本任务可划分为3个任务,第一个任务按键识别;第二个任务A/D转换;第三个任务数码管显示。仿真效果如下图所示,按下启动键,ADC0808将通道0的电压值转换并在数码管上显示出来。

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

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