线性卷积和线性相关的FFT算法:一 实验目的 1:掌握FFT基2时间(或基2频率)抽选法,理解其提高减少乘法运算次数提高运算速度的原理。 2:掌握FFT圆周卷积实现线性卷积的原理 二 实验内容及要求 1.对N=2048或4096点的离散时间信号x(n),试用Matlab语言编程分别以DFT和FFT计算N个频率样值X(k), 比较两者所用时间的大小。 2.对N/2点长的x(n)和N/2点长的h(n),试用Matlab语言编程实现以圆周卷积代替线性卷积,并比较圆周卷积法和直接计算线性卷积两者的运算速度。 三预做实验 1.FFT与DFT计算时间的比较 (1)FFT提高运算速度的原理 (2)实验数据与结论 2.圆周卷积代替线性卷积的有效性实验 (1)圆周卷积代替线性卷积的原理 (2)实验数据和结论 FFT提高运算速度的原理 FFT算法将长序列的DFT分解为短序列的DFT。N点的DFT先分解为2个N/2点的DFT,每个N/2点的DFT又分解为N/4点的DFT,等等。最小变换的点数即所谓的“基数”。因此,基数为2的FFT算法的最小变换(或称蝶型)是2点的DFT。一般地,对N点FFT,对应于N个输入样值,有N个频域样值与之对应。
上传时间: 2013-10-26
上传用户:erkuizhang
找一块电源仔细看一下,在电源部分中,跨接L-N之间的小方块(单位是μF)电容就是X电容,通常在是电源入口的第一个;同样,在电源部分的跨接L-PE和N-PE之间的蓝色的安规电容(单位pF)就是Y电容,通常是成对出现的。 或者你可以形象的看,X电容具有2个输入端,2个输出端,很象X;Y电容具有一个输入端,一个输出端以及一个公共的大地,很象一个Y 没有什么概念的,一个在差模回路上,一个在共模回路上,X、Y的名称纯粹是一个称呼,就象是X和Y轴一样 X电容主要用于流电源线路中,此时当电容失时不致产生线间放电。X电容器的测试条件是:在交流电压的有效值*1.5的电压下工作100Hour;再加上1KV的高压测试。Y电容器在一旦失效会导致放电危险(尤其是对外壳)时是强制使用的。Y类型电容器的测试条件是:在交流电压的有效值*1.7的电压下工作100Hour,加上2KV高压测试。如果电容器用于不接地的II类产品中,则要增加至4KV。
上传时间: 2013-10-24
上传用户:1583264429
关于参数的选择各种意见: 这是CMG大师的论述: R6的取值,R6的值不是任意取的,要考虑两个因素:1)431参考输入端的电流,一般此电流为2uA左右,为了避免此端电流影响分压比和避免噪音的影响,一般取流过电阻R6的电流为参考段电流的100倍以上,所以此电阻要小于2.5V/200uA=12.5K. 2)待机功耗的要求,如有此要求,在满足《12.5K的情况下尽量取大值.
上传时间: 2013-10-26
上传用户:归海惜雪
内容提要: SD3系列器件介绍 可编程通用外围芯片PSD301 可编程通用外围芯PSD311等介绍。 1.1 简介 1.1.1 引言 1.2.2 器件命名方式 1.1.3 PSD3系列器件简介 1.1.4 PSD3系列器件性能简介 1.1.5 支持PSD系列的WSI软件 1.2 系统结构 1.2.1 PSD3系列器件结构和引脚说明 1.2.2 地址输入 1.2.3 性能参数 1.2.4 微控制器/微处理器控制输入 1.3 PSD3系列器件的操作方式 1.3.1多路复用8位地址/数据总线 1.3.2多路复用16位/数据总线 ............................ ............................
上传时间: 2013-10-22
上传用户:座山雕牛逼
内容提要: MCS-96单片机的应用系统设计基础 硬件电路设计,语言的设计基础,程序分析 PL/M-96可执行语句和程序等等.... 第一章 概述 1.1 单片机应用系统的结构 1.2 MCS-96单片机应用系统设计基础 1.2.1 引脚功能及外部扩展特性 1.2.2 储存器及管理 1.2.3 芯片组态寄存器 1.3 MCS-96单片机应用系统的设计与调试 1.3.1 总体设计 1.3.2 硬件电路设计 1.3.3 基本硬件电路调试 1.3.4 软件设计 1.4 PL/M-96语言特点 第二章 PL/M-96简单程序分析 2.2 PL/M-96字符集 标示符 注释 2.2.1 字符集 2.2.2 标示符 保留字和预说明符 2.2.3 注释 2.3 数据类型和类型说明 2.3.1 数据类型 2.3.2 简单说明句 2.4 变量 2.4.1 字节 字 和双字变量 2.4.2 整型 短整型 和长整型变量 2.4.3 实型变量 2.4.4 地址型变量和运算符的地址应用 2.4.5 变量的Fast和Slow属性及说明 2.4.6 隐含类型转换 2.5 常数 2.5.1 纯数常数 2.5.2 浮点常数 2.5.3 字符串 2.6 表达式及运算规则 2.6.1 操作数 2.6.2 算术运算及其表达式 2.6.3 关系运算及其表达式 2.6.4 逻辑运算及其表达式 2.6.5 表达式的运算顺序 2.6.6 常数表达式计算 2.7 数据和结构 2.7.1 数组 2.7.2 结构 ......... .........
上传时间: 2013-11-19
上传用户:chenbhdt
M68HC11单片机原理、应用及技术手册 【整理者】悠子 【提供者】drre 【详细说明】M68HC11单片机原理、应用及技术手册/MOTOROLA单片机开发应用丛书 书名: M68HC11单片机原理、应用及技术手册/MOTOROLA单片机开发应用丛书 作者: 涂时亮主编 出版社: 复旦大学出版社 出版日期: 1992-11-01 简介: 介绍了M68HC11单片机的系统结构、指令系统、程序设计方法和片内存贮器和它的定时系统、串行通讯口、串行外围接口、A/D、脉冲累加器、Watchdog等各种I/O功能的结构和使用方法等。 第一章 MOTOROLA单片机简介 1.1 发展概述 1.2 MOTOROLA单片机的结构特点 1.2.1 储存器组织 1.2.2 OPU结构 1.2.3 中断处理 1.2.4 并行I/O口 1.2.5 定时器系统 1.2.6 串行口 1.2.7 其他I/O功能 1.3MOTOROLA单片机系列 1.3.1抵挡 8 位单片机 1.3.2高档 8 位单片机 M68HO11 1.3.3MOTOROLA模块化单片机 .............................. ................................
上传时间: 2014-12-25
上传用户:hz07104032
M68HC08系列单片机原理与应用-嵌入式系统初步 作者: 张友德 涂时亮 陈章龙 出版社:复旦大学出版社 出版日期:2001 年9月 本书首先阐明嵌入式系统的一般结构以及与单片机的关系。重点以新型的M68HC08 系统单片机为主线,系统地论述了当今当性能单片机的系统结构,芯片内部常用的功能模块等内容。 第一章 嵌入式系统与单片机 §1.1 嵌入式系统. §1.2 单片机的内部结构 §1.3 典型的单片机产品 §1.4 m68hc朋系列单片机产品简介 §1.5 单片机的应用——简易的嵌入式系统 第二章 m68h008系列单片机系统结构 §2.1 总体结构 §2.2 中央处理器cpu08 §2.3 存储空间分配 §2.4 时钟发生器模块ccn §2.5 复位 §2.6 中断系统 §2.7 m68hc08的其他功能模块 第二章习题和思考题 第三章 m68h008指令系统 §3.1 指令格式 §3.2 寻址方式 §3.3 m68hc08指令系统 ......
上传时间: 2013-10-11
上传用户:baitouyu
首次介绍EPSON公司EOC88系列8位单片机的技术书籍。全书对近十种单片机的多功能接口、应用及其开发技术作了系统及详细地阐述:包括CPU及其指令、工作方式与存储器扩展,各类定时/计数器,声音发生器,LCD驱动控制器,串行口及红外收发控制器,触摸屏控制器,A/D、D/A转换器,SVD电路及其操作流程;在应用中介绍了交通管理IC卡读写器、电子门锁及高档股票机等;最后对EOC88系列单片机的开发工具与开发技术作了详细地描述。<br>本书可作为大专院校有关专业师生的教学参考,也是从事单片机应用与开发的广大工程技术人员必备的参考资料。 第一章EOC88系列单片机CPU结构及其指令系统 1.1单片机概述 1.2EOC88系列单片机CPU结构 1.2.1运算器与寄存器结构 1.2.2CPU工作方式单片机工作方式 1.3单片机的存储器结构 1.3.1程序存储器 1.3.2数据存储器 1.3.3存储器映象I/O寻址 1.4CPU操作及其时序 1.4.1时序发生器与总线控制 1.4.2单片机的操作时序 1.5总线方式及其扩展 1.5.1总线方式 1.5.2单片机总线扩展 1.5.3系统控制与总线控制 1.6单片机指令系统 1.6.1单片机寻址方式 1.6.2指令格式 1.6.3指令系统 第二章EOC88系列单征机制接口技术 2.1电源 2.2初始化复位 2.3接口电路及其操作 2.3.1系统控制器与总线控制 2.3.2振荡电路及其操作 2.3.3监测定时器 2.3.4输入口 2.3.5输出口 2.3.6I/O口 2.3.7串行口 2.3.8红外通讯接口 2.3.9时钟计时器 2.3.10秒表计时器 2.3.11可编程定时/计数器 2.3.12LCD驱动器与控制器 2.3.13声音发生器 2.3.14模拟比较器 2.3.15模拟比较器 2.3.16A/D转换器 2.3.17D/A转换器 2.3.18电源电压检测电路 2.3.19中断系统 第三章应用 3.1电子门锁 3.1.1电子门锁 3.1.2EOC88104单片机的控制信号 3.1.3程序流程 3.2手持式"交通卡"读写器 3.2.1结构 3.2.2操作流程与编程注意事项 3.3高档股票信息机 3.3.1性能 3.3.2EOC88系列单片机开发系统组成及开发过程 第四章系统组成概述 4.1系统组成概述 4.2主计算机位置 4.3硬件开发工具概述 4.3.1内电路仿真器 4.3.2外围电路板 4.3.3内电路仿真器操作软件在Windows上的安装 4.4软件开发工具 4.4.1EOC88系列"结构汇编器"软件包 4.4.2EOC88XXX开发工具软件包 4.5开发过程概述 4.6汇编语言源文件的编制 4.6.1EOC88系列单片机 4.6.2伪指令 4.6.3宏指令 4.6.4条件汇编 4.6.5输出表格控制 4.7各软件工具在开发过程中的使用 4.7.1结构预处理器 4.7.2交叉汇编器 4.7.3连接器 4.7.4连接命令参数文件的生成 4.7.5二进制/十六进制转换器 4.7.6符号信息生成器 4.7.7符号表文件生成器 4.7.8程序未使用区填充器 4.7.9功能选择生成器 4.7.10掩模数据检查器 4.7.11批处理文件 4.8仿真调试 4.8.1调试功能概述 4.8.2开发系统仿真调试命令 4.8.3开发系统仿真调试操作 4.8.4开发系统运行注意事项
上传时间: 2013-10-24
上传用户:凤临西北
《AVR单片机原理及应用》详细介绍了ATMEL公司开发的ATmega8系列高速嵌入式单片机的硬件结构、工作原理、指令系统、接口电路、C编程实例,以及一些特殊功能的应用和设计,对读者掌握和使用其他ATmega8系列的单片机具有极高的参考价值 AVR单片机原理及应用》具有较强的系统性和实用性,可作为有关工程技术人员和硬件工程师的应用手册,亦可作为高等院校自动化、计算机、仪器仪表、电子等专业的教学参考书。 目录 第1章 绪论 1.1 AVR单片机的主要特性 1.2 主流单片机系列产品比较 1.2.1 ATMEL公司的单片机 1.2.2 Mkcochip公司的单片机 1.2.3 Cygnal公司的单片机 第2章 AVR系统结构概况 2.1 AVR单片机ATmega8的总体结构 2.1.1 ATmega8特点 2.1.2 结构框图 2.1.3 ATmega8单片机封装与引脚 2.2 中央处理器 2.2.1 算术逻辑单元 2.2.2 指令执行时序 2.2.3 复位和中断处理 2.3 ATmega8存储器 2.3.1 Flash程序存储器 2.3.2 SRAM 2.3.3 E2pROM 2.3.4 I/O寄存器 2.3.5 ATmega8的锁定位、熔丝位、标识位和校正位 2.4 系统时钟及其分配 2.4.1 时钟源 2.4.2 外部晶振 2.4.3 外部低频石英晶振 2.4.4 外部:RC振荡器 2.4.5 可校准内部.RC振荡器 2.4.6 外部时钟源 2.4.7 异步定时器/计数器振荡器 2.5 系统电源管理和休眠模式 2.5.1 MCU控制寄存器 2.5.2 空闲模式 2.5.3 ADC降噪模式 2.5.4 掉电模式 2.5.5 省电模式 2.5.6 等待模式 2.5.7 最小功耗 2.6 系统复位 2.6.1 复位源 2.6.2 MCU控制状态寄存器——MCUCSR 2.6.3 内部参考电压源 2.7 I/O端口 2.7.1 通用数字I/O端口 2.7.2 数字输入使能和休眠模式 2.7.3 端口的第二功能 第3章 ATmega8指令系统 3.1 ATmega8汇编指令格式 3.1.1 汇编语言源文件 3.1.2 指令系统中使用的符号 3.1.3 ATmega8指令 3.1.4 汇编器伪指令 3.1.5 表达式 3.1.6 文件“M8def.inc” 3.2 寻址方式和寻址空间 3.3 算术和逻辑指令 3.3.1 加法指令 3.3.2 减法指令 3.3.3 取反码指令 3.3.4 取补码指令 3.3.5 比较指令 3.3.6 逻辑与指令 3.3.7 逻辑或指令 3.3.8 逻辑异或 3.3.9 乘法指令 3.4 转移指令 3.4.1 无条件转移指令 3.4.2 条件转移指令 3.4.3 子程序调用和返回指令 3.5 数据传送指令 3.5.1 直接寻址数据传送指令 3.5.2 间接寻址数据传送指令 3.5.3 从程序存储器中取数装入寄存器指令 3.5.4 写程序存储器指令 3.5.5 I/0端口数据传送 3.5.6 堆栈操作指令 3.6 位操作和位测试指令 3.6.1 带进位逻辑操作指令 3.6.2 位变量传送指令 3.6.3 位变量修改指令 3.7 MCU控制指令 3.8 指令的应用 第4章 中断系统 4.1 外部向量 4.2 外部中断 4.3 中断寄存器 第5章 自编程功能 5.1 引导加载技术 5.2 相关I/O寄存器 5.3 Flash程序存储器的自编程 5.4 Flash自编程应用 第6章 定时器/计数器 6.1 定时器/计数器预定比例分频器 6.2 8位定时器/计数器O(T/CO) 6.3 16位定时器/计数器1(T/C1) 6.3.1 T/C1的结构 6.3.2 T/C1的操作模式 6.3.3 T/121的计数时序 6.3.4 T/C1的寄存器 6.4 8位定时器/计数器2(T/C2) 6.4.1 T/C2的组成结构 6.4.2 T/C2的操作模式 6.4.3 T/C2的计数时序 6.4.4 T/02的寄存器 6.4.5 T/C2的异步操作 6.5 看门狗定时器 第7章 AVR单片机通信接口 7.1 AVR单片机串行接口 7.1.1 同步串行接口 7.1.2 通用串行接口 7.2 两线串行TWT总线接口 7.2.1 TWT模块概述 7.2.2 TWT寄存器描述 7.2.3 TWT总线的使用 7.2.4 多主机系统和仲裁 第8章 AVR单片机A/D转换及模拟比较器 8.1 A/D转换 8.1.1 A/D转换概述 8.1.2 ADC噪声抑制器 8.1.3 ADC有关的寄存器 8.2 AvR单片机模拟比较器 第9章 系统扩展技术 9.1 串行接口8位LED显示驱动器MAX7219 9.1.1 概述 9.1.2 引脚功能及内部结构 9.1.3 操作说明 9.1.4 应用 9.1.5 软件设计 9.2 AT24C系列两线串行总线E2PPOM 9.2.1 概述 9.2.2 引脚功能及内部结构 9.2.3 操作说明 9.2.4 软件设计 9.3 AT93C46——三线串行总线E2PPOM接口芯片 9.3.1 概述 9.3.2 内部结构及引脚功能 9.3.3 操作说明 9.3.4 软件设计 9.4 串行12位的ADCTL543 9.4.1 概述 9.4.2 内部结构及引脚功能 9.4.3 操作说明 9.4.4 AD620放大器介绍 9.4.5 软件设计 9.5 串行输出16位ADCMAXl95 9.5.1 概述 9.5.2 引脚功能及内部结构 9.5.3 操作说明 9.5.4 应用 9.5.5 软件设计 9.6 串行输入DACTLC5615 9.6.1 概述 9.6.2 引脚功能及内部结构 9.6.3 操作说明 9.6.4 软件设计 9.7 串行12位的DACTLC5618 9.7.1 概述 9.7.2 内部结构及引脚功能 9.7.3 操作说明 9.7.4 软件设计 9.8 串行非易失性静态RAMX24C44 9.8.1 概述 9.8.2 引脚功能及内部结构 9.8.3 操作说明 9.8.4 软件设计 9.9 数据闪速存储器AT45DB041B 9.9.1 概述 9.9.2 引脚功能及内部结构 9.9.3 操作说明 9.9.4 软件设计 9.10 GM8164串行I/0扩展芯片 9.10.1 概述 9.10.2 引脚功能说明 9.10.3 操作说明 9.10.4 软件设计 9.11 接口综合实例 附录1 ICCACR简介 附录2 ATmega8指令表 参考文献
上传时间: 2013-10-29
上传用户:lanwei
附件为:LCD12864显示汉字和数字的程序与电路 /* 自定义延时子函数 */ void delayms(uchar z) { int x,y; for(x=z;x>0;x--) for(y=110;y>0;y--); } /* 判断LCD忙信号状态 */ void buys() { int dat; RW=1; RS=0; do { P0=0x00; E=1; dat=P0; E=0; dat=0x80 & dat; } while(!(dat==0x00)); } /* LCD写指令函数 */ void w_com(uchar com) { //buys(); RW=0; RS=0; E=1; P0=com; E=0; } /* LCD写数据函数 */ void w_date(uchar date) { //buys(); RW=0; RS=1; E=1; P0=date; E=0; } /* LCD选屏函数 */ void select_screen(uchar screen) { switch(screen) { case 0: //选择全屏 CS1=0; CS2=0; break; case 1: //选择左屏 CS1=0; CS2=1; break; case 2: //选择右屏 CS1=1; CS2=0; break; /* case 3: //选择右屏 CS1=1; CS2=1; break; */ } } /* LCDx向上滚屏显示 */ void lcd_rol() { int x; for(x=0;x<64;x++) { select_screen(0); w_com(0xc0+x); delayms(500); } } /* LCD清屏函数:清屏从第一页的第一列开始,总共8页,64列 */ void clear_screen(screen) { int x,y; select_screen(screen); //screen:0-选择全屏,1-选择左半屏,2-选择右半屏 for(x=0xb8;x<0xc0;x++) //从0xb8-0xbf,共8页 { w_com(x); w_com(0x40); //列的初始地址是0x40 for(y=0;y<64;y++) { w_date(0x00); } } } /* LCD显示汉字字库函数 */ void lcd_display_hanzi(uchar screen,uchar page,uchar col,uint mun) { //screen:选择屏幕参数,page:选择页参数0-3,col:选择列参数0-3,mun:显示第几个汉字的参数 int a; mun=mun*32; select_screen(screen); w_com(0xb8+(page*2)); w_com(0x40+(col*16)); for ( a=0;a<16;a++) { w_date(hanzi[mun++]); } w_com(0xb8+(page*2)+1); w_com(0x40+(col*16)); for ( a=0;a<16;a++) { w_date(hanzi[mun++]); } } /* LCD显示字符字库函数 */ void lcd_display_zifuk(uchar screen,uchar page,uchar col,uchar mun) { //screen:选择屏幕参数,page:选择页参数0-3,col:选择列参数0-7,mun:显示第几个汉字的参数 int a; mun=mun*16; select_screen(screen); w_com(0xb8+(page*2)); w_com(0x40+(col*8)); for ( a=0;a<8;a++) { w_date(zifu[mun++]); } w_com(0xb8+(page*2)+1); w_com(0x40+(col*8)); for ( a=0;a<8;a++) { w_date(zifu[mun++]); } } /* LCD显示数字字库函数 */ void lcd_display_shuzi(uchar screen,uchar page,uchar col,uchar mun) { //screen:选择屏幕参数,page:选择页参数0-3,col:选择列参数0-7,mun:显示第几个汉字的参数 int a; mun=mun*16; select_screen(screen); w_com(0xb8+(page*2)); w_com(0x40+(col*8)); for ( a=0;a<8;a++) { w_date(shuzi[mun++]); } w_com(0xb8+(page*2)+1); w_com(0x40+(col*8)); for ( a=0;a<8;a++) { w_date(shuzi[mun++]); } } /* LCD初始化函数 */ void lcd_init() { w_com(0x3f); //LCD开显示 w_com(0xc0); //LCD行初始地址,共64行 w_com(0xb8); //LCD页初始地址,共8页 w_com(0x40); //LCD列初始地址,共64列 } /* LCD显示主函数 */ void main() { //第一行 int x; lcd_init(); //LCD初始化 clear_screen(0); //LCD清屏幕 lcd_display_shuzi(1,0,4,5); //LCD显示数字 lcd_display_shuzi(1,0,5,1); //LCD显示数字 lcd_display_hanzi(1,0,3,0); //LCD显示汉字 lcd_display_hanzi(2,0,0,1); //LCD显示汉字 //LCD字符汉字 lcd_display_hanzi(2,0,1,2); //LCD显示汉字 //第二行 lcd_display_zifuk(1,1,2,0); //LCD显示字符 lcd_display_zifuk(1,1,3,0); //LCD显示字符 lcd_display_zifuk(1,1,4,0); //LCD显示字符 lcd_display_zifuk(1,1,5,4); //LCD显示字符 lcd_display_shuzi(1,1,6,8); //LCD显示字符 lcd_display_shuzi(1,1,7,9); //LCD显示字符 lcd_display_shuzi(2,1,0,5); //LCD显示字符 lcd_display_shuzi(2,1,1,1); //LCD显示字符 lcd_display_zifuk(2,1,2,4); lcd_display_zifuk(2,1,3,1); lcd_display_zifuk(2,1,4,2); lcd_display_zifuk(2,1,5,3); //第三行 for(x=0;x<4;x++) { lcd_display_hanzi(1,2,x,3+x); //LCD显示汉字 } for(x=0;x<4;x++) { lcd_display_hanzi(2,2,x,7+x); //LCD显示汉字 } //第四行 for(x=0;x<4;x++) { lcd_display_zifuk(1,3,x,5+x); //LCD显示汉字 } lcd_display_shuzi(1,3,4,7); lcd_display_shuzi(1,3,5,5); lcd_display_shuzi(1,3,6,5); lcd_display_zifuk(1,3,7,9); lcd_display_shuzi(2,3,0,8); lcd_display_shuzi(2,3,1,9); lcd_display_shuzi(2,3,2,9); lcd_display_shuzi(2,3,3,5); lcd_display_shuzi(2,3,4,6); lcd_display_shuzi(2,3,5,8); lcd_display_shuzi(2,3,6,9); lcd_display_shuzi(2,3,7,2); while(1); /* while(1) { // LCD向上滚屏显示 lcd_rol(); } */ }
上传时间: 2013-11-08
上传用户:aeiouetla