摘要:本文概括介绍了DS1302时钟芯片的特点和基本组成,通过实例详细说明了有关功能的应用软件。关于DS1302各寄存器的详细位控功能请参考DALLAS(达拉斯)公司的相应产品资料。
上传时间: 2013-11-19
上传用户:huyanju
本文介绍AVR Studio环境下对AVR芯片熔丝的配置,AVR单片机的熔丝配置项比较多也比较复杂,好在AVR Studio将各种配置进行了组合,这样配置起来就方便多了。基本上不需要查数据手册,能看懂一点英文就可以根据功能需求直接配置了。下面在ATmega16芯片基础上进行说明,不同芯片之间可能有一点不同。
上传时间: 2014-12-27
上传用户:苍山观海
NDAM 配置软件 V2.07 安装程序
上传时间: 2014-01-12
上传用户:123456wh
P87LPC767 OTP 单片机原理 P87LPC767 是20 脚封装的单片机适合于许多要求高集成度低成本的场合可以满足许多方面的性能要求作为Philips 小型封装系列中的一员P87LPC767 提供高速和低速的晶振和RC 振荡方式可编程选择具有较宽的操作电压范围可编程I/O 口线输出模式选择可选择施密特触发输入LED 驱动输出有内部看门狗定时器P87LPC767 采用80C51 加速处理器结构指令执行速度是标准80C51 MCU 的两倍特性 操作频率为20MHz 时除乘法和除法指令外加速80C51 指令执行时间为300600ns VDD=4.5 5.5V 时时钟频率可达20MHz VDD=2.7 4.5V 时时钟频率最大为10MHz 4 通道多路8 位A/D 转换器在振荡器频率fosc=20MHz 时转换时间为9.3μs 用于数字功能时操作电压范围为2.7 6.0V 4K 字节OTP 程序存储器128 字节的RAM 32Byte 用户代码区可用来存放序列码及设置参数 2 个16 位定时/计数器每一个定时器均可设置为溢出时触发相应端口输出 内含 2 个模拟比较器 全双工通用异步接收/发送器UART 及I2C 通信接口 八个键盘中断输入另加2 路外部中断输入 4 个中断优先级 看门狗定时器利用片内独立振荡器,无需外接元件,看门狗定时器溢出时间有8 种选择 低电平复位使用片内上电复位时不需要外接元件 低电压复位选择预设的两种电压之一复位可在掉电时使系统安全关闭也可将其设置为一个中断源 振荡器失效检测看门狗定时器具有独立的片内振荡器因此它可用于振荡器的失效检测 可配置的片内振荡器及其频率范围和RC 振荡器选项(用户通过对EPROM 位编程选择) 选择RC 振荡器时不需外接振荡器件 可编程 I/O 口输出模式准双向口,开漏输出,上拉和只有输入功能可选择施密特触发输入 所有口线均有20mA 的驱动能力 可控制口线输出转换速度以降低EMI,输出最小上升时间约为10ns 最少 15 个I/O 口,选择片内振荡和片内复位时可多达18 个I/O 口 如果选择片内振荡及复位时,P87LPC767 仅需要连接电源线和地线 串行 EPROM 编程允许在线编程2 位EPROM 安全码可防止程序被读出 空闲和掉电两种省电模式提供从掉电模式中唤醒功能低电平中断输入启动运行典型的掉电电流为1μA 低功耗 4MHz-20MHz,1.7-10mA@3.3v 100KHz-4MHz,0.044-1.7mA@3.3v 20KHz-100KHz,9-44μA@3.3v 20 脚DIP 和SO 封装
上传时间: 2013-11-06
上传用户:xcy122677
C8051F单片机 C8051F系列单片机 单片机自20世纪70年代末诞生至今,经历了单片微型计算机SCM、微控制器MCU及片上系统SoC三大阶段,前两个阶段分别以MCS-51和80C51为代表。随着在嵌入式领域中对单片机的性能和功能要求越来越高,以往的单片机无论是运行速度还是系统集成度等多方面都不能满足新的设计需要,这时Silicon Labs 公司推出了C8051F系列单片机,成为SoC的典型代表。 C8051F具有上手快(全兼容8051指令集)、研发快(开发工具易用,可缩短研发周期)和见效快(调试手段灵活)的特点,其性能优势具体体现在以下方面: 基于增强的CIP-51内核,其指令集与MCS-51完全兼容,具有标准8051的组织架构,可以使用标准的803x/805x汇编器和编译器进行软件开发。CIP-51采用流水线结构,70%的的指令执行时间为1或2个系统时钟周期,是标准8051指令执行速度的12倍;其峰值执行速度可达100MIPS(C8051F120等),是目前世界上速度最快的8位单片机。 增加了中断源。标准的8051只有7个中断源Silicon Labs 公司 C8051F系列单片机扩展了中断处理这对于时实多任务系统的处理是很重要的扩展的中断系统向CIP-51提供22个中断源允许大量的模拟和数字外设中断一个中断处理需要较少的CPU干预却有更高的执行效率。 集成了丰富的模拟资源,绝大部分的C8051F系列单片机都集成了单个或两个ADC,在片内模拟开关的作用下可实现对多路模拟信号的采集转换;片内ADC的采样精度最高可达24bit,采样速率最高可达500ksps,部分型号还集成了单个或两个独立的高分辨率DAC,可满足绝大多数混合信号系统的应用并实现与模拟电子系统的无缝接口;片内温度传感器则可以迅速而精确的监测环境温度并通过程序作出相应处理,提高了系统运行的可靠性。 集成了丰富的外部设备接口。具有两路UART和最多可达5个定时器及6个PCA模块,此外还根据不同的需要集成了SMBus、SPI、USB、CAN、LIN等接口,以及RTC部件。外设接口在不使用时可以分别禁止以降低系统功耗。与其他类型的单片机实现相同的功能需要多个芯片的组合才能完成相比,C8051单片机不仅减少了系统成本,更大大降低了功耗。 增强了在信号处理方面的性能,部分型号具有16x16 MAC以及DMA功能,可对所采集信号进行实时有效的算法处理并提高了数据传送能力。 具有独立的片内时钟源(精度最高可达0.5%),设计人员既可选择外接时钟,也可直接应用片内时钟,同时可以在内外时钟源之间自如切换。片内时钟源降低了系统设计的复杂度,提高了系统可靠性,而时钟切换功能则有利于系统整体功耗的降低。 提供空闲模式及停机模式等多种电源管理方式来降低系统功耗 实现了I/O从固定方式到交叉开关配置。固定方式的I/O端口,既占用引脚多,配置又不够灵活。在C8051F中,则采用开关网络以硬件方式实现I/O端口的灵活配置,外设电路单元通过相应的配置寄存器控制的交叉开关配置到所选择的端口上。 复位方式多样化,C8051F把80C51单一的外部复位发展成多源复位,提供了上电复位、掉电复位、外部引脚复位、软件复位、时钟检测复位、比较器0复位、WDT复位和引脚配置复位。众多的复位源为保障系统的安全、操作的灵活性以及零功耗系统设计带来极大的好处。 从传统的仿真调试到基于JTAG接口的在系统调试。C8051F在8位单片机中率先配置了标准的JTAG接口(IEEE1149.1)。C8051F的JTAG接口不仅支持Flash ROM的读/写操作及非侵入式在系统调试,它的JTAG逻辑还为在系统测试提供边界扫描功能。通过边界寄存器的编程控制,可对所有器件引脚、SFR总线和I/O口弱上拉功能实现观察和控制。 C8051F系列单片机型号齐全,可根据设计需求选择不同规模和带有特定外设接口的型号,提供从多达100个引脚的高性能单片机到最小3mmX3mm的封装,满足不同设计的需要。 基于上述特点,Silicon Labs 公司C8051F系列单片机作为SoC芯片的杰出代表能够满足绝大部分场合的复杂功能要求,并在嵌入式领域的各个场合都得到了广泛的应用:在工业控制领域,其丰富的模拟资源可用于工业现场多种物理量的监测、分析及控制和显示;在便携式仪器领域,其低功耗和强大的外设接口也非常适合各种信号的采集、存储和传输;此外,新型的C8051F5xx系列单片机也在汽车电子行业中崭露头角。正是这些优势,使得C8051单片机在进入中国市场的短短几年内就迅速风靡,相信随着新型号的不断推出以及推广力度的不断加大,C8051系列单片机将迎来日益广阔的发展空间,成为嵌入式领域的时代宠儿 此系列单片机完全兼容MCS-51指令集,容易上手,开发周期短,大大节约了开发成本。C8051F系统集成度高,总线时钟可达25M
上传时间: 2013-11-24
上传用户:testAPP
HT45R38在触摸按键式电子时钟中的应用 HT45R38可用来开发触摸按键式电子时钟,这是因为HT45R38提供了12个Touch Switch提供了5个信道的ADC及两信道的PWM输出。
上传时间: 2013-11-24
上传用户:jelenecheung
PCA9698 是56 脚的CMOS 器件,能够实现I2C/SMBus 应用中40 位通用GPIO 的扩展。改进的特性包括4000pF 的驱动能力、5V I/O 口、工作电流低于1mA、单独的I/O 口配置、400kHz I2C 总线时钟频率和更小的封装形式。当应用中需要额外的I/O 口来连接ACPI(“高级配置与电源接口“这是英特尔、微软和东芝共同开发的一种电源管理标准)电源开关、传感器、按钮、LED、风扇等时,可使用 I/O 扩展器件实现简单的解决方案。
上传时间: 2013-11-11
上传用户:gundamwzc
PCF2123是低功耗的CMOS实时时钟/日历芯片。数据通过SPI总线传输,最大总线速率高达6.25Mbit/s。报警和定时器功能产生一个唤醒信号,唤醒中断管脚。偏移寄存器可以实现时钟的校准。
上传时间: 2013-10-30
上传用户:dajin
PCA2125是低功耗的CMOS实时时钟/日历芯片,工作温度高达125℃。数据通过SPI总线传输,最大总线速率高达6.0Mbit/s。报警和定时器功能产生一个唤醒信号,唤醒中断管脚。
上传时间: 2013-11-09
上传用户:watch100
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