产品描述: MSP430是TI公司的一个超低功耗微控制器系列,片内组合了不同功能模块,可适应不同应用层次的需求,在硬件架构上,提供架构上,提供了五种低功耗模式,可最大限度的延长手持设备的电池寿命.MSP430系列的CPU采用16位精简指令集,集成了16个通用寄存器和常数发生器,极大的提高了代码的执行效率,它的数字可控振荡器(DCO)可在LUS内由低功耗模式切换到活动模式.
上传时间: 2013-11-12
上传用户:fklinran
摘要:本文主要介绍了用51单片机设计控制洗衣机系统方案、原理和功能实现。这样一台洗衣机,允许用户可自行设置洗衣模式,可以选择泡衣(步进电机)、洗衣(直流电机)、甩衣(直流电机);每种洗衣模式下,用户可自由设定洗衣状态,即电机转速、电机转向、洗衣时间;每种选择在LED均有显示,用户可以清楚的了解每种状态的选择;在洗衣过程中,LED数码管会显示洗衣模式,LED点阵显示倒计时;每个洗衣模式结束,蜂鸣器会发声。 该系统融合了查询键盘、PWM、LED数码管显示、LED点阵显示、定时器、蜂鸣器、励磁信号控制步进电机等原理和技术,使洗衣系统人性化、智能化,最大限度的满足用户的需求。
上传时间: 2013-11-05
上传用户:macarco
MSP430系列单片机的电源电压采用1.8~3.6V低电压,RAM 数据保持方式下耗电仅0.1uA,活动模 式耗电250pA/MIPS(MIPS:每秒百万条指令数),IO输入端口的漏电流最大仅50nA。 MSP430系列单片机有独特的时钟系统设计,包括两个不同的时钟系统:基本时钟系统和锁频环(FLL 和FLL+)时钟系统或DCO 数字振荡器时钟系统。由时钟系统产生CPU和各功能模块所需的时钟,并且这 些时钟可以在指令的控制下打开或关闭,从而实现对总体功耗的控制。由于系统运行时使用的功能模块不 同,即采用不同的工作模式,芯片的功耗有明显的差异。在系统中共有种活动模式(AM)和5种低功耗模式 (LPM0~LPM4)。 另外,MSP430系列单片机采用矢量中断,支持十多个中断源,并可以任意嵌套。用中断请求将CPU 唤醒只要6us,通过合理编程,既以降低系统功耗,又可以对外部事件请求作出快速响应。
上传时间: 2014-12-01
上传用户:lbbyxmoran
现代仪表最突出的特点是功能的模块化,组装一块仪表通常只需将几个功能模块在定制PCB的基础上联合起来,就可以得到一个完整的系统。长安等经济型汽车的指针仪表一般为独立的模块,提示/报警功能由PCB 上的小灯泡完成。SANTANA 系列的指针由 PCB上的十字线圈驱动,提示/报警灯全部是发光二极管。轿车仪表板上显示的主要数据、来源及对应显示方式如表1所示(SANTANA2000),可见目前的汽车仪表尚以机械式为主,通讯方式以线束为主。这种模式最大的弊病是过于依赖线束,导致系统的复杂化。
上传时间: 2013-11-15
上传用户:三人用菜
LM3S系列单片机主要有3种工作模式:运行模式(Run-Mode)、睡眠模式(Sleep-Mode)、深度睡眠模式(Deep-Sleep-Mode)。某些型号还具有单独的极为省电的冬眠模块(Hibernation Module)。而对各个模式下的外设时钟选通以及系统时钟源的控制主要由表 2.1中的寄存器来完成。 运行模式是正常的工作模式,处理器内核将积极地执行代码。在睡眠模式下,系统时钟不变,但处理器内核不再执行代码(内核因不需要时钟而省电)。在深度睡眠模式下,系统时钟可变,处理器内核同样也不再执行代码。深度睡眠模式比睡眠模式更为省电。有关这3种工作模式的具体区别请参见表 2.2的描述。调用函数SysCtlSleep( )可使处理器立即进入睡眠模式,而调用函数SysCtlDeepSleep( )可使处理器立即进入深度睡眠模式。任一中断都可以将处理器从睡眠或深度睡眠模式唤醒,并使处理器恢复到睡眠前的运行状态。因此在进入睡眠或深度睡眠之前,必须配置某个片内外设的中断并允许其在睡眠或深度睡眠模式下继续工作,如果不这样,则只有复位或重新上电才能结束睡眠或深度睡眠状态。
上传时间: 2013-11-08
上传用户:ArmKing88
LPC900 FLASH单片机,是PHILIPS公司推出的一款高性能、微功耗51内核单片机,主要集成了字节方式的I2C总线、SPI总线、增强型UART接口、实时时钟、E2PROM、A/D转换器、ISP/IAP在线编程和远程编程方式等一系列有特色的功能部件。LPC900系列单片机提供从8脚DIP到28脚的PLCC等丰富的封装形式,可以满足各种对成本、线路板空间有限制而又要求高性能、高可靠性的应用。且其具有高速率(6倍于普通51单片机),低功耗(完全掉电模式功耗仅为1uA),高稳定性,小封装,多功能(内嵌众多流行的功能模块),多选择等特点(该系列有多款不同封装,不同价位,不同功能的型号供用户选择)。
上传时间: 2013-10-19
上传用户:hanbeidang
概述LPC2101/2102/2103基于一个支持实时仿真的ARM7TDMI-SCPU,并带有8kB和32kB嵌入的高速Flash存储器。128位宽度的存储器接口和独特的加速结构使32位代码能够在最大时钟速率下运行。这可以使得中断服务程序和DSP算法中重要功能的性能较Thumb模式提高30﹪。对代码规模有严格控制的应用可使用16位Thumb模式将代码规模降低超过30%,而性能的损失却很小。
上传时间: 2013-10-28
上传用户:arnold
PHILIPS单片机选型指南 ★ 80C51体系结构:如果您用过8051内核的单片机就很容易入门;★ 超高速CPU内核:18MHz的LPC900相当于108MHz的传统80C51;2 ★ 丰富的片内外围资源:WDT,UART,I C,SPI, D/A,2 E PROM, RTC,A/D,比较器,CCU,掉电检测等;★ 内置高精度RC振荡器:标称频率7.3728MHz,精度可达1%;★ 超小型TSSOP封装(另有DIP、PLCC封装),能最大限度节省电路板面积;★ 超低功耗:支持低速晶振,3级省电模式,典型掉电电流仅1μA;★ 在线ICP编程,仅需引出5根线(VCC, GND, RST,P0.4, P0.5);★ Flash存储器:容量1~16KB,具有ISP、IAP功能,2 可以当作E PROM使用;★ 工业级产品,抗干扰能力强,操作电压2.4~3.6V,管脚数8~44,I/O可兼容5V逻辑。
上传时间: 2013-11-12
上传用户:rlgl123
可编程系统级芯片提供了最大设计的灵活性 极端灵活且完全可编程的混合信号SOC 的基本原理是促使赛普拉斯微系统公司(Cypress MicroSystems)推出名为PSoCTM(Programmable System-On-ChipTM,可编程系统级芯片)的全新一代器件的动力所在。
上传时间: 2013-10-22
上传用户:playboys0
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