第一篇:DSP系统程序设计论文
近年来,计算机产品的应用领域越来越广,数字信号处理器的发展表现得尤为明显。DSp芯片制造商和DSp板开发商利用自身的优势不断开发出多DSp结构的产品来满足这种需求。通常的DSp设备是与嵌入式系统相结合,来实时地完成某一特定任务。随着信号采集速度和处理速度的要求越来越高,许多领域都需要进行多处理器运算,其中包括医学、图像处理、军事、工业控制、电信等许多领域。多处理器系统可以根据所需实现的功能和处理器的性能来调节处理结点的数目,使系统达到最佳的性能价格比。
实际上,只有从芯片开始仔细设计,才能方便地实现多处理器系统的调节功能。这里选用的是AD公司新出品的SHARC级处理器ADSp21160。
ADSp21160具有很大的片内存储区、多重内部总线结构、独立的I/O子系统;具有构造多处理器系统的所有特点,能够真正支持处理器数目的可调节功能,十分适合组成高性能浮点的多DSp系统。
VxWorks是目前世界上用户数量最大的实时操作系统。这使它除了具有优越的技术性能之外,还具有丰富的应用软件支持、良好的技术服务和可靠的系统稳定性。由于它具有以上优点,本系统中选用了VxWorks作为MVME167的操作系统。
一、ADSp21160的特点
ADSp21160 是AD公司采用超级哈佛结构的一种新产品。21160的汇编代码与2106x兼容,处理器具有SIMD(单指令流多数据流)功能;而2106x只具有SISD(单指令流单数据流)功能。为了充分利用这种新的功能,一些指令做了一些改变。ADSp21160包括1个100/150MHz的运算核、双端片内SRAM、1个支持多处理器的集成在片内的I/O处理器和多重内部总线以消除I/O瓶颈。
ADSp21160的汇编源代码与2106x兼容。SIMD计算结构:2个32bit的计算单元,其中每一个单元包括乘法器、ALU、移位寄存器及寄存器文件。具有完备的与外围设备接口功能。包括独立的I/O处理器、4Mbit 的片内双端SRAM、可直接连接的多处理器特性及端口(串口、连接口、外总线及JTAG)。
ADSp21160包括2个运算处理单元,具有SIMD功能。处理单元指的是pEX和pEY。pEX始终是有效的,而pEY的有效是通过设置MODE1寄存器中的pEYEN位来实现的。当pEY模式有效时,同一条指令在2个处理器单元中都得到执行,但每一个处理器单元中的操作数不同。
SIMD模式在存储区和处理器单元之间的数据传输也是很有作用的。当使用SIMD模式,通过加倍数据带宽来保证处理器单元的操作。在SIMD模式,当使用DAGs来传输数据时,存储区每次访问所传输的是两个数据值。
ADSp21160包括4Mbit的片内SRAM,分为两块,每一块2Mbit。可以定义为不同字长的指令和数据存储。每一个存储块的双端口结构可以使存储块独立地被运算核处理和I/O处理器访问。21160的存储区最大可以容纳128K的32bit数据,或256K的16bit数据,或85K的48bit指令,或其他混合字长的数据,但总和最大为4Mbit。所有存储区可以16、32、48、64bit字长的字访问。外端口支持处理器与片外存储器及外设的接口,片外的4G地址空间属于21160的统一地址空间。
外端口支持同步、异步及同步BURST访问。DMA控制器的操作相对处理器运算核是独立和不可见的,即DMA操作可与执行指令同时进行。DMA传输可以在内部存储区与外部存储区、外围设备或主机之间进行。21160共有14个DMA通道,其中:连接口(linkport)占6个;串口占4个;外端口(external port)占4个。21160可以通过DMA传输来下载程序,外围异步设备也可以通过DMA请求/应答线来控制2个DMA通道。
21160具有许多特点支持多DSp系统。外端口与连接口支持多处理器系统的直接连接,外端口支持统一的地址空间,允许DSp之间互相访问。片内具有分布式总线仲裁逻辑,最多支持6片21160和主机连接。外端口的最大数据传输率为400MB/s,广播写信号可以同时发
送到各片21160。6个连接口提供了另一种方法实现多处理器之间的通信。连接口的最高传输速率为600MB/s。
整个系统基于VME总线。VME总线系统作为最早的国际通用开放式总线,自1981年起,经历了近20年的发展。其影响不断扩大,功能不断完善,现已成为性能最好、应用最广的国际总线标准之一。
根据设计要求,采用了4片ADSp21160。片外共享内存SRAM可以被主机和各片DSp直接访问;EpROM用来存放初始化程序和各片DSp要运行的程序,在系统上电后这些程序被下载到各片DSp中;LEDs用来显示插件的状态,如reset、normal等。每一片都有1个连接口连到插件的前面板,这样前端采集来的数据就可以很方便地传输到多DSp上,而且也使数据的传输模式更加灵活。
连接口(linkport)是SHARC系列DSp芯片的一个特点。ADSp21160共有6个8bit连接口提供额外的I/O服务。在100MHz时钟下运行时,每个连接口可达100MB/s。连接口尤其适合多处理器间点到点的连接。连接口可以独立地同时操作,通过连接口的数据封装成48/32bit字长后,可以从片内存储区直接被运算核读取或DMA传输。每一个连接口有它自己的双缓冲I/O寄存器,数据传输可编程,硬件由时钟/应答握手线控制。4片DSp使用连接口实现DSp间两两互连。
21160的主机接口可以很方便地与标准微处理器总线(16/32bit)相连,几乎不需要额外硬件。主机通过21160的外端口对其进行访问,存储区地址映射为统一的地址空间。4个DMA通道可以用于主机接口,代码和数据传输的软件开销很小,主处理器通过Hbr、HBG和REDY信号线与21160进行通信,主机可以对片内存储区进行直接读写。
二、开发环境Tornado
VxWorks的开发环境是WindRiver公司提供的Tornado。Tornado采用主机-目标机开发方式,主机系统可采用运行Sun Solaris、Hp-UX以及Win95/NT的工作站或个人计算机,VxWorks则运行在Intel x86、MC68K、powerpC或SpARC等处理器上。Tornado支持各种主机-目标机连接方式,如以太网、串行线、在线仿真器和ROM仿真器。
Tornado的体系结构使得许多强有力的开发工具可以用于各种目标机系统和各种主机-目标机连接方式下,而不受制于目标机的资源和通信机制。同时VxWorks具有良好的可剪裁性。因此它适用于各种嵌入式环境的开发,小到资源极其有限的个人手持式设备如pDA(personal Digital Assistant);大到多处理机系统,如VME系统。
Tornado可提供一个直观的、可视化的、用户可扩充的开发环境,极大缩短了开发周期。同时,由于Tornado是一个完全的开放系统,使得集成第三方开发工具变得十分容易。
主机与目标机之间的通信是通过运行各自处理器上的代理进程来完成的,使主机上的开发工具和目标机的操作系统可以完全脱离相互连接的方式。
为了摆脱主机-目标机通信带宽和目标机资源的限制,Tornado将传统的目标机方的工具迁移到主机上,如shell、loader和符号表等。这样,系统不再需要额外的时间和带宽在主机和目标机之间交换信息,降低了对连接带宽的需求,也避免了目标机的资源(如内存)被工具或符号表大量占用,使得应用程序拥有更多的系统资源。同时这种迁移也使得各种主机开发工具独立于目标机存在,从而使同一主机平台上的工具可以用于所有的目标机系统。
作为一个应用软件开发环境,Tornado提供了友好的可视化开发界面、交叉编译环境、源码级调试工具、目标机命令解释器和目标机状态监视器等多种应用工具,为应用软件开发提供了一个高效而可靠的平台。
三、程序设计
我们选用的DSp开发工具是AD公司提供的VisualDSp。这是一个集成开发环境,支持对SHARC系列DSp芯片的开发。实时操作系统VxWorks的开发工具是WindRiver公司的Tornado集成开发工具。VisualDSp可以C语言或汇编语言编
写的DSp代码,最新版本的VisualDSp还支持C++。它还有1个优点,就是可以编译多片DSp的源代码,并产生下载文件,这就可以很方便地进行多DSp系统的软件模拟。
ADSp21160阵列的设计结构使它既可以构成单指令流多数据流(SIMD)的并行处理机,也可以构成多指令流单数据流(MISD)或多指令流多数据流(MIMD)的流水线处理机,视用户的要求而定。这两种并行方案的选择,简单来说就是选择分割数据流还是分割处理工序。SIMD方案的原理如图1所示。
以下介绍我们实验室承担的水声信号处理系统。本系统以VME总线为系统开发平台,前端调理模件、模数转换模件和前端控制模件等为VME插件,采用SHARC级DSp芯片阵列完成声纳信号实时处理,基于嵌入式实时操作系统VxWorks及X窗口系统的中央控制和显示。
图2是4片DSp的任务分配图。从前端采集来的信号,经波束形成和复解调,再经过窄带滤波后的信号分为两路,一路送去进行幅度检波,一路做频域处理。幅度检波就是对复信号求模,根据信号幅度判决有无目标存在。频域处理分两种情况:当发射信号为单频脉冲时,进行功率谱估计,然后根据多普勒频移估计目标速度;当发射信号为双曲调频信号时,进行相关处理。
声纳综合数据处理主要包括主动声纳信号处理和被动声纳信号处理。其中,主动声纳信号处理又根据发射信号的不同,分为非相干处理、相干处理、功率谱处理。声纳综合数据处理主要完成:目标自动检测、目标参数测定和动目标跟踪。
四、操作流水线
操作流水线是模块内数据计算与I/O的流水线,物理上表现为CpU与I/O端口的DMA之间的并行。在前端处理中由于数据率高,通信开销很大。以通信任务最为繁重的复解调和多普勒补偿模块为例,输入数据率为2Mw/s,输出数据率为4Mw/s,高速连接口Linkport最高速率为100Mw/s,如果采用串行传输的话,通信时间就将占用60%以上的处理时间,计算时间显然严重不足。所以必须采用并行执行,流程图如图3所示。这也是一种异步流水线方式,每次传送和计算完成都须要设置标志以通知下一操作。
结束语
在VxWorks实时操作系统下,4片ADSp21160上的程序已经通过模拟输入和系统测试。采用SHARC DSp 阵列能够很好地完成声纳信号实时处理,每一片DSp至少有10%的计算裕量,基本达到设计要求。
送到各片21160。6个连接口提供了另一种方法实现多处理器之间的通信。连接口的最高传输速率为600MB/s。
整个系统基于VME总线。VME总线系统作为最早的国际通用开放式总线,自1981年起,经历了近20年的发展。其影响不断扩大,功能不断完善,现已成为性能最好、应用最广的国际总线标准之一。
根据设计要求,采用了4片ADSp21160。片外共享内存SRAM可以被主机和各片DSp直接访问;EpROM用来存放初始化程序和各片DSp要运行的程序,在系统上电后这些程序被下载到各片DSp中;LEDs用来显示插件的状态,如reset、normal等。每一片都有1个连接口连到插件的前面板,这样前端采集来的数据就可以很方便地传输到多DSp上,而且也使数据的传输模式更加灵活。
连接口(linkport)是SHARC系列DSp芯片的一个特点。ADSp21160共有6个8bit连接口提供额外的I/O服务。在100MHz时钟下运行时,每个连接口可达100MB/s。连接口尤其适合多处理器间点到点的连接。连接口可以独立地同时操作,通过连接口的数据封装成48/32bit字长后,可以从片内存储区直接被运算核读取或DMA传输。每一个连接口有它自己的双缓冲I/O寄存器,数据传输可编程,硬件由时钟/应答握手线控制。4片DSp使用连接口实现DSp间两两互连。
21160的主机接口可以很方便地与标准微处理器总线(16/32bit)相连,几乎不需要额外硬件。主机通过21160的外端口对其进行访问,存储区地址映射为统一的地址空间。4个DMA通道可以用于主机接口,代码和数据传输的软件开销很小,主处理器通过Hbr、HBG和REDY信号线与21160进行通信,主机可以对片内存储区进行直接读写。
二、开发环境Tornado
VxWorks的开发环境是WindRiver公司提供的Tornado。Tornado采用主机-目标机开发方式,主机系统可采用运行Sun Solaris、Hp-UX以及Win95/NT的工作站或个人计算机,VxWorks则运行在Intel x86、MC68K、powerpC或SpARC等处理器上。Tornado支持各种主机-目标机连接方式,如以太网、串行线、在线仿真器和ROM仿真器。
Tornado的体系结构使得许多强有力的开发工具可以用于各种目标机系统和各种主机-目标机连接方式下,而不受制于目标机的资源和通信机制。同时VxWorks具有良好的可剪裁性。因此它适用于各种嵌入式环境的开发,小到资源极其有限的个人手持式设备如pDA(personal Digital Assistant);大到多处理机系统,如VME系统。
Tornado可提供一个直观的、可视化的、用户可扩充的开发环境,极大缩短了开发周期。同时,由于Tornado是一个完全的开放系统,使得集成第三方开发工具变得十分容易。
主机与目标机之间的通信是通过运行各自处理器上的代理进程来完成的,使主机上的开发工具和目标机的操作系统可以完全脱离相互连接的方式。
为了摆脱主机-目标机通信带宽和目标机资源的限制,Tornado将传统的目标机方的工具迁移到主机上,如shell、loader和符号表等。这样,系统不再需要额外的时间和带宽在主机和目标机之间交换信息,降低了对连接带宽的需求,也避免了目标机的资源(如内存)被工具或符号表大量占用,使得应用程序拥有更多的系统资源。同时这种迁移也使得各种主机开发工具独立于目标机存在,从而使同一主机平台上的工具可以用于所有的目标机系统。
作为一个应用软件开发环境,Tornado提供了友好的可视化开发界面、交叉编译环境、源码级调试工具、目标机命令解释器和目标机状态监视器等多种应用工具,为应用软件开发提供了一个高效而可靠的平台。
三、程序设计
我们选用的DSp开发工具是AD公司提供的VisualDSp。这是一个集成开发环境,支持对SHARC系列DSp芯片的开发。实时操作系统VxWorks的开发工具是WindRiver公司的Tornado集成开发工具。VisualDSp可以C语言或汇编语言编
写的DSp代码,最新版本的VisualDSp还支持C++。它还有1个优点,就是可以编译多片DSp的源代码,并产生下载文件,这就可以很方便地进行多DSp系统的软件模拟。
ADSp21160阵列的设计结构使它既可以构成单指令流多数据流(SIMD)的并行处理机,也可以构成多指令流单数据流(MISD)或多指令流多数据流(MIMD)的流水线处理机,视用户的要求而定。这两种并行方案的选择,简单来说就是选择分割数据流还是分割处理工序。SIMD方案的原理如图1所示。
以下介绍我们实验室承担的水声信号处理系统。本系统以VME总线为系统开发平台,前端调理模件、模数转换模件和前端控制模件等为VME插件,采用SHARC级DSp芯片阵列完成声纳信号实时处理,基于嵌入式实时操作系统VxWorks及X窗口系统的中央控制和显示。
图2是4片DSp的任务分配图。从前端采集来的信号,经波束形成和复解调,再经过窄带滤波后的信号分为两路,一路送去进行幅度检波,一路做频域处理。幅度检波就是对复信号求模,根据信号幅度判决有无目标存在。频域处理分两种情况:当发射信号为单频脉冲时,进行功率谱估计,然后根据多普勒频移估计目标速度;当发射信号为双曲调频信号时,进行相关处理。
声纳综合数据处理主要包括主动声纳信号处理和被动声纳信号处理。其中,主动声纳信号处理又根据发射信号的不同,分为非相干处理、相干处理、功率谱处理。声纳综合数据处理主要完成:目标自动检测、目标参数测定和动目标跟踪。
四、操作流水线
操作流水线是模块内数据计算与I/O的流水线,物理上表现为CpU与I/O端口的DMA之间的并行。在前端处理中由于数据率高,通信开销很大。以通信任务最为繁重的复解调和多普勒补偿模块为例,输入数据率为2Mw/s,输出数据率为4Mw/s,高速连接口Linkport最高速率为100Mw/s,如果采用串行传输的话,通信时间就将占用60%以上的处理时间,计算时间显然严重不足。所以必须采用并行执行,流程图如图3所示。这也是一种异步流水线方式,每次传送和计算完成都须要设置标志以通知下一操作。
结束语
在VxWorks实时操作系统下,4片ADSp21160上的程序已经通过模拟输入和系统测试。采用SHARC DSp 阵列能够很好地完成声纳信号实时处理,每一片DSp至少有10%的计算裕量,基本达到设计要求。
第二篇:DSP论文感想
论文感想
汽车防撞雷达系统是一个复杂的电子系统,涉及到雷达技术、毫米波技术、模拟电路、数字电路、数字信号处理等一系列技术领域。作为智能交通系统的一 项前沿技术,能有效地降低交通事故的发生,因此成为该技术领域的研究重点,受到国内外研究人员的广泛重视。对比不同雷达的工作方案与技术体制,最终因 FMCW毫米波汽车防撞雷达拥有良好的环境适应性和稳定的探测性能,成为了工
程应用的主要研究方案。本论文基于横向研究项目,主要是在FMCW毫米波体制下研究汽车防撞雷达中频信号处理技术,并通过DSP技术实现系统功能。在项目的研究和开发过程中,主要取得了以下成果:
1通过对比分析,确定了本系统的雷达工作体制,并在此体制下研究了目
标测速测距的基本原理。根据高速公路环境,提出了相应的性能要求,研究了预 警系统中的安全距离计算模型,并引入了一种高效率的安全距离算法; 2详细介绍了雷达中频信号的产生原理。由于中频信号中噪声的影响,提
出使用自适应滤波算法来抑制噪声,并详细地介绍了自适应滤波原理,重点研究 了其应用技术,将自适应滤波作为噪声抵消器应用在系统中,能有效地降低中频 信号中瑞利噪声的影响;
3介绍了恒虚警检测基本理论,分析研究了其实现方法,并针对应用环境进行了仿真实验,能一定程度上降低错误目标的检测概率。对于多目标,介绍了多目标频率匹配算法,使其能从频谱中提取到不同目标对应的频率信息;
4完成了汽车防撞雷达中频信号处理系统的硬件电路设计。根据系统的应
用特性,确定了主要器件的选型,并设计了数字信号处理器的电源电路与时钟电
路,同时介绍了 D/A 和 A/D 器件原理,设计完成调制信号的产生与中频信号的采样; 5在 TMS320F28335 DSP平台下,完成了系统软硬件功能的测试,主要包括 A/D 采样、自适应滤波、恒虚警检测以及频率匹配等算法。最终实现了汽车防撞雷达中频信号处理系统的开发。
第三篇:DSP小论文
基于DSP的电能参数实时动态显示设计
摘要:电能是一种广泛应用的二次能源"电能质量的优劣直接影响用电设备能否正常运行,因此实现电能参量的动态显示,以便实时对电能质量进行监测具有现实意义。文章利用DSP(F2812)和SMG12864液晶组成硬件显示电路,通过采集模块将数据送入DSP,经过DSP对数据进行处理,在液晶上显示出来,设计了DSP与液晶的接口电路和DSP驱动液晶显示的软件程序。实验证明,基于DSP(F2812)组成的液晶显示模块能够对电能质量参数实时动态显示,达到预期的设计效果。
关键词:DSP;SMG12864;实时;液晶显示
Module design for liquid crystal display based on DSP Abstract: Electrical energy is a widely used secondary energy.The quality of electric energy directly influences the normal operation of electrical equipment.Therefore,it has practical significance to achieve energy parameters of the dynamic display for real-time monitoring of power quality.In this paper,hardware display circuit is constructed by DSP(F2812)and SMU12864 LCD.Data are sent into the DSP through the acquisition module,then displayed on the LCD after processed by DSP.This design consists of DSP and LCD interface circuit and the liquid crystal driver software programs.Experiment show that the liquid crystal display module based on the DSP(F2812)can display real-time power quality parameters,achieving the anticipated design effect.Key words: DSP;SMU12864;rea-time;liquid-crystal display
1引言
人机交互是控制系统重要的一部分,它方便了人与机器之间信息的交换。近年来,如何对电力系统运行进行实时监测成为人们关心的问题,在电能质量检测系统中,采用液晶代替表盘指针作为监测系统运行的输出设备,直观性强[1-2]。在控制系统中DSP以灵活性好、精度高、可靠性高、集成性高的优点得到广泛的应用。TMS320F2812是美国TI公司最新推出的数字信号处理器,该控制器主频可达150MHz,两个事件管理器为电机及功率变换控制提供良好的控制功能,16通道高性能12位ADC单元提供了两个采样保持电路,可以实现双通道信号同步采样[3-6]。
本文以DSP为核心,驱动液晶SMU12864ZK,进行含字库的字符型液晶的接口设计和软件编程,使系统的运算反应速度更快,采用数字量作为中间过程,系统的实时性增强。本方案接口方式简单,占用较少的内存,控制程序简单,有一定的应用价值。
2液晶硬件设计
液晶显示模块作为一种直观的输出设备,是设计中必不可少的模块,液晶模块分为点阵型和字符型。在设计中采用的液晶模块为字符型液晶。本设计采用长沙太阳人公司的SMU12864ZK带字符型的显示器,液晶模块可以通过总线控制,也可以通过GPIO口控制。DSP(F2812)有众多的GPIO口,DSP的硬件实物图如图1所示,因此在模块设计时选择通过GPIO口控制液晶模块,其供电电源采用3.3 V供电,驱动电压信号为3.3 V , DSP的I/O输出电压为3.3V,所以可以直接用DSP引脚输出信号进行驱动,不需要其他任何附加电路[7-9]。液晶接口引脚见表1。
图1 主控制器DSP的硬件实物图
表1 液晶接口引脚
图2 LCD module design
SMU12864ZK带字符型的液晶共有20个引脚,其中包括数据线8根,指令数据选择引脚(RS)、读写选择引脚(RW)、使能引脚(E),其他的是电源和地线。SMU12864ZK液晶与DSP的接线如图2所示。利用C'语言编程的软件控制,减少了外围电路使得电路接线更加简单易懂。
3液晶软件程序设计
CCS是TI公司推出的用于开发DSP芯片的集成开发环境(IDE)。它采用Window、的界而风格,集编辑、编译、连接、仿真软件、硬件调试以及实时跟踪等一系列功能于一体,极大地方便了用户对DSP进行开发与设计[10]。是目前应用最为广泛的一种DSP开发软件,该软件可以在硬件环境和脱离硬件环境的条件下进行调试,这为我们在开发和学习上提供很大的灵活性,本设计利用CCS3.3结合DSP硬件设备进行验证和调试。
液晶要实现显示,必须要对液晶控制器进行初始化设置,液晶初始化程序流程图如图3所示,在初始化过程中,首先是设置液晶的基本指令集,选择几位数据流,设置开始显示地址,然后是打开显示,在这一系列正确的操作之后,才可以对液晶写控制字命令和数据命令。//液晶驱动程序
main(){
InitSysCtrl();//初始化cpu
DINT;//关中断
InitPieCtrl();//初始化pie寄存器
IER = 0x0000;//禁r.所有的中断
IFR=0x0000;
InitPieVectTable();//初始化pie中断向量表
EALLOW;GpioMuxRegs.GPAMUX.all=0;GpioMuxRegs.GPBMUX.all=0;GpioMuxRegs.GPBDIR.bit.UPIOBO=1;//RS GpioMuxRegs.GPBDIR.bit.UPIOBl=1;//WR GpioMuxRegs.GPBDIR.bit.UPIOB2=1;//E
EDIS;
lcdrest();
delay(100);
hzklib();
delay(400);
keeee=16;
keeee=sqrt(keeee);
void lcdwd(unsigned int lcddata)
{
delay(500);
GpioMuxRegs.GPADIR.all=Oxffff;GpioDataRegs.GPBSET.bit.UPIOBO=1;//rs GpioDataRegs.UPIOBI=1;//wr delay(100);
GpioDataRegs.GPBSET.bit.UPIOB2=1;//e
delay(100);
EDIS;Gpioset(lcddata);
delay(50);
GpioDataRegs.GPBCLEAR.bit.UPIOB2=1;//e delay(50);}
GPBCLEAR.bit.开始选择指令集显示开DSP初始化选择数据流设置延时液晶初始化设置地址指针液晶清屏返回 图3 液晶初始化程序流程图 实验结果
通过实验表明,基于DSP的液晶显示模块能够对表征电能质量优势的电压、电流、频率等参量进行实时动态显示,显示结果如图4所示。
图4 实验运行结果
由图4可知,设计的液晶显示模块能够很好地满足电能质量检测实时正确显示的要求。结论
电能质量优劣越来越成为人们关注的话题本设计使得电能质量检测系统具有良好的人机交互。本文提出一种用高速DSP(TMS320F2812)驱动液晶SMU12864显示的设计。充分利用DSP的快速性对动态电能质量参量进行实时显示。详细阐述了DSP与液晶的接口设计和软件编程,接口接线更加简单,减少连线错误,实验表明该显示方式可以比较稳定地对参数实现动态实时显示,具有一定的应用价值。
参考文献: [1]程浩忠,吕干云,周荔丹.电能质量监测与分析巨[M].北京:科学出版社,2012;3-17.[2]张永斌,胡全高.基于DSP的LCD显示控制与设计[J].液晶与显示,2011,26(5): 626-630.[3]孙丽明.TMS3202812原理及其C语言程序开发[M].北京:清华大学出版社,2008;446-450.[4]黄树毅,程汉湘,荆怀成等.TMS320F2812与液晶显示模块的接口电路及其程序设计[J].液晶与显示,2009,2 [5]习莫莉,量万福,喻洪平等.基于TMS320F2812的液晶显示模块接口设计[J].计算机测量与控制,2009,17(2);[6]邓永停,李洪文.伺服控制系统中液晶显示的设计[J].液晶与显示,2012,27(3);342-346.[7]苏文芳,未宗玖,汪青.基于DSP芯片TMS320 VC5402的液晶显示的研究[J].煤炭技术,2011,30(6);44-46.[8]叶军,于霞.基于DSP的液晶显示时钟的设计与实现[J].液晶与显示,2009,2(5);713-717.[9]张磊,丁全华.光治疗仪液晶显示模块的设计和控制[J].液晶与显示,2010,25(2);268-272.[10]廖丽莹,李啸胞,罗涛等.基于TMS320F2812的液晶显示的设计[J].微计算机信息,2008,24(7-2);195-198.
第四篇:DSP技术论文读后感
DSP技术引领数字生活
学号:200883061姓名:胡淦班级:08信工二班
DSP数字信号处理(Digital Signal Processing,简称DSP)是一门涉及许多学科而又广泛应用于许多领域的新兴学科。20世纪60年代以来,随着计算机和信息技术的飞速发展,数字信号处理技术应运而生并得到迅速的发展。数字信号处理是一种通过使用数学技巧执行转换或提取信息,来处理现实信号的方法,这些信号由数字序列表示。在过去的二十多年时间里,数字信号处理已经在通信等领域得到极为广泛的应用。随着社会的发展和人们生活水平的日益提高,人们对生活的需求也在日渐增长,DSP技术被越来越多的应用在我们的日常生活中。市场的需求促进了技术的迅猛发展,越来越多的新产品出现在我们眼前,这一切都源于DSP技术。
下面我来介绍一下DSP芯片,DSP芯片也称数字信号处理器,是一种特别适合于进行数字信号处理运算的微处理器器,其主要应用是实时快速地实现各种数字信号处理算法。根据数字信号处理的要求,DSP芯片一般具有如下主要特点:1.在一个指令周期内可完成一次乘法和一次加法;2.程序和数据空间分开,可以同时访问指令和数据;3.片内具有快速RAM,通常可通过独立的数据总线在两块中同时访问;4.具有低开销或无开销循环及跳转的硬件支持;
5.快速的中断处理和硬件I/O支持;6.具有在单周期内操作的多个硬件地址产生器;7.可以并行执行多个操作;8.支持流水线操作,使取指、译码和执行等操作可以重叠执行。
新近涌现的各种数字信号处理器的规格尺寸繁多,外形各式各样,令人难以胜数,其设计目标也是为了满足各种对性能要求高低不同的应用。这些需求既包括附加在现有的处理器上、用于提供DSP功能的简易编码器。
在近几年里,DSP技术得到了极大的发展,越来越走进老百姓的生活中,例如数字电视,3G数字生活。下面我就这两个方面简单介绍一下:
数字电视:数字电视就是指从演播室到发射、传输、接受的所有环节都是使用数字电视信号或对该系统所有的信号传播都是通过由0、1数字串所构成的数字流来传播的电视类型。数字信号的传播速率是每秒19.39兆字节,如此大的数据流的传递保证了数字电视的高清晰度,克服了模拟电视的先天不足。同时还由于数字电视可以允许几种制式信号的同时存在,每个数字频道下又可分为几个子频道,从而既可以用一个大数据流--每秒19.39兆字节,也可将其分为几个分流,例如4个,每个的速度就是每秒4.85兆字节,这样虽然图像的清晰度要大打折扣,却可大大增加信息的种类,满足不同的需求。例如在转播一场体育比赛时,观众需要高清晰度的图像,电视台就应采用每秒19.39兆字节的传播;而在进行新闻广播时,观众注意的是新闻内容而不是播音员的形象,所以没必要采用那么高的清晰度,这时只需每秒3兆字节的速度就可以了,剩下16.39兆字节可用来传输别的内容。
如今,数字电视是人们谈论最多的热闹话题之一。由于数字电视是种新鲜事物,一些相关报道及文章介绍中出现似是而非的概念,诸如“数码电视”、“全数字电视”、“全媒体电视”、“多媒体电视”等,造成大众感到困惑,茫然不知所措。其实,“数字电视”的含义并不是指我们一般人家中的电视机,而是指电视信号的处理、传输、发射和接收过程中使用数字信号的电视系统或电视设备。其具体传输过程是:由电视台送出的图像及声音信号,经数字压缩和数字调制后,形成数字电视信号,经过卫星、地面无线广播或有线电缆等方式传送,由数字电视接收后,通过数字解调和数字视音频解码处理还原出原来的图像及伴音。因为全过程均采用数字技术处理,因此,信号损失小,接收效果好。
数字电视技术与原有的模拟电视技术相比,有如下优点:
(l)信号杂波比和连续处理的次数无关。电视信号经过数字化后是用若干位二进制的两个电平来表示,因而在连续处理过程中或在传输过程中引入杂波后,其杂波幅度只要不超过某一额定电平,通过数字信号再生,都可能把它清除掉,即使某一杂波电平超过额定值,造成误码,也可以利用纠错编、解码技术把它们纠正过来。所以,在数字信号传输过程中,不会降低信杂比。而模拟信号在处理和传输中,每次都可能引入新的杂波,为了保证最终输出有足够的信杂比,就必须对各种处理设备提出较高信杂比的要求。模拟信号要求 S/N>40dB,而数字信号只要求S/N>20dB。模拟信号在传输过程中噪声逐步积累,而数字信号在传输过程中,基本上不产生新的噪声,也即信杂比基本不变。
(2)可避免系统的非线性失真的影响。而在模拟系统中,非线性失真会造成图像的明显损伤。
(3)数字设备输出信号稳定可靠。因数字信号只有“0”、“l”两个电平,“l”电平的幅度大小只要满足处理电路中可能识别出是“l”电平就可,大一点、小一点无关紧要。
(4)易于实现信号的存储,而且存储时间与信号的特性无关。近年来,大规模集成电路(半导体存储器)的发展,可以存储多帧的电视信号,从而完成用模拟技术不可能达到的处理功能。例如,帧存储器可用来实现帧同步和制式转换等处理,获得各种新的电视图像特技效果。
(5)由于采用数字技术,与计算机配合可以实现设备的自动控制和调整。
(6)数字技术可实现时分多路,充分利用信道容量,利用数字电视信号中行、场消隐时间,可实现文字多工广播(Teletext)。
(7)压缩后的数字电视信号经数字调制后,可进行开路广播,在设计的服务区内(地面广播),观众将以极大的概率实现“无差错接收”(发“0”收“0”,发“ l”收“l”),收看到的电视图像及声音质量非常接近演播室质量。
(8)可以合理地利用各种类型的频谱资源。以地面广播而言,数字电视可以启用模拟电视?quot;禁用频道(taboo channel),而且在今后能够采用“单频率网络”(single frequency network)技术,例如 l套电视节目仅占用同 1个数字电视频道而覆盖全国。此外,现有的 6MHz模拟电视频道,可用于传输 l套数字高清晰度电视节目或者 4-6套质量较高的数字常规电视节目,或者 16-24套与家用 VHS录像机质量相当的数字电视节目。
(9)在同步转移模式(STM)的通信网络中,可实现多种业务的“动态组合”(dynamic combination)。例如,在数字高清晰度电视节目中,经常会出现图像细节较少的时刻。这时由于压缩后的图像数据量较少,便可插入其它业务(如电视节目指南、传真、电子游戏软件等),而不必插入大量没有意义的“填充比特”。
(10)很容易实现加密/解密和加扰/解扰技术,便于专业应用(包括军用)以及广播应用(特别是开展各类收费业务)。
(ll)具有可扩展性、可分级性和互操作性,便于在各类通信信道特别是异步转移模式(ATM)的网络中传输,也便于与计算机网络联通。
(12)可以与计算机“融合”而构成一类多媒体计算机系统,成为未来“国家信息基础设施”(NII)的重要组成部分。
3G :近年来移动通信发展迅猛,自70年代末期模拟蜂窝系统问世以来,不到二十年时间,已经发展到以数字化技术为特征的第二代移动通信,进入90年代以后,世界各国已着手探寻第三代移动通信(即未来个人通信)的实现路径。
第三代移动通信标准有两个主要目标:一是实现多媒体、宽带化、智能化和高质量的全球通信;二是规范寻呼、无绳、蜂窝和低轨道卫星在内的多种标准,统一“空中接口”。IMT-2000将宽带CDMA视为优先考虑的方案,但在频分模式的选择上,欧洲建议由GSM向上过渡;北美建议由CDMA向上发展,日本力求与欧洲靠近,而这些要求对芯片的要求也变得更高,最典型的要求就是适用芯片应具有卓越的运行与处理能力,以及更高的兼容性。
(一)运行速度
第三代移动通信要求DSP至少达到300MIPS的运算速度,才能实现各种繁杂的算法、解压缩和编译码。目前,DSP在功能上趋向实现多个MAC和多个寄存器,更宽的程序总线和数据总线;在结构上趋向采用SIMD、MIMD以及VLIW(超长指令)。第六代VLIW结构的TMS320C67x DSP产品,浮点运算速度达到1GFLOPS。用一片C67x就可完成10片普通DSP的工作,但其单价与市面上普通浮点DSP的价格相当,C67x功能之强大,足以为下一代个人通信提供高速、精确、多功能和多信道的解决方案。
(二)兼容性
由于在此之前有第一、第二代移动通信系统在运行,那么怎样是第三代通信系统与前两代相容,就成了一个技术难题。第一代模拟移动通信系统虽然在现在和未来都不是移动通信的发展主流,但是在全球的少数地区,例如北美的一些地区还将会存在;第二代数字移动通信系统在目前的市场占有率和普及率方面远远高于第一代和第三代,而且至少在未来的十年中将会与第三代系统并行发展,预计在第二代的发展终期,将达到全球四亿用户,这样系统的兼容性将显得非常主要。如果第三代专用芯片无法实现与第一代和第二代移动通信系统的兼容,那么第三代通信系统不但在初期的投入会很高,而且由于无法继承和使用现存的网络和移动设备,将造成巨大的资源和财力的浪费。
随着DSP 技术越来越成熟,我相信DSP技术会越来越来应用到我们的生活中。希望DSP技术能带给我们更多的实用,让我们的生活更加丰富多彩。
读后感:
本文开头介绍了DSP的概念,随着社会的发展和人们生活水平的日益提高,人们对生活的需求也在日渐增长,DSP技术被越来越多的应用在我们的日常生活中。市场的需求促进了技术的迅猛发展,越来越多的新产品出现在我们眼前,这一切都源于DSP技术。
接下来介绍了DSP芯片,并且从实际出发,阐述了DSP技术的广泛应用。列举了2个方面:数字电视和3G数字生活。
数字电视就是指从演播室到发射、传输、接受的所有环节都是使用数字电视信号或对该系统所有的信号传播都是通过由0、1数字串所构成的数字流来传播的电视类型。并花了大篇幅重点介绍了数字电视技术与原有的模拟电视技术相比所具有的优点。由此看出数字电视在社会上的广泛使用了。
3G数字生活简要的概括了移动通信的发展史和它的巨大进步。第三代移动通信标准有两个主要目标:一是实现多媒体、宽带化、智能化和高质量的全球通信;二是规范寻呼、无绳、蜂窝和低轨道卫星在内的多种标准,统一“空中接口”。随着第三代移动通信的普及,它对DSP芯片的要求也越来越高。最典型的要求就是适用芯片应具有卓越的运行与处理能力,以及更高的兼容性。接着简要的阐述了这两个方面。
综合此文,看出DSP应用技术已经普及到人们的日常生活中,并且可以展望DSP技术的前景会越来越接近普通老百姓的生活中,使得DSP技术成为所有人生活中的不可缺少的部分。
第五篇:vb+sql程序设计论文
石家庄职业技术学院
图书信息管理系统
学 生 姓 名: 指 导 教 师: 系 别: 专 业: 年 级:
论文提交时间: ___________________
评 阅 人:___________________
年 月 日: ___________________
摘要
随着人类社会的发展,人类对知识的需求也不断地增长。在这种形势下,书籍就渐渐地成为人们获取并增长知识的主要途径,而图书馆就自然而然地在人们的生活中占据了一定的位置,如何科学地管理图书馆不但关系到读者求知的方便程度,也关系到图书馆的发展,因此,开发一套完善的图书馆管理系统就必不可少了。
管理信息系统(简称MIS)是介于信息论,经济管理理论,统计学与运筹学及计算机科学之间的一门边缘性,综合性,系统性的交叉科学,它是随着管理科学,信息技术,计算机技术等的发展而产生和发展起来的。
图书馆管理系统是典型的信息管理系统,其开发主要包括后台数据库的建立和维护以及前端的应用程序的开发两个方面。对于前者要求建立数据的一致性和完整性,对于后者则要求应用程序功能的完备,易用等的特点。基于上述考虑本系统主要利用VB.NET作前端的应用开发工具,利用SQL server 2005 作为后台的数据库,利用WINDOWS作为系统平台开发的图书管理系统。另外本图书馆管理系统利用软件工程化思想和方法,总体上是采用结构化生命法进行系统分析和设计的,而系统实现等步骤则采用了原型法和面对对象的方法。
关键字 管理信息系统 图书管理 VB.NET的应用。
目录
第一章 系统需求分析......................................................3
1现行系统存在问题的分析..............................................................................3 2解决方案...................................................................................................3
第二章 总体设计............................................................4 系统目标设计.............................................................................................4 2 系统功能分析.............................................................................................4
第三章 数据库说明.........................................................5
1数据库的的表格介绍....................................................................................5 2各表关系与触发器的解释..............................................................................7
第四章 功能模块设计.....................................................11
1模块详解..................................................................................................11
第五章 重点研究问题及核心问题.......................................23
1数据库的核心问题......................................................................................23 2VB.NET的核心问题....................................................................................23
第六章 心得体会...........................................................23 附录..........................................................................24 参考文献:..................................................................29
第一章 系统需求分析
1.现行系统存在问题的分析
现图书馆工作大部分还是进行着手工管理,工作起来效率很低,工作量大,更加由于不可避免的人为因素,经常造成数据的遗漏、误报,给图书馆管理带来了很大的麻烦。近几年来,随着我国科技的飞速发展,人们越来越注重社会的科技化发展。为了满足客观的需要,完成信息的数字化,智能化,自动化,综合化管理,要求在现代化工作引进计算机信心管理技术。计算机信息化管理系统有着储存信息量大、速度快,操作简单等许多优点,提供给我们的处理信息及时快捷,同时也提高了图书管理人员的工作效率。
2.解决方案
基于以上的对问题的分析,利用计算机给我们提供信息,及时地调整学校图书馆图书结构,并且对学生们的借阅过程形成一整套动态的管理就十分必要了。
图书馆信息管理系统的建立,需要进行用户的需求调查与分析,以确定系统目标,提出解决问题的详细方案,这是本系统建设的重要环节。
学校图书馆规模相对于商业图书馆小,但要有着完善的图书信息,对每一册书要有详细的记录信息,功能上对系统的需求是全面的。因此对用户的需求可分为四个方面:一方面是图书馆工作人员通过计算机来管理各类图书,分类编号,调整图书结构,增加图书库存,适应学生的需求;另一方面是学生们能通过计算机来查询浏览图书馆中的图书,来确定自己需要的书籍,为借阅做好准备;再有一方面是工作人员对学生们的借阅证发放;还有就是图书馆的核心工作,对图书的借阅管理。
这四个方面形成了学校图书馆一个工作整体,采用计算机自动化信息处理,可方便快捷地共享信息、交流信息,高效地协同工作。
在软、硬件方面对系统的需求,软件要求易学,界面简单,容易掌握,可以很简单明了方便的管理各种图书信息。硬件的配置要求不是太高,这样也很好的适应当前的学校图书馆得情况。
在开发方式上对系统的需求,由于学校图书馆是一种无商业利益的,所以系统设计开发的周期要短,在短时间内完成,减少开发成本,提高开发效率,方便、简单、实用作为系统开发的指导思想。
第二章
总体设计
1.系统目标设计
系统开发的总目标是实现内部图书借阅管理的系统化、规范化和自动化。能够对图书进行注册登记,也就是添加图书基本信息(如:书名、作者、价格等)预先存入数据库中,供以后检索,以及查找、更新、删除图书信息。
能够对借阅人进行注册登记,包括记录借阅人的姓名、地址、电话等信息,以及查找、更新、删除读者信息。
能够对图书的借阅、归还。可以按图书借阅号等信息对图书进行查询,并能反映出图书的借阅情况。
能够对使用该管理系统的用户进行管理,按照不同的工作职能提供不同的功能授权。
提供较为完善的差错控制与友好的用户界面,尽量避免误操作。
2.系统功能分析
根据以上功能,将图书管理系统的数据分为:
数据输入部分:主要包括图书基本信息的录入、借阅人基本信息的录入、用户基本信息的录入。
数据输出部分:主要是各种统计查询,包括:根据图书信息(如书名、图书借阅号)查阅图书及其借阅者信息、统计输出图书类型等。
数据处理部分:主要涉及借阅和归还的处理,如一本书借出后,必须在数据库中将该书标记为已借出,以防出现数据库中有书但图书馆无书的情况;一本书归还后,同样必须在数据库中将其删除,以便再次借出。以及对图书基本信息,借阅人基本信息,用户基本信息的更新、删除。
第三章 数据库说明
1.数据库的的表格介绍
数据库在包括读者信息表,图书信息表,图书类别表,图书借阅表,用户信息表,库存表。
图4.1
部分表的图如下: 图书信息表:
图4.2
图书借阅表:
图4.3
用户信息表:
图书类别表:库存信息表:读者信息表:
图4.4
图4.5
图4.6
图4.7
一个联合了图书信息表、库存信息表、图书借阅表建立一个借阅图书时的图书查询---View1,其各表之间的关系如下: 视图中的示例信息如图:
图4.8
2各表关系与触发器的解释
图4.9
图4.10
为了更好的完善该系统,因此在数据库的建立一些主键、约束、触发器。关系有:图书信息表与图书类别表存在着外键约束;
读者信息表与图书借阅表存在着外键约束; 库存信息表与图书借阅表存在着外键约束;
图书信息表与图书借阅表存在着外键约束;
部分表中存在着主键,因为表中数据很少,主键只起到唯一性的作用,对于表的检索速度效果是不显著的。
在实际的图书馆的系统中,当读者借阅一本书时,那么图书馆中该书是少一本,还一本书,书库中则多一本,当书库中的数量为0时,则无法借阅该书,每名学生只能借2本,为模拟这种现象,也在表图书借阅中建立了触发器。Ck_读者信息表 功能:每名学生只能借6本
图4.11 Upda_库存量1功能:当借一本时,库存表中与之相应的图书库存量则少一本
图4.12
Upda_库存量2功能:当还一本书,库存表中与之相应的图书库量则多一本
图4.13
Upda_库存信息表功能:当库存信息为0时,则无法向借阅表中插入信息。
图4.14
第四章功能模块设计
1.模块详解
该图书管理系统包括如下界面:登录、主窗体、读者信息、图书信息、图书类别、借阅与归还、系统用户管理。其关系如下图。
图5.1
该窗体为初始窗体
图5.2
当登录时,先进入登录界面,然后进入主窗体中。关键代码:(见附录A)
图5.3
主窗体中包括基础数据:读者信息、图书信息、类别信息;图书借阅管理中包括:图书信息查询、借书管理、还书管理;系统维护中包括:用户添加,用户修改;另外,有一个关于窗体,最后一个模块就是退出系统。
图5.4
各模块的功能: 读者信息管理
该设计的功能主要是完成学校图书信息的入库编目管理,它包括读者信息的添加,图书的查询、更新、删除等功能。
读者信息添加:在此窗体中用户可以添加自己的个人有关信息。关键代码:(见附录B)
图5.5
读者作息查询
在窗体中用户可查询、删除自己的信息 关键代码: 查询代码:(见附录C)
删除代码:(附录
D)
图5.6
读者信息更新
该窗体可以更新读者信息 关键代码(附录E)
图5.7 读者信息浏览
该窗体可以实现所有读者信息 代码如下:(附录F)
图5.8
该设计的功能主要是完成学校图书信息的入库编目管理,它包括图书信息的添加,图书的查询、更新、删除等功能。(以下代码与上面代码类似,在此不做详解)
图书信息添加:在此窗体中图书管理员可以添加图书的相关信息
图5.9
图书信息查询:在此窗体中图书管理员可以查询、删除图书的相关信息
图5.10
图书信息更新:在此窗体中图书管理员可以更新图书的相关信息
图5.11
图书信息浏览:在此窗体中图书管理员可以浏览图书的相关信息
图5.12
图书类别管理:在此窗体中图书管理员可以添加图书类别的相关信息
图5.13
图书类别查询:在此窗体中图书管理员可以查询、删除图书类别的相关信息
图5.14
图书类别更新:在此窗体中图书管理员可以更新图书类别的相关信息
图5.15
图书类别浏览:在此窗体中图书管理员可以浏览图书类别的相关信息
图5.16
图书查询:读者可以在此行窗体中查找想要借阅的图书ISBN、库存、书名等信息。
图5.17
借阅:读者在此窗体中添加自己的信息,来借阅图书。关键代码(附录G)
图5.18
归还:读者在此窗体中删除自己的借阅信息,并归还图书。关键代码:(附录H)
图5.19
(1)口令识别
口令识别是一种低成本,易实现的用户识别技术。在计算机系统内广泛的使 用,在口令识别机制中,计算机系统给每个用户分配一个用户名和一个口令。用户名唯一确定一个用户是公开的;口令用于证实用户,是保密的,显示为*号。
(2)口令存取
系统要识别每个用户的口令,就必须把每个用户的口令存放起来,形成口令表,通常以文件或数据库形式存放。如果以明文的形式存放,则很容易被熟悉系统的人偷取,为了提高基于口令的身份识别方案的坚强度,应该在口令方案中引入加密机制。
用户添加:在此窗体中图书管理员可以添加用户相关信息
图5.20
用户管理:用户可以在此窗体中更新、删除用户信息。
图5.21
关于窗体:主要介绍该系统的一些基本信息
图5.22
第五章 重点研究问题及核心问题
1.数据库的核心问题
在实际的图书馆的系统中,当读者借阅一本书时,那么图书馆中该书是少一本,还一本书,书库中则多一本,当书库中的数量为0时,则无法借阅该书,每名学生只能借2本,为模拟这种现象,也在表图书借阅中建立了触发器。
2.VB.NET的核心问题
ADO.NET技术,数据访问控件的使用,手动创建数据库访问的编程方法。
第六章 心得体会
在对图书管理信息系统的开发过程有了基本了解后,本人使用VB.NET开发了这个“图书管理系统”。系统基本实现了内部图书借阅管理的系统化、规范化和自动化。例如添加读者信息以及查找、更新、删除读者信息, 添加图书信息以及查找、更新、删除图书信息,添加图书类别信息以及查找、更新、删除图书类别信息,图书的借阅、归还。可以按图书借阅号等信息对图书进行查询,并能反映出图书的借阅情况。实现了简单的统计分析功能,可以展示出库存图书馆藏图书的情况。还能够对使用该管理系统的用户进行管理,按照不同的工作职能提供不同的功能授权。
通过对该系统的设计、开发和调试,一方面使我更加熟练了SQL2005 的使用方法,熟悉了建库、建表、建视图的方法,以及如何建约束、触发器让数据更完整。另一方面,让我对VB.NET开发工具的有了更深一步的认识,熟悉了窗口、菜单以及一些可视化控件的使用方法。通过使用还了解到了各类控件的属性与方法。同时,在制作过程中遇到了不少问题和困难,通过查阅书籍及互连网以及和同学们的探讨让我得到了不小的帮助。
由于外部设备条件以及自身能力的限制,该管理系统还存在不少的缺点和漏洞,只能尽量改正与完善。不足之处,还望多多指教。
附录
附录A Dim cmd As New SqlCommand(“select * from user1 where user1='” & u_name & “' and pwd='” & u_pwd & “'”, cn)cn.Open()Dim dr As SqlDataReader = cmd.ExecuteReader If Not dr.Read Then MsgBox(“你的user1或pwd不对”)Else If dr.Item(“userTYPE”)= 0 Then FrmMain.ToolStripMenuItem3.Enabled = False//普通用户
Else FrmMain.ToolStripMenuItem3.Enabled = True//管理员
End If FrmMain.Show()Me.Close()End If 附录B
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As
System.EventArgs)Handles Button1.Click If TextBox1.Text = “" Or TextBox4.Text = ”“ Or TextBox5.Text = ”“ Or TextBox8.Text = ”“ Or TextBox9.Text = ”“ Then MsgBox(”均不能为空!“)Exit Sub End If Dim cn As New SqlConnection(My.Settings.TSconnectionStr)Dim cmd As New SqlCommand(”insert into 读者信息表 values('“ & TextBox1.Text & ”','“ & TextBox2.Text & ”','“ & TextBox3.Text & ”','“ & TextBox4.Text & ”','“ & TextBox5.Text & ”','“ & TextBox6.Text & ”','“ & ComboBox1.Text & ”','“ & TextBox7.Text & ”','“ & TextBox8.Text & ”','“ & TextBox9.Text & ”','“ & TextBox10.Text & ”')“, cn)cn.Open()cmd.ExecuteNonQuery()cn.Close()End Sub 附录C
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs)Handles Button1.Click If ComboBox1.Text = ”姓名“ Then Try Dim cn As New
SqlConnection(My.Settings.TSconnectionStr)Dim da As New SqlDataAdapter(”select * from 读者信息表 where name='“ & TextBox1.Text & ”' “, cn)Dim tb1 As New DataTable cn.Open()da.Fill(tb1)cn.Close()DataGridView1.DataSource = tb1 Catch ex As Exception MsgBox(ex.ToString)End Try ElseIf ComboBox1.Text = ”借阅证号“ Then Try Dim cn As New
SqlConnection(My.Settings.TSconnectionStr)Dim da As New SqlDataAdapter(”select * from 读者信息表 where isbn='“ & TextBox1.Text & ”' “, cn)Dim tb1 As New DataTable cn.Open()da.Fill(tb1)cn.Close()DataGridView1.DataSource = tb1 Catch ex As Exception MsgBox(ex.ToString)End Try End If End Sub 附录D Private Sub Button4_Click(ByVal sender As System.Object, ByVal e As System.EventArgs)Handles Button4.Click If ComboBox1.Text = ”姓名“ Then Try Dim cn As New
SqlConnection(My.Settings.TSconnectionStr)Dim cmd As New SqlCommand(”delete from 读者信息表 where name='“ & TextBox1.Text & ”' “, cn)cn.Open()cmd.ExecuteNonQuery()cn.Close()Catch ex As Exception MsgBox(ex.ToString)End Try
ElseIf ComboBox1.Text = ”借阅证号“ Then Try Dim cn As New
SqlConnection(My.Settings.TSconnectionStr)Dim cmd As New SqlCommand(”delete from 读者信息表 where isbn='“ & TextBox1.Text & ”' “, cn)cn.Open()cmd.ExecuteNonQuery()cn.Close()Catch ex As Exception MsgBox(ex.ToString)End Try End If End Sub 附录E Private Sub readerupdate_MouseClick(ByVal sender As Object, ByVal e As System.Windows.Forms.MouseEventArgs)Handles Me.MouseClick
Try Dim cn As New SqlConnection(My.Settings.TSconnectionStr)Dim da As New SqlCommand(”select * from 读者信息表 where isbn='“ & TextBox8.Text & ”' “, cn)Dim myread As SqlDataReader cn.Open()myread = da.ExecuteReader While myread.Read TextBox1.Text = myread(”Name“)TextBox2.Text = myread(”sex“)TextBox3.Text = myread(”age“)TextBox4.Text = myread(”identitycard“)TextBox5.Text = myread(”maxnum“)TextBox6.Text = myread(”keepmoney“)ComboBox1.Text = myread(”zj“)TextBox7.Text = myread(”zy“)TextBox8.Text = myread(”isbn“)TextBox9.Text = myread(”bztime“)TextBox10.Text = myread(”tel“)End While cn.Close()
Catch ex As Exception MsgBox(ex.ToString)End Try End Sub
Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs)Handles Button2.Click Me.Close()End Sub Private Sub TextBox1_MouseClick(ByVal sender As Object, ByVal e As System.Windows.Forms.MouseEventArgs)Handles TextBox1.MouseClick Try Dim cn As New SqlConnection(My.Settings.TSconnectionStr)Dim da As New SqlCommand(”select * from 读者信息表 where name='“ & TextBox1.Text & ”' “, cn)Dim myread As SqlDataReader cn.Open()myread = da.ExecuteReader While myread.Read TextBox1.Text = myread(”Name“)TextBox2.Text = myread(”sex“)TextBox3.Text = myread(”age“)TextBox4.Text = myread(”identitycard“)TextBox5.Text = myread(”maxnum“)TextBox6.Text = myread(”keepmoney“)ComboBox1.Text = myread(”zj“)TextBox7.Text = myread(”zy“)TextBox8.Text = myread(”isbn“)TextBox9.Text = myread(”bztime“)TextBox10.Text = myread(”tel“)End While cn.Close()Catch ex As Exception MsgBox(ex.ToString)End Try End Sub
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs)Handles Button1.Click Try Dim cn As New SqlConnection(My.Settings.TSconnectionStr)Dim cmd As New SqlCommand(”update 读者信息表 set name= '“ & TextBox1.Text & ”',sex='“ & TextBox2.Text & ”',age='“ & TextBox3.Text & ”',identitycard='“ & TextBox4.Text & ”',maxnum='“ & TextBox5.Text & ”',keepmoney='“ & TextBox6.Text & ”',zj='“ & ComboBox1.Text & ”',zy='“ & TextBox7.Text & ”',isbn='“ & TextBox8.Text & ”',bztime='“ & TextBox9.Text & ”',tel='“ & TextBox10.Text & ”' where isbn='“ & TextBox8.Text & ”' or name='“ & TextBox1.Text & ”' “, cn)cn.Open()cmd.ExecuteNonQuery()cn.Close()Catch ex As Exception MsgBox(ex.ToString)End Try End Sub 附录F Private Sub 读者信息表BindingNavigatorSaveItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs)Handles 读者信息表BindingNavigatorSaveItem.Click Me.Validate()Me.读者信息表BindingSource.EndEdit()Me.读者信息表TableAdapter.Update(Me.TsglDataSet.读者信息表)
End Sub Private Sub readerupdate_Load(ByVal sender As System.Object, ByVal e As System.EventArgs)Handles MyBase.Load 'TODO: 这行代码将数据加载到表“TsglDataSet.读者信息表”中。您可以根据需要移动或移除它。
Me.读者信息表TableAdapter.Fill(Me.TsglDataSet.读者信息表)End Sub 附录G
Dim cn As New SqlConnection(My.Settings.TSconnectionStr)Dim cmd As New SqlCommand(”insert into 图书借阅表 values('“ & TextBox1.Text & ”','“ & TextBox3.Text & ”',' no','“ & TextBox5.Text & ”','no')“, cn)cn.Open()cmd.ExecuteNonQuery()cn.Close()附录H
Dim cn As New SqlConnection(My.Settings.TSconnectionStr)Dim cmd As New SqlCommand(”delete from 图书借阅表 where bookisbn='“ & TextBox1.Text & ”'", cn)cn.Open()cmd.ExecuteNonQuery()cn.Close()
参考文献:
[1]《软件工程导论》 张海藩 著 清华大学出版社 [2]《数据库原理与设计》 张龙祥、陶影 等编 西安交大出版社 [3]《管理信息系统原理与应用》罗超理、李万红
清华大学出版社 [4]《SQL Server 2005 实用教程》李岩、张瑞雪
清华大学出版社 [5]《Visual Basic.NET》
刘怀亮
冶金工业出版社
致 谢
本论文是在石家庄职业技术学院智立甫老师的悉心指导和帮助下完成的。在论文的选题、问题分析以及论文写作的整个过程中,处处渗透着老师的心血。非常感谢智老师的悉心指导。在跟随智立甫老师进行毕业设计的过程中,他渊博的学识,严谨的治学态度时刻激励和影响着我,使我在短期内不仅学识水平有了较大提高,而且更重要的是从老师那里学到了从事研究工作的方法和态度,这必将使我受益终生,同时我也会将智老师这种精益求精的精神渗透到我今后的学习工作中。在论文完成之际,特向智立甫老师表示衷心的感谢和崇高的敬意。我将永远铭记老师的谆谆教诲。
感谢赵恩同学在代码修改发面的方面的帮助!感谢郝鹏同学提供的图片素材!
你们的激励和厚望一直是我奋斗的动力源泉,但愿我的点滴进步能给你们带来欣慰。