文档库 最新最全的文档下载
当前位置:文档库 › AD73360

AD73360

AD73360
AD73360

TMS320VC5402 DSP与串行AD73360A/D转

换器接口设计

摘要:讨论了TI公司的数字信号处理器TMS320VC5402的多通道缓冲串口与串行A/D

变换器AD73360的接口设计,详细阐述了两者的硬件接口和软件实现。

关键词:多通道缓冲串口TMS320VC5402DSPAD73360A/D转换器

随着对信号处理要求的不断提高以及DSP技术的不断发展,越来越多的工程技术人员开始采用DS

P进行系统设计。美国TI公司的TMS320VC5402(以下简称VC5402)DSP具有

运算速度快、功耗小和性价比高的特点,已在个人移动通信、信号与信息处理以及自动控制等领域得

到了广泛的应用。该芯片提供了两个多通道缓冲串行接口(McBSP)与外部设备进行通信。它与

串行A/D变换器构成的信号采集与处理系统具有硬件设计简单、可靠性好的特点。本文将详细阐述

VC5402与AD73360的接口设计。

1VC5402的McBSP

VC5402的McBSP是一种同步串行接口,支持多种通信方式和SPI协议,该串口可以根据设计者的不同需求进行配置,使用非常灵活。它的主要特点如下:全双工的串行通信;连续的发送和接收数据流功能;具有外部时钟输入或内部可编程时钟两种时钟控制方式;可独立编程的发送和接收帧同步;多通道数据传输(最多可达128个通道);可选的数据宽度:8、12、16、20、24或32位;用于数据压缩的μ律和A律压缩扩展;可编程的时钟和帧同步极性。

McBSP包括6个引脚,分别是串行数据发送信号DX、串行数据接收信号DR、发送时钟信号CLKX、接收时钟信号CLKR、发送帧同步信号FSX和接收帧同步信号FSR。由于McBSP内带有一个可编程的采样和帧同步时钟产生器,所以串口接收、发送时钟和帧同步等信号既可由内部产生,也可以由外部输入。

VC5402的McBSP由23个寄存器进行控制,除了少数几个不能由程序访问之外,一般在串口进行数据通信之前都要对它们进行初始化,部分寄存器是存储器映射寄存器,必须通过子地址的方式进行访问。要访问McBSP的这些寄存器,首先要把所要访问的寄存器的子地址写到子地址寄存器SPSA中,然后才能对数据寄存器进行访问。

McBSP接收和发送数据的过程如下:在发送数据时,首先将要发送的数据写到DXR寄存器中,若XSR寄存器为空(说明上一次发送的数据已经由DX引脚送出),则将DXR寄存器中的数据拷贝到XSR寄存器中;然后在帧同步FSX和时钟CLKX的作用下,将XSR寄存器中的数据逐位移到DX引脚输出。在数据从DXR寄存器复制到XSR后,就可以将下一个要发送的数据写到DXR寄存器中,因而可以保证数据的连续发送。串口接收数据的过程与发送基本类似,但方向相反且VC5402的多通道串口的接收带三个缓冲器。

在VC5402片内,CPU与McBSP之间的数据传送有三种方式 查询方式、中断方式和DMA方式。每当串口接收到一个字(新接收的数据复制到DRR 1 2 寄存器中)或发送的字从DXR寄存器拷贝到XSR寄存器中时,都会改变串口控制寄存器1(SPCR1)中的RDDY和串口控制寄存器2(SPCR2)中的XRDY标志位,所以CPU可以通过不断查询的方法知道数据是否发送完毕以及是否接收到新的数据,从而决定下一步操作。CPU还可以通过串口的接收或发送中断事件,在中断服务程序中完成数据的传送,中断的触发事件是可以选择的,在进行处理之前必须预先设置好串口控制寄存器1(SPCR1)和串口控制寄存器2 SPCR2 中相应的位。第三种传数方式就是通过芯片的DMA与串口相连,由串口同步事件触发DMA完成数据的传送。

McBSP的初始化主要完成串口的配置,接收和发送可以分别设定,但要结合具体的硬件设计来进行。串口初始化的主要工作如下 设定FSR、FSX、CLKX和CLKR为输入还是输出以及它们的极性;设定是单相位还是双相位帧同步;设定每帧所包含的数据个数;设定传输数据的字宽(若为双相位帧同步,每一相位对应的字宽可设为不一样);设定第一个帧同步之后的帧同步是否被忽略;设定数据位的延迟;设定数据的符号扩展方式;设定所选择的传输通道;若采用内部产生时钟和帧同步信号,还需要对时钟和帧同步产生器进行设置。

2串行A/D转换器AD73360

AD73360是AD公司推出的6通道模拟输入的16位串行可编程A/D转换器。由于采用Σ-ΔA/D转换原理,具有良好的内置抗混叠性能,所以对模拟前端滤波器的要求不高,用一阶RC低通滤波器就能满足要求。由于其采样率和输入信号增益都是可编程的,采样率可分别设置为64K、32K、16K和8K(输入时钟为16.384MHz时) 增益可在0dB到38dB之间选择,因而它既适合于大信号的应用,也适合于小信号的应用。AD733

60能保证6路模拟信号同时采样,且在变换过程中延迟很小。AD73360还能多片级联使用,

从而扩充模拟输入的通道数。

AD73360有R-28和SU-44两种封装,图1是R-28封装的管脚图,下面仅对与M

cBSP接口设计有关的部分引脚进行说明。

RESET为AD73360硬件复位信号,用于对AD73360进行硬件复位;SE为串口使

能信号,当SE为高电平时,AD73360正常工作,当SE为低电平时,AD73360被禁

止,此时所有的输出为三态,所有的输入信号无效,同时AD73360进入节电状态。MCLK

为外部时钟输入信号,通常由外部时钟驱动,MCLK进入AD73360之后,首先被分频产生

DMCLK 内部主时钟信号 ,然后由DMCLK分频产生串口时钟信号SCLK,它们的分频

因子都是可编程的;SCLK为串口时钟信号,通常作为DSP的同步串口的输入时钟信号;SDI和SDIFS为数据输入和输入帧同步信号,通常用于接收初始化控制字;SDO和SDOFS为数据输出和输出帧同步信号,通常用于输出转换的数据;其余的引脚分别为6路模拟输入、模拟电源和数字电源。AD73360有8个控制寄存器(CRA、CRB、CRC、CRD、CRE、CRF、CRG、CRH),在AD73360工作之前必须对这些寄存器进行初始化。AD73360有三种工作模式:编程模式、数据模式和混合模式。在编程模式下只接收控制字,输出无效的转换数据;在数据模式下,输入的控制字被忽略,输出有效的转换数据;在混合模式下,允许在数据转换过程中接收控制字。

3McBSP与AD73360接口的硬件设计

AD73360的模拟输入共有四种方式:直流耦合的差分输入、交流耦合的差分输入、直流耦合的单端输入和交流耦合的单端输入。交流耦合的差分输入的连接如图2所示,其中C1和C2起隔直作用,R1、C3和R2、C4分别为一阶低通滤波器,R3和R4的作用是把参考信号引入到输入端,C5为旁路电容。由于用到AD73360的内部参考源,所以初始化时必须使能参考信号(REFOUT)的输出。

McBSP(串口0)与AD73360的连接如图3所示。图中VC5402的McBSP的XF引脚与AD73360的SE引脚和RESET引脚相连,XF信号用于对AD73360进行控制;AD73360的串口时钟SCLK信号作为McBSP的发送信号 CLKX0 和接收时钟信号 CLKR0 ;McBSP的发送引脚 FSX0 、接收帧同步引脚 FSR0 与AD73360的输入引脚 SDIFS 、输出帧同步 SDOFS 连到一起,使McBSP的发送信号 FSX0 和接收帧同步时钟信号 FSR0 与AD73360的输出帧同步信号 SDOFS 保持同步。AD73360的数据输出引脚 SDO 和输入引脚 SDI 分别与McBSP的数据接收引脚 DR0 和数据发送引脚 DX0 相连。VC5402的定时器对主时钟分频,其输出再经过2分频得到AD73360的驱动时钟信号MCLK,实际上也可由晶振直接产生AD73360的驱动时钟信号MCLK。AD73360的最高输入时钟为16.384MHz,如果DSP主时钟为81.92MHz时,定时器分频因子可设为4。

4McBSP与AD73360接口的软件设计

与硬件接口相对应的软件设计包括:设置定时器1的分频因子并启动定时器、McBSP的初始化、AD73360的初始化、开始接收并处理数据等。若AD73360的驱动时钟不是由VC5402分频得到,则第一步可以忽略。在串口初始化时,由图3可知,McBSP的发送、接收时钟和帧同步等信号都为输入,因而无需用到McBSP内部的采样和帧同步产生器;由于AD73360的控制字和转换的数据都为16位,所以McBSP应设置为单相位的接收和发送帧同步且传送每个字的宽度为16位。采用中断方式完成数据传送时,对McBSP各控制寄存器的初始化值如下:

RCR1=XCR1=0040h每帧一个字,字宽为16位。

RCR2=XCR2=0001h单相位帧同步,无压扩,第一个

帧同步后的帧同步不忽略,一位

数据延迟。

PCR=0h发送和接收帧同步,时钟都由

外部输入,发送和接收帧同步

为高有效 发送和接收数据在

上升沿采样。

MCR1=1h所有的接收通道被禁止,所需

要的通道由RP A/B BLK和

RCER A/B 选择。

MCR2=1h所有的发送通道被禁止且被

屏蔽,所需要的通道由XP A/B

BLK和XCER A/B 选择。

RCERA=1h,RCERB=0h仅打开接收通道0,关闭

其它通道。

XCERA=1h,XCERB=0h仅打开发送通道0,关闭

其它通道。

SPCR1=1h使能串口接收,接收中断

由RRDY标志触发。

SPCR2=0103h使能串口发送,发送中

断由XRDY标志触发。

McBSP(串口0)的初始化程序(SPSA为子地址寄存器,映射地址为38h;SPDATA为数据寄存器,映射地址为39h)如下:

stm#0000h SPSA 子地址寄存器指向串口控制寄

存器1 SPCR1

stm#0000h SPDATA 关闭串口接收

stm#0001h SPSA 子地址寄存器指向串口控制寄

存器2 SPCR2

stm#0102h SPDATA 关闭串口发送

stm#0002h SPSA 子地址寄存器指向接收控制寄

存器1 RCR1

stm#0040h SPDATA

stm#0003h SPSA 子地址寄存器指向接收控制寄

存器2 RCR2

stm#0001h SPDATA

stm#0004h SPSA 子地址寄存器指向发送控制寄

存器1 XCR1

stm#0040h SPDATA

stm#0005h SPSA 子地址寄存器指向发送控制寄

存器2 XCR2

stm#0001h SPDATA

stm#000eh SPSA 子地址寄存器指向管脚控制寄

存器 PCR

stm#0000h SPDATA

stm#0008h SPSA 子地址寄存器指向多通道控制

寄存器1 MCR1

stm#0001h SPDATA

stm#0009h SPSA 子地址寄存器指向多通道控制

寄存器2 MCR2

stm#0001h SPDATA

stm#000ah SPSA 子地址寄存器指向接收通道使

能寄存器A RCERA

stm#0001h SPDATA

stm#000bh SPSA 子地址寄存器指向接收通道使

能寄存器B RCERB

stm#0000h SPDATA

stm#000ch SPSA 子地址寄存器指向发送通道使

能寄存器A XCERA

stm#0001h SPDATA

stm#000dh SPSA 子地址寄存器指向发送通道使

能寄存器B XCERB

stm#0000h SPDATA

stm#0000h SPSA 子地址寄存器指向串口控制寄

存器1 SPCR1

stm#0001h SPDATA 使能串口接收

stm#0001h SPSA 子地址寄存器指向串口控制寄

存器2 SPCR2

stm#0103h SPDATA 使能串口发送

McBSP初始化完成并使能McBSP后就可以通过它对AD73360进行初始化,其程序(DXR10和DRR10分别为串口0的发送和接收寄存器 映射地址分别为22h和20h)如下:

errorcrb stm#8105h DXR10 向CRB写控制字05h,DMCLK

ldDRR10 a=MCLK,SCLK=DMCLK/4,

stla ar1采样率=DMCLK/1024

stm#0b905h ar0

cmpr0 ar1

bcerrorcrb ntc 判断控制字是否已正确写入,

errorcrc stm#8241h DXR10向CRC写控制字41h,使能

ldDRR10 a参考电平输出,全局上电

stla ar1

stm#0ba41h ar0

cmpr0 ar1

bcerrorcrc ntc 判断控制字是否已正确写入,

errorcrd stm#8388h DXR10向CRD写控制字88h,通道

ldDRR10 a1和通道2加电,增益为0dB

stla ar1

stm#0bb88h ar0

cmpr0 ar1

bcerrorcrd ntc 判断控制字是否已正确写入,

errorcre stm#8488h DXR10向CRE写控制字88h,通道

ldDRR10 a3和通道4加电,增益为0dB

stla ar1

stm#0bc88h ar0

cmpr0 ar1

bcerrorcre ntc 判断控制字是否已正确写入,

errorcrf stm#8588h DXR10向CRF写控制字88h,通道

ldDRR10 a5和通道6加电,增益为0dB

stla ar1

stm#0bd88h ar0

cmpr0 ar1

bcerrorcrf ntc 判断控制字是否已正确写入,

errorcrg stm#8600h DXR10 向CRG写控制字00h,设置

ldDRR10 a1至6通道为差动输入方式

stla ar1

stm#0be00h ar0

cmpr0 ar1

bcerrorcrg ntc 判断控制字是否已正确写入,

errorcrh stm#8700h DXR10 向CRH写控制字00h,设置

ldDRR10 a1至6通道为同相输入方式

stla ar1

stm#0bf00h ar0

cmpr0 ar1

bcerrorcrh ntc 判断控制字是否已正确写入,

stm#8001h DXR10向CRA写控制字01h,使

rpt#400AD73360进入数据模式

nop

图4 采样信号在CCS中的显示

AD73360初始化完成之后就可以打开串口的接收中断,在中断服务程序中接收A/D转换的数据。在该配置条件下,若输入时钟为8.192MHz,则AD73360为六路模拟采样,采样率为8kHz。图4为其中一路采样信号在CCS环境中的显示。

实践表明,由VC5402的McBSP和AD73360构成的信号采集和处理系统具有设计简便、结构紧凑、工作稳定和可以方便地在几种采样率之间选择等优点。与并行接口相比,采用串行接口的硬件连接线大为减少,这样不仅可以减少印制电路板的面积,还可以减少电磁干扰,从而有利于系统更加稳定的工作。在不影响系统工作速度的条件下,在系统设计中利用串行接口代替并行接口不失为一种很好的设计方法。

excel应用场景:多级联动下拉列表实现选择一级部门下的二级部门

excel应用场景:多级联动下拉列表实现选择一级部门下的二 级部门 很多小伙伴们都知道,利用数据有效性功能做一个下拉列表,可以让用户从列表中选择选项,避免手工输入造成的错误。但是你们知道如何做一个多级联动下拉列表吗?先让我介绍一下,什么叫多级联动下拉列表。例如,公司里面的部门,分为一级部门,二级部门等。要求用户在选择了一个一级部门后,在二级部门中,只能选择一级部门对应的那些二级部门。最终效果我们就以上面这个例子开始,向小伙伴们,演示一下如何做这样一个多级联动下拉列表。动画演示解析:首先,分别定义了[市场部]和[信息研发部]名称,来管理各自对应的二级部门。然后,在数据有效性中,指定一级部门的数据序列来源于{B1:C1}最后,在数据有效性中,指定二级部门的数据序列来源于Indirect(D8),快速适用公式到其他二级部门单元格中。这里只有一点要说明一下,那就是Indirect(D8)的作用。Indirect(D8)的执行细节,如下图:Indirect函数解析附:Indirect(ref)函数的定义:返回文本字符串ref所指定的引用扩展:如果是三级联动,例如下图中的例子,怎么做呢?最终效果请看动画演示效果:动画效果三级部门联动原理和二级部门联动的例子是一样的。最后总结一下,这一期的主要内容是联动下拉列表的实现,包括二级

联动以及三级联动。用到的主要功能点是:在名称管理器中创建名称来管理对应的单元格区域,以及通过Indirect函数去查找地址对应的实际引用(相当于二次查找)。欢迎大家观看,转发,并留下宝贵意见,谢谢。本文是[谈谈生活谈谈职场]的原创,如要转载,请联系作者。关键词:Excel 联动下拉列表,Excel 联动下拉框,Indirect。

级联下拉列表

1 添加dwr.jar (从DWR官方网站https://www.wendangku.net/doc/0817808392.html,/dwr/download) 2 在web.xml中添加如下代码 dwr-invoker org.directwebremoting.servlet.DwrServlet debug true dwr-invoker /dwr/* 3 创建Java类及其方法如: // 级联 public String findBySId(Long id) { // 查询属于此科目的所有知识点 List list = knowledgepointInfoDAO.findBySubjectId(id); StringBuffer str = new StringBuffer(); str.append("["); for (int i = 0; i < list.size(); i++) { str.append("{'subjectId':").append("'").append(list.get(i).getSub jectId()).append("',"); str.append("'knowledgepointName':").append("'").append(list.get(i ).getKnowledgepointName()).append("'}"); if (i < list.size() - 1) { str.append(","); } } str.append("]"); System.out.println(str.toString()); return str.toString(); } 4 在wen-inf文件夹下创建dwr.xml文件

js联动菜单下拉菜单日历方法

下拉式日历

以上是页面代码部分

Excel做个下拉选项

实例给出Excel级联菜单(多个下拉选项)的实现 大家知道,在Excel中可以通过设置数据的有效性来实现类似于网页表单中的下拉菜单功能,这 样可以大大地提高数据的录入速度和可靠性。但采用此方法要求下拉菜单中的选项不能过多,否 则会影响录入的速度。如果这些选项内容之间可进行分类、分组,那我们就可以用多个下拉选项(即级联菜单)来解决此类问题。下面我们就从一个出发,给出在Excel中实现级联菜单的两种 方法,希望能给使用Excel进行办公的朋友提供帮助。 一、自定义数据的有效性 这里有两个工作表,其中Sheet1用来采集客户资料,并将其名称改为“客户数据采集”,在Sheet2的A列中保存了所有的省份, B列中的数据为各省份所属的县市并将工作表名称改为“地区”(假设这里设置了三个省份,即江苏省、浙江省和安徽省)。 1.定义单元格区域名称 选中“地区”表中江苏省所属县市的单元格区域B2∶B14,依次单击“插入”菜单中的“名称”,选 择“定义”,弹出“定义名称”对话框,在“在当前工作簿中的名称”框中输入所定义的名称“江苏”,单 击“确定”按钮。类似地,我们可以将浙江省和安徽省所属县市的单元格区域名称分别定义为“浙江” 和“安徽”。 2.设置数据的有效性 切换到“用户数据采集”表中,选择要选择输入省份的D列,单击“数据”菜单中的“有效性”命令,弹出设置“数据有效性”对话框,在有效性条件的“允许”列表中选择“序列”,在“来源”框中输入“江苏, 浙江,安徽”(分隔符为英文状态下的逗号),单击“确定”按钮。接下来选中“所属县市”所在的E列,再次打开“数据有效性”对话框,在有效性条件的“允许”列表中选择“序列”,在“来源”框中输入公式“=INDIRECT(D2)”,单击“确定”按钮 Cico提示:在关闭设置E列数据有效性对话框时,如系统弹出警告提示“源目前包含错误, 是否继续?”,只需确认就可以了。如果指定的D2单元格中已经选择了一个省份再设置E列数据 的有效性就不会出现此提示了。 3.数据录入 录入客户资料时,首先选择客户所在的省份,然后再打开其右侧“所属县市”所在的单元格时,我们就可以从下拉菜单中找到我们所需的选项了。 二、用组合框工具实现 该方法是借助控件工具箱和VBA代码来实现的。 1.设计组合框 在工作表Sheet1中我们借助“控件工具箱”设计了录入界面,将工作表名称改为“客户数据采集”,在采集客户的所属地区时我们设计了两个组合框,第一个组合框ComboBox1用来存放省份,第二个组合ComboBox2用来存放对应于第一个组合框的下属的县市。Sheet2(“地区”表)仍保 留和原来一样的内容。 2.编写组合框事件代码 双击“客户数据采集”表中的组合框ComboBox1,进入VBE编辑器,在代码窗口中输入其GotFocus事件代码: Private Sub ComboBox1_GotFocus( ) '清除组合框中的数值

PHP+MySQL实现二级联动下拉列表

PHP+MySQL实现二级联动下拉列表 1.Javascript在下拉列表的各个对象 2.案例代码 Liandong.php PHP二级联动测试

单选下拉级联

单选下拉框的级联 先前是照着网上一个教程做的条件级联,发现每次查询后条件都回到默认状态,即你点查询后你就看不到你刚才下拉框选择了那些选项了。所以自己从新写了个,原理比较简单,就是用js实现对一组字符串过滤后,把它赋给值提示。网上那个js代码水平太高,看的有点糊涂,我这个比较简单,容易看得懂的。 一、样例是一个时间年月日的查询主题。 随便拖一些需要展示的字段,默认名是查询1 ,给查询1加三个过滤条件: 把条件都设成可选的。 新建一个查询1+2 :

托年份和月建的字段过来,再新建一个数据项1_2 ; 数据项的定义为: 同样的,查询:2+3 拖出月份和日期字段 二、将查询1的所有列拖到列表中:

拖三个布局计算拖到报表最上面的标题处; 表达式的定义分别是年月日三个参数值,顺序一定是年月日。 再拖个HTML项放到他们左边 Html的内容: 拖个行是2 列是3 的表格到条件标题后面:

第一个值提示绑定参数是年(year) , 第二个值提示绑定参数是月(month) ,

创建的时候别点创建新查询,直接点完成。 第三个只提示绑定参数日(day) ,也别点创建新查询。 第四个值提示(第二行第一列) , 下一步后:

别点创建参数化过滤器,直接点完成。 然后在它的属性栏里设置,使用的查询是1+2 ,使用值是1+2 ,UI的话那五个只提示都是设置成列表框。 第五个值提示(第二行第二列)跟第四个差不多,查询和使用值是2+3 、2_3

Excel二级下拉菜单联动自动匹配内容

Excel二级下拉菜单联动自动匹配内容 实现效果: 如,点击“市”下方的下拉菜单,有“成都、北京、杭州、上海”四个选项,选择杭州以后,在“区”下方单元格的就会相应的出现杭州的区。 操作说明: 1.首先选中表格中的基础数据,按键盘上的【Ctrl+G】,就会弹出下面的定位窗口。 2.然后点击下方的【定位条件】,选择【常量】点击确定。这样操作之后,我们就只选中了我们有数据的单元格。

3.接着直接点击上方菜单栏中的【公式】--> 【根据所选内容创建】,对其名称进行定义,选择【首行】。 在菜单栏的【公式】-->【名称管理器】里可以看到我们定义的首行,以及其在下方对应的有关的区所在的单元格位置。

4.一级下菜单引用的是第一行的数据,我们对一级下拉菜单进行定义。选中第一行的数据,点击菜单栏中的【定义名称】,在输入区域名称这里输入名称,例如“首行”,然后点击确定。可以看到在名称管理器里多了一个名称“首行”。

5.选中需要设置一级下拉菜单的单元格,选择菜单栏中的【数据】,点击【数据验证】(或叫数据有效性)。 在设置选项卡下的验证条件选中【序列】(或叫列表),然后在来源这里输入之前定义的首行名称。 6.在二级下拉菜单中点击【数据验证】(或者是数据有效性),在允许这里点击【序列】(或者是列表)。 在源这里输入“=indirect()”,为了引用“一级菜单”这个单元格中的数据,将鼠标移至括号中点击该一级菜单的单元格。

点击确定后,这里会提示一个错误提醒,可无需理会,直接点击“是”。 7.多个单元格需要进行下拉菜单设置,如果我们直接向下拉的话,就会发现后面的二级下拉菜单引用的数据其实还是来自于第一个单元格。因为这里我们设置的是对单元格进行绝对引用,这里我们需要进行修改。 点击“数据验证”(“数据有效性”),将源下方indirect函数后面的第二个美元符号“$”删除即可。

Excel技巧-如何实现多级联动下拉菜单效果

【Excel技巧】 如何实现多级联动下拉菜单效果 首先来说一下我们要实现的效果,就是我们选择1级菜单后,2级菜单里就有对应1级菜单的内容,我们选择2级菜单的项的时候,3级菜单会产生对应2级菜单项的内容,以此类推,来说一下我实现这种功能的原理,就是为不同的列的内容设置了名称,而这个名称恰好就是上一级菜单里的选择项。这样的情况下,在数据有效性中的函数读取的其实是引用这个名词所对应的区域内的内容,也就把我们下一级的菜单内容读取出来了。 1. 2 接下来,我们来准备数据,根据第一步所描述的原理,我将列名进行了颜色处理,以方便大家去理解。 2. 3 从1级项到3级项,高级别项是下一级的列名,这就是我们的数据源的格式,如果有的网友问,不加这些列名可以吗?回答是:可以的,不加列名的话,你需要知道每列对应的上一级的内容,加上只是方便查看。 3. 4

接下来的一步是Office2003同2003以上版本不同的地方,创建名称,2003需要逐一创建,而像2013可以全选以后,系统会根据选择区域自行创建,不过逐一创建也有好处,就是我们不会出现部分值出现2次的现象。接下来,我们就逐一进行创建,首先创建“百度”的2级项内容。选中数据区域。 4. 5 点击Ctrl+F3,或者从菜单栏中选择“插入”--“名称”--“定义”。 5. 6 需要注意的是,系统会默认所选区域的首单元格内容为当前工作薄名称,我们需要改为上一级的名称。这里,它的上一级是“百度”。

6. 点击“添加”,这样一个工作薄的名称就添加完成了,剩下的同理。 7. 全部添加完成后,我们就完成了对所需要的数据区域的命名工作。 8. 接下来,我们准备表格,我们需要将数据在表格中进行多级关联以实现我们 想要的效果。

JavaEE动态无刷新级联下拉框

动态无刷新级联下拉框(无级限制) 前几天做级联下拉框,网上搜索了一下,挺多的,静态的居多,动态的也有,但遗憾的是没有找到我需要的。后来我自己写了一个脚本,实现了从数据库中取出数据,形成动态的下拉框,可以是无限级(因为实现方法是把页面的下拉框名称当作参数传递,因为同一页面相同名称的控件是不存在的,因此可以实现),当然这些可能无意义,现在就看三级下拉框。无刷新,是因为页面加载时把数据全部加载到了页面中;实现动态级联,是因为下级菜单与上级有某种关联(这是肯定的)。下面就说说其具体实现。 脚本部分 37 38

相关文档
相关文档 最新文档