DSP结课论文.docx

上传人:b****2 文档编号:17389503 上传时间:2023-07-24 格式:DOCX 页数:29 大小:668.24KB
下载 相关 举报
DSP结课论文.docx_第1页
第1页 / 共29页
DSP结课论文.docx_第2页
第2页 / 共29页
DSP结课论文.docx_第3页
第3页 / 共29页
DSP结课论文.docx_第4页
第4页 / 共29页
DSP结课论文.docx_第5页
第5页 / 共29页
DSP结课论文.docx_第6页
第6页 / 共29页
DSP结课论文.docx_第7页
第7页 / 共29页
DSP结课论文.docx_第8页
第8页 / 共29页
DSP结课论文.docx_第9页
第9页 / 共29页
DSP结课论文.docx_第10页
第10页 / 共29页
DSP结课论文.docx_第11页
第11页 / 共29页
DSP结课论文.docx_第12页
第12页 / 共29页
DSP结课论文.docx_第13页
第13页 / 共29页
DSP结课论文.docx_第14页
第14页 / 共29页
DSP结课论文.docx_第15页
第15页 / 共29页
DSP结课论文.docx_第16页
第16页 / 共29页
DSP结课论文.docx_第17页
第17页 / 共29页
DSP结课论文.docx_第18页
第18页 / 共29页
DSP结课论文.docx_第19页
第19页 / 共29页
DSP结课论文.docx_第20页
第20页 / 共29页
亲,该文档总共29页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

DSP结课论文.docx

《DSP结课论文.docx》由会员分享,可在线阅读,更多相关《DSP结课论文.docx(29页珍藏版)》请在冰点文库上搜索。

DSP结课论文.docx

DSP结课论文

 

DSP芯片原理及应用

结课论文

 

摘要

DSP技术已成为目前电子工业领域发展最迅速的技术,在各行各业的应用越来越广泛,在我国的市场全景也越来越广阔,了解和学习DSP技术知识也越来越重要。

本文简要介绍了本学期我们进行学习的DSP芯片原理及应用这门课的教学内容、基于DSP数字广告大屏幕显示系统的具体设计、基于DSP的卷积算法的实现以及DSP的应用等几个方面。

对于基于DSP数字广告大屏幕显示系统的具体设计,下文从LED显示屏屏体电路和LED显示屏主控系统两个方面对整个系统的硬件设计作了说明。

在屏体电路设计方面,介绍了屏体模块化设计的方法,针对系统具体指标要求,采用了行扫描列控制的动态扫描方案,给出了具体的行列驱动电路设计方法。

在主控系统设计方面,对基于TMS320LF2407的主控系统各个模块,包括电源模块、串行通信模块、信息存储模块、汉字库模块、外部存储器模块作了详细的阐述,说明了设计原理、实现方法。

对于基于DSP的卷积算法的实现,首先要对数字卷积的基本概念作深入了解,使大家从根本上掌握卷积的实现方法,文中将以模拟信号的卷积和数字信号的卷积为主,以及他们在DSP上的实现方法。

关键词:

DSP,LED显示屏,窗函数法设计卷积算法,数据调制解调器,

图形图象处理磁盘

 

一、课程总结

这学期我们开设了DSP芯片原理及应用这门课,主要从以下几个方面了解和掌握了TMS320C55xDSP系统应用设计的主要内容和具体方法:

1.DSP芯片的发展历史

1.1第一阶段,DSP的雏形阶段(1980年前后)

1978年,AMI公司生产出第一片DSP芯片S2811;

1979年,美国Intel公司推出商用可编程器件DSP芯片Intel2920;

1980年,日本NEC公司推出μPD7720,第一片具有乘法器的商用DSP芯片;

1982年,TI公司成功推出其第一代DSP芯片TMS32010及其系列产品TMS32011、TMS320C10/C14/C15/C16/C17,日本Hitachi公司第一个采用CMOS工艺生产浮点DSP芯片;

1983年,日本Fujitsu公司推出的MB8764,指令周期为120ns,具有双内部总线,使数据吞吐量发生了一个大的飞跃;

1984年,AT&T公司推出DSP32,是较早的具备较高性能的浮点DSP芯片

1.2第二阶段,DSP的成熟阶段(1990年前后)

硬件结构:

更适合数字信号处理的要求,能进行硬件乘法和单指令滤波处理,其单指令周期为ns。

如:

TI公司的TMS320C20和TMS320C30,CMOS制造工艺,存储容量和运算速度成倍提高,为语音处理、图像处理技术的发展奠定了基础。

主要器件有:

TI公司的TMS320C20、30、40、50系列,Motorola公司的DSP5600、9600系列,AT&T公司的DSP32等。

1.3第三阶段,DSP的完善阶段(2000年以后)

信号处理能力更加完善,而且使系统开发更加方便、程序编辑调试更加灵活、功耗进一步降低、成本不断下降;

各种通用外设集成到片上,大大地提高了数字信号处理能力;

DSP运算速度可达到单指令周期10ns左右,可在Windows下用C语言编程,使用方便灵活;

广泛应用:

通信、计算机领域,并渗透到日常消费领域。

2.主要芯片种类

2.1TI公司的DSP芯片

TI公司常用的DSP芯片可以归纳为三大系列:

(1)TMS320C2000系列,称为DSP控制器,集成了flash存储器、高速A/D转换器以及可靠的CAN模块及数字马达控制的外围模块,适用于三相电动机、变频器等高速实时工控产品等需要数字化的控制领域。

(2)TMS320C5000系列,这是16位定点DSP。

主要用于通信领域,如IP电话机和IP电话网关、数字式助听器、便携式声音/数据/视频产品、调制解调器、手机和移动电话基站。

(3)TMS320C6000系列DSP采用新的超长指令字结构设计芯片。

2.2AD公司的DSP芯片

特点:

系统时钟一般不经分频直接使用。

2.3AT&T公司的DSP芯片

定点DSP芯片的程序和数据字长均为16位,有2个精度为36位的累加器,

浮点DSP芯片,80/100ns的指令周期,片内具有3个512字的RAM块,或2个512字的RAM块加1个4K字的ROM块。

3.TMS320C55x的硬件结构

3.1TMS320C55xDSP的基本结构

TMS320C55x在C54x的基础上发展起来的新一代低功耗、高性能数字信号处理器。

(1)软件具有C54兼容模式。

(2)工作时钟大大超过了C54x系列处理器,

(3)CPU内部通过增加功能单元增强了DSP的运算能力

3.2VC5509A的引脚功能

3.2.1并行总线引脚

并行总线A13~A0直接与外部引脚相连,这14个引脚可以完成以下三个功能:

HPI地址总线(HPI.HA[13:

0])、

EMIF地址总线(EMIF.A[13:

0])

通用输入/输出(GPIO.A[13:

0])。

这三个功能可以通过外部总线选择寄存器(EBSR)中的并行端口模式字段来设置,这些引脚的初始状态由GPIO0引脚决定。

并行双向数据总线D15~D0完成两个功能:

(1)EMIF数据总线(EMIF.D[15:

0])

(2)HPI数据总线HPI.HD[15:

0]

同样,这两个功能可以通过外部总线选择寄存器EBSR中的并行端口模式位域来设置,这些引脚的初始状态由GPIO0引脚决定。

4.TMS320C55x的指令系统

C55x处理器的指令系统可以分为6大类,包括算术运算指令、位操作指令、扩展辅助寄存器操作指令、逻辑运算指令、移动指令和程序控制指令等。

而介绍的内容包括指令格式,执行的操作,是否有并行使能位,长度,周期,在流水线上的执行阶段以及执行的功能单元等。

4.1寻址方式

寻址方式是指如何指定指令和操作数所在存储空间的地址。

C55xDSP支持三种寻址模式,可以高效、灵活地对数据空间、存储映射寄存器、寄存器位和I/O空间进行寻址,它们是:

(1)绝对寻址模式;

(2)直接寻址模式;

(3)间接寻址模式。

4.1.1绝对寻址模式

绝对寻址模式有三种,它们分别是:

k16绝对寻址、k23绝对寻址和I/O绝对寻址。

k16绝对寻址:

使用该模式寻址的指令其操作数为*abs16(#k16),其中k16是一个16位的无符号常数。

寻址方法是将7位的寄存器DPH(扩展数据页指针XDP的高位部分)和k16级联形成一个23位的地址,用于对数据空间的访问。

该模式可以访问一个存储单元和一个存储映射寄存器。

k23绝对寻址:

使用该模式寻址的指令其操作数为*(#k23),其中k23是一个23位的无符号常数。

使用这种寻址方法的指令将常数编码为3字节(去掉最高位),与k16绝对寻址一样,使用该模式寻址的指令不能与其他指令并行执行。

I/O绝对寻址:

对于I/O绝对寻址模式,如果使用代数指令,其操作数是*port(#k16),其中k16是一个16位无符号常数;如果使用助记符指令,其操作数是port(#k16)(操作数前没有*)。

使用该模式的指令将常数编码为2字节。

同样,该指令不能与其他指令并行执行。

4.1.2直接寻址模式

直接寻址有以下几种方式:

数据页指针(DP)直接寻址、堆栈指针(SP)直接寻址、寄存器位直接寻址和外设数据页指针(PDP)直接寻址。

其中,DP直接寻址和SP直接寻址与状态寄存器ST1-55的CPL位有关:

当CPL=0,采用DP直接寻址模式

当CPL=1,采用SP直接寻址模式

而寄存器位寻址和PDP直接寻址与CPL无关。

4.1.3间接寻址模式

CPU支持的间接寻址模式有AR间接寻址、双AR间接寻址、CDP间接寻址和系数间接寻址。

利用这些模式可以进行线性或循环寻址。

4.2C55x指令的并行执行

4.2.1指令并行的特征

C55xDSP的结构特点使其在一个周期内可以并行地执行两条指令。

C55x支持三种类型的并行指令。

(1)单指令中内置并行方式

这类并行指令是由一条指令同时执行两个不同的操作,通常用符号“:

:

”来分隔指令的两个部分,这种并行方式也称为隐含并行方式。

例如:

MPY*AR0,*CDP,AC0

:

:

MPY*AR1,*CDP,AC1

这是一条单指令,由AR0引用的数据与由CDP引用的系数相乘,同时,由AR1引用的数据与该系数相乘。

(2)用户自定义的两条指令间的并行方式

这类并行指令是用户或C语言编译器定义的,是由两条指令同时并行执行两个操作,通常用符号“||”来分隔这两条指令。

例如:

MPYM*AR1–,*CDP,AC1

||XORAR2,T1

第一条指令在D单元执行乘法运算,第二条指令在A单元的ALU执行一个逻辑操作。

(3)内置与用户自定义混合的并行方式

例如:

MPYMT3=*AR3+,AC1,AC2

||MOV#5,AR1

第一条指令隐含了内置并行方式,第二条指令是用户自定义的并行方式。

4.3C55x的资源

4.3.1运算器

可使用的操作器有:

D单元的ALU、D单元的移位器、D单元的交换器、A单元的交换器、A单元的ALU和P单元。

并行指令执行时一个操作器只能使用一次。

4.3.2地址产生单元

地址产生单元有:

两个数据地址(DA)产生单元、一个系数地址(CA)产生单元和一个堆栈地址(SA)产生单元。

指令执行时只能使用给定数量的数据地址产生单元。

4.3.3总线

可使用的总线有:

两个数据读(DR)总线、一个系数读(CA)总线、两个数据写(DW)总线、一个ACB总线(将D单元寄存器的内容传送给A单元和P单元的操作器)、一个KAB总线(立即数总线)和一个KDB总线(立即数总线)。

指令执行时只能使用给定数量的总线。

4.4TMS320C55xDSP的汇编指令

TMS320C55x是TMS320家族中的定点数字信号处理器,可以使用两种指令集:

助记符指令集和代数指令集。

代数指令集中的指令类似于代数表达式,运算关系比较清楚明了;助记符指令集与计算机汇编语言相似,采用助记符来表示指令。

不过,在编程时只能使用一种指令集。

助记符指令和代数指令在功能上是一一对应的,只是表示形式不同。

本节同时介绍助记符指令和代数指令,并通过实例来讲解C55x的指令系统。

TMS320C55x指令集按操作类型可分为以下6种:

算术运算指令

位操作指令

扩展辅助寄存器操作指令

逻辑运算指令

移动指令

程序控制指令

一条指令的属性包括:

指令,执行的操作,是否有并行使能位,长度,周期,在流水线上的执行阶段以及执行的功能单元等。

下面,将按照这些属性分类介绍C55x助记符指令集。

指令集。

二、基于DSP数字广告大屏幕显示系统设计

近年来,户外广告从平面印刷广告变成大屏幕显示广告,而超高亮度LED出现,使得LED显示屏提供图形、文字、数字的单色、双色和全色显示时,可完全满足。

LED显示屏不仅可以用于室内环境还可以用于室外环境,具有投影仪、电视墙、液晶显示屏无法比拟的优点。

下文就此提出了一种不携带计算机的低成本LED文字显示屏的控制系统,并给出完整可行的系统硬件设计方案。

图1.LED显示屏系统组成框图

1.系统设计目标:

系统具有掉电数据不丢失的功能,能存储多屏显示数据;

系统具有丰富的字型字体,有丰富的显示效果,能播放一些简单图片;

支持RS232异步串口通信模式和GSM短消息无线通信模式;

要求系统易实现,成本低,可靠性高。

2.LED器件的驱动

从LED器件的发光机理可以知道,当向LED器件施加正向电压时,流过器件的正向电流使其发光。

因此LED的驱动就是要使它的PN结处于正向偏置,同时为了控制它的发光强度,还要解决正向电流的调节问题。

具体的驱动方式有直流驱动、恒流驱动、脉冲驱动和扫描驱动等,本系统中LED器件的驱动为扫描驱动。

2.1直流驱动

直流驱动是最简单的驱动方法。

LED的工作点由电源电压VCC,串联电阻R和LED器件的伏安特性共同决定。

这种驱动方式适合于LED器件较少,发光强度恒定的情况。

例如公交车用于固定显示“XX路”字样的显示器。

2.2恒流驱动

由于LED器件的正向特性较陡,加上器件的分散性,使得在同样电源电压和同样限流电阻的情况下,各器件的正向电流并不相同,从而引起发光强度的差异。

若对LED器件进行恒流驱动,只要恒流值相同,发光强度就比较接近。

晶体管的输出特性具有恒流特性,所以可以用晶体管驱动LED。

图2.晶体管恒流驱动LED器件

2.3脉冲驱动

利用人眼的视觉惰性,采用向LED器件重复通断电的方式使之点燃,就是脉冲驱动方式。

脉冲驱动的主要应用有两个方面:

扫描驱动和占空比驱动。

扫描驱动的主要目的是节约驱动器,简化电路。

采用这种方式时应该注意两个问题:

脉冲电流幅值的确定和重复频率的选择。

首先,要想获得与直流驱动方式相当的发光强度,脉冲驱动电流的平均值I。

就应该与直流驱动的电流值相同。

2.4扫描驱动

扫描驱动是通过数字逻辑电路,使若干LED器件轮流导通,用以节省控制驱动电路。

LED显示屏是将发光灯按行按列布置的,驱动时也就按行按列驱动。

在扫描驱动方式下可以按行扫描,按列控制;也可以按列扫描,按行控制。

所谓“扫描”的含义,就是指一行一行地循环接通整行的LED器件,而不问这一行的哪一列的LED器件是否应该点亮,某一列的LED器件是否应该点亮,由所谓的列控制电路来负责。

图3所示为一个m行n列结构的LED显示屏,当采用行扫描列控制的驱动方式时,从H1到Hm轮流将高电位接通各行线,使连接到各行的LED器件接通正电源,但具体哪一个LED导通,还要看它的负电源是否接通,这就是列控制所要完成的工作。

例如在LED显示屏上需要LED11熄灭,LED21点亮,那么当扫描到H1行时,Ll列的电位就应该为高;当扫描到H2行时,Ll列的电位就应该为低。

图3.M行xN列LED显示屏结构示意图

3.LED显示屏驱动电路设计

3.1LED显示屏屏体

LED显示屏以发光二极管为像素,由LED点阵显示单元拼接而成。

最常见的LED点阵显示单元有5x7,7x9,8x8结构,前两种主要用于显示各种西文字符,后一种常用于显示各种汉字字符,8x8LED点阵的外观及等效电路图3-1如示。

通常由4x8个这样的小单元组成一个32x64的单元模块(以这个为基准做屏体的PCB板).。

LED显示屏就是通过这些单元模块采用联方式搭接而成,如图4所示。

图4.8x8LED模块示意图

由于每个LED显示屏体由若干个模块组成,模块之间信号级联,在这个过程中扫描控制信号存在衰减,而每个模块行驱动电路同时驱动64列的LED发光器件时,按每一LED器件电流20mA计算,64个LED同时发光时就需要64×20=1280mA的驱动电流,因此我们在每个模块中加入了功率驱动管74HC244和CEM4953。

在电路设计中,要求所用到的芯片尽量出自一个厂家,同一类型的芯片尽量用同一型号的,以保持LED显示屏整屏的均匀性。

3.2行列驱动电路设计

根据驱动方式的不同,LED大屏幕显示方式还可以分为静态显示和动态扫描显示两种。

静态显示是指将一幅画面输入以后要保持到下一幅画面的输入:

动态显示是指将画面分为若干部分分别进行刷新。

静态显示每一个像素需要一套驱动电路,如果显示屏为NxM个像素屏,则需要NxM套驱动电路;动态扫描显示则采用多路复用技术,如果是P路复用的话,则每P个像素需一套驱动电路,NxM个像素仅需NxN/P套驱动电路。

另外,对于静态显示方式,需要较多的译码驱动装置,需要的引线也比较多;对于动态扫描显示方式,可以避免以上不足,但是容易造成显示亮度低、屏幕闪烁等问题。

显示数据通常以字节的形式顺序存放在控制系统的存储器中。

在行扫描列控制显示时,把显示数据从存储器中取出传送到每一行对应的列驱动器上,这就存在列数据传输方式的问题。

从控制电路到列驱动器的数据传输可以采用并行方式或串行方式,它们各有优缺点:

数据并行传输的速度比较快,但是随着屏幕的增大,点阵模块数量的增多,线路会越来越复杂;数据串行传输的速度比较慢,但它可以大大简化传输线路,对于列数较多的LED显示屏来说,采用串行传输方式比较合适。

采用串行传输的方法,控制电路可以只用一根信号线,将列数据一位一位传往列驱动器,与此同时,列驱动器中每一列都把当前数据传向后一列,并从前一列接收新数据,一直到一行的各列数据全部传输到位后,才能并行地进行显示。

对于串行传输来说,数据要经过并行到串行和串行到并行两次变换,因此列数据的准备时间可能相当长,在行扫描周期确定的情况下,留给行显示的时间就少一些,以至影响到LED的亮度。

解决串行传输中列数据准备和列数据显示的时间矛盾问题,可以采用重叠处理的方法。

即在显示本行各列数据的同时,准备下一行的列数据,这就需要列数据的显示具有锁存功能。

本行己准备好的数据打入并行锁存器进行显示时,串并移位寄存器就可以准备下一行的列数据,而不会影响本行的显示。

经过上述分析,可看出列驱动器电路应具备下功能:

对于列准备数据来说,它应该实现串入并出的移位功能;对于列显示数据来说,应具有并行锁存的功能。

这样本行已准备好的数据打入并行锁存器进行显示时,串并移位寄存器就可以准备下一行的数据,而不会影响本行的显示,这种列驱动电路可以用74HC595来实现,其内部结构如图3-3所示:

它的输入侧有8个串行移位寄存器,每个移位寄存器的输出都连接一个输出锁存器。

引脚SER是串行数据输入端,引脚SCK是移位寄存器的移位时钟脉冲,在其上升沿发生移位,并将SER的下一个数据打入最低位。

移位后的各位信号出现在各移位寄存器的输出端,即输出锁存器的输入端。

RCK是输出锁存器的打入信号,其上升沿将移位寄存器的输出打入到输出锁存器。

引脚E是输出三态门开放信号,低电平时输出三态门开放,否则为高阻态。

SCLR为移位寄存器的清零输入端,当其为低时移位寄存器的输出全为零。

由于SCK和RCK两个信号是相互独立的,所以能够做到输入串行移位和输出锁存互不干扰。

芯片输出端为Q0—Q7,最高位Q7可以作为多片74HC595级联时,向下一级的级联输出。

由74HC595组成的显示驱动电路(以1/16扫描为例)。

74HC595具有串入并出的移位功能和并行锁存的功能,它可以有效解决数据串行传输和数据显示在时间上的矛盾问题,即采用重叠处理的方法,在显示本行各列数据的同时,准备下一列的数据。

CLK是移位时钟,数据在时钟的控制下移位进入74HC595,当全行移到位之后,在行锁存信号STR的控制下由74HC595的后台移入前台锁存。

A﹑B﹑C﹑D信号是行扫描信号,可直接通过对STR信号计数得到,并通过4/16译码器得到16根行扫描线。

OE信号是消影信号,它即可以选择控制列信号,也可以选择控制行信号。

如果选择控制列信号,它可接74HC595的输出使能端E。

因为,只有当E为低时74HC595的输出才有效,而E为高时输出为三态,这个信号对灰度的实现非常有用。

同理,如果选择控制行信号,它也可以接4/16译码器的使能信号端,为低时使行扫描信号无效。

图5.LED显示屏扫描驱动电路意图

4.LED显示屏控制系统电路设计

根据驱动电路及电路分区的要求,为保证显示的数据与LED屏驱动电路传输的数据同步,在系统中采用快页切换方式,用两组静态存储器组来存储数据,通过控制两组存储器组的读写来完成显示信息向LED显示屏驱动电路显示信号的转换。

两组SRAM交替处于读写状态,设某一场时,SRAM1处于写状态,将要显示信息的数据存入存储器1,则SRAM2处于读状态,将前一帧写入的数据按一定时序读出,用于驱动LED模块显示。

到下一场时,正好相反,SRAM1处于读状态,SRAM2处于写状态,如此交替进行。

数据分别存入静态存储器1或静态存储器2,两个静态存储器组工作在交替读写状态。

其中具体对那个显示存储器操作可以通过读写选择器,地址选择器一起控制。

三、基于DSP的卷积算法的实现

1.实验原理

1.1卷积的基本原理和公式

卷集和:

对离散系统“卷积和”也是求线性时不变系统输出响应(零状态响应)的主要方法。

卷积和的运算在图形表示上可分为四步:

Y(n)=∑X(m)h(n−m)=X(n)*h(n)

m=−∞

(1)翻褶先在哑变量坐标M上作出x(m)和h(m),将m=0的垂直轴为轴翻褶成h(-m)。

(2)移位将h(-m)移位n,即得h(n-m)。

当n为正整数时,右移n位。

当n为负整数时,左移n位。

(3)相乘再将h(n-m)和x(m)的相同m值的对应点值相乘。

(4)相加把以上所有对应点的乘积叠加起来,即得y(n)值。

依上法,取n=…,-2,-1,0,1,2,3,…各值,即可得全部y(n)值。

1.2.程序流程图图6

1.3程序的自编函数及其功能

1.3.1processing1(int*input2,int*output2)

调用形式:

processing1(int*input2,int*output2)

参数解释:

intput2、output2为两个整型指针数组。

返回值解释:

返回了一个“TREN”,让主函数的while循环保持连续。

功能说明:

对输入的input2buffer波形进行截取m点,再以零点的Y轴为对称轴进行翻褶,把生成的波形上的各点的值存入以OUTPUT2指针开始的一段地址空间中。

1.3.2processing2(int*output2,int*output3)

调用形式:

processing2(int*output2,int*output3)

参数解释:

output2、output3为两个整型指针数组。

返回值解释:

返回了一个“TREN”,让主函数的while循环保持连续。

功能说明:

对输出的output2buffer波形进行作n点移位,然后把生成的波形上的各点的值存入以OUTPUT3指针开始的一段地址空间中。

1.3.3processing3(int*input1,int*output2,int*output4)

调用形式:

processing3(int*input1,int*output2,int*output4)

参数解释:

output2、output4、input1为三个整型指针数组。

返回值解释:

返回了一个“TREN”,让主函数的while循环保持连续。

功能说明:

对输入的input2buffer波形和输入的input1buffer作卷积和运算,然后把生成的波形上的各点的值存入以OUTPUT4指针开始的一段地址空间中。

1.3.4processing4(int*input2,int*output1)

调用形式:

processing4(int*input2,int*output1)

参数解释:

output1、input2为两个整型指针数组。

返回值解释:

返回了一个“TREN”,让主函数的while循环保持连续。

功能说明:

对输入的input2buffer波形截取m点,然后把生成的波形上的各点的值存入以OUTPUT1指针开始的一段地址空间中。

源程序如下所附:

 

#include

#include"volume.h"

/*Globaldeclarations*/

intinp1_buffer[BUFSIZE];

intinp2_buffer[BUFSIZE];/*processingdatabuffers*/

intout1_buffer[BUFSIZE

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 农林牧渔 > 林学

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2