虫虫首页| 资源下载| 资源专辑| 精品软件
登录| 注册

浮点<b>除法运算</b>

  • 基于FPGA的高速矩阵运算算法研究.rar

    矩阵运算是描述许多工程问题中不可缺少的数学关系,矩阵运算具有执行效率好、速度快、集成度高等优点,并且随着动态可配置技术的发展,灵活性也有了很大的提高。因此,寻找矩阵运算的高速实现方法是具有很大的现实意义,能够为高速运算应用提供技术支持。 为了提高研究成果的实用性与商用性,本文主要针对某种体积小、运算速度和性能要求很高的特殊场合设计并实现基于FPGA的矩阵运算功能。通过系统地研究FPGA功能结构、设计原理、DSP接口、IEEE-754标准,深入学习浮点数及矩阵的基础运算以及硬件编程语言等内容,根据矩阵运算的特点和原理,讨论了硬件设计方面重点对具体核心器件结构、特点以及有关FPGA的设计流程和控制器Verilog HDL硬件编程语言代码方面内容,确定了基于FPGA浮点运算及矩阵运算单元的Verilog HDL设计方法,在Quartus II平台上对其仿真、记录运算结果,并对采集到的数据结果进行了深入分析与总结。 本设计通过几种矩阵算法利用FPGA和MATLAB分别进行了实现测试,验证了设计结果的正确性,证明了本设计中矩阵运算速率的实用性与高效性,提高了系统资源利用率和系统可靠性,为今后在工程、军事、通讯等生产生活各个领域应用打下良好基础。

    标签: FPGA 矩阵运算 算法研究

    上传时间: 2013-07-07

    上传用户:xuanjie

  • 基于FPGA的矩阵运算实现.rar

    密集型的矩阵运算在信号处理和图像处理中被广泛应用,而且往往需要系统进行实时运算,这就需要系统具有很高的吞吐率。因此寻找矩阵运算的高速实现方法是很有意义的。FPGA的运算速度快并且可以并行运算,和其它矩阵运算的实现方式相比,FPGA有其独特的优势。本文主要设计并实现了基于FPGA的各种矩阵运算模块。 本文首先介绍了矩阵运算的特点和原理,接着讨论了FPGA浮点运算单元的VHDL设计方法,在此基础上,设计了矩阵相乘累加、三角矩阵求逆和一般矩阵分解求逆的运算模块,给出矩阵阶数扩大时各种矩阵运算的分块实现方法。然后在ModelSim环境下仿真了一般矩阵的求逆模块,与Maflab仿真结果比较,分析了运算精度、时间复杂度和资源占用情况,在Virtex-4系列FPGA硬件平台上进行了调试和测试,并通过USB接口将矩阵运算结果送入PC机,验证了基于FPGA矩阵运算的正确性和可行性。最后对矩阵求逆模块在雷达信号中的应用作了简单介绍。

    标签: FPGA 矩阵运算

    上传时间: 2013-06-08

    上传用户:小枫残月

  • 基于FPGA的矩阵运算实现

    密集型的矩阵运算在信号处理和图像处理中被广泛应用,而且往往需要系统进行实时运算,这就需要系统具有很高的吞吐率。因此寻找矩阵运算的高速实现方法是很有意义的。FPGA的运算速度快并且可以并行运算,和其它矩阵运算的实现方式相比,FPGA有其独特的优势。本文主要设计并实现了基于FPGA的各种矩阵运算模块。 本文首先介绍了矩阵运算的特点和原理,接着讨论了FPGA浮点运算单元的VHDL设计方法,在此基础上,设计了矩阵相乘累加、三角矩阵求逆和一般矩阵分解求逆的运算模块,给出矩阵阶数扩大时各种矩阵运算的分块实现方法。然后在ModelSim环境下仿真了一般矩阵的求逆模块,与Maflab仿真结果比较,分析了运算精度、时间复杂度和资源占用情况,在Virtex-4系列FPGA硬件平台上进行了调试和测试,并通过USB接口将矩阵运算结果送入PC机,验证了基于FPGA矩阵运算的正确性和可行性。最后对矩阵求逆模块在雷达信号中的应用作了简单介绍。

    标签: FPGA 矩阵运算

    上传时间: 2013-07-20

    上传用户:561596

  • MCS-51单片机应用设计

    本书从应用的角度,详细地介绍了MCS-51单片机的硬件结构、指令系统、各种硬件接口设计、各种常用的数据运算和处理程序及接口驱动程序的设计以及MCS-51单片机应用系统的设计,并对MCS-51单片机应用系统设计中的抗干扰技术以及各种新器件也作了详细的介绍。本书突出了选取内容的实用性、典型性。书中的应用实例,大多来自科研工作及教学实践,且经过检验,内容丰富、翔实。   本书可作为工科院校的本科生、研究生、专科生学习MCS-51单片机课程的教材,也可供从事自动控制、智能仪器仪表、测试、机电一体化以及各类从事MCS-51单片机应用的工程技术人员参考。 第一章 单片微型计等机概述   1.1 单片机的历史及发展概况   1.2 单片机的发展趋势   1.3 单片机的应用   1.3.1 单片机的特点   1.3.2 单片机的应用范围   1.4 8位单片机的主要生产厂家和机型   1.5 MCS-51系列单片机 第二章 MCS-51单片机的硬件结构   2.1 MCS-51单片机的硬件结构   2.2 MCS-51的引脚   2.2.1 电源及时钟引脚   2.2.2 控制引脚   2.2.3 I/O口引脚   2.3 MCS-51单片机的中央处理器(CPU)   2.3.1 运算部件   2.3.2 控制部件   2.4 MCS-51存储器的结构   2.4.1 程序存储器   2.4.2 内部数据存储器   2.4.3 特殊功能寄存器(SFR)   2.4.4 位地址空间   2.4.5 外部数据存储器   2.5 I/O端口   2.5.1 I/O口的内部结构   2.5.2 I/O口的读操作   2.5.3 I/O口的写操作及负载能力   2.6 复位电路   2.6.1 复位时各寄存器的状态   2.6.2 复位电路   2.7 时钟电路   2.7.1 内部时钟方式   2.7.2 外部时钟方式   2.7.3 时钟信号的输出 第三章 MCS-51的指令系统   3.1 MCS-51指令系统的寻址方式   3.1.1 寄存器寻址   3.1.2 直接寻址   3.1.3 寄存器间接寻址   3.1.4 立即寻址   3.1.5 基址寄存器加变址寄存器间址寻址   3.2 MCS-51指令系统及一般说明   3.2.1 数据传送类指令   3.2.2 算术操作类指令   3.2.3 逻辑运算指令   3.2.4 控制转移类指令   3.2.5 位操作类指令 第四章 MCS-51的定时器/计数器   4.1 定时器/计数器的结构   4.1.1 工作方式控制寄存器TMOD   4.1.2 定时器/计数器控制寄存器TCON   4.2 定时器/计数器的四种工作方式   4.2.1 方式0   4.2.2 方式1   4.2.3 方式2   4.2.4 方式3   4.3 定时器/计数器对输入信号的要求   4.4 定时器/计数器编程和应用   4.4.1 方式o应用(1ms定时)   4.4.2 方式1应用   4.4.3 方式2计数方式   4.4.4 方式3的应用   4.4.5 定时器溢出同步问题   4.4.6 运行中读定时器/计数器   4.4.7 门控制位GATE的功能和使用方法(以T1为例) 第五章 MCS-51的串行口   5.1 串行口的结构   5.1.1 串行口控制寄存器SCON   5.1.2 特殊功能寄存器PCON   5.2 串行口的工作方式   5.2.1 方式0   5.2.2 方式1   5.2.3 方式2   5.2.4 方式3   5.3 多机通讯   5.4 波特率的制定方法   5.4.1 波特率的定义   5.4.2 定时器T1产生波特率的计算   5.5 串行口的编程和应用   5.5.1 串行口方式1应用编程(双机通讯)   5.5.2 串行口方式2应用编程   5.5.3 串行口方式3应用编程(双机通讯) 第六章 MCS-51的中断系统   6.1 中断请求源   6.2 中断控制   6.2.1 中断屏蔽   6.2.2 中断优先级优   6.3 中断的响应过程   6.4 外部中断的响应时间   6.5 外部中断的方式选择   6.5.1 电平触发方式   6.5.2 边沿触发方式   6.6 多外部中断源系统设计   6.6.1 定时器作为外部中断源的使用方法   6.6.2 中断和查询结合的方法   6.6.3 用优先权编码器扩展外部中断源 第七章 MCS-51单片机扩展存储器的设计   7.1 概述   7.1.1 只读存储器   7.1.2 可读写存储器   7.1.3 不挥发性读写存储器   7.1.4 特殊存储器   7.2 存储器扩展的基本方法   7.2.1 MCS-51单片机对存储器的控制   7.2.2 外扩存储器时应注意的问题   7.3 程序存储器EPROM的扩展   7.3.1 程序存储器的操作时序   7.3.2 常用的EPROM芯片   7.3.3 外部地址锁存器和地址译码器   7.3.4 典型EPROM扩展电路   7.4 静态数据存储的器扩展   7.4.1 外扩数据存储器的操作时序   7.4.2 常用的SRAM芯片   7.4.3 64K字节以内SRAM的扩展   7.4.4 超过64K字节SRAM扩展   7.5 不挥发性读写存储器扩展   7.5.1 EPROM扩展   7.5.2 SRAM掉电保护电路   7.6 特殊存储器扩展   7.6.1 双口RAMIDT7132的扩展   7.6.2 快擦写存储器的扩展   7.6.3 先进先出双端口RAM的扩展 第八章 MCS-51扩展I/O接口的设计   8.1 扩展概述   8.2 MCS-51单片机与可编程并行I/O芯片8255A的接口   8.2.1 8255A芯片介绍   8.2.2 8031单片机同8255A的接口   8.2.3 接口应用举例   8.3 MCS-51与可编程RAM/IO芯片8155H的接口   8.3.1 8155H芯片介绍   8.3.2 8031单片机与8155H的接口及应用   8.4 用MCS-51的串行口扩展并行口   8.4.1 扩展并行输入口   8.4.2 扩展并行输出口   8.5 用74LSTTL电路扩展并行I/O口   8.5.1 用74LS377扩展一个8位并行输出口   8.5.2 用74LS373扩展一个8位并行输入口   8.5.3 MCS-51单片机与总线驱动器的接口   8.6 MCS-51与8253的接口   8.6.1 逻辑结构与操作编址   8.6.2 8253工作方式和控制字定义   8.6.3 8253的工作方式与操作时序   8.6.4 8253的接口和编程实例 第九章 MCS-51与键盘、打印机的接口   9.1 LED显示器接口原理   9.1.1 LED显示器结构   9.1.2 显示器工作原理   9.2 键盘接口原理   9.2.1 键盘工作原理   9.2.2 单片机对非编码键盘的控制方式   9.3 键盘/显示器接口实例   9.3.1 利用8155H芯片实现键盘/显示器接口   9.3.2 利用8031的串行口实现键盘/显示器接口   9.3.3 利用专用键盘/显示器接口芯片8279实现键盘/显示器接口   9.4 MCS-51与液晶显示器(LCD)的接口   9.4.1 LCD的基本结构及工作原理   9.4.2 点阵式液晶显示控制器HD61830介绍   9.5 MCS-51与微型打印机的接口   9.5.1 MCS-51与TPμp-40A/16A微型打印机的接口   9.5.2 MCS-51与GP16微型打印机的接口   9.5.3 MCS-51与PP40绘图打印机的接口   9.6 MCS-51单片机与BCD码拨盘的接口设计   9.6.1 BCD码拨盘   9.6.2 BCD码拨盘与单片机的接口   9.6.3 拨盘输出程序   9.7 MCS-51单片机与CRT的接口   9.7.1 SCIBCRT接口板的主要特点及技术参数   9.7.2 SCIB接口板的工作原理   9.7.3 SCIB与MCS-51单片机的接口   9.7.4 SCIB的CRT显示软件设计方法 第十章 MCS-51与D/A、A/D的接口   10.1 有关DAC及ADC的性能指标和选择要点   10.1.1 性能指标   10.1.2 选择ABC和DAC的要点   10.2 MCS-51与DAC的接口   10.2.1 MCS-51与DAC0832的接口   10.2.2 MCS-51同DAC1020及DAC1220的接口   10.2.3 MCS-51同串行输入的DAC芯片AD7543的接口   10.3 MCS-51与ADC的接口   10.3.1 MCS-51与5G14433(双积分型)的接口   10.3.2 MCS-51与ICL7135(双积分型)的接口   10.3.3 MCS-51与ICL7109(双积分型)的接口   10.3.4 MCS-51与ADC0809(逐次逼近型)的接口   10.3.5 8031AD574(逐次逼近型)的接口   10.4 V/F转换器接口技术   10.4.1 V/F转换器实现A/D转换的方法   10.4.2 常用V/F转换器LMX31简介   10.4.3 V/F转换器与MCS-51单片机接口   10.4.4 LM331应用举例 第十一章 标准串行接口及应用   11.1 概述   11.2 串行通讯的接口标准   11.2.1 RS-232C接口   11.2.2 RS-422A接口   11.2.3 RS-485接口   11.2.4 各种串行接口性能比较   11.3 双机串行通讯技术   11.3.1 单片机双机通讯技术   11.3.2 PC机与8031单片机双机通讯技术   11.4 多机串行通讯技术   11.4.1 单片机多机通讯技术   11.4.2 IBM-PC机与单片机多机通讯技术   11.5 串行通讯中的波特率设置技术   11.5.1 IBM-PC/XT系统中波特率的产生   11.5.2 MCS-51单片机串行通讯波特率的确定   11.5.3 波特率相对误差范围的确定方法   11.5.4 SMOD位对波特率的影响 第十二章 MCS-51的功率接口   12.1 常用功率器件   12.1.1 晶闸管   12.1.2 固态继电器   12.1.3 功率晶体管   12.1.4 功率场效应晶体管   12.2 开关型功率接口   12.2.1 光电耦合器驱动接口   12.2.2 继电器型驱动接口   12.2.3 晶闸管及脉冲变压器驱动接口 第十三章 MCS-51单片机与日历的接口设计   13.1 概述   13.2 MCS-51单片机与实时日历时钟芯片MSM5832的接口设计   13.2.1 MSM5832性能及引脚说明   13.2.2 MSM5832时序分析   13.2.3 8031单片机与MSM5832的接口设计   13.3 MCS-51单片机与实时日历时钟芯片MC146818的接口设计   13.3.1 MC146818性能及引脚说明   13.3.2 MC146818芯片地址分配及各单元的编程   13.3.3 MC146818的中断   13.3.4 8031单片机与MC146818的接口电路设计   13.3.5 8031单片机与MC146818的接口软件设计 第十四章 MCS-51程序设计及实用子程序   14.1 查表程序设计   14.2 散转程序设计   14.2.1 使用转移指令表的散转程序   14.2.2 使用地地址偏移量表的散转程序   14.2.3 使用转向地址表的散转程序   14.2.4 利用RET指令实现的散转程序   14.3 循环程序设计   14.3.1 单循环   14.3.2 多重循环   14.4 定点数运算程序设计   14.4.1 定点数的表示方法   14.4.2 定点数加减运算   14.4.3 定点数乘法运算   14.4.4 定点数除法   14.5 浮点数运算程序设计   14.5.1 浮点数的表示   14.5.2 浮点数的加减法运算   14.5.3 浮点数乘除法运算   14.5.4 定点数与浮点数的转换   14.6 码制转换   ……    

    标签: MCS 51 单片机 应用设计

    上传时间: 2013-11-06

    上传用户:xuanjie

  • MOTOROLA 8位增强型单片机M68HC11原理与应用

    本书分三部分介绍在美国广泛应用的、高功能的M68HC11系列单片机(8位机 ,Motorola公司)。内容包括M68HC11的结构与其基本原理、开发工具EVB(性能评估板)以及开发和应用技术。本书在介绍单片机硬、软件的基础上,进一步介绍了在美国实验室内,如何应用PC机及EVB来进行开发工作。通过本书的介绍,读者可了解这种单片机的原理并学会开发和应用方法。本书可作为大专院校单片机及其实验的教材(本科、短训班)。亦可供开发、应用单片机的各专业(计算机、机电、化工、纺织、冶金、自控、航空、航海……)有关技术人员参考。 第一部分 M68HC11 结构与原理Motorola单片机 1 Motorla单片机 1.1 概述 1.1.1 Motorola 单片机发展概况(3) 1.1.2 Motorola 单片机结构特点(4) 1.2 M68HC11系列单片机(5) 1.2.1 M68HC11产品系列(5) 1.2.2 MC68HC11E9特性(6) 1.2.3 MC68HC11E9单片机引脚说明(8) 1.3 Motorola 32位单片机(14) 1.3.1中央处理器(CPU32)(15) 1.3.2 定时处理器(TPU)(16) 1.3.3 串行队列模块(QSM)(16) 1.3.4 系统集成模块 (SIM)(16) 1.3.5 RAM(17) 2 系统配置与工作方式 2.1 系统配置(19) 2.1.1 配置寄存器CONFIG(19) 2.1.2 CONFIG寄存器的编程与擦除(20) 2?2 工作方式选择(21) 2.3 M68HC11的工作方式(23) 2.3.1 普通单片工作方式(23) 2.3.2 普通扩展工作方式(23) 2.3.3 特殊自举方式(27) 2.3.4 特殊测试方式(28) 3 中央处理器(CPU)与片上存储器 3.1 CPU寄存器(31) 3?1?1 累加器A、B和双累加器D(32) 3.1.2 变址寄存器X、Y(32) 3.1.3 栈指针SP(32) 3.1.4 程序计数器PC(33) 3.1.5 条件码寄存器CCR(33) 3.2 片上存储器(34) 3.2.1 存储器分布(34) 3.2.2 RAM和INIT寄存器(35) 3.2.3 ROM(37) 3.2.4 EEPROM(37) 3.3 M68HC11 CPU的低功耗方式(39) 3.3.1 WAIT方式(39) 3.3.2 STOP方式(40) 4 复位和中断 4.1 复位(41) 4.1.1 M68HC11的系统初始化条件(41) 4.1.2 复位形式(43) 4.2 中断(48) 4.2.1 条件码寄存器CCR中的中断屏蔽位(48) 4.2.2 中断优先级与中断矢量(49) 4.2.3 非屏蔽中断(52) 4.2.4 实时中断(53) 4.2.5 中断处理过程(56) 5 M68HC11指令系统 5.1 M68HC11寻址方式(59) 5.1.1 立即寻址(IMM)(59) 5.1.2 扩展寻址(EXT)(60) 5.1.3 直接寻址(DIR)(60) 5.1.4 变址寻址(INDX、INDY)(61) 5.1.5 固有寻址(INH)(62) 5.1.6 相对寻址(REL)(62) 5.1.7 前置字节(63) 5.2 M68HC11指令系统(63) 5.2.1 累加器和存储器指令(63) 5.2.2 栈和变址寄存器指令(68) 5.2.3 条件码寄存器指令(69) 5.2.4 程序控制指令(70) 6 输入与输出 6.1 概述(73) 6.2 并行I/O口(74) 6.2.1 并行I/O寄存器(74) 6.2.2 应答I/O子系统(76) 6?3 串行通信接口SCI(82) 6.3.1 基本特性(83) 6.3.2 数据格式(83) 6.3.3 SCI硬件结构(84) 6.3.4 SCI寄存器(86) 6.4 串行外围接口SPI(92) 6.4.1 SPI特性(92) 6.4.2 SPI引脚信号(92) 6.4.3 SPI结构(93) 6.4.4 SPI寄存器(95) 6.4.5 SPI系统与外部设备进行串行数据传输(99) 7 定时器系统与脉冲累加器 7.1 概述(105) 7.2 循环计数器(107) 7.2.1 时钟分频器(107) 7.2.2 计算机正常工作监视功能(110) 7.2.3 定时器标志的清除(110) 7.3 输入捕捉功能(111) 7.3.1 概述(111) 7.3.2 定时器输入捕捉锁存器(TIC1、TIC2、TIC3) 7.3.3 输入信号沿检测逻辑(113) 7.3.4 输入捕捉中断(113) 7.4 输出比较功能(114) 7.4.1 概述(114) 7.4.2 输出比较功能使用的寄存器(116) 7.4.3 输出比较示例(118) 7.5 脉冲累加器(119) 7.5.1 概述(119) 7.5.2 脉冲累加器控制和状态寄存器(121) 8 A/D转换系统 8.1 电荷重新分布技术与逐次逼近算法(125) 8.1.1 基本电路(125) 8.1.2 A/D转换逐次逼近算法原理(130) 8.2 M68HC11中A/D转换的实现方法(131) 8.2.1 逐次逼近A/D转换器(131) 8.2.2 控制寄存器(132) 8.2.3 系统控制逻辑(135)? 9 单片机的内部操作 9.1 用立即>    图书前言   美国Motorola公司从80年代中期开始推出的M68HC11系列单片机是当今功能最强、性能/价格比最好的八位单片微计算机之一。在美国,它已被广泛地应用于教学和各种工业控制系统中。?   该单片机有丰富的I/O功能,完善的系统保护功能和软件控制的节电工作方式 。它的指令系统与早期Motorola单片机MC6801等兼容,同时增加了91条新指令。其中包含16位乘法、除法运算指令等。   为便于用户开发和应用M68HC11单片机,Motorola公司提供了多种开发工具。M68HC11 EVB (Evaluation Board)性能评估板就是一种M68HC11系列单片机的廉价开发工具。它既可用来 调试用户程序,又可在仿真方式下运行。为方便用户,M68HC11 EVB可与IBM?PC连接 ,借助于交叉汇编、通信程序等软件,在IBM?PC上调试程序。?   本书分三部分(共15章)介绍了M68HC11的结构和基本原理、开发工具-EVB及开发应用实例等。第一部分(1~9章),介绍M68HC11的结构和基本原理。包括概述,系统配置与工作方式、CPU和存储器、复位和中断、指令系统、I/O、定时器系统和脉冲累加器、A/D转换系统、单片机的内部操作等。第二部分(10~11章),介绍M68HC11 EVB的原理和技术特性以及EVB的应用。第三部分(12~15章),介绍M68HC11的开发与应用技术。包括基本的编程练习、应用程序设计、接口实验、接口设计及应用等。   读者通过学习本书,不仅可了解M68HC11的硬件、软件,而且可了解使用EVB开发和应用M68HC11单片机的方法。在本书的第三部分专门提供了一部分实验和应用程序。?   本书系作者张宁作为高级访问学者,应邀在美国马萨诸塞州洛厄尔大学(University of Massachusetts Lowell)工作期间完成的。全书由张宁执笔。在编著过程中,美国洛厄尔大学的R·代克曼教授?(Professor Robert J. Dirkman)多次与张宁一起讨论、研究,并提供部分资料及实验数据。参加编写和审校等工作的还有王云霞、孙晓芳、刘安鲁、张籍、来安德、张杨等同志。?   为将M68HC11系列单片机尽快介绍给我国,美国Motorola公司的Terrence M.S.Heng先生曾大力支持本书的编著和出版。在此表示衷心感谢。    

    标签: MOTOROLA M68 68 11

    上传时间: 2013-10-27

    上传用户:rlgl123

  • MCS-51单片机实用子程序库实验(七)

    标号: FTOD 功能:格式化浮点数转换成双字节定点数入口条件:格式化浮点操作数在[R0]中。出口信息:OV=1时溢出,OV=0时转换成功:定点数的绝对值在[R0]中(双字节),数符在位1FH中,F0=1 时为整数,CY=1时为一字节整数一字节小数,否则为纯小数。影响资源:PSW、A、B、R2、R3、R4、位1FH 堆栈需求: 6字节FTOD: LCALL MVR0 ;将[R0]传送到第一工作区MOV A,R2JZ FTD4 ;阶码为零,纯小数JB ACC.7,FTD4;阶码为负,纯小数

    标签: MCS 51 单片机实用 程序库

    上传时间: 2013-10-15

    上传用户:洛木卓

  • 51单片机浮点子程序库

    子程序库的使用方法如下:1.将子程序库全部内容链接在应用程序之后,统一编译即可。优点是简单方便,缺点是程序太长,大量无关子程序也包含在其中。 2.仅将子程序库中的有关部分内容链接在应用程序之后,统一编译即可。有些子程序需要调用一些低级子程序,这些低级子程序也应该包含在内。优点是程序紧凑,缺点是需要对子程序库进行仔细删节。MCS-51 浮点运算子程序库及其使用说明本浮点子程序库有三个不同层次的版本,以便适应不同的应用场合: 1.小型库(FQ51A.ASM):只包含浮点加、减、乘、除子程序。 2.中型库(FQ51B.ASM):在小型库的基础上再增加绝对值、倒数、比较、平方、开平方、 数制转换等子程序。 3.大型库(FQ51.ASM):包含本说明书中的全部子程序。 为便于读者使用本程序库,先将有关约定说明如下: 1.双字节定点操作数:用[R0]或[R1]来表示存放在由R0或R1指示的连续单元中的数 据,地址小的单元存放高字节。如果[R0]=1234H,若(R0)=30H,则(30H)=12H,(31H)=34H。 2.二进制浮点操作数:用三个字节表示,第一个字节的最高位为数符,其余七位为 阶码(补码形式),第二字节为尾数的高字节,第三字节为尾数的低字节,尾数用双字节 纯小数(原码)来表示。

    标签: 51单片机 浮点 程序库

    上传时间: 2013-10-15

    上传用户:wmwai1314

  • AVR高速嵌入式单片机原理与应用(修订版)

    AVR高速嵌入式单片机原理与应用(修订版)详细介绍ATMEL公司开发的AVR高速嵌入式单片机的结构;讲述AVR单片机的开发工具和集成开发环境(IDE),包括Studio调试工具、AVR单片机汇编器和单片机串行下载编程;学习指令系统时,每条指令均有实例,边学习边调试,使学习者看得见指令流向及操作结果,真正理解每条指令的功能及使用注意事项;介绍AVR系列多种单片机功能特点、实用程序设计及应用实例;作为提高篇,讲述简单易学、适用AVR单片机的高级语言BASCOMAVR及ICC AVR C编译器。 AVR高速嵌入式单片机原理与应用(修订版) 目录 第一章ATMEL单片机简介1.1ATMEL公司产品的特点11.2AT90系列单片机简介21.3AT91M系列单片机简介2第二章AVR单片机系统结构2.1AVR单片机总体结构42.2AVR单片机中央处理器CPU62.2.1结构概述72.2.2通用寄存器堆92.2.3X、Y、Z寄存器92.2.4ALU运算逻辑单元92.3AVR单片机存储器组织102.3.1可下载的Flash程序存储器102.3.2内部和外部的SRAM数据存储器102.3.3EEPROM数据存储器112.3.4存储器访问和指令执行时序112.3.5I/O存储器132.4AVR单片机系统复位162.4.1复位源172.4.2加电复位182.4.3外部复位192.4.4看门狗复位192.5AVR单片机中断系统202.5.1中断处理202.5.2外部中断232.5.3中断应答时间232.5.4MCU控制寄存器 MCUCR232.6AVR单片机的省电方式242.6.1休眠状态242.6.2空闲模式242.6.3掉电模式252.7AVR单片机定时器/计数器252.7.1定时器/计数器预定比例器252.7.28位定时器/计数器0252.7.316位定时器/计数器1272.7.4看门狗定时器332.8AVR单片机EEPROM读/写访问342.9AVR单片机串行接口352.9.1同步串行接口 SPI352.9.2通用串行接口 UART402.10AVR单片机模拟比较器452.10.1模拟比较器452.10.2模拟比较器控制和状态寄存器ACSR462.11AVR单片机I/O端口472.11.1端口A472.11.2端口 B482.11.3端口 C542.11.4端口 D552.12AVR单片机存储器编程612.12.1编程存储器锁定位612.12.2熔断位612.12.3芯片代码612.12.4编程 Flash和 EEPROM612.12.5并行编程622.12.6串行下载662.12.7可编程特性67第三章AVR单片机开发工具3.1AVR实时在线仿真器ICE200693.2JTAG ICE仿真器693.3AVR嵌入式单片机开发下载实验器SL?AVR703.4AVR集成开发环境(IDE)753.4.1AVR Assembler编译器753.4.2AVR Studio773.4.3AVR Prog783.5SL?AVR系列组态开发实验系统793.6SL?AVR*.ASM源文件说明81第四章AVR单片机指令系统4.1指令格式844.1.1汇编指令844.1.2汇编器伪指令844.1.3表达式874.2寻址方式894.3数据操作和指令类型924.3.1数据操作924.3.2指令类型924.3.3指令集名词924.4算术和逻辑指令934.4.1加法指令934.4.2减法指令974.4.3乘法指令1014.4.4取反码指令1014.4.5取补指令1024.4.6比较指令1034.4.7逻辑与指令1054.4.8逻辑或指令1074.4.9逻辑异或指令1104.5转移指令1114.5.1无条件转移指令1114.5.2条件转移指令1144.6数据传送指令1354.6.1直接数据传送指令1354.6.2间接数据传送指令1374.6.3从程序存储器直接取数据指令1444.6.4I/O口数据传送指令1454.6.5堆栈操作指令1464.7位指令和位测试指令1474.7.1带进位逻辑操作指令1474.7.2位变量传送指令1514.7.3位变量修改指令1524.7.4其它指令1614.8新增指令(新器件)1624.8.1EICALL-- 延长间接调用子程序1624.8.2EIJMP--扩展间接跳转1634.8.3ELPM--扩展装载程序存储器1644.8.4ESPM--扩展存储程序存储器1644.8.5FMUL--小数乘法1664.8.6FMULS--有符号数乘法1664.8.7FMULSU--有符号小数和无符号小数乘法1674.8.8MOVW--拷贝寄存器字1684.8.9MULS--有符号数乘法1694.8.10MULSU--有符号数与无符号数乘法1694.8.11SPM--存储程序存储器170 第五章AVR单片机AT90系列5.1AT90S12001725.1.1特点1725.1.2描述1735.1.3引脚配置1745.1.4结构纵览1755.2AT90S23131835.2.1特点1835.2.2描述1845.2.3引脚配置1855.3ATmega8/8L1855.3.1特点1865.3.2描述1875.3.3引脚配置1895.3.4开发实验工具1905.4AT90S2333/44331915.4.1特点1915.4.2描述1925.4.3引脚配置1945.5AT90S4414/85151955.5.1特点1955.5.2AT90S4414和AT90S8515的比较1965.5.3引脚配置1965.6AT90S4434/85351975.6.1特点1975.6.2描述1985.6.3AT90S4434和AT90S8535的比较1985.6.4引脚配置2005.6.5AVR RISC结构2015.6.6定时器/计数器2125.6.7看门狗定时器 2175.6.8EEPROM读/写2175.6.9串行外设接口SPI2175.6.10通用串行接口UART2175.6.11模拟比较器 2175.6.12模数转换器2185.6.13I/O端口2235.7ATmega83/1632285.7.1特点2285.7.2描述2295.7.3ATmega83与ATmega163的比较2315.7.4引脚配置2315.8ATtiny10/11/122325.8.1特点2325.8.2描述2335.8.3引脚配置2355.9ATtiny15/L2375.9.1特点2375.9.2描述2375.9.3引脚配置2395 .10ATmega128/128L2395.10.1特点2405.10.2描述2415.10.3引脚配置2435.10.4开发实验工具2455.11ATmega1612465.11.1特点2465.11.2描述2475.11.3引脚配置2475.12AVR单片机替代MCS51单片机249第六章实用程序设计6.1程序设计方法2506.1.1程序设计步骤2506.1.2程序设计技术2506.2应用程序举例2516.2.1内部寄存器和位定义文件2516.2.2访问内部 EEPROM2546.2.3数据块传送2546.2.4乘法和除法运算应用一2556.2.5乘法和除法运算应用二2556.2.616位运算2556.2.7BCD运算2556.2.8冒泡分类算法2556.2.9设置和使用模拟比较器2556.2.10半双工中断方式UART应用一2556.2.11半双工中断方式UART应用二2566.2.128位精度A/D转换器2566.2.13装载程序存储器2566.2.14安装和使用相同模拟比较器2566.2.15CRC程序存储的检查2566.2.164×4键区休眠触发方式2576.2.17多工法驱动LED和4×4键区扫描2576.2.18I2C总线2576.2.19I2C工作2586.2.20SPI软件2586.2.21验证SLAVR实验器及AT90S1200的口功能12596.2.22验证SLAVR实验器及AT90S1200的口功能22596.2.23验证SLAVR实验器及具有DIP40封装的口功能第七章AVR单片机的应用7.1通用延时子程序2607.2简单I/O口输出实验2667.2.1SLAVR721.ASM 2667.2.2SLAVR722.ASM2677.2.3SLAVR723.ASM2687.2.4SLAVR724.ASM2707.2.5SLAVR725.ASM2717.2.6SLAVR726.ASM2727.2.7SLAVR727.ASM2737.3综合程序2747.3.1LED/LCD/键盘扫描综合程序2747.3.2LED键盘扫描综合程序2757.3.3在LED上实现字符8的循环移位显示程序2757.3.4电脑放音机2777.3.5键盘扫描程序2857.3.6十进制计数显示2867.3.7廉价的A/D转换器2897.3.8高精度廉价的A/D转换器2947.3.9星星灯2977.3.10按钮猜数程序2987.3.11汉字的输入3047.4复杂实用程序3067.4.110位A/D转换3067.4.2步进电机控制程序3097.4.3测脉冲宽度3127.4.4LCD显示8字循环3187.4.5LED电脑时钟3247.4.6测频率3307.4.7测转速3327.4.8AT90S8535的A/D转换334第八章BASCOMAVR的应用8.1基于高级语言BASCOMAVR的单片机开发平台3408.2BASCOMAVR软件平台的安装与使用3418.3AVR I/O口的应用3458.3.1LED发光二极管的控制3458.3.2简易手控广告灯3468.3.3简易电脑音乐放音机3478.4LCD显示器3498.4.1标准LCD显示器的应用3498.4.2简单游戏机--按钮猜数3518.5串口通信UART3528.5.1AVR系统与PC的简易通信3538.5.2PC控制的简易广告灯3548.6单总线接口和温度计3568.7I2C总线接口和简易IC卡读写器359第九章ICC AVR C编译器的使用9.1ICC AVR的概述3659.1.1介绍ImageCraft的ICC AVR3659.1.2ICC AVR中的文件类型及其扩展名3659.1.3附注和扩充3669.2ImageCraft的ICC AVR编译器安装3679.2.1安装SETUP.EXE程序3679.2.2对安装完成的软件进行注册3679.3ICC AVR导游3689.3.1起步3689.3.2C程序的剖析3699.4ICC AVR的IDE环境3709.4.1编译一个单独的文件3709.4.2创建一个新的工程3709.4.3工程管理3719.4.4编辑窗口3719.4.5应用构筑向导3719.4.6状态窗口3719.4.7终端仿真3719.5C库函数与启动文件3729.5.1启动文件3729.5.2常用库函数3729.5.3字符类型库3739.5.4浮点运算库3749.5.5标准输入/输出库3759.5.6标准库和内存分配函数3769.5.7字符串函数3779.5.8变量参数函数3799.5.9堆栈检查函数3799.6AVR硬件访问的编程3809.6.1访问AVR的底层硬件3809.6.2位操作3809.6.3程序存储器和常量数据3819.6.4字符串3829.6.5堆栈3839.6.6在线汇编3839.6.7I/O寄存器3849.6.8绝对内存地址3849.6.9C任务3859.6.10中断操作3869.6.11访问UART3879.6.12访问EEPROM3879.6.13访问SPI3889.6.14相对转移/调用的地址范围3889.6.15C的运行结构3889.6.16汇编界面和调用规则3899.6.17函数返回非整型值3909.6.18程序和数据区的使用3909.6.19编程区域3919.6.20调试3919.7应用举例*3929.7.1读/写口3929.7.2延时函数3929.7.3读/写EEPROM3929.7.4AVR的PB口变速移位3939.7.5音符声程序3939.7.68字循环移位显示程序3949.7.7锯齿波程序3959.7.8正三角波程序3969.7.9梯形波程序396附录1AT89系列单片机简介398附录2AT94K系列现场可编程系统标准集成电路401附录3指令集综合404附录4AVR单片机选型表408参 考 文 献412

    标签: AVR 高速嵌入式 单片机原理

    上传时间: 2013-11-08

    上传用户:xcy122677

  • 1.简介 本程序是用纯C语言编的一个基于菜单命令行的数据库系统。可以创建多个数据库

    1.简介 本程序是用纯C语言编的一个基于菜单命令行的数据库系统。可以创建多个数据库,数据库表,字段。其中字段的类型只能为整形,浮点型,字符型和字符串型(最大长度确定,不能改变)。 2.功能 a)数据库存储: 一个数据库存储于一个文件中,打开文件将数据库载入到内存。 保存时将内存中数据重新写到文件中去。 b)数据库管理: 提供数据库的创建,表的创建,字段的创建 提供对数据的查询,删除,修改,排序功能 c)支持SQL部分语句: 支持SELECT 和DELETE语句

    标签: 程序 C语言 命令行 数据库系统

    上传时间: 2013-12-19

    上传用户:离殇

  • 数字运算

    数字运算,判断一个数是否接近素数 A Niven number is a number such that the sum of its digits divides itself. For example, 111 is a Niven number because the sum of its digits is 3, which divides 111. We can also specify a number in another base b, and a number in base b is a Niven number if the sum of its digits divides its value. Given b (2 <= b <= 10) and a number in base b, determine whether it is a Niven number or not. Input Each line of input contains the base b, followed by a string of digits representing a positive integer in that base. There are no leading zeroes. The input is terminated by a line consisting of 0 alone. Output For each case, print "yes" on a line if the given number is a Niven number, and "no" otherwise. Sample Input 10 111 2 110 10 123 6 1000 8 2314 0 Sample Output yes yes no yes no

    标签: 数字 运算

    上传时间: 2015-05-21

    上传用户:daguda