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
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
本实验要求设计一个简易的频率计,实现对标准的方波信号进行频率测量,并把测量的结果送到8 位的数码管显示,所要求测量范围是1Hz~99999999Hz。整个设计的基本原理就是对1 秒钟之内输入的方波进行计数,把所得数据保存在计数器里,经过译码器处理之后,然后送往数码管显示。这里采用的方案是在采样时钟的上升沿开始计数,然后在下一个上升沿把计数器里的数据送往数码管,并且把计数器清零,让其重新计数。整个方案的实现主要分为四个模块:时钟分频(clk_div)模块、计数器模块(counter)、译码器模块(seg8)、扫描输出(saomiao)模块。
上传时间: 2013-11-08
上传用户:kaixinxin196
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
基于单片机技术的光电检测研究胡助理,安文源,李 玲,欧阳小东关键词:单片机,激光,光电检测,脉冲信号摘 要:目前光电检测技术已经越来越广泛地应用于高科技武器、精密制造等行业中。本文主要介绍一种基于单片机技术的激光检测方法。利用单片机进行激光脉冲信号的调制、控制发射,再结合单片机与光电检测的相关技术设计了检测电路,从而实现利用激光传载信号,进行多路控制。
上传时间: 2013-10-12
上传用户:ayfeixiao
本文介绍了一种基于低功耗单片机PIC16F628A 的蓄电池检测及均衡系统,实现了对蓄电池单体电压的循环检测以及对电池的自动均衡。文中给出了系统的硬件设计和软件设计以及PC 机与48 台PIC 单片机的通讯方案。
上传时间: 2013-10-17
上传用户:huang111
利用AT89S51单片机的T0、T1的定时计数器功能,来完成对输入的信号进行频率计数,计数的频率结果通过8位动态数码管显示出来。要求能够对0-250KHZ的信号频率进行准确计数,计数误差不超过±1HZ。
上传时间: 2013-10-18
上传用户:XLHrest
文章分析了VSAT 室外单元的监控原理,对地面端站的监控信号特点做了剖析,测试获得了监控信号协议。在此基础上,给出了一种基于嵌入式单片机控制技术的室外单元检测平台设计方案,以及关键设备的硬件和软件设计结构。该平台为卫星设备检测维修提供了一种新的方法。
上传时间: 2013-11-09
上传用户:ls530720646
自动检测80C51串行通讯中的波特率:本文介绍一种在80C51 串行通讯应用中自动检测波特率的方法。按照经验,程序起动后所接收到的第1 个字符用于测量波特率。这种方法可以不用设定难于记忆的开关,还可以免去在有关应用中使用多种不同波特率的烦恼。人们可以设想:一种可靠地实现自动波特检测的方法是可能的,它无须严格限制可被确认的字符。问题是:在各种的条件下,如何可以在大量允许出现的字符中找出波特率定时间隔。显然,最快捷的方法是检测一个单独位时间(single bit time),以确定接收波特率应该是多少。可是,在RS-232 模式下,许多ASCII 字符并不能测量出一个单独位时间。对于大多数字符来说,只要波特率存在合理波动(这里的波特率是指标准波特率),从起始位到最后一位“可见”位的数据传输周期就会在一定范围内发生变化。此外,许多系统采用8 位数据、无奇偶校验的格式传输ASCII 字符。在这种格式里,普通ASCII 字节不会有MSB 设定,并且,UART总是先发送数据低位(LSB),后发送数据高位(MSB),我们总会看见数据的停止位。在下面的波特率检测程序中,先等待串行通讯输入管脚的起始信号(下降沿),然后起动定时器T0。在其后的串行数据的每一个上升沿,将定时器T0 的数值捕获并保存。当定时器T0溢出时,其最后一次捕获的数值即为从串行数据起始位到最后一个上升沿(我们假设是停止位)过程所持续的时间。
上传时间: 2014-08-22
上传用户:dajin
单片机在检测和控制系统中得到广泛的应用,温、湿度则是系统常需要测量、控制和保持的量。文中介绍了一种基于ATA9C51 的单片机的温度和湿度检测与控制的方案,针对被测对象的温度与湿度在不同变化范围需要不同的PID 参数的特点,根据检测温度和湿度自动选择合适的一组PID 参数进行控制的方案,整个设计简明、清晰。
上传时间: 2013-10-30
上传用户:wxnumen