第一篇:简易电子钟 课设总结
班级:电气
北京交通大学
电子技术课程设计
课设题目:简易电子钟 参与者:
xxx
xxx
xxx班
指导老师:
时间:
2013.7
摘要
在实际生活中,我们会经常用到电子钟,而随着电子技术的飞跃发展,各类智能化产品相应而出。就数字电路而言,它本身具有电路简单、可靠性高以及成本较低等优点。所以本次课程设计主要是以数字电路为核心的只能电子钟的设计。
数字钟是采用数字电路实现对时分秒显示的计时装置,广泛用于个人、家庭及办公室等多种公共场合,成为人们日常生活中不可少的必需品。其中,数字集成电路的发展和石英晶体振荡器的广泛应用也使得数字钟的精度远远超过了老式钟表。所以,钟表的数字化给人们的生活带来了极大的方便,也大大扩充了钟表的功能。因此,研究数字中并扩大其应用具有十分重要的现实意义。本设计电路主要由信号产生部分、计时部分、动态显示部分以及整点报时部分组成,其中数码显示管显示24小时的时刻,包括时分秒,且具有清零、保持和整点报时的功能。
数字钟计时的标准信号是1HZ秒脉冲,所以应设置标准时间源或利用555多谐振荡器或者晶体整荡器等产生信号。数字钟计时周期为24小时制,所以应设置24进制计数器,并带有60进制和24进制的计数器,时分秒分别由两个七段数码显示管显示其十位和个位。此外,该数字钟将会从59分50秒开始后,每隔两秒钟发出一次“嘟”的信号(如果用二极管,则会看到二极管会发光),连续五次后即可到达整点。关键词:
振荡器 分频器 译码器 计数器 报时电路
一、设计目的
数字钟是一种用数字电路技术实现时、分、秒计时的装置,与机械式时钟相比具有更高的准确性和直观性,且无机械装置,具有更长的使用寿命,因此得到了广泛的使用。数字钟从原理上讲是一种典型的数字电路,其中包括了组合逻辑电路和时序电路。
因此,我们此次设计与制作数字钟就是为了了解数字钟的原理,从而学会制作数字钟.而且通过数字钟的制作进一步的了解各种在制作中用到的中小规模集成电路的作用及实用方法.且由于数字钟包括组合逻辑电路和时叙电路.通过它可以进一步学习与掌握各种组合逻辑电路与时序电路的原理与使用方法。
二、设计内容及要求
(1)设计指标
① 由555多谐振荡器电路产生1HZ标准秒信号; ② 分、秒为00~59六十进制计数器;
③ 时为00~23二十四进制计数器;
④ 整点具有报时功能,计时过程具有报时功能,当时间到达整点前10秒开始,蜂鸣器响1秒停1秒地响5次;(2)设计要求
① 画出电路原理图(或仿真电路图); ② 元器件及参数选择; ③ 电路仿真与调试。
(3)制作要求
自行装配和调试,并能发现问题和解决问题。
(4)编写设计报告
写出设计与制作的全过程,附上有关资料和图纸,有心得体会。
三、原理框图
数字钟实际上是一个对标准频率(1HZ)进行计数的计数电路。我们本次实验采用555多谐振荡器来产生信号。555集成芯片构成的振荡电路产生的信号经过分频器作为秒脉冲,秒脉冲送入计数器,计数结果通过“时”、“分”、“秒”译码器显示时间。
四、主要部分的实现方案
秒脉冲电路 本设计实验主要由555构成的多谐振荡器来产生1000HZ的信号,随后通过74LS90的三次分频来产生1HZ的信号。电路图如下所示:
555构成的多谐振荡器
秒脉冲发生器 2 时间计数器电路
时的计数电路为24进制的计数电路,所以利用2个74LS90来连接实现24进制的电路。而对秒和分的计数电路,由74LS92实现秒和分的十位的六进制,由74ls90实现十进制,74LS90和74LS92共同实现秒和分的24进制。其中74LS90 是4位二进制同步加计数器,它的设置为多片集成计数器的级联提供方便。它具有异步清零,同步并行预置数,保持和计数的功能。
(1)秒计数器
74LS90是异步二——五——十进制加法计数器,既可以实现二进制加法计数器,又可以五进制和十进制加法计数器。Ro(1)、R0(2)对计数器清零,S9(1)、S9(2)将计数器置9。如果将Cp2和QA相连,计数脉冲由Cp1输入,QD、QC、QB、QA分别作为输出端,构成异步8421码十进制加法计数器;如果将Cp1与QD相连,计数脉冲由Cp2输入,则实现的是异步5421BCD码十进制加法计数器。本图中采用第一种十进制加法计数器原理实现个位的进位原理。而对秒的十位,因为其应该显示0~5的数字,所以应采用模等于六即六进制的加法计数器。74LS92是异步二---六----十二进制加法器,当输出“0110”的暂态时,QB、QC通过74LS08两输入与门接到秒计数器十位的R0(1)上,从而使整个计数器清零,并向前一位进位。实现了一个循环。(2)分计数器
分的个位和十位计数单元的状态转换和秒的是一样的,只是它把自己的进位信号传输给时的个位计数单元。连接图同秒计数器的连接图(3)时计数器
时计数器是24进制,所以本实验采用两片74LS90来实现。实验电路图如图:
如图为两片74LS90所连接成的24进制计数器。两片7490都设置成五进制,构成25进制计数器,然后遇24清零。用两片74LS90芯片,一片控制个位,为十进制;另一片控制十位,为二进制。利用74LS90本身的两控制端完成十进制,在达到1001(即十进制的九)时,给第二个芯片一个脉冲,这样反复,直到第二片达到0010(即十进制的二)且第一片达到0100(即十进制的四)时第一片和第二片同时清零,这样完成一次24的计数,且回到初态,继续重复计数。数字钟的译码及显示单元电路
译码显示采用共阴极LED八段数码管和译码器74SL48组成。
其中七段共阴极数码显示管的3、8段均接地,a、b、c、d、e、f、g七段数码显示管分别对应74LS48的相应管脚,后将74LS48的3、4、5管脚均接高电平,使数码显示管既不灭灵也不试灯从而处于正常的显示状态。
4.整点报时电路
电路应在整点前10秒钟内开始整点报时,即当时间在59分50秒到59分59秒期间时,报时电路报时控制信号。
当时间在59分50秒到59分59秒期间时,分十位、分个位和秒十位均保持不变,分别为5、9和5,因此可将分计数器十位的QC和QA、个位的QD和QA及秒计数器十位的QC和QA相与,从而产生报时控制信号。
显然分十位、分个位和秒十位在整点报时电路中均保持不变,其中分十位始终为5,即0101,分个位始终为9,即1001,秒十位为5,即1001,所以有分十位中QC、QA 和分个位QD、QA以及秒十位QC和QA 始终为1,所以可以通过与门来实现逻辑。但因为实际生活中四输入与非门较多,所以实验采用74LS08四输入与非门以及74LS00两输入与非门来实现逻辑。电路图如上所示。
五、实验过程中遇到的问题及解决方法
在实验过程中,我们遇到了很多问题。虽然看起来实验没有很困难,但在这其中,各种琐碎的问题让我们学会了很多,也锻炼了很多。
下面依次列举一下我们所遇到的问题。
首先要说的是面包板的内部连接导通区域问题,在刚开始使用的过程中,因为听同学说面包板以中心对称分为两半分别导通,实则面包板的分界面不清,需要自己测试。导致芯片的无法正常供电,不知道问题所在。
解决方法:用万用表对各个连接点进行测试,利用万用表的导通可蜂鸣原理判断是否导通,最终确定出原来不是所有面包板均对称导通,且有面包板分三部分导通。由于面包板的老化以及内部链接问题,许多芯片按照相应方式接入时并不能正常工作。如果只是盲目的查各个连接线,既费时又费力。
解决方法:我们采取了各个击破的方法,挨个排查。为了检查,我们特地将时分秒显示部分拆成六个独立的单元,分别进行检查,看其是否能够实现相应的十进制转换和六进制转换。
首先,我们检查并排除是否是电路连接有问题。于是我们将原来面包板上利用74LS48译码和数码显示管部分和主电路分开,将主电路连接到实验箱上,发现仍不能正常工作。于是,我们认真检查了主电路的连接。经检查连接管教无误后,用万用表挨着检测相应共地共电源端等相同端是否能使万用表蜂鸣,结果发现部分导线虽相应连接了,但并不导通。最终确认为有一部分是芯片坏了,还有一部分是面包板出现了问题,有一些管脚已不导通。所以换了管脚接入处。
确认电路连接无误后,再连入电路,发现数码显示管大都可以正常的单独显示示数了,但还有一个仍然有问题,后换了数码管问题解决,表明是数码管坏了的缘故。
还有有时候会在做实验的测试过程中经常会遇到导线有时候松动了的问题。经过我们一次又一次的细心检查,问题一一得到了解决。虽然说现在讲起来不是那么困难,但实际上在这次课程设计过程中,我们遇到了很多问题,以前做实验大都是在老师的指导下去完成解决问题。经过这次独立的实验,我们发现了万用表的很大的作用和用处,尤其学会了用万用表检查电路寻找电路问题。更多的,我们学会了一种解决问题的方式,学会了各个击破有头绪的去思考问题,排除错误。这种寻找问题解决问题的能力的养成,相信会给我们今后的学习带来很大的帮助。
六、心得体会
通过这次对数字钟的设计与制作,让我们了解了设计电路的程序,也让我们了解了数字钟的原理和设计理念。要设计一个电路总要对着一个参考电路图才可以连接,但是最后的成品却不一定与想象的完全一样,因为在事迹接线中有着各种各样的条件制约,所以要合理布局这样连出来的成品才比较美观。设计过程中,在一次又一次的失败面前,我们没有退缩,而是勇敢的去面对,积极的去解决,充分运用所学知识和他人的帮助,最终取得了成功。通过亲自动手连线,试验,遇到问题,解决问题,我们巩固了书本的知识,同时也学到了新的学问,明白了实践的可贵性。动手能力的提高,细心与耐心的培养,品尝自己劳动成果的喜悦,是我们在这次课程设计中最大的收获。
七、元器件
1.四连面包板1块
2.镊子1把
3.剪刀1把
4.共阳八段数码管7个
5.导线若干
6.74LS90 集成块6块
7.CD4060集成块1块
8.74LS247集成块7块
9.74LS20 集成块1块
10.74LS00 集成块1块 11.74LS08集成块2块
12.74LS32 集成块 1块 13.74LS04 集成块 1块 14 74LS74 集成块 4块 15.32.768k时钟晶体1个
16.22pF和20pF可调电容各一个 17.三极管8050一个
18.300Ω7个
22MΩ一个
1KΩ一个
八、参考资料及文献
参考资料:
《电子技术基础(数字部分)(第四版)》 《电路及电子技术实验》
《电工电子技术实践教材》
10KΩ一个
第二篇:EDA简易数字频率计~课设报告
EDA课程设计~简易数字频率计
《EDA技术》课程设计报告
题目:简易数字频率计
专业:
本组成员:
简述
EDA课程设计~简易数字频率计
随着数字电子技术的发展,频率测量成为一项越来越普遍的工作,因此测频计常受到人们的青睐。目前许多高精度的数字频率计都采用单片机加上外部的高速计数器来实现,然而单片机的时钟频率不高导致测频速度比较慢,并且在这种设计中,由于PCB版的集成度不高,导致PCB板走线长,因此难以提高计数器的工作频率。为了克服这种缺点,大大提高测量精度和速度,我们可以设计一种可编程逻辑器件来实现数字频率计。
EDA技术是以大规模可编程逻辑器件为设计载体,以硬件语言为系统逻辑描述的主要方式,以计算机、大规模可编程逻辑器件的开发软件及实验开发系统为设计工具,通过有关的开发软件,自动完成用软件设计的电子系统到硬件系统的设计,最终形成集成电子系统或专用集成芯片的一门新技术。其设计的灵活性使得EDA技术得以快速发展和广泛应用。以QUARTUSII软件为设计平台,采用VHDL语言实现数字频率计的整体设计。
EDA技术已经广泛应用于模拟与数字电路系统等许多领域。电子设计自动化是一种实现电子系统或电子产品自动化设计的技术,它与电子技术,微电子技术的发展密切相关,它吸收了计算机科学领域的大多数最新研究成果,以高性能的计算机作为工作平台,促进了工程发展。EDA的一个重要特征就是使用硬件描述语言(HDL)来完成的设计文件,VHDL语言是经IEEE确认的标准硬件语言,在电子设计领域受到了广泛的接受。
1.设计概述
EDA课程设计~简易数字频率计
1.1设计原理
在电子技术中,频率是最基本的参数之一,并且与许多电参量的测量方案、测量结果都有十分密切的关系,因此,频率的测量就显得更为重要。测量频率的方法有多种,其中电子计数器测量频率具有精度高、使用方便、测量迅速,以及便于实现测量过程自动化等优点,是频率测量的重要手段之一。
数字式频率计的测量原理有两类:一是直接测频法,即在一定闸门时间内测量被测信号的脉冲个数;二是间接测频法即测周期法,如周期测频法。直接测频法适用于高频信号的频率测量,通常采用计数器、数据锁存器及控制电路实现,并通过改变计数器阀门的时间长短在达到不同的测量精度;间接测频法适用于低频信号的频率测量。
本设计中使用的就是直接测频法,即用计数器在计算1s内输入信号周期的个数,其测频范围为1Hz~9999Hz。
1.2原理框图
1.3 系统原理图
系统原理图仿真
EDA课程设计~简易数字频率计
分析说明:clk为1HZ,待测信号sig为10HZ 1.5 引脚图
2.设计思路
频率测量的基本原理是计算每秒钟内待测信号的脉冲个数。这就要求测频控制信号发生器testpl的计数使能信号tsten能产生一个1秒脉宽的周期信号,并对频率计的每一计数器cnt10的使能端en进行同步控制。当tsten为高电平“1”时,允许计数;为低电平“0”时停止计数,并保持其计数结果。在停止计数期间,首先需要一个锁存信号load的上跳沿将计数器在前1 秒种的计数值锁存进16位锁存器reg16b中。锁存信号之后,必须有一个清零信号clr_cnt对计数器进行清零,为下1 秒的计数操作做准备。,然后由外部数码管控制器ledcom控制的7段译码器ymq译出,并稳定显示。
3.模块划分
3.1 测频控制信号发生器testpl模块:
输入端clk收到1Hz信号后,其输出端testen控制各个cnt10的使能,clr_cnt控制各个cnt10的清零,load控制锁存器内数据的输出。
仿真图如下:
EDA课程设计~简易数字频率计
3.2 十进制计数器cnt10模块:
有一时钟使能输入端en,用于锁定计数值。当高电平“1”时计数允许计数,低电平“0”时禁止计数。多位十进制计数器时,最低位的计数器的clk端输入被测信号,各计数器的进位输出端c10将信号输到下一位十进制计数器cnt10的输入端clk,最高位十进制计数器cnt10的进位输出端c10不处理。
仿真图如下:
3.3 16位锁存器reg16b模块:将已有16 位bcd码存在于此模块的输入口din[15..0],在信号load的上升沿后即被锁存到寄存器reg16b的内部,并由reg16b的输出端dout[15..0]输出,设置锁存器的好处是,数码管上显示的数据稳定,不会由于周期性的清零信号而不断闪烁。
仿真图如下:
EDA课程设计~简易数字频率计
3.4 数码管控制器ledcom模块:两个输入端一个为datain[15..0],另一个为数码管显示选择的扫描频率输入端clk,输出端为数码管选择信号com[3..0]和对应显示的数码管的BCD码信号端dataout[3..0],数码管显示选择随扫描频率clk循环变化,实现稳定显示。
仿真图如下:
3.5
译码器ymq模块:输入端d_in[3..0]将接收BCD码信号,译码后输出端d_out[7..0]输出8为7段数码管信号,其中输出的第8位均为高电平“1”可以使四个数码管的小数点不显示。经译码器的处理输出后数码管显示相应的数值。
EDA课程设计~简易数字频率计
4.VHDL顶层文件:
library ieee;use ieee.std_logic_1164.all;entity lx is port(clk: in std_logic;led: out std_logic_vector(7 downto 0);ledc: out std_logic_vector(2 downto 0));end lx;architecture art of lx is--十进制计数器
component cnt10--待调用的有时钟使能的十进制计数器端口定义
port(clk,clr,en: in std_logic;q: out std_logic_vector(3 downto 0);c10: out std_logic);end component;--16位锁存器
component reg16b--待调用的32位锁存器端口定义 port(load: in std_logic;din: in std_logic_vector(15 downto 0);dout: out std_logic_vector(15 downto 0));end component;--测频控制器
component testpl--待调用的测频控制信号发生器端口定义 port(clk:in std_logic;
EDA课程设计~简易数字频率计
tsten:out std_logic;clr_cnt:out std_logic;load:out std_logic);end component;--数码管选择器
component ledcom--待调用的数码管选择器端口定义 port(clk:in std_logic;datain: in std_logic_vector(15 downto 0);dataout: out std_logic_vector(3 downto 0);sel: out std_logic_vector(2 downto 0));end component;--译码器
component ymq--待调用的译码器端口定义 port(d_in: in std_logic_vector(3 downto 0);d_out: out std_logic_vector(7 downto 0));end component;signal clk1,clk2,clk3: std_logic;--clk1为1Hz信号,clk2为被测信号,clk3为数码管扫描信号
signal tsten,clr,load: std_logic;signal c1,c2,c3,c4: std_logic;signal qout,rout: std_logic_vector(15 downto 0);signal datao: std_logic_vector(3 downto 0);begin u0:testpl port map(clk1,tsten,clr,load);u1:cnt10 port map(clk2,clr,tsten,qout(3 downto 0),c1);u2:cnt10 port map(c1,clr,tsten,qout(7 downto 4),c2);u3:cnt10 port map(c2,clr,tsten,qout(11 downto 8),c3);u4:cnt10 port map(c3,clr,tsten,qout(15 downto 12),c4);u5:reg16b port map(load,qout(15 downto 0),rout);u6:ledcom port map(clk3,rout,datao,ledc);u8:ymq port map(datao,led);end art;
5.心得体会
这次课程设计中,我不仅复习巩固了课堂所学的理论知识,提高
EDA课程设计~简易数字频率计
了对所学知识的综合应用能力,并从根本上了解了VHDL语言的一些基本用法,应用了原来不会或者不熟练的句型,如if句,case句等,也学会了一些基本功能的实现方法,如分频,状态控制等等,从另外一个角度重新审视了上学期完全从硬件角度出发的电路设计,明白了软硬件之间的交互。通过这个课题,对系统框图、逻辑流程图、状态转移图的设计有了一定的了解。也懂得了系统的前期设计对于后续的编程和调试的重要性。
本课题采用了自下而上的设计方法,根据系统对硬件的要求,画出系统控制流程图;然后根据控制流程图,分化模块,利用模块实现功能;最后进行仿真和调试。
每个成功的背后都要面对无数次的失败,这次课设也不例外。虽然遇到不少问题与困难,但通过老师以及同学的帮助,都一一得到顺利地解决。我想这必定会为将来的实践积累宝贵的经验和教训。总之,这次课设我们都受益匪浅。整个过程氛围浓厚,本人也态度十分认真,积极向老师和同学求教并在此过程中收获良多,能够进一步了解和使用一门与硬件直接打交道的基本语言对我们将来的学习和工作都会十分有益。
6.五个模块的程序源代码
6.1 测频控制信号发生器
EDA课程设计~简易数字频率计
library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_unsigned.all;entity testpl is port(clk:in std_logic;--1Hz信号
tsten:out std_logic;--计数器使能信号 clr_cnt:out std_logic;--计数器清零信号 load:out std_logic);--锁存器输出控制信号 end testpl;architecture art of testpl is signal div2clk:std_logic;begin process(clk)begin if clk'event and clk='1'then div2clk<=not div2clk;--div2clk为2Hz end if;end process;process(clk ,div2clk)begin if(clk='0'and div2clk='0')then clr_cnt<='1';--当div2clk与clk同时为零时计数器清零 else clr_cnt<='0';--当div2clk处于的高电平时计数器计数 end if;end process;load<=not div2clk;--锁存器输出与计数器使能信号反相 tsten<=div2clk;end art;
有时钟使能的十进制计数器
library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_unsigned.all;entity cnt10 is port(clk,clr,en: in std_logic;--clk:计数器时钟,clr:清零信号,en:计数使能信号
q: out std_logic_vector(3 downto 0);--q:4位计数结果输出
EDA课程设计~简易数字频率计
c10: out std_logic);--计数进位
end cnt10;architecture art of cnt10 is signal cqi: std_logic_vector(3 downto 0);begin process(clk,clr)begin if clr='1' then cqi<=“0000”;--当输入的clr_cnt为低电平0时清零
elsif clk'event and clk='1' then if en='1' then--当输入的tesen为高电平1时允许计数
if(cqi<9)then cqi<=cqi+1;else cqi<=“0000”;--等于9则计数器清零
end if;--当输入的tesen为低电平0时禁止计数,锁定计数值 end if;end if;end process;--产生进位 process(cqi)begin if cqi=“1001” then c10<='1';--当加的9时产生进位输出 else c10<='0';end if;end process;q<=cqi;end art;
16位锁存器
library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_unsigned.all;entity reg16b is port(load: in std_logic;--输出锁存控制信号 din: in std_logic_vector(15 downto 0);dout: out std_logic_vector(15 downto 0));end reg16b;
EDA课程设计~简易数字频率计
architecture art of reg16b is begin process(load,din)begin if load'event and load='1'then--load为高电平时teten为低电平,计数器禁止
dout<=din;--锁存输入的数据 end if;end process;end art;
6.4 数码管控制器
library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_unsigned.all;entity ledcom is port(clk:in std_logic;--数码管扫描频率
datain: in std_logic_vector(15 downto 0);--锁存器输入的16位信号 dataout: out std_logic_vector(3 downto 0);--输出至译码器的4位信号
sel: buffer std_logic_vector(2 downto 0));--输出数码管选择信号 end ledcom;architecture art of ledcom is begin--sel同扫描频率clk循环变化 process(clk)begin if rising_edge(clk)then if sel>=7 then
sel <=“000”;
else sel<=sel+1;end if;end if;
end process;--数码管选择 process(sel,datain)
begin case sel is when “000”=> dataout<=datain(3 downto 0);
EDA课程设计~简易数字频率计
when “001”=> dataout<=datain(7 downto 4);when “010”=> dataout<=datain(11 downto 8);when “011”=> dataout<=datain(15 downto 12);when others =>NULL;end case;end process;end art;
七段数码管的译码器
library IEEE;use IEEE.std_logic_1164.all;entity ymq is port(d_in: in std_logic_vector(3 downto 0);--数码管控制器输入四位信号
d_out: out std_logic_vector(6 downto 0));--输出8位信号
end ymq;--第8位d_out[7]为逗号 architecture art of ymq is begin process(d_in)begin case d_in is--第8位为1高电平逗号不显示 when “0000” => d_out<=“1111110”;--0 when “0001” => d_out<=“0110000”;--1 when “0010” => d_out<=“1101101”;--2 when “0011” => d_out<=“1111001”;--3 when “0100” => d_out<=“0110010”;--4 when “0101” => d_out<=“1011011”;--5 when “0110” => d_out<=“1011111”;--6 when “0111” => d_out<=“1110000”;--7 when “1000” => d_out<=“1111111”;--8 when “1001” => d_out<=“1111011”;--9 when others =>NULL;end case;end process;end art;7.参考文献
1、王小军 主编.《VHDL简明教程》.清华大学出版社,1997
EDA课程设计~简易数字频率计
2、潘松、王国栋 主编.《VHDL应用教程》电子科技大学出版社,2000
3、甘历 主编.《VHDL应用于开发实践》科学出版社,2003
4、刘爱荣 主编.《EDA技术与CPLD/FPGA开发应用简明教程》.清华大学出版社,2007
第三篇:液压课设总结
液压课程设计
总结
通过这段时间的设计,认识到自己的很多不足,自己知识的很多盲点和漏洞知识和实践的差距。比如这次的集成块的设计,在做课程设计之前,我根本不知道什么是集成块。通过的这次课程设计才知道液压阀的组装方法和控制系统的方法,以及液压的系统的工作方式。这是液压课本书上没有的,所以我发现了自己的很多知识上的盲点和理解错误。我的理论和实际联系的能力还有待提高。
液压系统是以电机提供动力基础,使用液压泵将机械能转化为压力,推动液压油。通过控制各种阀门改变液压油的流向,从而推动液压缸做出不同行程、不同方向的动作。完成各种设备不同的动作需要。液压系统已经在各个工业部门及农林牧渔等许多部门得到愈来愈广泛的应用,而且愈先进的设备,其应用液压系统的部分就愈多。所以像我们这样的大学生学习和亲手设计一个简单的液压系统是非常有意义的。
本次设计涉及了液压传动大部分知识,还有就是solidworks作图.CAD作图和word文档的处理。也使我们很好的将课本上的知识与实际结合起来,收获颇多,特别是手机资料和信息的能力。这也是我们大学期间一次难得的机会,总之是受益匪浅。
第四篇:Web课设总结
图书添加
创建Web项目,通过JDBC实现图书信息添加功能。(1)在数据库中创建图书信息表tb-books(2)创建名称为Book的类,用于封装图书对象信息。关键代码如下: package com.lyq.bean;public class Book { // 编号
private int id;// 图书名称
private String name;// 价格
private double price;// 数量
private int bookCount;// 作者
private String author;public int getId(){
return id;} public void setId(int id){
this.id = id;} public String getName(){
return name;} public void setName(String name){
this.name = name;} public double getPrice(){
return price;} public void setPrice(double price){
this.price = price;} public int getBookCount(){
return bookCount;} public void setBookCount(int bookCount){
this.bookCount = bookCount;} public String getAuthor(){
return author;} public void setAuthor(String author){
this.author = author;} }(3)创建index.jsp页面,用于放置添加图书信息所需的表单,该表单提交到AddBook.jsp页面进行处理。关键代码如下: <%@ page language=“java” contentType=“text/html;charset=UTF-8” pageEncoding=“UTF-8”%>
第五篇:编译原理课设总结(定稿)
董楠楠1006010101
经过一个星期的编译原理课程设计,在老师的指导以及小组同学的互相帮助下顺利完成该课程设计。通过该课程设计,收获很多。
此次课设,我们小组用的是java语言,在课设过程中,用到了以前开发过程中所没有的探索过的很多新方法,最直接的影响就是让我对java语言的认识与理解更近一层。并且掌握了什么是编译程序,编译程序工作的基本过程及其各阶段的基本任务,对课本上的知识有了更深的理解。
因为本实验用了java语言编写,个人觉得相比C语言模块更加清晰明了。在该词法分析程序中,我们用了java中的split方法对输入串进行分割,简单易懂。其次,在字符匹配过程中,引进了正则表达式,让输入串与之匹配,极大地缩减程序的繁琐性。同时,java的面对对象的性质在程序中得到充分的体现,在代码的编写过程中,将各种判定封装为函数,主函数通过调用这些封装函数完成功能,摒弃了C语言结构化的繁琐,使整个处理函数清晰可读。在测试多个用例时,发现程序的很多小错误,但最后都能够一一解决,尤其在这个过程中,我也充分体会到了团队合作的力量。此次课设更加深了对java语言的认识,并熟悉了java语言中正则表达式的用法。
通过该课程设计,全面系统的理解了编译原理程序构造的一般原理和基本实现方法。能够把学过的计算机编译原理的知识强化,并通过自己设计的程序表现出来,加深了对理论知识的理解,同时也激发了学习的积极性。课程设计中的第二个程序对简单表达式文法构造算符优先分析器比较复杂,在调试时出现了很多问题,经过大量的修改和一遍又一遍地调试,最后把错误全都改正没有做到根据文法得到相应的算符优先表,而是在程序中直接给出,这是程序的一个小缺陷。