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

加入VIP,省得不是一点点
 

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

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

下载须知

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

版权提示 | 免责声明

本文(嵌入式系统课程设计报告-基于 ARM和μC_OS-II 实时操作系统的嵌入式数字温度计的设计.doc)为本站会员(龙***)主动上传,文客久久仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知文客久久(发送邮件至hr@wenke99.com或直接QQ联系客服),我们立即给予删除!

嵌入式系统课程设计报告-基于 ARM和μC_OS-II 实时操作系统的嵌入式数字温度计的设计.doc

1、杭州电子科技大学嵌入式系统课程设计报告学号 142060105 姓名 汪大卫 班级 14 级研究生(4)班 指导教师: 余善恩、蒋鹏 2015 年 6 月基于 ARM 和 C/OS-II 实时操作系统的嵌入式数字温度计的设计一、 嵌入式数字温度计硬件实现温度计是测量物体冷热程度的工业自动化仪表。它将温度传感器产生的电阻信号转化为温度显示在仪表上。所以一般温度测量仪都有检测和显示两个部分:温度传感器热电阻是检测部分,而与之相配的指示和记录仪表是显示部分。温度传感器可根据所需精度和温度范围选用标准铂电阻温度计,精密铂电阻温度计,工业铂热电阻和工业铜热电阻等。 数字温度计可以广泛应用于标准计量实验室

2、,科研院所,大专院校及工业现场,既可作为温度标准,也可用于温度的精密测量。 采用 AT91M55800A 微处理器开发温度测量仪,其系统框图如图 3.1 所示。主要包括以下几个方面的内容: 1存储器系统 2系统接口 3用户接口显示 LCD 与键盘,A/D图 1.1 基于 ARM 微处理器的嵌入式硬件平台体系结构1.1 存储器接口 外部总线接口 EBI 用于产生访问片外存储器和外部器件的信号。EBI 可寻址 64KB 的空间,具有 8 个片选线和 24 条地址线。地址线的高 4 位与片选线是复用的。16 位的数据总线经过配置可以与 8 位或 16 位外部器件接口。独立的读写控制线允许 AT91

3、微控制器与存储器以及外部器件直接接口。EBI 支持不同的访问协议,可以对存储器实行单周期访问。EBI 的主要特点有: 外部存储器映射 多达 8 个片选线(NCS0NCS3 ,CS4CS7 ) 816 位数据总线 字节写或字节选择控制线 引到存储器的重映射 两种不同的读协议 可编程的等待周期产生器 外部等待请求 可编程的数据线浮空时间外围地址由相应的片选寄存器状态决定。在使用它们之前,应先对他们进行重映射。表 1.1 显示了一些外围进行重映射之后的地址分配。表 1.1 地址重映射之后地址分配外围 片选信号 片选寄存器 寄存器状态举例 地址空间Flash NCS0 EBI_CSR0 0x01002

4、529 0x010000000x011fffffSRAM NCS1 EBI_CSR1 0x02003121 0x020000000x0207ffffLCD NCS2 EBI_CSR2 0x0300232e 0x030000000x03000001片选寄存器为 8 个 32 位寄存器(EBI_CSR0EBI_CSR7) 。这些寄存器的基地址是 0xFFE00000。 Flash 的片选信号为 NCS0,所以它对应的片选寄存器为 EBI_CSR0。高 8 位设为 0x01,即基地址为 0x01000000。由于开发板上有 2MB 的 Flash,所以地址空间为0x010000000x011FFFF

5、F。 SRAM 的 基 地 址 设 置 为 0x02000000 , 所 以 地 址 空 间 为0x020000000x0207ffff(512KB) 。 LCD 的基地址由 NCS2 控制。基地址为 0x03000000,地址空间为0x030000000x03000001。 下面介绍 Flash 存储器接口。 Flash 存储器作为一种安全、快速的存储体,具有体积小、容量大、成本低、掉电数据不丢失等一系列优点。目前已经逐步取代其它半导体存储元件,成为嵌入式系统中主要数据和程序载体。T49BV1614 是 ATMEL 公司生产的 16 兆位 Flash 存储器,主要作用是固化程序和保存历史数据

6、,也就是开机后执行闪存的程序,并在程序执行的过程中实时地保存或修改其内部的数据单元。下面首先介绍 AT49BV1614 的特点和操作。 AT49BV1614 是采用 2.7V3.3V 电源供电的可编程只读存储器,是一种电可擦除与重新编程的器件。该器件由 8 个独立的 8K 字节块,2 个 32K 字节块,30 个 64K 字节块,具有 40 个扇区的 16Mbit 的存储器。访问速度为 90ns。片内的状态机编程和擦除器件、嵌入式字节编程与区段/ 芯片擦除功能是全自动的,引脚描述如下。 A0A19:地址线。 I/O0I/O14:数据输入/输出。在读周期输出数据; I/O15(A-1):I/O1

7、5 时是数据输入输出端,字模式;A-1 时是低 8 位输入端,字节模式; CE:输入,芯片使能,低电平时选中该器件。 OE:输入,输出使能,低电平时打开数据输出缓冲区,允许读操作。 WE:输入,写使能,低电平时允许写操作。 BYTE:输入,选择字节或字模式。 VCCQ 为 3.3V 电源。Vss 为地。 下面以命令表的编程命令为例。简要介绍字节编程。表 1.2 所列命令是一个 6 总线周期指令。表 1.2 软件命令简表命令 第一 第二 第三 第四 第五 第六周期 周期 周期 周期 周期 周期读 地址 数据芯片擦除 5555 AA 2AAA 55 5555 80 5555 AA 2AAA 55

8、5555 10扇区擦除 5555 AA 2AAA 55 5555 80 5555 AA 2AAA 55 地址 30字节/字5555 AA 2AAA 55 5555 80 地址 数据单脉冲地址 数据扇区 锁定5555 AA 2AAA 55 5555 80 5555 AA 2AAA 55 地址 40对于芯片擦除功能,自动地提供编程和电擦除之前,校验所有存储单元所需的电压和时序,然后自动擦除并校验单元界限。利用数据轮询(datapolling)特性,可以监视自动芯片擦除操作期间器件的状态,以检验操作是否完成。程序如下:const FlashDef *flash_identify ( flash_wo

9、rd *load_addr ) flash_word manuf_code ; flash_word device_code ; const FlashDef *flash_pt ; flash_word *base_addr ; int exit = FALSE ; flash_pt = FlashTable ; while ( exit = FALSE ) base_addr = (flash_word *) (int)load_addr /LCD_printf16 (int)base_addr,3,1) ; LCD_printf16 ( flash_pt-flash_name ,5,1)

10、 ; *(base_addr + FLASH_SEQ_ADD1) = FLASH_CODE1; *(base_addr + FLASH_SEQ_ADD2) = FLASH_CODE2; *(base_addr + FLASH_SEQ_ADD1) = ID_IN_CODE; /* Read Manufacturer and device code from the device manuf_code = *base_addr ; device_code = *(base_addr + 1) ; /* Exit Software Product Identification Mode *(base

11、_addr + FLASH_SEQ_ADD1) = FLASH_CODE1; *(base_addr + FLASH_SEQ_ADD2) = FLASH_CODE2; *(base_addr + FLASH_SEQ_ADD1) = ID_OUT_CODE; /* If both manufacturer and device codes corresponds if ( flash_pt-flash_id = device_code ) else /* Next Flash, If end of table if ( +flash_pt = FlashTable + NB_FLASH_SUPP

12、ORTED ) /* Return 0, Display Error and Exit loop flash_pt = (const FlashDef *)0 ; LCD_printf16 ( /device_code exit = TRUE ; return ( flash_pt ) ; 当上述程序所得结果是 00C0H(AT49BV1614 代码)时,才可以对 FLASH 进行擦除或编程。 在对 Flash 编程之前,应对 Flash 进行擦除,使其每个数据位都恢复为 1 状态,即全 FF 状态。对 Flash 的擦除操作需要 6 个总线周期。下面是简要的程序代码: int erase_s

13、ector ( flash_word *base_addr,flash_word *sector_addr, int size,int sector_id ) int trial = 0 ; /* While flash is not erased or too much erasing performed while ( check_sector_erased ( sector_addr, size, sector_id ) = FALSE ) return key; 此 函 数 分 四 次 向 I/O 口 送 出 二 进 制 数 据 1110,1101,1011,0111,然后依次从 I/O 口中读取数据。每次扫描读到的数据都存放在变量 key 中。这样就得到了键盘扫描码 key。可见,key 中可以包含 44 键矩阵的所有的键盘组合。1.3.3 A/D 数据采集 1. CS553X 概述

Copyright © 2018-2021 Wenke99.com All rights reserved

工信部备案号浙ICP备20026746号-2  

公安局备案号:浙公网安备33038302330469号

本站为C2C交文档易平台,即用户上传的文档直接卖给下载用户,本站只是网络服务中间平台,所有原创文档下载所得归上传人所有,若您发现上传作品侵犯了您的权利,请立刻联系网站客服并提供证据,平台将在3个工作日内予以改正。