这是一本关于Intel 80C51 以及广大的51 系列单片机的书这本书介绍给读者一些新的技术使你的8051 工程和开发过程变得简单请注意这本书的目的可不是教你各种8051 嵌入式系统的解决方法为使问题讨论更加清晰在适当的地方给出了程序代码我们以讨论项目的方法来说明每章碰到的问题所有的代码都可在附带的光盘上找到你必须熟系C 和8051 汇编因为本书不是一本C 和汇编的指导书你可以买到不少关于ANSI C 的书最佳选择当然是Intel的数据书可从你的芯片供应商处免费索取和随编译工具附送的手册附送光盘中有我为这本书编写和收集的程序这些程序已经通过测试这并不意味着你可以随时把这些程序加到你的应用系统或工程中有些地方必须首先经过修改才能结合到你的程序中这本书将教你充分使用你的工具如果你只有8051 的汇编程序你也可以学习该书和使用这些例子但是你必须把C 语言的程序装入你的汇编程序中这对懂得C 语言和8051汇编程序指令的人来说并不是一件困难的事如果你有C 编译器的话那恭喜你使用C 语言进行开发是一个好的决定你会发现使用C 进行开发将使你的工程开发和维护的时间大大减少如果你已经拥有Keil C51 那你已经选择了一个非常好的开发工具我发现Keil 软件包能够提供最好的支持本书支持Keil C 的扩展如果你有其它的开发工具像Archimedes 和Avocet 这本书也能很好地为你服务但你必须根据你所用的开发工具改变一些Keil 的特殊指令在书的一些地方有硬件图实例程序在这些硬件上运行这些图绘制地不是很详细主要是方框图但足以使读者明白软件和硬件之间的接口读者应该把这本书看成工具书而不是用来学习各种系统设计通过本书你可以了解给定一定的硬件和软件设计之后8051 的各种性能希望你能从本书中获取灵感并有助于你的设计使你豁然开朗当然我希望你也能够从本书中学到有用的知识使之能够提升你的设计 这本书向你展示了用8051进行工程设计时的许多问题希望你读完本书后对8051的认识能有较大的提高如果你现在还没有够买C编译器你应该马上去买一个采用C语言可是你的系统设计更简单维护更方便这本书覆盖面较大从C和汇编的代码优化到8051的网络设计再到模糊控制希望你从本书中学到的知识对你今后的系统设计有所帮助
上传时间: 2013-10-12
上传用户:ommshaggar
1 序言1.1 版本1.0-19921992 I2C 总线规范的这个版本有以下的修正• 删除了用软件编程从机地址的内容因为实现这个功能相当复杂而且不被使用• 删除了低速模式实际上这个模式是整个I2C 总线规范的子集不需要明确地详细说明• 增加了快速模式它将位速率增加4 倍到达400kbit/s 快速模式器件都向下兼容即它们可以在0~100kbit/s 的I2C 总线系统中使用• 增加了10 位寻址允许1024 个额外的从机地址• 快速模式器件的斜率控制和输入滤波改善了EMC 性能注意100kbit/s 的I2C 总线系统或100kbit/s 器件都没有改变1.2 版本2.0-1998I2C 总线实际上已经成为一个国际标准在超过100 种不同的IC 上实现而且得到超过50 家公司的许可但是现在的很多应用要求总线速度更高电源电压更低这个更新版的I2C 总线规范满足这些要求而且有以下的修正• 增加了高速模式Hs 模式它将位速率增加到3.4Mbit/s Hs 模式的器件可以和I2C 总线系统中快速和标准模式器件混合使用位速率从0~3.4Mbit/s• 电源电压是2V 或更低的器件的低输出电平和滞后被调整到符合噪声容限的要求而且保持和电源电压更高的器件兼容• 快速模式输出级的0.6V 6mA 要求被删除• 新器件的固定输入电平被总线电压相关的电平代替• 增加了双向电平转换器的应用信息
上传时间: 2014-12-28
上传用户:hakim
实现动态显示效果的方法和以上几种基本类似,这里以滚动显示为例作一说明。对于需要滚动的文字,可以将其设置为位图格式,暂存于内存中,然后利用VC 提供的位图拷贝函数BitBlt将位图复制到显示位置。对于特殊字符或图形,则可以直接利用BitBlt函数调用到显示位置。然后在类CLEDDlg的 OnTimer函数中调用该函数,以实现文字的滚动显示。另外,也可以通过设定不同的响应时间间隔来改变文字的滚动速度。 程序清单: ORG 00H LOOP: MOV A,#0FFH ;开机初始化,清除画面 MOV P0,A ;清除P0口 ANL P2,#00 ;清除P2口 MOV R2,#200 D100MS: MOV R3,#250 ;延时100毫秒 DJNZ R3,$ DJNZ R2,D100MS MOV 20H,#00H ;取码指针的初值 l100: MOV R1,#100 ;每个字的停留时间 L16: MOV R6,#16 ;每个字16个码
上传时间: 2013-11-06
上传用户:zl520l
第一章 51单片机c语言编程介绍这是一本关于 Intel 80C51 以及广大的 51 系列单片机的书 这本书介绍给读者一些新的技术 使你的 8051 工程和开发过程变得简单 请注意 这本书的目的可不是教你各种8051 嵌入式系统的解决方法为使问题讨论更加清晰 在适当的地方给出了程序代码 我们以讨论项目的方法来说明每章碰到的问题 所有的代码都可在附带的光盘上找到 你必须熟系 C 和 8051汇编 因为本书不是一本C和汇编的指导书 你可以买到不少关于ANSI C的书 最佳选择当然是Intel的数据书 可从你的芯片供应商处免费索取 和随编译工具附送的手册附送光盘中有我为这本书编写和收集的程序 这些程序已经通过测试 这并不意味着你可以随时把这些程序加到你的应用系统或工程中 有些地方必须首先经过修改才能结合到你的程序中这本书将教你充分使用你的工具 如果你只有 8051 的汇编程序 你也可以学习该书和使用这些例子 但是你必须把 C 语言的程序装入你的汇编程序中 这对懂得 C 语言和 8051汇编程序指令的人来说并不是一件困难的事如果你有 C 编译器的话 那恭喜你 使用 C 语言进行开发是一个好的决定 你会发现使用 C 进行开发将使你的工程开发和维护的时间大大减少 如果你已经拥有 Keil C51 那你已经选择了一个非常好的开发工具 我发现 Keil 软件包能够提供最好的支持 本书支持Keil C 的扩展 如果你有其它的开发工具像 Archimedes 和 Avocet 这本书也能很好地为你服务 但你必须根据你所用的开发工具改变一些 Keil 的特殊指令在书的一些地方有硬件图 实例程序在这些硬件上运行 这些图绘制地不是很详细主要是方框图 但足以使读者明白软件和硬件之间的接口读者应该把这本书看成工具书 而不是用来学习各种系统设计 通过本书 你可以了解给定一定的硬件和软件设计之后 8051 的各种性能 希望你能从本书中获取灵感 并有助于你的设计 使你豁然开朗 当然 我希望你也能够从本书中学到有用的知识 使之能够提升你的设计
上传时间: 2013-11-16
上传用户:穿着衣服的大卫
在正常操作期间,一次WDT 超时溢出将产生一次器件复位。如果器件处于休眠状态,一次WDT超时溢出将唤醒器件,使其继续正常操作(即称作WDT 唤醒)。对WDTE 设置位清零可以永久性地关闭WDT。后分频器分配完全是由软件控制,即它可在程序执行期间随时更改。在例26-1 中,如果需要的预分频值不是1:1,就不需要对OPTION_REG 寄存器做初始修改。如果需要的预分频值是1:1,那么先向OPTION_REG 设置一个非1:1 的临时预分频值,在完成其它操作后,在最后修改OPTION_REG 时再设置1:1 的预分频值。这样操作,主要是因为无法知道TMR0 预分频器的当前计数值,而且分频器更改后,该值将变为WDT 后分频器的当前计数值,所以必须遵循示例中的代码顺序。如果没有按照示例中的代码顺序改变OPTION_REG 寄存器,那么无法准确得知WDT 复位前的时间。
上传时间: 2013-11-02
上传用户:674635689
51 系列单片机 这是一本关于Intel 80C51 以及广大的51 系列单片机的书这本书介绍给读者一些新的技术使你的8051 工程和开发过程变得简单请注意这本书的目的可不是教你各种8051 嵌入式系统的解决方法为使问题讨论更加清晰在适当的地方给出了程序代码我们以讨论项目的方法来说明每章碰到的问题所有的代码都可在附带的光盘上找到你必须熟系C 和8051 汇编因为本书不是一本C 和汇编的指导书你可以买到不少关于ANSI C 的书最佳选择当然是Intel的数据书可从你的芯片供应商处免费索取和随编译工具附送的手册附送光盘中有我为这本书编写和收集的程序这些程序已经通过测试这并不意味着你可以随时把这些程序加到你的应用系统或工程中有些地方必须首先经过修改才能结合到你的程序中这本书将教你充分使用你的工具如果你只有8051 的汇编程序你也可以学习该书和使用这些例子但是你必须把C 语言的程序装入你的汇编程序中这对懂得C 语言和8051汇编程序指令的人来说并不是一件困难的事如果你有C 编译器的话那恭喜你使用C 语言进行开发是一个好的决定你会发现使用C 进行开发将使你的工程开发和维护的时间大大减少如果你已经拥有Keil C51 那你已经选择了一个非常好的开发工具我发现Keil 软件包能够提供最好的支持本书支持Keil C 的扩展如果你有其它的开发工具像Archimedes 和Avocet 这本书也能很好地为你服务但你必须根据你所用的开发工具改变一些Keil 的特殊指令在书的一些地方有硬件图实例程序在这些硬件上运行这些图绘制地不是很详细主要是方框图但足以使读者明白软件和硬件之间的接口读者应该把这本书看成工具书而不是用来学习各种系统设计通过本书你可以了解给定一定的硬件和软件设计之后8051 的各种性能希望你能从本书中获取灵感并有助于你的设计使你豁然开朗当然我希望你也能够从本书中学到有用的知识使之能够提升你的设计
上传时间: 2013-10-29
上传用户:myworkpost
存储器技术.doc 计算机的主存储器(Main Memory),又称为内部存储器,简称为内存。内存实质上是一组或多组具备数据输入输出和数据存储功能的集成电路。内存的主要作用是用来存放计算机系统执行时所需要的数据,存放各种输入、输出数据和中间计算结果,以及与外部存储器交换信息时作为缓冲用。由于CPU只能直接处理内存中的数据 ,所以内存是计算机系统中不可缺少的部件。内存的品质直接关系到计算机系统的速度、稳定性和兼容性。 4.1 存储器类型计算机内部存储器有两种类型,一种称为只读存储器ROM(Read Only Memiry),另一种称为随机存储器RAM(Random Access Memiry)。 4.1.1 只读存储器只读存储器ROM主要用于存放计算机固化的控制程序,如主板的BIOS程序、显卡BIOS控制程序、硬盘控制程序等。ROM的典型特点是:一旦将数据写入ROM中后,即使在断电的情况下也能够永久的保存数据。从使用上讲,一般用户能从ROM中读取数据,而不能改写其中的数据。但现在为了做一日和尚撞一天钟于软件或硬件程序升级,普通用户使用所谓的闪存(Flash Memiry)也可以有条件地改变ROM中的数据。有关只读存储器ROM的内容将在第11章中介绍,本章主要介绍随机存储器。4.1.2 随机存取存储器随机存取存储器RAM的最大特点是计算机可以随时改变RAM中的数据,并且一旦断电,TAM中数据就会立即丢失,也就是说,RAM中的数据在断电后是不能保留的。从用于制造随机存取存储器的材料上看,RAM又可分为静态随机存储器SRAM(Static RAM)和动态随机存储器DRAM(Dymamic RAM)两种。1. 动态随机存储器在DRAM中数据是以电荷的形式存储在电容上的,充电后电容上的电压被认为是逻辑上的“1”,而放电后的电容上的电压被认为是逻辑上的“0”认。为了减少存储器的引脚数,就反存储器芯片的每个基本单元按行、列矩阵形式连接起来,使每个存储单元位于行、列的交叉点。这样每个存储单元的地址做一日和尚撞一天钟可以用位数较少的行地址和列地址两个部分表示,在对每个单元进行读写操作时,就可以采用分行、列寻址方式写入或读出相应的数据,如图4-1所示。 由于电容充电后,电容会缓慢放电,电容 上的电荷会逐渐
标签: 存储器
上传时间: 2014-01-10
上传用户:18752787361
什么是JTAG 到底什么是JTAG呢? JTAG(Joint Test Action Group)联合测试行动小组)是一种国际标准测试协议(IEEE 1149.1兼容),主要用于芯片内部测试。现在多数的高级器件都支持JTAG协议,如DSP、FPGA器件等。标准的JTAG接口是4线:TMS、 TCK、TDI、TDO,分别为模式选择、时钟、数据输入和数据输出线。 JTAG最初是用来对芯片进行测试的,基本原理是在器件内部定义一个TAP(Test Access Port�测试访问口)通过专用的JTAG测试工具对进行内部节点进行测试。JTAG测试允许多个器件通过JTAG接口串联在一起,形成一个JTAG链,能实现对各个器件分别测试。现在,JTAG接口还常用于实现ISP(In-System rogrammable�在线编程),对FLASH等器件进行编程。 JTAG编程方式是在线编程,传统生产流程中先对芯片进行预编程现再装到板上因此而改变,简化的流程为先固定器件到电路板上,再用JTAG编程,从而大大加快工程进度。JTAG接口可对PSD芯片内部的所有部件进行编程 JTAG的一些说明 通常所说的JTAG大致分两类,一类用于测试芯片的电气特性,检测芯片是否有问题;一类用于Debug;一般支持JTAG的CPU内都包含了这两个模块。 一个含有JTAG Debug接口模块的CPU,只要时钟正常,就可以通过JTAG接口访问CPU的内部寄存器和挂在CPU总线上的设备,如FLASH,RAM,SOC(比如4510B,44Box,AT91M系列)内置模块的寄存器,象UART,Timers,GPIO等等的寄存器。 上面说的只是JTAG接口所具备的能力,要使用这些功能,还需要软件的配合,具体实现的功能则由具体的软件决定。 例如下载程序到RAM功能。了解SOC的都知道,要使用外接的RAM,需要参照SOC DataSheet的寄存器说明,设置RAM的基地址,总线宽度,访问速度等等。有的SOC则还需要Remap,才能正常工作。运行Firmware时,这些设置由Firmware的初始化程序完成。但如果使用JTAG接口,相关的寄存器可能还处在上电值,甚至时错误值,RAM不能正常工作,所以下载必然要失败。要正常使用,先要想办法设置RAM。在ADW中,可以在Console窗口通过Let 命令设置,在AXD中可以在Console窗口通过Set命令设置。
上传时间: 2013-10-23
上传用户:aeiouetla
本设计的整体思路是:以XILINX FPGA作为控制中心,通过提取热释电红外传感器感应到的人体红外线信息,并利用温度传感器DS18B20检测环境温度并直接输出数字温度信号给FPGA 进行处理,在LED数码管上显示当前环境温度值以及预设温度值。通过独立键盘输入预设温度值,其中预设温度值只能为整数形式,检测到的当前环境温度可精确 到小数点后一位。同时采用PWM脉宽调制方式来改变直流风扇电机的转速。并通过两个按键改变预设温度值,一个提高预设温度,另一个降低预设温度值。系统结 构框图如下:
上传时间: 2013-11-14
上传用户:dianxin61
伺服舵机作为基本的输出执行机构广泛应用于 遥控航模以及人形机器人的控制中。舵机是一种位 置伺服的驱动器,其控制信号是PWM信号.,利 用占空比的变化改变舵机的位置,也可使用FPGA、 模拟电路、单片机来产生舵机的控制信号旧。应 用模拟电路产生PWM信号,应用的元器件较多, 会增加电路的复杂程度;若用单片机产生PWM信 号,当信号路数较少时单片机能满足要求,但当 PWM信号多于4路时,由于单片机指令是顺序执 行的,会产生较大的延迟,从而使PWM信号波形 不稳,导致舵机发生颤振。
上传时间: 2014-12-28
上传用户:ainimao