当前位置:文档之家› CPLD课程设计代码

CPLD课程设计代码

CPLD课程设计代码
CPLD课程设计代码

附:程序代码

注:译码器,分频,点阵,流水灯,步进电机五部分为源代码的功能拓展,带下划线部分为修改或添加的代码。

交通灯,多路选择器为编写设计代码。

1、译码器:

LIBRARY ieee;

USE ieee.std_logic_1164.ALL;

ENTITY decoder3_8 IS

PORT(

A,B,C: IN STD_LOGIC;

Y :OUT STD_LOGIC_VECTOR(7 DOWNTO 0); --段选输出

en :OUT STD_LOGIC_VECTOR(7 DOWNTO 0) ); --位选输出

END decoder3_8;

ARCHITECTURE fun OF decoder3_8 IS

SIGNAL indata: STD_LOGIC_VECTOR(2 DOWNTO 0) ;

BEGIN

indata <=C&B&A;

encoder:

PROCESS(indata )

BEGIN

CASE indata IS

WHEN "000"=>Y<="01000000";en<="00000001";

WHEN "001"=>Y<="01111001";en<="00000010";

WHEN "010"=>Y<="00100100";en<="00000100";

WHEN "011"=>Y<="00110000";en<="00001000";

WHEN "100"=>Y<="00011001";en<="00010000";

WHEN "101"=>Y<="00010010";en<="00100000";

WHEN "110"=>Y<="00000010";en<="01000000";

WHEN "111"=>Y<="01111000";en<="10000000";

WHEN OTHERS=>Y<="11111111";en<="00000000";

END CASE;

END PROCESS encoder;

END fun;

2、分频:

library ieee;

use ieee.std_logic_1164.all;

entity div_f is

port(clk :in std_logic;

miao_out :out std_logic;

f_miao_out:out std_logic;

fourhz :out std_logic; -- 4Hz 输出

halfhz :out std_logic; --0.5Hz输出

en :out std_logic);

end div_f;

architecture miao of div_f is

begin

en<='1';

p1:process(clk)

variable cnt:integer range 0 to 3999999; variable ff:std_logic;

begin

if clk'event and clk='1' then

if cnt<3999999 then

cnt:=cnt+1;

else

cnt:=0;

ff:=not ff;

end if;

end if;

miao_out<=ff;

end process p1;

p2:process(clk)

variable cnn:integer range 0 to 1999999; variable dd:std_logic;

begin

if clk'event and clk='1' then

if cnn<1999999 then

cnn:=cnn+1;

else

cnn:=0;

dd:=not dd;

end if;

end if;

f_miao_out<=dd;

end process p2;

------------p3:4Hz生成部分-------------- p3:process(clk)

variable cnt0:integer range 0 to 999999; variable aa:std_logic;

begin

if clk'event and clk='1' then

if cnt0<999999 then

cnt0:=cnt0+1;

else

cnt0:=0;

aa:=not aa;

end if;

end if;

fourhz<=aa;

end process p3;

--------p4:0.5Hz生成部分-------------

p4:process(clk)

variable cnn0:integer range 0 to 7999999;

variable bb:std_logic;

begin

if clk'event and clk='1' then

if cnn0<7999999 then

cnn0:=cnn0+1;

else

cnn0:=0;

bb:=not bb;

end if;

end if;

halfhz<=bb;

end process p4;

end miao;

3、点阵

library IEEE;

use IEEE.STD_LOGIC_1164.ALL;

use IEEE.STD_LOGIC_ARITH.ALL;

use IEEE.STD_LOGIC_UNSIGNED.ALL;

ENTITY dianzhen IS

PORT(clk:IN STD_LOGIC;

l : out STD_LOGIC_VECTOR(7 downto 0);

b : out STD_LOGIC_VECTOR(7 downto 0)

);

END dianzhen;

ARCHITECTURE led OF dianzhen IS

signal clk_1k:std_logic;

signal clk_1h:std_logic;

signal p,c:integer range 0 to 7;

BEGIN

-------------与源代码分频方式不同,效果相同----------- process(clk)

variable cnt0:integer range 0 to 24676;

begin

if clk'event and clk='1'then

if cnt0=24676 then

cnt0:=0;

clk_1k<=not clk_1k;

else

cnt0:=cnt0+1;

end if;

end if;

end process;

process(p,clk_1k)

FUNCTION word(bcd8421:INTEGER RANGE 0 TO 7)RETURN STD_LOGIC_VECTOR IS

V ARIABLE smg7:STD_LOGIC_VECTOR(7 DOWNTO 0); BEGIN

CASE bcd8421 IS

--------实现汉字“中”的编码--------

WHEN 0=>smg7:=X"00";

WHEN 1=>smg7:=X"1C";

WHEN 2=>smg7:=X"14";

WHEN 3=>smg7:=X"FF";

WHEN 4=>smg7:=X"14";

WHEN 5=>smg7:=X"1C";

WHEN 6=>smg7:=X"00";

WHEN 7=>smg7:=X"00";

END CASE;

RETURN smg7;

END word;

variable cnt:integer range 0 to 63;

begin

if clk_1k'event and clk_1k='1' then

p<=p+1;

if cnt=63 then

cnt:=0;

clk_1h<=not clk_1h;

else

cnt:=cnt+1;

end if;

end if;

case p is

when 0=>b<="11111110";l<=word(c);

when 1=>b<="11111101";l<=word(c+1);

when 2=>b<="11111011";l<=word(c+2);

when 3=>b<="11110111";l<=word(c+3);

when 4=>b<="11101111";l<=word(c+4);

when 5=>b<="11011111";l<=word(c+5);

when 6=>b<="10111111";l<=word(c+6);

when 7=>b<="01111111";l<=word(c+7);

end case;

end process;

process(clk_1h)

variable cnt:integer range 0 to 7;

begin

if clk_1h'event and clk_1h='1'then

c<=c+1;

end if;

end process;

end led;

4、流水灯:

LIBRARY IEEE;

USE IEEE.STD_LOGIC_1164.ALL;

USE IEEE.STD_LOGIC_UNSIGNED.ALL;

ENTITY led_lsd IS

PORT(clk:IN STD_LOGIC;

-----------------------

spd:in bit;---控制速度----

con:in bit;---控制方向----

r:OUT STD_LOGIC_VECTOR(7 DOWNTO 0); ---点阵行控制c:OUT STD_LOGIC_VECTOR(7 DOWNTO 0)); --点阵列控制-----------------------

END led_lsd;

ARCHITECTURE behav OF led_lsd IS

SIGNAL SLIP :STD_LOGIC_VECTOR(5 DOWNTO 0);-------- SIGNAL miao_out:STD_LOGIC;

begin

-----------------分出两个不同的频率-----------

process(clk)

variable cnt:integer range 0 to 399999;

variable ff:std_logic;

variable cnt0:integer range 0 to 1000000;

variable ff0:std_logic;

begin

if clk'event and clk='1' then

if cnt<399999 then

cnt:=cnt+1;

else

cnt:=0;

ff:=not ff;

end if;

if cnt0<1000000 then

cnt0:=cnt0+1;

else

cnt0:=0;

ff0:=not ff0;

end if;

end if;

-------速度选择--------

if(spd='1')then

miao_out<=not ff;

elsif(spd='0')then

miao_out<=not ff0;

end if;

end process;

----------------------------------------------------- PROCESS(miao_out)

BEGIN

IF miao_out'EVENT AND miao_out='1'THEN

-----------方向选择控制--------------------------

if(con='1')then

SLIP<=SLIP+1;

elsif(con='0')then

SLIP<=SLIP-1;

end if;

---------------------------------------

END IF;

CASE SLIP IS

----------------实现LED点阵流水点灯的样式--------- WHEN"000000"=>r<="00000011";c<="11111110"; WHEN"000001"=>r<="00000011";c<="11111101"; WHEN"000010"=>r<="00000011";c<="11111011"; WHEN"000011"=>r<="00000011";c<="11110111"; WHEN"000100"=>r<="00000011";c<="11101111"; WHEN"000101"=>r<="00000011";c<="11011111"; WHEN"000110"=>r<="00000011";c<="10111111"; WHEN"000111"=>r<="00000001";c<="01111111"; WHEN"001000"=>r<="00000010";c<="00111111"; WHEN"001001"=>r<="00000100";c<="00111111"; WHEN"001010"=>r<="00001000";c<="00111111"; WHEN"001011"=>r<="00010000";c<="00111111"; WHEN"001100"=>r<="00100000";c<="00111111";

WHEN"001110"=>r<="10000000";c<="01111111"; WHEN"001111"=>r<="11000000";c<="10111111"; WHEN"010000"=>r<="11000000";c<="11011111"; WHEN"010001"=>r<="11000000";c<="11101111"; WHEN"010010"=>r<="11000000";c<="11110111"; WHEN"010011"=>r<="11000000";c<="11111011"; WHEN"010100"=>r<="11000000";c<="11111101"; WHEN"010101"=>r<="10000000";c<="11111110"; WHEN"010110"=>r<="01000000";c<="11111100"; WHEN"010111"=>r<="00100000";c<="11111100"; WHEN"011000"=>r<="00010000";c<="11111100"; WHEN"011001"=>r<="00001000";c<="11111100"; WHEN"011010"=>r<="00000100";c<="11111100"; WHEN"011011"=>r<="00000010";c<="11111100"; WHEN"011100"=>r<="00000001";c<="11111110"; WHEN"011101"=>r<="11011011";c<="00100100"; WHEN"011110"=>r<="00000000";c<="11111111"; WHEN"011111"=>r<="11011011";c<="00100100"; WHEN"100000"=>r<="00000001";c<="11111100"; WHEN"100001"=>r<="00000010";c<="11111100"; WHEN"100010"=>r<="00000100";c<="11111100"; WHEN"100011"=>r<="00001000";c<="11111100"; WHEN"100100"=>r<="00010000";c<="11111100"; WHEN"100101"=>r<="00100000";c<="11111100"; WHEN"100110"=>r<="01000000";c<="11111100"; WHEN"100111"=>r<="10000000";c<="11111110"; WHEN"101000"=>r<="11000000";c<="11111101"; WHEN"101001"=>r<="11000000";c<="11111011"; WHEN"101010"=>r<="11000000";c<="11110111"; WHEN"101011"=>r<="11000000";c<="11101111"; WHEN"101100"=>r<="11000000";c<="11011111"; WHEN"101101"=>r<="11000000";c<="10111111"; WHEN"101110"=>r<="10000000";c<="01111111"; WHEN"101111"=>r<="01000000";c<="00111111"; WHEN"110000"=>r<="00100000";c<="00111111"; WHEN"110001"=>r<="00010000";c<="00111111"; WHEN"110010"=>r<="00001000";c<="00111111"; WHEN"110011"=>r<="00000100";c<="00111111"; WHEN"110100"=>r<="00000010";c<="00111111"; WHEN"110101"=>r<="00000001";c<="01111111"; WHEN"110110"=>r<="00000011";c<="10111111"; WHEN"110111"=>r<="00000011";c<="11011111"; WHEN"111000"=>r<="00000011";c<="11101111";

WHEN"111010"=>r<="00000011";c<="11111011"; WHEN"111011"=>r<="00000011";c<="11111101"; WHEN"111100"=>r<="00000011";c<="11111101"; WHEN"111101"=>r<="11100111";c<="00011000"; WHEN"111110"=>r<="00000000";c<="11111111"; WHEN"111111"=>r<="11100111";c<="00011000";

-----------------------------------------

END CASE;

END PROCESS;

END behav;

5、步进电机:

library IEEE;

use IEEE.STD_LOGIC_1164.ALL;

use IEEE.STD_LOGIC_ARITH.ALL;

use IEEE.STD_LOGIC_UNSIGNED.ALL;

ENTITY state_machine IS

PORT (

clk :IN std_logic;

rst :IN std_logic;

spd :in bit;---速度控制---

con :in bit;---方向控制------

c :OUT std_logic_vector(3DOWNTO 0));

END state_machine;

ARCHITECTURE arch OF state_machine IS

CONSTANT state0 : std_logic_vector(2 DOWNTO 0):="000"; CONSTANT state1 : std_logic_vector(2 DOWNTO 0):="001"; CONSTANT state2 : std_logic_vector(2 DOWNTO 0):="010"; CONSTANT state3 : std_logic_vector(2 DOWNTO 0):="011"; CONSTANT state4 : std_logic_vector(2 DOWNTO 0):="100"; CONSTANT state5 : std_logic_vector(2 DOWNTO 0):="101"; CONSTANT state6 : std_logic_vector(2 DOWNTO 0):="110"; CONSTANT state7 : std_logic_vector(2 DOWNTO 0):="111"; SIGNAL state :std_logic_vector(2 DOWNTO 0); SIGNAL KEY :std_logic_vector(2 DOWNTO 0);

BEGIN

PROCESS(clk,rst)

----实现两个分频----------

variable cnt:integer range 0 to 5999;----------

variable cnt0:integer range 0 to 9999;--------------

variable ff:std_logic;

BEGIN

IF(NOT rst='1')THEN

state<=state0;

cnt:=0;

cnt0:=0;

ELSIF(clk'EVENT AND clk='1')THEN

cnt:=cnt+1;

cnt0:=cnt0+1;-----

-------根据spd的值实现速度的选择----------------------- if(spd='1')then

IF(cnt=5999)THEN

CASE state IS

WHEN state0=>

state<=state1;

WHEN state1=>

state<=state2;

WHEN state2=>

state<=state3;

WHEN state3=>

state<=state4;

WHEN state4=>

state<=state5;

WHEN state5=>

state<=state6;

WHEN state6=>

state<=state7;

WHEN state7=>

state<=state0;

END CASE;

END IF;

elsif(spd='0')then

IF(cnt0=9999)THEN

CASE state IS

WHEN state0=>

state<=state1;

WHEN state1=>

state<=state2;

WHEN state2=>

state<=state3;

WHEN state3=>

state<=state4;

WHEN state4=>

state<=state5;

WHEN state5=>

state<=state6;

WHEN state6=>

state<=state7;

WHEN state7=>

state<=state0;

END CASE;

END IF;

end if;

--------------

END IF;

END PROCESS;

PROCESS(state)

BEGIN

-----根据con的值实现转向控制-------------- if(con='1')then

CASE state IS

WHEN state0=>

c<="1001";

WHEN state1=>

c<="0001";

WHEN state2=>

c<="0011";

WHEN state3=>

c<="0010";

WHEN state4=>

c<="0110";

WHEN state5=>

c<="0100";

WHEN state6=>

c<="1100";

WHEN state7=>

c<="1000";

WHEN OTHERS=>

NULL;

END CASE;

elsif(con='0')then

CASE state IS

WHEN state0=>

c<="1000";

WHEN state1=>

c<="1100";

WHEN state2=>

c<="0100";

WHEN state3=>

c<="0110";

WHEN state4=>

c<="0010";

WHEN state5=>

c<="0011";

WHEN state6=>

c<="0001";

WHEN state7=>

c<="1001";

WHEN OTHERS=>

NULL;

END CASE;

end if;

-----------------------------

END PROCESS;

END arch;

6、多路选择器(四选一):

library ieee;

use ieee.std_logic_1164.all;

use ieee.std_logic_arith.all;

use ieee.std_logic_unsigned.all;

entity selc is

port( a,b,c,d:in bit;--四路信号--

s:in std_logic_vector( 1 downto 0 );---选择信号---

data:out std_logic_vector( 7 downto 0 );---数码管段选

en:out std_logic_vector( 3 downto 0 ));---------位选--- end selc;

architecture chose of selc is

signal s0:bit;

begin

process(a,b,c,d,s)

begin

if(s="00")then

s0<=d;

case s0 is

when '1'=>data<="11111001";en<="0001";

when '0'=>data<="11000000";en<="0001";

end case;

elsif(s="01")then

s0<=c;

case s0 is

when '1'=>data<="11111001";en<="0010";

when '0'=>data<="11000000";en<="0010";

end case;

elsif(s="10")then

s0<=b;

case s0 is

when '1'=>data<="11111001";en<="0100";

when '0'=>data<="11000000";en<="0100";

end case;

elsif(s="11")then

s0<=a;

case s0 is

when '1'=>data<="11111001";en<="1000";

when '0'=>data<="11000000";en<="1000";

end case;

end if;

end process;

end chose;

7、交通灯:

顶层文件(交通灯总模块):

library IEEE;

use IEEE.STD_LOGIC_1164.ALL;

use IEEE.STD_LOGIC_ARITH.ALL;

use IEEE.STD_LOGIC_UNSIGNED.ALL;

entity jiaotongdeng is

port(clk1:in std_logic;

rst:in std_logic;

con1:in std_logic;---紧急控制,实现全红灯--

segout2:out std_logic_vector(7 downto 0);---段选

led_sel1:out std_logic_vector(7 downto 0);---位选

r1,y1,g1,ryg10:out std_logic;------led红黄绿

ryg20,ryg30,ryg40:out std_logic);----灯控制

end jiaotongdeng;

architecture behavioral of jiaotongdeng is

component div_f

port

(clk:in std_logic;

rst:in std_logic;

clkout:out std_logic);

end component;

component controller

port (Clock:in std_logic;

con:in std_logic;

CountNum:in integer range 0 to 22;

NumA:out integer range 0 to 22;

r,y,g,ryg1:out std_logic;

ryg2,ryg3,ryg4:out std_logic);

end component;

component counter

port(clock:in std_logic;

con:in std_logic;

countnum:buffer integer range 0 to 22);

end component;

component fenwei

port(Numin:integer range 0 to 22;

NumA,NumB:out integer range 0 to 9);

end component;

component scan

port(clk:in std_logic;

NumA,NumB:in integer range 0 to 9;

segout1:out std_logic_vector(7 downto 0);

led_sel:out std_logic_vector(7 downto 0));

end component;

signal b,rst1:std_logic;

signal c:integer range 0 to 22;

signal d:integer range 0 to 22;

signal e,f:integer range 0 to 9;

begin

u1:div_f port map(clk=>clk1,rst=>rst,clkout=>b);

u2:counter port map(clock=>b,con=>con1,countnum=>c);

u3:controller

port map(Clock=>b,con=>con1,CountNum=>c,NumA=>d,r=>r1,y=>y1, g=>g1,ryg1=>ryg10,ryg2=>ryg20,ryg3=>ryg30,ryg4=>ryg40);

u4:fenwei port map(Numin=>d,NumA=>e,NumB=>f);

u5:scan

port map(clk=>clk1,NumA=>e,NumB=>f,segout1=>segout2,led_sel=>led_sel1); end behavioral;

底层文件

分频模块:

library ieee;

use ieee.std_logic_1164.all;

entity div_f is

port(clk :in std_logic;

clkout :out std_logic;

rst :in std_logic);

end div_f;

architecture miao of div_f is

begin

process(clk)

variable cnt:integer range 0 to 3999999;

variable ff:std_logic;

begin

if rst='0' then

cnt:=0;

elsif clk'event and clk='1' then

if cnt<3999999 then

cnt:=cnt+1;

else

cnt:=0;

ff:=not ff;

end if;

end if;

clkout<=ff;

end process;

end miao;

计数模块:

library IEEE;

use IEEE.STD_LOGIC_1164.ALL;

use IEEE.STD_LOGIC_ARITH.ALL;

use IEEE.STD_LOGIC_UNSIGNED.ALL;

entity counter is

port(clock:in std_logic;

con :in std_logic;

countnum:buffer integer range 0 to 22);--15秒的主方向绿灯加8秒的次方向end counter;-------------------------------------------------------------的绿灯(包括黄灯时间)

architecture behavioral of counter is

begin

process(clock)

begin

if rising_edge(clock)then

if con='0' then

countnum<=countnum;

else

if countnum=22 then

countnum<=0;

else

countnum<=countnum+1;

end if;

end if;

end if;

end process;

end behavioral;

分位模块:

library IEEE;

use IEEE.STD_LOGIC_1164.ALL;

use IEEE.STD_LOGIC_ARITH.ALL; use IEEE.STD_LOGIC_UNSIGNED.ALL; entity fenwei is

port(Numin:in integer range 0 to 22; NumA,NumB:out integer range 0 to 9); end fenwei;

architecture behavioral of fenwei is

begin

process(Numin)

begin

if Numin>=30 then

NumA<=0;

NumB<=0;

elsif Numin>=20 then

NumA<=2;

NumB<=Numin-20;

elsif Numin>=10 then

NumA<=1;

NumB<=Numin-10;

else

NumA<=0;

NumB<=Numin;

end if;

end process;

end behavioral;

控制模块:

library IEEE;

use IEEE.STD_LOGIC_1164.ALL;

use IEEE.STD_LOGIC_ARITH.ALL;

use IEEE.STD_LOGIC_UNSIGNED.ALL; entity controller is

port(Clock:in std_logic;

con :in std_logic;

CountNum:in integer range 0 to 22;

NumA :out integer range 0 to 22;

r,y,g,ryg1:out std_logic;

ryg2,ryg3,ryg4:out std_logic );

end controller;

architecture behavioral of controller is begin

process(Clock)

begin

if falling_edge(Clock)then-----紧急控制

if con='0'then

r<='1';

y<='0';

g<='0';

ryg1<='0';

ryg2<='0';

ryg3<='0';

ryg4<='0';

elsif CountNum<=11 then--主向绿灯----- NumA<=15-CountNum;

r<='1';

y<='0';

g<='1';

ryg1<='1';

ryg2<='1';

ryg3<='0';

ryg4<='0';

elsif CountNum<=14 then--主向黄灯-- NumA<=15-CountNum;

r<='1';

y<='1';

g<='0';

ryg1<='1';

ryg2<='1';

ryg3<='0';

ryg4<='0';

elsif CountNum<=19 then----次向绿灯NumA<=23-CountNum;

r<='1';

y<='0';

g<='1';

ryg1<='0';

ryg2<='0';

ryg3<='1';

ryg4<='1';

elsif CountNum<=22 then----次向黄灯-- NumA<=23-CountNum;

r<='1';

y<='1';

g<='0';

ryg1<='0';

ryg2<='0';

ryg3<='1';

ryg4<='1';

end if;

end if;

end process;

end behavioral;

数码管模块:

library IEEE;

use IEEE.STD_LOGIC_1164.ALL;

use IEEE.STD_LOGIC_ARITH.ALL;

use IEEE.STD_LOGIC_UNSIGNED.ALL; entity shumaguan is

port(data:in integer range 0 to 9;

segout:out std_logic_vector(7 downto 0)); end shumaguan;

architecture behavioral of shumaguan is begin

process(data)

begin

case data is

when 0=>segout<="11000000";

when 1=>segout<="11111001";

when 2=>segout<="10100100";

when 3=>segout<="10110000";

when 4=>segout<="10011001";

when 5=>segout<="10010010";

when 6=>segout<="10000010";

when 7=>segout<="11111000";

when 8=>segout<="10000000";

when 9=>segout<="10010000";

when others =>null;

end case;

end process;

end behavioral;

扫描模块:

library IEEE;

use IEEE.STD_LOGIC_1164.ALL;

use IEEE.STD_LOGIC_ARITH.ALL;

use IEEE.STD_LOGIC_UNSIGNED.ALL; entity scan is

port(clk:in std_logic;

NumA,NumB:in integer range 0 to 9;

segout1:out std_logic_vector(7 downto 0);

led_sel:out std_logic_vector(7 downto 0)); end scan;

architecture behavioral of scan is

component shumaguan is

port(data:in integer range 0 to 9;

segout:out std_logic_vector(7 downto 0)); end component;

signal x: integer range 0 to 9;

signal en_flag: std_logic;

signal cnt_scan:std_logic_vector(15 downto 0); begin

process(clk)

begin

if(clk'event and clk='1')then

cnt_scan<=cnt_scan+1;

end if;

end process;

process(clk)

begin

if(clk'event and clk='1')then

if cnt_scan(15 downto 13)<"011"then

en_flag<='0';

else

en_flag<='1';

end if;

end if;

end process;

process(en_flag)

begin

case en_flag is

when '0' =>led_sel<="10101010";x<=NumB;

when '1' =>led_sel<="01010101";x<=NumA;

when others =>null;

end case;

end process;

u0: shumaguan port map(data=>x,segout=>segout1); end behavioral;

UML课程设计-源代码

(object Petal version 47 _written "Rose 8.0.0303.1400" charSet 134) (object Design "Logical View" is_unit TRUE is_loaded TRUE attributes (list Attribute_Set (object Attribute tool "Java" name "IDE" value "Internal Editor") (object Attribute tool "Java" name "UserDefineTagName1" value "") (object Attribute tool "Java" name "UserDefineTagText1" value "") (object Attribute tool "Java" name "UserDefineTagApply1" value "") (object Attribute tool "Java" name "UserDefineTagName2" value "") (object Attribute tool "Java" name "UserDefineTagText2" value "") (object Attribute tool "Java" name "UserDefineTagApply2" value "") (object Attribute tool "Java" name "UserDefineTagName3" value "") (object Attribute tool "Java"

matlab课程设计题目

课题一: 连续时间信号和系统时域分析及MATLAB实现 课题要求: 深入研究连续时间信号和系统时域分析的理论知识。利用MATLAB强大的图形处理功能、符号运算功能以及数值计算功能,实现连续时间信号和系统时域分析的仿真波形。 课题内容: 一、用MATLAB实现常用连续时间信号的时域波形(通过改变参数,分析其时域特性)。 1、单位阶跃信号, 2、单位冲激信号, 3、正弦信号, 4、实指数信号, 5、虚指数信号, 6、复指数信号。 二、用MATLAB实现信号的时域运算 1、相加, 2、相乘, 3、数乘, 4、微分, 5、积分 三、用MATLAB实现信号的时域变换(参数变化,分析波形变化) 1、反转, 2、使移(超时,延时), 3、展缩, 4、倒相, 5、综合变化 四、用MATLAB实现信号简单的时域分解 1、信号的交直流分解, 2、信号的奇偶分解 五、用MATLAB实现连续时间系统的卷积积分的仿真波形 给出几个典型例子,对每个例子,要求画出对应波形。 六、用MATLAB实现连续时间系统的冲激响应、阶跃响应的仿真波形。 给出几个典型例子,四种调用格式。 七、利用MATLAB实现连续时间系统对正弦信号、实指数信号的零状态响应的仿真波形。 给出几个典型例子,要求可以改变激励的参数,分析波形的变化。 课题二: 离散时间信号和系统时域分析及MATLAB实现。 课题要求: 深入研究离散时间信号和系统时域分析的理论知识。利用MATLAB强大的图

形处理功能、符号运算功能以及数值计算功能,实现离散时间信号和系统时域分析的仿真波形。 课题内容: 一、用MATLAB绘制常用信号的时域波形(通过改变参数分析其时域特性) 1、单位序列, 2、单位阶跃序列, 3、正弦序列, 4、离散时间实指数序列, 5、离散时间虚指数序列, 6、离散时间复指数序列。 二、用MATLAB实现信号的时域运算 1、相加, 2、相乘, 3、数乘。 三、用MATLAB实现信号的时域变换(参数变化,分析波形的变化) 1、反转, 2、时移(超时,延时), 3、展缩, 4、倒相。 四、用MATLAB实现离散时间系统卷积和仿真波形 给出几个典型例子,对每个例子要求画出e(k),h(k),e(i),h(i),h(-i),Rzs(k)波形。 五、用MATLAB实现离散时间系统的单位响应,阶跃响应的仿真波形 给出几个典型例子,四中调用格式。 六、用MATLAB实现离散时间系统对实指数序列信号的零状态响应的仿真波形 给出几个典型例子,要求可以改变激励的参数,分析波形的变化。 课题三: 连续时间信号傅里叶级数分析及MATLAB实现。 课题要求: 深入研究连续时间信号傅里叶级数分析的理论知识,利用MATLAB强大的图形处理功能,符号运算功能以及数值计算功能,实现连续时间周期信号频域分析的仿真波形。 课题内容: 一、用MATLAB实现周期信号的傅里叶级数分解与综合 以周期矩形波信号为例,绘出包含不同谐波次数的合成波形,观察合成波形与原矩形 波形之间的关系及吉布斯现象。

数据库课程设计完整版

数据库课程设计完 整版

HUNAN CITY UNIVERSITY 数据库系统课程设计 设计题目:宿舍管理信息系统姓名: 学号: 专业:信息与计算科学指导教师:

20年 12月1日 目录 引言3 一、人员分配 4 二、课程设计目的和要求 4 三、课程设计过程 1.需求分析阶段 1.1应用背景 5 1.2需求分析目标5 1.3系统设计概要5 1.4软件处理对象 6 1.5系统可行性分析6 1.6系统设计目标及意义7 1.7系统业务流程及具体功能 7

1.8.1数据流程图8 2.系统的数据字典11 3.概念结构设计阶段 13 4.逻辑结构设计阶段 15 5.物理结构设计阶段 18 6.数据库实施 18 7.数据库的运行和维护 18 7.1 解决问题方法 19 7.2 系统维护 19 7.3 数据库性能评价 19 四、课程设计心得. 20参考文献 20 引言

学生宿舍管理系统对于一个学校来说是必不可少的组成部分。当前好多学校还停留在宿舍管理人员手工记录数据的最初阶段,手工记录对于规模小的学校来说还勉强能够接受,但对于学生信息量比较庞大,需要记录存档的数据比较多的高校来说,人工记录是相当麻烦的。而且当查找某条记录时,由于数据量庞大,还只能靠人工去一条一条的查找,这样不但麻烦还浪费了许多时间,效率也比较低。当今社会是飞速进步的世界,原始的记录方式已经被社会所淘汰了,计算机化管理正是适应时代的产物。信息世界永远不会是一个平静的世界,当一种技术不能满足需求时,就会有新的技术诞生并取代旧技术。21世纪的今天,信息社会占着主流地位,计算机在各行各业中的运用已经得到普及,自动化、信息化的管理越来越广泛应用于各个领域。我们针对如此,设计了一套学生宿舍管理系统。学生宿舍管理系统采用的是计算机化管理,系统做的尽量人性化,使用者会感到操作非常方便,管理人员需要做的就是将数据输入到系统的数据库中去。由于数据库存储容量相当大,而且比较稳定,适合较长时间的保存,也不容易丢失。这无疑是为信息存储量比较大的学校提供了一个方便、快捷的操作方式。本系统具有运行速度快、安全性高、稳定性好的优点,而且具备修改功能,能够快速的查询学校所需的住宿信息。 面对当前学校发展的实际状况,我们经过实地调研之后,对宿舍管理系统的设计开发做了一个详细的概述。

MATLAB课设报告

课程设计任务书 学生姓名:董航专业班级:电信1006班 指导教师:阙大顺,李景松工作单位:信息工程学院 课程设计名称:Matlab应用课程设计 课程设计题目:Matlab运算与应用设计5 初始条件: 1.Matlab6.5以上版本软件; 2.课程设计辅导资料:“Matlab语言基础及使用入门”、“Matlab及在电子信息课程中的应 用”、线性代数及相关书籍等; 3.先修课程:高等数学、线性代数、电路、Matlab应用实践及信号处理类相关课程等。 要求完成的主要任务:(包括课程设计工作量及其技术要求,以及说明书撰写等具体要求) 1.课程设计内容:根据指导老师给定的7套题目,按规定选择其中1套完成; 2.本课程设计统一技术要求:研读辅导资料对应章节,对选定的设计题目进行理论分析, 针对具体设计部分的原理分析、建模、必要的推导和可行性分析,画出程序设计框图,编写程序代码(含注释),上机调试运行程序,记录实验结果(含计算结果和图表),并对实验结果进行分析和总结。具体设计要求包括: ①初步了解Matlab、熟悉Matlab界面、进行简单操作; ②MATLAB的数值计算:创建矩阵矩阵运算、多项式运算、线性方程组、数值统计; ③基本绘图函数:plot, plot3, mesh, surf等,要求掌握以上绘图函数的用法、简单图形 标注、简单颜色设定等; ④使用文本编辑器编辑m文件,函数调用; ⑤能进行简单的信号处理Matlab编程; ⑥按要求参加课程设计实验演示和答辩等。 3.课程设计说明书按学校“课程设计工作规范”中的“统一书写格式”撰写,具体包括: ①目录; ②与设计题目相关的理论分析、归纳和总结; ③与设计内容相关的原理分析、建模、推导、可行性分析; ④程序设计框图、程序代码(含注释)、程序运行结果和图表、实验结果分析和总结; ⑤课程设计的心得体会(至少500字); ⑥参考文献(不少于5篇); ⑦其它必要内容等。 时间安排:1.5周(分散进行) 参考文献: [1](美)穆尔,高会生,刘童娜,李聪聪.MA TLAB实用教程(第二版) . 电子工业出版社,2010. [2]王正林,刘明.精通MATLAB(升级版) .电子工业出版社,2011. [3]陈杰. MA TLAB宝典(第3版) . 电子工业出版社,2011. [4]刘保柱,苏彦华,张宏林. MATLAB 7.0从入门到精通(修订版) . 人民邮电出版社,2010. 指导教师签名:年月日 系主任(或责任教师)签名:年月日

数据库课程设计完整版

HUNAN CITY UNIVERSITY 数据库系统课程设计设计题目:宿舍管理信息系统 姓名: 学号: 专业:信息与计算科学 指导教师: 20年 12月1日 目录 引言 3 一、人员分配 4 二、课程设计目的和要求 4 三、课程设计过程 1.需求分析阶段 1.1应用背景 5 1.2需求分析目标5 1.3系统设计概要 5 1.4软件处理对象 6 1.5系统可行性分析 6 1.6系统设计目标及意义7

1.7系统业务流程及具体功能 7 8 2.系统的数据字典11 3.概念结构设计阶段 13 4.逻辑结构设计阶段 15 5.物理结构设计阶段 18 6.数据库实施 18 7.数据库的运行和维护 18 7.1 解决问题方法 19 7.2 系统维护 19 7.3 数据库性能评价 19 四、课程设计心得. 20 参考文献 20 引言 学生宿舍管理系统对于一个学校来说是必不可少的组成部分。目前好多学校还停留在宿舍管理人员手工记录数据的最初阶段,手工记录对于规模小的学校来说还勉强可以接受,但对于学生信息量比较庞大,需要记录存档的数据比较多的高校来说,人工记录是相当麻烦的。而且当查找某条记录时,由于数据量庞大,还只能靠人工去一条一条的查找,这样不但麻烦还浪费了许多时间,效率也比较低。当今社会是飞速进步的世界,原始的记录方式已经被社会所淘汰了,计算机化管理正是适应时代的产物。信息世界永远不会是一个平静的世界,当一种技术不能满足需求时,就会有新的技术诞生并取代旧技术。21世纪的今天,信息社会占着主流地位,计算机在各行各业中的运用已经得到普及,自动化、信息化的管理越来越广泛应用于各个领域。我们针对如此,设计了一套学生宿舍管理系统。学生宿舍管理系统采用的是计算机化管理,系统做的尽量人性化,使用者会感到操作非常方便,管理人员需要做的就是将数据输入到系统的数据库中去。由于数据库存储容量相当大,而且比较稳定,适合较长时间的保存,也不容易丢失。这无疑是为信息存储量比较大的学校提供了

5_Java课程设计源代码

package zhouchuan; import java.applet.*; import java.awt.*; import java.awt.event.*; import https://www.doczj.com/doc/131489844.html,.*; public class zhouchuan extends Applet implements ActionListener { AudioClip clip; Button buttonPlay, buttonLoop, buttonStop; public void init(){ try{ URL url=new URL("file:"+"F://ding.wav"); clip=getAudioClip(url);}catch(Exception e){ } buttonPlay=new Button("开始播放"); buttonLoop=new Button("循环播放"); buttonStop=new Button("停止播放"); buttonPlay.addActionListener(this); buttonStop.addActionListener(this); buttonLoop.addActionListener(this); add(buttonPlay); add(buttonLoop); add(buttonStop); } public void stop(){ clip.stop(); } public void actionPerformed(ActionEvent e){ if(e.getSource()==buttonPlay) clip.play(); else if(e.getSource()==buttonLoop) clip.loop();

Matlab课程设计报告

自控系统仿真软件课程设计报告 MATLAB 设计题目:牛顿摆球 姓名: 学号: 院系: 班级:1203 指导教师: 2014年12月20日

一.课程设计目的 1、熟悉课程设计的基本流程; 2、掌握MATLAB语法结构及调试方法; 3、熟悉MATLAB函数调用,熟练二维画图; 4、掌握MATLAB语言在控制方面的运用; 5、学会用MATLAB进行基本仿真; 6、掌握MATLAB编程技巧,提高编程水平。 二.系统分析 1.题目的描述: (1)牛顿摆球原理描述 五个质量相同的球体由吊绳固定,彼此紧密排列。当摆动最右侧的球并在回摆时碰撞紧密排列的另外四个球,最左边的球将被弹出,并仅有最左边的球被弹出。当然此过程也是可逆的,当摆动最左侧的球撞击其它球时,最右侧的球会被弹出。当最右侧的两个球同时摆动并撞击其他球时,最左侧的两个球会被弹出。同理相反方向同样可行,并适用于更多的球。 为了更接近现实,在这里我将考虑重力及空气阻力的影响,摆球将不会永无止境的运动下去,由于外界因素的影响,摆球运动一段时间后将回归静止状态。(2)通过MATLAB动画程序制作软件,实现下述过程 当运行程序时,把最右边的小球拉到一定的高度放下,让其碰撞其余四个小球,仅让最左边的小球被弹出,当最左边小球回摆碰撞其它球时,最右边小球又被弹出,如此循环。由于是非理想条件下,摆球的摆动幅度会随摆动次数的增加越来越小,直到静止。 时间停顿两秒,把右边两小球一起拉到一定高度放下,让其碰撞其余三个球,同样仅让左边两球被弹出,当球回摆再次碰撞时,最右边两球又被同时弹出,如此循环,因为外界因素的影响,最终五个球都会静止下来。 (3)整个实验看似简单,但要在MATLAB上完成这样一个动画过程,还是需要下点功夫,克服困难的。经过自己的努力,终于实现了整个过程,这也是一种不小的收获。 2.设计要求: (1)能够实现有阻尼摆动,即摆幅随摆动次数增加越来越小,直到静止。(2)能够让摆球弧线摆动。 三.系统设计 1.系统设计过程 (1)通过函数axis建立坐标系 (2)在坐标系范围内通过函数line画各个支架 (3)通过函数title添加标题“动量守恒实验”、函数text添加标注“牛顿摆球” (4)通过函数line画出五个球,并设定其初始位置,颜色,大小,线条的擦拭方式

数据库课程设计源代码

use kjq111007307 /*创建一个部门信息表 包含“部门号,部门名,部门经理,人数”属性列*/ create table department (depart_no char(2)primary key, depart_name char(30)not null, depart_manage char(6)not null, depart_people int not null ) /*创建一个职位信息表 包含“职位,基本薪资,福利,失业保险,住房公积金”属性列*/ create table position (pos char(30)primary key, basesalary float not null, benefits float not null, insurances float not null, housing_funds float not null ) /*创建一个职工信息表 包含"职工号,职工名,性别,年龄,学历,部门号,职位"属性列*/ create table staff_message (staff_no char(4)primary key, staff_name char(10)not null, staff_sex char(2)check(staff_sex in('男','女')), staff_age int not null, staff_edu char(10)not null, staff_dep char(2)not null, staff_job char(30)not null, foreign key(staff_dep)references department(depart_no), foreign key(staff_job)references position(pos) ) /*创建一个员工考勤表 包含“职工号,年月,迟到,缺勤,加班”属性列*/ create table staff_days (staff_no char(4), month_date char(6), staff_late int not null, staff_absent int not null, workoverdays int not null, primary key(staff_no,month_date) ) /*创建一个薪资表 包含“职工号,年月,奖金,罚金,真实薪资”属性列*/ create table salary (staff_no char(4),

matlab课程设计拟定题目

第一类:单位转换 1.长度单位换算的设计与实现 2.面积单位换算的设计与实现 3.体积单位换算的设计与实现 4.容积单位换算的设计与实现 5.质量单位换算的设计与实现 6.时间单位换算的设计与实现 7.温度单位换算的设计与实现 7.压强单位换算的设计与实现 8.角度单位换算的设计与实现 8.功率单位换算的设计与实现 第二类:曲线绘制 1.直线的自动绘制和相关计算 2.椭圆的自动绘制和相关计算 3.双曲线的自动绘制和相关计算 4.抛物线的自动绘制和相关计算 5.心脏线的自动绘制和相关计算 6.渐开线的自动绘制和相关计算 7.滚圆线的自动绘制和相关计算 8.三叶玫瑰线的自动绘制和相关计算9.四叶玫瑰线的自动绘制和相关计 10.阿基米德螺线的自动绘制和相关计算第三类:曲面绘制 1.球面的自动绘制和相关计算 2.椭球面的自动绘制和相关计算 3.单叶双曲面的自动绘制和相关计算 4.双叶双曲面的自动绘制和相关计算 5.抛物面的自动绘制和相关计算 6.双曲抛物面的自动绘制和相关计算 7.双曲柱面的自动绘制和相关计算 8.椭圆柱面的自动绘制和相关计算 9.抛物柱面的自动绘制和相关计算 10.圆锥面的自动绘制和相关计算 第四类:线性回归 1.男士身高体重相关计算经验公式 2.女士身高体重相关计算经验公式 3.男士胖瘦等级的确定 4.女士胖瘦等级的确定 5.男士身高脚长相关计算经验公式 6.女士身高脚长相关计算经验公式 7.父子身高相关性研究 8.母子身高相关性研究 9.父女身高相关性研究 10.母女身高相关性研究 第五类:学习成绩 1.期末总评自动计算的设计与实现 2.成绩等级自动评定的设计与实现 3.成绩分段自动统计的设计与实现 4.成绩分布折线自动绘制的设计与实现 5.成绩自动统计分析的设计与实现 6.试卷分布自动分析的设计与实现 7.试卷难度自动分析的设计与实现 8.考试成绩名次自动生成的设计与实现

完整word版,数据库课程设计总结,推荐文档

数据库课程设计总结 数据库课程设计个人总结 姓名:邢王秀学号:201624101215 班级:09计本班 一个月的时间非常快就过去了,这一个月我不敢说自 己有多大的进步,获得了多少知识,但起码是了解了项目开 发的部分过程。虽说上过数据库相关的课程,但是没有亲身 经历过相关的设计工作细节。这次课程设计给我提供了一个 很好的机会。 通过这次课程设计发现这其中需要的很多知识我们没 有接触过,上网查找资料的时候发现我们以前所学到的仅仅 是皮毛,还有很多需要我们掌握的东西我们根本不知道。同 时也发现有很多已经学过的东西我们没有理解到位,不能灵 活运用于实际,不能很好的用来解决问题,这就需要自己不 断的大量的实践,通过不断的自学,不断地发现问题,思考 问题,进而解决问题。在这个过程中我们将深刻理解所学知 识,同时也可以学到不少很实用的东西。 这次的数据库课程设计,我们组负责的企业信息文档 管理系统的设计。这课题是自拟的。我们组实行的分工合作。我主要是负责数据库功能模块设计这部分。 从各种文档的阅读到需求分析、概要设计、数据库总 体设计、代码编写与调试,我们都准备了好长时间。组内分

工合作的整个过程,我亲身体验了一回系统的设计开发过 程,分工合作的好处。很多东西书上写的很清楚,貌似看着 也很简单,思路非常清晰。但真正需要自己想办法去设计一 个系统的时候才发现其中的难度。经常做到后面突 然就发现自己一开始的设计有问题,然后又回去翻工, 在各种反复中不断完善自己的想法。 我想有这样的问题不止我一个,事后想想是一开始着 手做的时候下手过于轻快,或者说是根本不了解自己要做的 这个系统是给谁用的。因为没有事先做过仔细的用户调查, 不知道整个业务的流程,也不知道用户需要什么功能就忙着 开发,这是作为设计开发人员需要特别警惕避免的,不然会 给后来的工作带来很大的麻烦,甚至可能会需要全盘推倒重 来。所以以后的课程设计要特别注意这一块的设计。 经过组内讨论,我们确定的课题是企业信息文档管理 系统。说实话,我对这个系统不是很了解。通过上网查找资 料、相关文献的阅读,我对该系统有了大体的了解。 在需求分析过程中,我们通过上网查资料,去图书馆 查阅相关资料,结合我们的生活经验,根据可行性研究的结 果和用户的需要,分析现有情况及问题。在一个月的时间里,不断地对程序及各模块进行修改、编译、调试、运行,其间 遇到很多问题,经过组内讨论。最终把它解决了。通过这次 课程设计,我对数据库的设计更加熟练了。

教师课程管理系统(c++课程设计源代码)

#include #include #include #include #include #include using namespace std; using std::string; class ke; ostream&operator<<(ostream&dist,ke&k); istream&operator>>(istream&sour,ke&k); class teacher; ostream&operator<<(ostream&dist,teacher&t); istream&operator>>(istream&sour,teacher&t); class ke { protected: static int keID; string keName; char keJB; int keXS; int keJC; int keBH; public: ke(string name="未命名的课程",char jb='0',int xs=0,int jc=0,int bh=0); void show(); friend ostream&operator<<(ostream&dist,ke&k); friend istream&operator>>(istream&sour,ke&k); int getkeJC(){return keJC;} string getkeName(){return keName;} }; int ke::keID=0; ke::ke(string name,char jb,int xs,int jc,int bh) { keID++; bh=keID; keName=name; keJB=jb; keXS=xs; keJC=jc; keBH=bh; } void ke::show() {

matlab课程设计题目全

Matalab课后作业 学院:电气信息工程及其自动化 班级: 学号: 姓名: 完成日期: 2012年12月23日

1、 matlab 软件主要功能是什么?电气工程及其自动化专业本科生主要用到哪 些工具箱,各有什么功能? 答:(1)主要功能:工业研究与开发; 数学教学,特别是线性代数;数值分析和科学计算方面的教学与研究;电子学、控制理论和物理学等工程和科学学科方面的教学与研究; 经济学、化学和生物学等计算问题的所有其他领域中的教学与研究;符号计算功能;优化工具;数据分析和可视化功能;“活”笔记本功能;工具箱;非线性动态系统建模和仿真功能。 (2)常用工具箱: (a ) MATLAB 主工具箱:扩充matlab 的数值计算、符号运算功能、图形建模仿真功能、文字处理功能以及与硬件实时交互功能。 (b )符号数学工具箱:符号表达式、符号矩阵的创建;符号可变精度求解;因式分解、展开和简化;符号代数方程求解;符号微积分;符号微分方程。 (c ) SIMULINK 仿真工具箱: Simulink 是用于动态系统和嵌入式系统的多领域仿真和基于模型的设计工具。对各种时变系统,包括通讯、控制、信号处理、视频处理和图像处理系统,Simulink 提供了交互式图形化环境和可定制模块库来对其进行设计、仿真、执行和测试。 (d )信号处理工具箱:数字和模拟滤波器设计、应用及仿真;谱分析和估计;FFT 、DCT 等 变换;参数化模型。 (e )控制系统工具箱:连续系统设计和离散系统设计;状态空间和传递函数以及模型转换;时域响应(脉冲响应、阶跃响应、斜坡响应);频域响应(Bode 图、Nyquist 图);根轨迹、极点配置。 2、设y=23e t 4-sin(43t+3 ),要求以0.01秒为间隔,求出y 的151个点,并求出其导数的值和曲线。 程序如下: clc clear x=0:0.01:1.5; y=sqrt(3)/2*exp(-4*x).*sin(4*sqrt(3)*x+pi/3); y1=diff(y); subplot(2,1,1) plot(x,y) subplot(2,1,2) plot(x(1:150),y1) 曲线如下图所示:

数据库课程设计(完整版)

HUNAN CITY UNIVERSITY 数据库系统课程设计 设计题目:宿舍管理信息系统 姓名: 学号: 专业:信息与计算科学 指导教师: 20年 12月1日

目录 引言 3 一、人员分配 4 二、课程设计目的和要求 4 三、课程设计过程 1.需求分析阶段 1.1应用背景 5 1.2需求分析目标5 1.3系统设计概要 5 1.4软件处理对象 6 1.5系统可行性分析 6 1.6系统设计目标及意义7 1.7系统业务流程及具体功能 7 1.8.1数据流程图8 2.系统的数据字典11 3.概念结构设计阶段 13 4.逻辑结构设计阶段 15 5.物理结构设计阶段 18 6.数据库实施 18 7.数据库的运行和维护 18 7.1 解决问题方法 19 7.2 系统维护 19 7.3 数据库性能评价 19 四、课程设计心得. 20参考文献 20

引言 学生宿舍管理系统对于一个学校来说是必不可少的组成部分。目前好多学校还停留在宿舍管理人员手工记录数据的最初阶段,手工记录对于规模小的学校来说还勉强可以接受,但对于学生信息量比较庞大,需要记录存档的数据比较多的高校来说,人工记录是相当麻烦的。而且当查找某条记录时,由于数据量庞大,还只能靠人工去一条一条的查找,这样不但麻烦还浪费了许多时间,效率也比较低。当今社会是飞速进步的世界,原始的记录方式已经被社会所淘汰了,计算机化管理正是适应时代的产物。信息世界永远不会是一个平静的世界,当一种技术不能满足需求时,就会有新的技术诞生并取代旧技术。21世纪的今天,信息社会占着主流地位,计算机在各行各业中的运用已经得到普及,自动化、信息化的管理越来越广泛应用于各个领域。我们针对如此,设计了一套学生宿舍管理系统。学生宿舍管理系统采用的是计算机化管理,系统做的尽量人性化,使用者会感到操作非常方便,管理人员需要做的就是将数据输入到系统的数据库中去。由于数据库存储容量相当大,而且比较稳定,适合较长时间的保存,也不容易丢失。这无疑是为信息存储量比较大的学校提供了一个方便、快捷的操作方式。本系统具有运行速度快、安全性高、稳定性好的优点,并且具备修改功能,能够快速的查询学校所需的住宿信息。 面对目前学校发展的实际状况,我们通过实地调研之后,对宿舍管理系统的设计开发做了一个详细的概述。

c语言课程设计源代码

c语言课程设计源代码标准化管理处编码[BBX968T-XBB8968-NNJ668-MM9N]

学校运动会管理系统问题描述: (1) 初始化输入:N-参赛院系总数,M-男子竞赛项目数,W-女子竞赛项目数; (2) 各项目名次取法有如下几种: 取前5名:第1名得分 7,第2名得分 5,第3名得分3,第4名得分2,第5名得分 1; (3) 由程序提醒用户填写比赛结果,输入各项目获奖运动员的信息。 (4) 所有信息记录完毕后,用户可以查询各个院系或个人的比赛成绩,生成团体总分报表,查看参赛院系信息、获奖运动员、比赛项目信息等。 程序代码: #include<> #include<> #define N 3 #define M 3 #define W 3 char* n_number[3]={"1","院系2","院系3"}; char* m_number[3]={"1","男项2","男项3"};

char* w_number[3]={"女项1","女项2","女项3"}; int size=2; struct student { char num[10]; char name[20]; char xiangmu[20]; int score; char ximing[20]; }stu[100],temp; void input() um,&stu[i].name,&stu[i].xiangmu,&stu[i].score,&stu[i].ximing); iming,n_number[0])==0) iming); iming,n_number[h])==0) for(int s=0;s

数据库课程设计 教务管理系统

洛阳理工学院 课程设计报告 课程名称数据库课程设计 设计题目教务管理系统 专业计算机科学与技术 班级B120505 学号 姓名 完成日期2015-1-4

课程设计任务书 设计题目:教务管理系统 设计内容与要求: 设计教务管理系统,类似于我校教务管理系统,有四类用户:教务员、学生、教师、管理员教务员可以输入学生、教师、班级、课程信息。一个班级只属于一个专业,一个学生只属于一个班级。教务员负责输入每个专业、每个班级需要学习哪些课程,指定课程的任课教师。教师可以查看学习该课程的学生名单。课程结束后,教师可以录入课程成绩。一个教师可以教授多个班的多门课程,每门课由多位老师讲授。课程分两类,必修课和选修课。系统要记录每个学生学习各门必修课的成绩,还要记录学生选修了哪些选修课以及课程成绩。学生可以查看自己各门课程的成绩。学生还可以进行评教,给老师打分。管理员可以输入教室信息,并结合班级、课程、教室信息实现自动排课。 要求: 1.完成本系统的需求分析,写出功能需求和数据需求描述; 2.完成数据库的概念结构设计、逻辑结构设计、物理结构设计; 3.完成本系统的部分功能模块的程序界面设计。 指导教师:高春玲 2014 年12 月28 日 课程设计评语 成绩: 指导教师:_______________ 年月日

目录 一、概述 2 1.1、本设计的目的与意义 2 1.2、数据库开发工具和应用程序开发工具 2 二、需求分析 2 2.1功能需求 2 2.2数据需求 2 三、概念结构设计 2 3.1、E-R模型设计 2 3.2、总体E-R图描述 4 四、逻辑结构设计 4 4.1、关系模型 4 4.2、关系模式的优化与说明 4 五、物理结构设计 5 5.1建立数据库 5 5.2表与表结构 5 六、应用程序设计 6 6.1、系统总体结构 6 6.2、系统界面与源代码7 6.2.1、界面7 6.2.2、功能描述9 6.2.3、程序源代码9 七、设计总结23 八、体会与收获24 九、参考文献24

数据库课程设计报告户籍管理系统完整版

. 中北大学 数据库课程设计 说明书 班 级: 学号: 姓 名: 学 专 方 向: 指导教师: 企业信息化软件开发与应用

成绩: 2014 年 6 月 1.需求分析 随着城市人口规模的扩大和公安部门对城市及农村人口管理工作规性的逐渐增强,户籍管理工作的业务量急剧增大。传统的手工方法,存在效率低、易出错等缺点,已经难以满足当前户籍管理工作的要求。 因此,结合当前日益成熟的计算机相关技术,开发一个专门针对户籍管理的系统已经非常必要了。户籍管理信息系统是公安部门不可缺少的一部分,更是适应现代户籍制度并推动户籍管理走向科学化、规化、自动化的必要条件。该管理系统能够为用户提供充足的信息和快捷的查询手段,以帮助用户了解户籍工作的情况。它大大改善了公安部门管理、查询户籍的基础工作环境,在一定程度上反映出户籍管理的现代化管理模式。因此人口户籍管理信息系统的开发迫在眉睫。 该课程设计就户籍的迁入、迁出、注销,身份证的办理、领取做了简单地设计。 1.1项目开发背景 近年来,随着计算机技术的发展和互联网时代的到来,我们已经进入了信息时代,随着人口的不断增长,户籍管理部门也应得到良好的发展,利用现代化管理工具使其变成半自动化必定会提高其工作效率。 1.2项目开发目的 户籍管理系统是针对户籍管理部门而开发的,为其改变人口信息仍需要手动处理和查询,个人的信息在处理中丢失或者不明确等现象而设计的。通过这个户籍管理系统,可以让

户籍管理部门提高工作质量和效率,从而达到更快捷、更准确、更方便的目的。 1.3需求分析阶段的目标与任务 1.3.1划分功能模块 在构造系统时,首先从需求出发构造数据库表,然后再由数据库表结合需求化分系统功能模块,这样就把一个大的系统分解为几个小的系统。经过调查分析,户籍信息管理系统应具有以下功能: (1)对户籍的变动进行处理。任何管理部门的户籍信息不会是一成不变的,总是在不断的变化:有迁出、有迁入、户口合并,也有因故注销。因此,设计系统时应考虑到这些情况,实现户籍的日常管理工作。 (2)对所管辖户籍所分离出的个人信息的计算、统计。找到符合条件的个人,进行核对无误后,生成档案文件进行转存,保证数据的安全完整,以此来实现身份证的办理与领取。 (3)查询统计功能。要求即可以单项查询,比如查看某个人工的户口情况等;也可以多项查询,比如同一户口特征的户口浏览,并按照所需的要求进行数据的转存。 1.3.2处理对象 户籍信息:户籍号,户主姓名 户籍成员信息:姓名,户主关系,性别,民族,籍贯,住址,身份证号,文化程度,职业,户籍号,迁入时间,迁出时间,迁入地,迁出地 身份证:姓名,身份证号,性别,民族,地址

小型公司管理系统C++课程设计(含源代码)

C++程序设计课程设计报告 课题: 小型公司工资管理系统 专业班级: 学号: 姓名: 指导教师: 评阅意见: 评定成绩: 指导老师签名:

目录 1.设计系统的目的意义 (1) 2.系统需求、功能分析 (2) 3. 数据结构表 (3) 4. 数据测试表 (5) 5. 运行和调试 (7) 6. 课程心得体会 (16) 参考书目 (17) 附录 (18)

课程设计报告内容: 1、设计系统的目的意义 本次课程设计所编辑的C++程序是为了建立“小型公司工资管理系统”。 通过对该系统的建立进一步掌握面向过程和面面相对象程序的设计的几本方法和编程技巧,巩固所学理论知识,是理论与实践相结合,提高分析问题、 解决问题的能力。 具体一点主要是为了进一步熟悉C++中类的概念、类的继承、抽象类、虚函数、虚基类、多态和文件的输入/输出等内容的实现方式。了解系统开发的需求分析、类层次设计、模块分析、编码测试、模块组装与整体调试的全过程;逐 步熟悉程序设计的方法,并养成良好的编程习惯。

2、系统需求、功能分析 A、公司主要有四类雇员:经理、技术人员、销售人员、销售经理。要求储存雇 员的编号、姓名、性别、所在部门、级别等信息,并进行工资计算。 B、工资的计算方法 (1)经理:领取固定月薪,固定月薪5000元; (2)技术人员:按小时领取月薪,工作时间*小时工资(80元/小时); (3)销售人员:按巩固销售额领取月薪,0.33*销售额; (4)销售经理:既拿固定月薪也领取销售提成,0.33*销售额+固定月薪(5000元)。 C、功能分析 (1)添加功能:程序能够任意添加上述四类人员的记录,可提供选择界面供用户选择所要添加的人员类别,要求员工的编号要唯一,如果添加了重复编号的记录时,则提示数据添加重复并取消添加。 (2)查询功能:可根据编号、姓名等信息对已添加的记录进行查询,如果未找到,给出相应的提示信息,如果找到,则显示相应的记录信息; (3)显示功能:可显示当前系统中所有记录,每条记录占据一行。 (4)编辑功能:可根据查询结果对相应的记录进行修改,修改时注意编号的唯一性。 (5)删除功能:主要实现对已添加的人员记录进行删除。如果当前系统中没有相应的人员记录,则提示“记录为空!”并返回操作;否则,输入要删除的人员的编号或姓名,根据所输入的信息删除该人员记录,如果没有找到该人员信息,则提示相应的记录不存。 (6)统计功能:能根据多种参数进行人员的统计。例如,统计四类人员数量以及总数,或者统计男、女员工的数量,或者统计平均工资、最高工资、最低工资等信息。 (7)读取功能:可将保存在文件中的人员信息读入到当前系统中,供用户进行使用。 (8) 退出功能:退出程序。

数据库课程设计—企业工资管理系统java版+完整代码精选

企业工资管理系统 课程设计报告 姓名XXX 班级XXXXX 学号XXXXXX 课程名称数据库原理及应用 指导教师 201X年X月X日 目录 一.工资管理系统需求分析…………………………………功能需求……………………………………………………………………………………………………………………………………… 性能需求………………………………………………… 数据流图……………………………………………… 二.总体设计………………………………………………… 数据库概念设计………………………………………… 功能模块………………………………………………… 三.系统详细设计…………………………………………… 数据库逻辑设计………………………………………… 各模块功能………………………………………………………………………………… …………………………………

………………………………… 四.系统实现…………………………………………………界面截图……………………………………………………………………… ………………………………………………………………………………… ………… 设计代码…………………………………………………五.实验总结…………………………………………………

1、需求分析 1.1功能需求 (1)、员工信息表;及时反映员工的基本信息 (2)、员工津贴表,反映员工津贴 (3)、员工基本工资表 功能描述 (1)、基本工资的设定 (2)、津贴的设定 (3)、计算出月工资 (4)、录入员工工资信息 (5)、添加员工工资信息 (6)、更改员工工资信息 性能需求 此工资管理系统对工资数据精度的计算能在默认情况之下精确到小数点后3位小数,即是精确到分的计算。但在用户使用过程中,能自行根据实际情况进行小数计算精度的设定,最大能允许保留小数点后5位的精度。在时间特性上,当用户发出命令请求时的服务器的响应时间、对数据更新处理、工资数据的查询检索等上,同样要求系统响应时间不会超过秒时间。系统支持多种操作系统的运行环境,多不同操作系统,不同文件格式的磁盘上的数据均能实现信息的互通,及共享。当服务器移植到其他的系统平台,如:Linux平台下时,同样能和其他的系统进行数据存取同步,不会出现系统之间互不兼容的情况,系统支持多系统之间的互连互通,系统有巨大的强健性。本课程设计是用Java 语言编写,mysql数据库。 数据流图 根据工资管理要求及用户需求调查分析,得到以下数据流图 图第一层数据流图

MATLAB课程设计任务书

课程设计任务书 学生姓名:专业班级:电信 指导教师:工作单位:信息工程学院 题目:MATLAB运算与应用设计2 初始条件: 1.MATLAB6.5以上版本软件; 2.课程设计辅导资料:“MATLAB语言基础及使用入门”、“MATLAB及在电子信息课程中的 应用”等; 3.先修课程:信号与系统、数字信号处理、MATLAB应用实践及信号处理类课程等。 要求完成的主要任务: (包括课程设计工作量及其技术要求,以及说 明书撰写等具体要求) (1)选择一本《MATLAB教程》,学习该教程的全部内容,包括使用方法、数组运算、矩阵运算、数学运算、程序设计、符号计算、图形绘制、GUI设计等内容; (2)对该套综合题的10道题,进行理论分析,针对具体设计部分的原理分析、建模、必要的推导和可行性分析,画出程序设计框图,编写程序代码(含注释),上机调试运行程序,记录实验结果(含计算结果和图表)。 (3)对实验结果进行分析和总结; (4)要求阅读相关参考文献不少于5篇; (5)根据课程设计有关规范,按时、独立完成课程设计说明书。 时间安排: (1) 布置课程设计任务,查阅资料,学习《MATLAB教程》十周; (2) 进行编程设计一周; (3) 完成课程设计报告书一周; 指导教师签名:年月日 系主任(或责任教师)签名:年月日

目录 1 MATLAB概述 (3) 1.1MATLAB简介 (4) 1.2MATLAB的功能 (4) 1.3MATLAB 的典型应用 (6) 2设计题目:MATLAB运算与应用设计套题二 (6) 3设计内容 (8) 3.1 题一 (8) 3.2 题二 (8) 3.3 题三 (9) 3.4 题四 (10) 3.5 题五 (15) 3.6 题六 (15) 3.7 题七 (15) 3.8 题八 (16) 3.9 题九 (17) 3.10题十 (18) 4 课程设计心得 (20) 5参考文献 (21) 6 本科生课程设计成绩评定表 (22)

相关主题
文本预览
相关文档 最新文档