并行NOR Flash每次传输多个bit位的数据,而串行NOR Flash每次传输一个bit位的数据。并行NOR Flash比串行NOR Flash具有更快的传输速度。
上传时间: 2013-11-01
上传用户:liu123
at91rm9200启动过程教程 系统上电,检测BMS,选择系统的启动方式,如果BMS为高电平,则系统从片内ROM启动。AT91RM9200的ROM上电后被映射到了0x0和0x100000处,在这两个地址处都可以访问到ROM。由于9200的ROM中固化了一个BOOTLOAER程序。所以PC从0X0处开始执行这个BOOTLOAER(准确的说应该是一级BOOTLOADER)。这个BOOTLOER依次完成以下步骤: 1、PLL SETUP,设置PLLB产生48M时钟频率提供给USB DEVICE。同时DEBUG USART也被初始化为48M的时钟频率; 2、相应模式下的堆栈设置; 3、检测主时钟源(Main oscillator); 4、中断控制器(AIC)的设置; 5、C 变量的初始化; 6、跳到主函数。 完成以上步骤后,我们可以认为BOOT过程结束,接下来的就是LOADER的过程,或者也可以认为是装载二级BOOTLOER。AT91RM9200按照DATAFLASH、EEPROM、连接在外部总线上的8位并行FLASH的顺序依次来找合法的BOOT程序。所谓合法的指的是在这些存储设备的开始地址处连续的存放的32个字节,也就是8条指令必须是跳转指令或者装载PC的指令,其实这样规定就是把这8条指令当作是异常向量表来处理。必须注意的是第6条指令要包含将要装载的映像的大小。关于如何计算和写这条指令可以参考用户手册。一旦合法的映像找到之后,则BOOT程序会把找到的映像搬到SRAM中去,所以映像的大小是非常有限的,不能超过16K-3K的大小。当BOOT程序完成了把合法的映像搬到SRAM的任务以后,接下来就进行存储器的REMAP,经过REMAP之后,SRAM从映设前的0X200000地址处被映设到了0X0地址并且程序从0X0处开始执行。而ROM这时只能在0X100000这个地址处看到了。至此9200就算完成了一种形式的启动过程。如果BOOT程序在以上所列的几种存储设备中找到合法的映像,则自动初始化DEBUG USART口和USB DEVICE口以准备从外部载入映像。对DEBUG口的初始化包括设置参数115200 8 N 1以及运行XMODEM协议。对USB DEVICE进行初始化以及运行DFU协议。现在用户可以从外部(假定为PC平台)载入你的映像了。在PC平台下,以WIN2000为例,你可以用超级终端来完成这个功能,但是还是要注意你的映像的大小不能超过13K。一旦正确从外部装载了映像,接下来的过程就是和前面一样重映设然后执行映像了。我们上面讲了BMS为高电平,AT91RM9200选择从片内的ROM启动的一个过程。如果BMS为低电平,则AT91RM9200会从片外的FLASH启动,这时片外的FLASH的起始地址就是0X0了,接下来的过程和片内启动的过程是一样的,只不过这时就需要自己写启动代码了,至于怎么写,大致的内容和ROM的BOOT差不多,不同的硬件设计可能有不一样的地方,但基本的都是一样的。由于片外FLASH可以设计的大,所以这里编写的BOOTLOADER可以一步到位,也就是说不用像片内启动可能需要BOOT好几级了,目前AT91RM9200上使用较多的bootloer是u-boot,这是一个开放源代码的软件,用户可以自由下载并根据自己的应用配置。总的说来,笔者以为AT91RM9200的启动过程比较简单,ATMEL的服务也不错,不但提供了片内启动的功能,还提供了UBOOT可供下载。笔者写了一个BOOTLODER从片外的FLASHA启动,效果还可以。 uboot结构与使用uboot是一个庞大的公开源码的软件。他支持一些系列的arm体系,包含常见的外设的驱动,是一个功能强大的板极支持包。其代码可以 http://sourceforge.net/projects/u-boot下载 在9200上,为了启动uboot,还有两个boot软件包,分别是loader和boot。分别完成从sram和flash中的一级boot。其源码可以从atmel的官方网站下载。 我们知道,当9200系统上电后,如果bms为高电平,则系统从片内rom启动,这时rom中固化的boot程序初始化了debug口并向其发送'c',这时我们打开超级终端会看到ccccc...。这说明系统已经启动,同时xmodem协议已经启动,用户可以通过超级终端下载用户的bootloader。作为第一步,我们下载loader.bin.loader.bin将被下载到片内的sram中。这个loder完成的功能主要是初始化时钟,sdram和xmodem协议,为下载和启动uboot做准备。当下载了loader.bin后,超级终端会继续打印:ccccc....。这时我们就可以下在uboot了。uboot将被下载到sdram中的一个地址后并把pc指针调到此处开始执行uboot。接着我们就可以在终端上看到uboot的shell启动了,提示符uboot>,用户可以uboot>help 看到命令列表和大概的功能。uboot的命令包含了对内存、flash、网络、系统启动等一些命令。 如果系统上电时bms为低电平,则系统从片外的flash启动。为了从片外的flash启动uboot,我们必须把boot.bin放到0x0地址出,使得从flash启动后首先执行boot.bin,而要少些boot.bin,就要先完成上面我们讲的那些步骤,首先开始从片内rom启动uboot。然后再利用uboot的功能完成把boot.bin和uboot.gz烧写到flash中的目的,假如我们已经启动了uboot,可以这样操作: uboot>protect off all uboot>erase all uboot>loadb 20000000 uboot>cp.b 20000000 10000000 5fff uboot>loadb 21000000 uboot>cp.b 210000000 10010000 ffff 然后系统复位,就可以看到系统先启动boot,然后解压缩uboot.gz,然后启动uboot。注意,这里uboot必须压缩成.gz文件,否则会出错。 怎么编译这三个源码包呢,首先要建立一个arm的交叉编译环境,关于如何建立,此处不予说明。建立好了以后,分别解压源码包,然后修改Makefile中的编译器项目,正确填写你的编译器的所在路径。 对loader和boot,直接make。对uboot,第一步:make_at91rm9200dk,第二步:make。这样就会在当前目录下分别生成*.bin文件,对于uboot.bin,我们还要压缩成.gz文件。 也许有的人对loader和boot搞不清楚为什么要两个,有什么区别吗?首先有区别,boot主要完成从flash中启动uboot的功能,他要对uboot的压缩文件进行解压,除此之外,他和loader并无大的区别,你可以把boot理解为在loader的基础上加入了解压缩.gz的功能而已。所以这两个并无多大的本质不同,只是他们的使命不同而已。 特别说名的是这三个软件包都是开放源码的,所以用户可以根据自己的系统的情况修改和配置以及裁减,打造属于自己系统的bootloder。
上传时间: 2013-10-27
上传用户:wsf950131
• 8255的控制字• 8255的工作方式1和工作方式2• DAC0832工作方式• ADC0809工作方式@ 要求 掌握 :• 8255接口芯片 • MCS-51单片机与D/A转换器的接口连接 • MCS-51单片机与A/D转换器的接口连接 • 初始化编程及应用了解:• I/O口扩展的原因 • 简单I/O口的扩展 • 单片机的键盘技术 8.1 I/O口扩展概述 8.2 简单I/O口扩展8.3 8255可编程通用并行接口芯片8.4 8155可编程通用并行接口芯片8.1 I/O口扩展概述 8.1.1 I/O口扩展的原因MCS-51系列单片机共有四个并行I/O口,分别是P0、P1、P2和P3。其中P0口一般作地址线的低八位和数据线使用;P2口作地址线的高八位使用;P3是一个双功能口,其第二功能是一些很重要的控制信号,所以P3一般使用其第二功能。这样供用户使用的I/O口就只剩下P1口了。另外,这些I/O口没有状态寄存和命令寄存的功能,因此难以满足复杂的I/O操作要求。由于MCS-51系列单片机I/O口数量和功能有限,所以在实际应用中不得不使用扩展的方法,来增加I/O口的数量,增强I/O口的功能。 8.1.2 I/O口的编址技术用户可以通过对I/O口进行读和写操作来完成数据的输入和输出。例如:P0口的地址为80H。用户可以使用MOV指令对P0口进行写操作。 MOV P0, A 8.1.3 单片机I/O传送的方式单片机为了实现数据的输入/输出传送,通常使用3种控制方式。1. 无条件传送方式 当外设和单片机能够同步工作时,可以采用无条件方式进行传送,即数据可以随时进行传送。2. 查询方式 查询方式又称为有条件传送方式,即数据的传送是有条件的。在进行I/O操作之前,用户要通过软件查询外设是否为数据传送做好准备,只有确认外设为数据传送做好准备。单片机才能执行数据的输入/输出(I/O)操作。3. 中断方式 当外设和计算机进行数据交换时,外设向单片机发出中断请求(即通知单片机)。单片机接到中断请求后,就作出响应,暂停正在执行的程序,而转去为设备的数据输入/输出服务。当服务完成后,程序返回,单片机再继续执行被中断的程序。 中断方式大大提高了单片机系统的工作效率,所以在单片机中被广泛应用。
上传时间: 2013-11-10
上传用户:yqs138168
带您从零学单片机之串口通信 串口应用简介51的单片机除了定时器/计数器和中断外.还拥有串行通信接口.有了这个接口我们可以用它和电脑通信.我们可以利用串口向电脑发送数据,也可以用串口接收电脑的数据.有了这个接口我们可以利用它来设计很多东西,数据采集,多机通信,远程控制等等. 串行通信是将一组数据分成一位位的方式在数据线上传送.串行通信的优点:占用IO口少.远距离传输时候成本低.串行通信的缺点:相对并行通信传输速度慢,传输方式比较复杂.DS1302 ADC0832等等都是串行传输数据.
上传时间: 2013-10-27
上传用户:jing911003
本实验是基于EasyFPGA030 的串口接收设计。FPGA 除了需要控制外围器件完成特定的功能外,在很多的应用中还需要完成FPGA 和FPGA 之间、FPGA 和外围器件之间以及FPGA 和微机的数据交换和指令传输,称之为FPGA 数据传输。FPGA 的数据通信的方式有并行通信和串行通信两种,这里我们就本实验重点讲述串口通信。所谓串口通信是指外设与计算机之间使用一根数据信号线(另外需要地线,可能还需要控制线),数据在一根数据信号线上一位一位地进行传输,每一位数据都占据一个固定的时间长度。这种通信方式使用的数据线少,在远距离通信中可以节约成本。当然,其传输的速度比并行传输慢。
上传时间: 2013-10-08
上传用户:wushengwu
单片机语言C51应用实战集锦使用C语言开发速度快,代码可重复使用,程序结构清晰、易懂、易维护,易开发一些比较大型的项目。目前,许多编译器都已经支持了C51,而且是Windows视窗界面。Kelic51是目前单片机开发最为流行的软件。本书收集并整理了许多实用的采用C51单片机开发的程序,这些程序既可以给读者以开拓思路,参考的用途又是实际的开发程序,可以直接作为程序应用在相同的开发系统上。通过本书的学习,读者可以进一步了解和掌握C51编程的思路和方法。单片机语言C51应用实战集锦目录:程序一 实时时钟芯片DS1302的C51程序例子程序二 C430与CSI的一点区别程序三 一个菜单的例子程序四 DS1820单芯片温度测量程序五 keilc 6.20c版直接嵌入汇编的方法程序六 用计算机并口模拟SPI通信的C源程序程序七 CRC 16-SIANDARD的快速算法程序八 在PC上用并行口模拟I(平方)C总线的C源代码程序九 一种在C51中写二进制的方法程序十 CRC算法原理及C语言实现程序十一 软件陷阶程序十二 一个简单的VB串口发送程序程序十三 12864汉字液晶显示驱动程序程序十四 12232点阵液晶基本驱动程序程序十五 串口中断服务函数集程序十六 93C46读写程序程序十七 20045读写程序程序十八 一组小程序集锦程序十九 AVR asm源程序程序二十 AVR单片机一个简单的通信程序程序二十一 TG19264A接口程序程序二十二 TG19264A接口程序(AVR模拟方式)程序二十三 常用的几种码制转换BCD,HEX,BIN程序二十四 16x2字符液晶屏驱动演示程序一程序二十五 16x2字符液晶屏驱动演示程序二程序二十六 PS7219代码程序二十七 2051的AD代码程序二十八 ARV19264型液晶显示字库程序二十九 液晶CKW19264A型接口程序(模拟方式)程序三十 I(平方)C总线驱动程序程序三十一 240128型液晶代码程序三十二 飞机游戏程序三十三 PC键代码程序三十四 拼音输入法模块程序三十五 串行口代码程序三十六 蛇游戏代码程序三十七 与液晶模块T6963C连接代码程序三十八 键盘输入法设计草案程序三十九 16*4液晶汉字代码程序四十 智能化家电控制附录C 单片机C51编程几个有用的模块附录D 头文件W77E58.h附录A MCS-51单片机定点运算子程序库附录B MCS-51单片机浮点运算子程序库
上传时间: 2013-11-02
上传用户:kbnswdifs
采用调试PWM方式产生正弦波:系统说明SPMC75F2413A的MCP是专为电机控制而设计的定时模块,可以根据用户设定产生电机驱动所需的各种PWM波形,本例使用SPMC75F2413A的TMR3产生六路中心对称SPWM(正弦脉宽调制),三相波形互差120度,其硬件结构如图 1.1:图 1.1 硬件结构其中PWMUN = !PWMU、PWMVN = !PWMV、PWMWN = !PWMW,由于死区保护时间的影响,这里所述的关系并不绝对成立。1.2 正弦波生成原理图 1.2是三相SPWM生成原理,是基于三角波比较法得出的。如U相:当电压比三角波的电压高时PWM输出高电平,反之输出低点平。当三角波的频率比输入电压频率高得多时,PWM的占空比便随输入电压的大小而线性变化,同时PWM的周期等于三角波的周期。
上传时间: 2013-11-25
上传用户:ljmwh2000
《微机原理及应用》课程教案目 录 下载WORD文档前 言 下载WORD文档第一章 51系列单片机概述 下载WORD文档 第一节 概述 第二节 51系列单片机分类 思考题与习题 第二章 MCS-51系列单片机组成及工作原理 下载WORD文档 第一节 MCS-51系列单片机组成 第二节 8051的内部数据存储器(内部RAM) 第三节 8051的内部程序存储器(内部ROM) 第四节 MCS-51系列单片机典型芯片的外部引脚功能 第五节 并行输入/输出口 第六节 CPU的时钟电路和时序定时单位 第七节 单片机指令执行的过程 思考题与习题 第三章 指令系统 下载WORD文档 第一节 指令格式和寻址方式 第二节 指令系统 思考题与习题 第四章 算法与结构程序设计 下载WORD文档 第一节 算法 第二节 程序基本结构 第三节 结构化程序设计 第四节 汇编语言程序设计举例 思考题与习题 第五章 中断 下载WORD文档 第一节 中断技术概述 第二节 8051中断系统 第三节 中断控制 第四节 中断响应 第五节 中断系统应用举例 思考题与习题 第六章 定时器/计数器 下载WORD文档 第一节 概述 第二节 定时器/计数器基本结构 工作方式及应用 思考题与习题 第七章 8051单片机系统扩展与接口技术 下载WORD文档 第一节 8051单片机系统扩展概述 第二节 单片机外部存储器扩展 第三节 单片机输入/输出(I/O)口扩展 第四节 LED显示器接口电路及显示程序 第五节 单片机键盘接口技术 第六节 单片机与数模(D/A)及模数(A/D)转换器的接口及应用 思考题与习题 第八章 8051单片机的异步串行通信技术 下载WORD文档 第一节 概述 第二节 8051串行口基本结构 第三节 8051串行通信工作方式及应用 第四节 多机通信原理 下载WORD文档 思考题与习题 第九章 单片机应用举例 下载WORD文档 第一节 单片机数据采集系统 第二节 电机转速测量 第三节 步进电机控制系统 第四节 机器人三觉机械手信号处理及控制算法 思考题与习题 第十章 单片机与字符式液晶显示模块连接技术 下载WORD文档 第一节 字符式液晶显示模块简介 第二节 模块指令系统 第三节 模块与8051单片机的接口 第四节 模块字符显示举例 第五节 自定义字符显示 思考题与习题 附录一 计算机数的运算基础 下载WORD文档 第一节 进位计数制及相互转换 第二节 计算机中数和字符的表示附录二 美国标准信息交换码(ASCII)字符表附录三 MCS-51指令表 下载WORD文档
上传时间: 2014-04-16
上传用户:hhkpj
输入/输出(I/O)接口是CPU与外设间信息交换的桥梁,是一个过渡性的电路,在单片机中和CPU集成在一块芯片上。介绍输入输出口的内容中,着重讲述SPCE061A单片机的较特殊的并行I/O结构,以及SPCE061A I/O口的特殊能力。单片机内部CPU与外设间所传递信息的性质、传送方式、传送速度和电平各不相同,所以CPU与外设之间不是简单的直接相连,必须借助于I/O接口这个过渡电路才能协调起来。 并行I/O接口:CPU数据转换为电平的最基本途径;外设电平转换为CPU识别的数据的最基本途径;SPCE061A 并行I/O特性独立的I/O口逻辑电平(VDDIO) 可接VDDIO范围:3.3~5.5V。多种输入方式 悬浮、上拉、下拉输入方式,适应不同的外围器件对接口要求。按位设置每一位I/O口 可按位设置每一位的输入输出方式、状态。
上传时间: 2013-11-19
上传用户:sssnaxie
82C55A是高性能,工业标准,并行I/O的LSI外围芯片;提供24条I/O脚线。 在三种主要的操作方式下分组进行程序设计82C88A的几个特点:(1)与所有Intel系列微处理器兼容;(2)有较高的操作速度;(3)24条可编程I/O脚线;(4)底功耗的CHMOS;(5)与TTL兼容;(6)拥有控制字读回功能;(7)拥有直接置位/复位功能;(8)在所有I/O输出端口有2.5mA DC驱动能力;(9)适应性强。方式0操作称为简单I/O操作,是指端口的信号线可工作在电平敏感输入方式或锁存输出。所以,须将控制寄存器设计为:控制寄存器中:D7=1; D6 D5=00; D2=0。D7位为1代表一个有效的方式。通过对D4 D3 D1和D0的置位/复位来实现端口A及端口B是输入或输出。P56表2-1列出了操作方式0端口管脚功能。
上传时间: 2013-10-26
上传用户:brilliantchen