版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、<p><b> EDA</b></p><p><b> 課程設(shè)計</b></p><p> 題目:串口控制器設(shè)計 </p><p> 班級: </p><p> 姓名: </p><p&
2、gt; 學號: </p><p><b> 一:串口簡介</b></p><p> 串口是可以在使用一根線發(fā)送數(shù)據(jù)的同時用另一根線接收數(shù)據(jù)。串口通信協(xié)議也可以用于獲取遠程采集設(shè)備的數(shù)據(jù)。通過RS-232以實現(xiàn)計算機之間、計算機與設(shè)備之間相互通信,目前仍是通訊領(lǐng)域廣泛使用的方法之一。幾乎每臺計算機都有一兩個串行接口,用來與調(diào)制解調(diào)
3、器、實驗室設(shè)備、工控設(shè)備、POS終端等進行數(shù)據(jù)傳輸。RS-232以其方便、經(jīng)濟的實現(xiàn)特點,一直深受工程界的青睞。不論是在電力、工控還是電信、金融交通等諸多行業(yè)都有廣泛的應(yīng)用。</p><p> 系統(tǒng)主芯片采用RS-232串口通信控制器,由基本時鐘發(fā)生電路模塊,復位電路模塊,波特率選擇模塊,數(shù)據(jù)幀格式選擇模塊,串并轉(zhuǎn)換模塊組成。經(jīng)編譯和仿真所設(shè)計的程序,在可編程邏輯器件上下載驗證,結(jié)合FPGA技術(shù)高度靈活性與模塊
4、化的特點,實現(xiàn)基本RS-232總線通信的功能,以實現(xiàn)串口數(shù)據(jù)幀結(jié)構(gòu)選擇,串并轉(zhuǎn)換,波特率選擇等功能。通過軟件仿真,得到功能的驗證,并進行功能邏輯模塊的整合,從而驗證設(shè)計的可行性與可靠性。</p><p> 本模塊的功能是驗證實現(xiàn)和PC機進行基本的串口通信的功能。需要在PC機上安裝一個串口調(diào)試工具來驗證程序的功能。程序?qū)崿F(xiàn)了一個收發(fā)一幀10個bit(即無奇偶校驗位)的串口控制器,10個bit是1位起始位,8個數(shù)據(jù)
5、位,1個結(jié)束位。串口的波特率由程序中定義的div_par參數(shù)決定,更改該參數(shù)可以實現(xiàn)相應(yīng)的波特率。程序當前設(shè)定的div_par 的值是0x104,對應(yīng)的波特率是9600。用一個8倍波特率的時鐘將發(fā)送或接受每一位bit的周期時間劃分為8個時隙以使通信同步.程序的工作過程是:串口處于全雙工工作狀態(tài),按動SW0,F(xiàn)PGA向PC發(fā)送“welcome"字符串(串口調(diào)試工具設(shè)成按ASCII碼接受方式);PC可隨時向FPGA發(fā)送0-F的十六
6、進制數(shù)據(jù),F(xiàn)PGA接受后顯示在7段數(shù)碼管上。</p><p><b> 二:設(shè)計方案。</b></p><p><b> 1:接收模塊設(shè)計</b></p><p> 串口接收模塊針對于接收串行數(shù)據(jù)進行協(xié)議包的解析,實現(xiàn)串行數(shù)據(jù)輸入,并行數(shù)據(jù)輸出的功能,從接收判斷的角度,實現(xiàn)了對于串口協(xié)議的解析功能。</p>
7、;<p><b> 2: 發(fā)送模塊設(shè)計</b></p><p> 串口發(fā)送模塊針對于接收并行數(shù)據(jù)進行協(xié)議的組包設(shè)計,實現(xiàn)并行數(shù)據(jù)輸入,串行數(shù)據(jù)輸出的功能,從發(fā)送的角度,實現(xiàn)了對于串口協(xié)議的組合功能。發(fā)送模塊設(shè)計與接收模塊類似,依然針對波特率,數(shù)據(jù)位,校驗位,停止位進行控制,實現(xiàn)全雙向的串口通信控制功能。</p><p><b> 三:電路
8、原理圖</b></p><p><b> 四:軟件流程</b></p><p><b> 五:實驗源程序</b></p><p> library IEEE;</p><p> use IEEE.STD_LOGIC_1164.ALL;</p><p>
9、use IEEE.STD_LOGIC_ARITH.ALL;</p><p> use IEEE.STD_LOGIC_UNSIGNED.ALL; </p><p> ENTITY UART IS</p><p><b> PORT (</b></p><p> clk : IN std_logic; &l
10、t;/p><p> rst : IN std_logic; </p><p> rxd : IN std_logic; </p><p> txd : OUT std_logic; </p><p> en : OUT std_logic_vector(7 downto 0); </p>&
11、lt;p> seg_data : OUT std_logic_vector(7 DOWNTO 0); </p><p> key_input : IN std_logic </p><p><b> ); </b></p><p><b> END UART;</b></p>
12、<p> ARCHITECTURE arch OF UART IS</p><p> -- //////////////////inner reg////////////////////</p><p> SIGNAL div_reg : std_logic_vector(15 DOWNTO 0); </p><p> SIGN
13、AL div8_tras_reg : std_logic_vector(2 DOWNTO 0); </p><p> SIGNAL div8_rec_reg : std_logic_vector(2 DOWNTO 0); </p><p> SIGNAL state_tras : std_logic_vector(3 DOWNTO 0); </p>
14、;<p> SIGNAL state_rec : std_logic_vector(3 DOWNTO 0); </p><p> SIGNAL clkbaud_tras : std_logic; </p><p> SIGNAL clkbaud_rec : std_logic; </p><p> SIGN
15、AL clkbaud8x : std_logic; </p><p> SIGNAL recstart : std_logic; </p><p> SIGNAL recstart_tmp : std_logic; </p><p> SIGNAL trasstart : st
16、d_logic; </p><p> SIGNAL rxd_reg1 : std_logic; </p><p> SIGNAL rxd_reg2 : std_logic; </p><p> SIGNAL txd_reg : std_logic; </p><p&g
17、t; SIGNAL rxd_buf : std_logic_vector(7 DOWNTO 0); </p><p> SIGNAL txd_buf : std_logic_vector(7 DOWNTO 0); </p><p> SIGNAL send_state : std_logic_vector(2 DOWNTO 0);-
18、</p><p> SIGNAL cnt_delay : std_logic_vector(19 DOWNTO 0);- </p><p> SIGNAL start_delaycnt : std_logic; </p><p> SIGNAL key_entry1 : std_logic; </p>
19、<p> SIGNAL key_entry2 : std_logic; </p><p> --//////////////////////////////////////////////</p><p> CONSTANT div_par : std_logic_vector(15 DOWNTO 0) := "00000001
20、00000100"; </p><p> SIGNAL txd_xhdl3 : std_logic; </p><p><b> BEGIN</b></p><p> en <="01010101" ;- </p><p> txd
21、 <= txd_xhdl3; </p><p> txd_xhdl3 <= txd_reg ;</p><p> PROCESS(clk,rst)</p><p><b> BEGIN</b></p><p> IF (NOT rst = ’1’) THEN</p><p>
22、; cnt_delay <= "00000000000000000000"; </p><p> start_delaycnt <= ’0’; </p><p> ELSIF(clk’EVENT AND clk=’1’)THEN</p><p> IF (start_delaycnt = ’1’) THEN<
23、/p><p> IF (cnt_delay /= "11000011010100000000") THEN</p><p> cnt_delay <= cnt_delay + "00000000000000000001"; </p><p><b> ELSE</b></p>
24、<p> cnt_delay <= "00000000000000000000"; </p><p> start_delaycnt <= ’0’; </p><p><b> END IF;</b></p><p><b> ELSE</b></p>
25、;<p> IF ((NOT key_input=’1’) AND (cnt_delay = "00000000000000000000")) THEN</p><p> start_delaycnt <= ’1’; </p><p><b> END IF;</b></p><p><
26、b> END IF;</b></p><p><b> END IF;</b></p><p> END PROCESS;</p><p> PROCESS(clk,rst)</p><p><b> BEGIN</b></p><p> IF
27、(NOT rst = ’1’) THEN</p><p> key_entry1 <= ’0’; </p><p> ELSIF(clk’EVENT AND clk=’1’)THEN</p><p> IF (key_entry2 = ’1’) THEN</p><p> key_entry1 <= ’0’;
28、</p><p><b> ELSE</b></p><p> IF (cnt_delay = "11000011010100000000") THEN</p><p> IF (NOT key_input = ’1’) THEN</p><p> key_entry1 <= ’1’;
29、 </p><p><b> END IF;</b></p><p><b> END IF;</b></p><p><b> END IF;</b></p><p><b> END IF;</b></p><p>
30、 END PROCESS;</p><p> PROCESS(clk,rst)</p><p><b> BEGIN</b></p><p> IF (NOT rst = ’1’) THEN</p><p> div_reg <= "0000000000000000"; <
31、/p><p> ELSIF(clk’EVENT AND clk=’1’)THEN</p><p> IF (div_reg = div_par - "0000000000000001") THEN</p><p> div_reg <= "0000000000000000"; </p><p&
32、gt;<b> ELSE</b></p><p> div_reg <= div_reg + "0000000000000001"; </p><p><b> END IF;</b></p><p><b> END IF;</b></p>&l
33、t;p> END PROCESS;</p><p> PROCESS(clk,rst) </p><p><b> BEGIN</b></p><p> IF (NOT rst = ’1’) THEN</p><p> clkbaud8x <= ’0’; </p><p&g
34、t; ELSIF(clk’EVENT AND clk=’1’)THEN</p><p> IF (div_reg = div_par - "0000000000000001") THEN</p><p> clkbaud8x <= NOT clkbaud8x; </p><p><b> END IF;</b&
35、gt;</p><p><b> END IF;</b></p><p> END PROCESS;</p><p> PROCESS(clkbaud8x,rst)</p><p><b> BEGIN</b></p><p> IF (NOT rst = ’1’)
36、 THEN</p><p> div8_rec_reg <= "000"; </p><p> ELSE IF(clkbaud8x’EVENT AND clkbaud8x = ’1’) THEN</p><p> IF (recstart = ’1’) THEN </p><p> div8_rec
37、_reg <= div8_rec_reg + "001"; </p><p><b> END IF;</b></p><p><b> END IF;</b></p><p><b> END IF;</b></p><p> END
38、PROCESS;</p><p> PROCESS(clkbaud8x,rst)</p><p><b> BEGIN</b></p><p> IF (NOT rst = ’1’) THEN</p><p> div8_tras_reg <= "000"; </p>
39、<p> ELSE IF(clkbaud8x’EVENT AND clkbaud8x = ’1’) THEN</p><p> IF (trasstart = ’1’) THEN</p><p> div8_tras_reg <= div8_tras_reg + "001";- </p><p><b>
40、 END IF;</b></p><p><b> END IF;</b></p><p><b> END IF;</b></p><p> END PROCESS;</p><p> PROCESS(div8_rec_reg)</p><p><
41、b> BEGIN</b></p><p> IF (div8_rec_reg = "111") THEN</p><p> clkbaud_rec <= ’1’; </p><p><b> ELSE</b></p><p> clkbaud_rec <=
42、’0’; </p><p><b> END IF;</b></p><p> END PROCESS;</p><p> PROCESS(div8_tras_reg)</p><p><b> BEGIN</b></p><p> IF (div8_tras
43、_reg = "111") THEN</p><p> clkbaud_tras <= ’1’; </p><p><b> ELSE</b></p><p> clkbaud_tras <= ’0’; </p><p><b> END IF;</b&g
44、t;</p><p> END PROCESS;</p><p> PROCESS(clkbaud8x,rst)</p><p><b> BEGIN</b></p><p> IF (NOT rst = ’1’) THEN</p><p> txd_reg <= ’1’;
45、</p><p> trasstart <= ’0’; </p><p> txd_buf <= "00000000"; </p><p> state_tras <= "0000"; </p><p> send_state <= "000&
46、quot;; </p><p> key_entry2 <= ’0’; </p><p> ELSE IF(clkbaud8x’EVENT AND clkbaud8x = ’1’) THEN</p><p> IF (NOT key_entry2 = ’1’) THEN</p><p> IF (key_entry1
47、 = ’1’) THEN</p><p> key_entry2 <= ’1’; </p><p> txd_buf <= "01110111"; --"w"</p><p><b> END IF;</b></p><p><b> ELS
48、E</b></p><p> CASE state_tras IS</p><p> WHEN "0000" => </p><p> IF ((NOT trasstart=’1’) AND (send_state < "111") ) THEN</p><p> tr
49、asstart <= ’1’; </p><p><b> ELSE</b></p><p> IF (send_state < "111") THEN</p><p> IF (clkbaud_tras = ’1’) THEN</p><p> txd_reg <=
50、’0’; </p><p> state_tras <= state_tras + "0001"; </p><p><b> END IF;</b></p><p><b> ELSE</b></p><p> key_entry2 <= ’0’
51、; </p><p> state_tras <= "0000"; </p><p><b> END IF;</b></p><p><b> END IF;</b></p><p> WHEN "0001" => -<
52、/p><p> IF (clkbaud_tras = ’1’) THEN</p><p> txd_reg <= txd_buf(0); </p><p> txd_buf(6 DOWNTO 0) <= txd_buf(7 DOWNTO 1); </p><p> state_tras <= state_tr
53、as + "0001"; </p><p><b> END IF;</b></p><p> WHEN "0010" => </p><p> IF (clkbaud_tras = ’1’) THEN</p><p> txd_reg <= txd_b
54、uf(0); </p><p> txd_buf(6 DOWNTO 0) <= txd_buf(7 DOWNTO 1); </p><p> state_tras <= state_tras + "0001"; </p><p><b> END IF;</b></p>&l
55、t;p> WHEN "0011" => </p><p> IF (clkbaud_tras = ’1’) THEN</p><p> txd_reg <= txd_buf(0); </p><p> txd_buf(6 DOWNTO 0) <= txd_buf(7 DOWNTO 1); </p
56、><p> state_tras <= state_tras + "0001"; </p><p><b> END IF;</b></p><p> WHEN "0100" => </p><p> IF (clkbaud_tras = ’1’) THEN&
57、lt;/p><p> txd_reg <= txd_buf(0); </p><p> txd_buf(6 DOWNTO 0) <= txd_buf(7 DOWNTO 1); </p><p> state_tras <= state_tras + "0001"; </p><p>&
58、lt;b> END IF;</b></p><p> WHEN "0101" => </p><p> IF (clkbaud_tras = ’1’) THEN</p><p> txd_reg <= txd_buf(0); </p><p> txd_buf(6 DOWNTO
59、 0) <= txd_buf(7 DOWNTO 1); </p><p> state_tras <= state_tras + "0001"; </p><p><b> END IF;</b></p><p> WHEN "0110" => </p>
60、<p> IF (clkbaud_tras = ’1’) THEN</p><p> txd_reg <= txd_buf(0); </p><p> txd_buf(6 DOWNTO 0) <= txd_buf(7 DOWNTO 1); </p><p> state_tras <= state_tras + &qu
61、ot;0001"; </p><p><b> END IF;</b></p><p> WHEN "0111" => </p><p> IF (clkbaud_tras = ’1’) THEN</p><p> txd_reg <= txd_buf(0);
62、 </p><p> txd_buf(6 DOWNTO 0) <= txd_buf(7 DOWNTO 1); </p><p> state_tras <= state_tras + "0001"; </p><p><b> END IF;</b></p><p>
63、WHEN "1000" => </p><p> IF (clkbaud_tras = ’1’) THEN</p><p> txd_reg <= txd_buf(0); </p><p> txd_buf(6 DOWNTO 0) <= txd_buf(7 DOWNTO 1); </p><
64、;p> state_tras <= state_tras + "0001"; </p><p><b> END IF;</b></p><p> WHEN "1001" => </p><p> IF (clkbaud_tras = ’1’) THEN</p>
65、;<p> txd_reg <= ’1’; </p><p> txd_buf <= "01010101"; </p><p> state_tras <= state_tras + "0001"; </p><p><b> END IF;</b>
66、;</p><p> WHEN "1111" =></p><p> IF (clkbaud_tras = ’1’) THEN</p><p> state_tras <= state_tras + "0001"; </p><p> send_state <= send
67、_state + "001"; </p><p> trasstart <= ’0’; </p><p> CASE send_state IS</p><p> WHEN "000" =></p><p> txd_buf <= "01100101&qu
68、ot;; --"e" </p><p> WHEN "001" =></p><p> txd_buf <= "01101100";-- "l" </p><p> WHEN "010" =></p><p>
69、 txd_buf <= "01100011"; --"c" </p><p> WHEN "011" =></p><p> txd_buf <= "01101111";-- "o" </p><p> WHEN "100&qu
70、ot; =></p><p> txd_buf <= "01101101"; -- "m" </p><p> WHEN "101" =></p><p> txd_buf <= "01100101";-- "e" </p&g
71、t;<p> WHEN OTHERS =></p><p> txd_buf <= "00000000"; </p><p><b> END CASE;</b></p><p><b> END IF;</b></p><p> WHEN
72、 OTHERS =></p><p> IF (clkbaud_tras = ’1’) THEN</p><p> state_tras <= state_tras + "0001"; </p><p> trasstart <= ’1’; </p><p><b> EN
73、D IF;</b></p><p><b> END CASE;</b></p><p><b> END IF;</b></p><p><b> END IF;</b></p><p><b> END IF;</b></p&
74、gt;<p> END PROCESS;</p><p> PROCESS(clkbaud8x,rst) </p><p><b> BEGIN</b></p><p> IF (NOT rst = ’1’) THEN</p><p> rxd_reg1 <= ’0’; </p
75、><p> rxd_reg2 <= ’0’; </p><p> rxd_buf <= "00000000"; </p><p> state_rec <= "0000"; </p><p> recstart <= ’0’; </p>
76、<p> recstart_tmp <= ’0’; </p><p> ELSE IF(clkbaud8x’EVENT AND clkbaud8x = ’1’) THEN</p><p> rxd_reg1 <= rxd; </p><p> rxd_reg2 <= rxd_reg1; </p>&
77、lt;p> IF (state_rec = "0000") THEN</p><p> IF (recstart_tmp = ’1’) THEN</p><p> recstart <= ’1’; </p><p> recstart_tmp <= ’0’; </p><p> st
78、ate_rec <= state_rec + "0001"; </p><p><b> ELSE</b></p><p> IF ((NOT rxd_reg1 AND rxd_reg2) = ’1’) THEN </p><p> recstart_tmp <= ’1’; </p>
79、<p><b> END IF;</b></p><p><b> END IF;</b></p><p><b> ELSE</b></p><p> IF (state_rec >= "0001" AND state_rec<="10
80、00") THEN</p><p> IF (clkbaud_rec = ’1’) THEN</p><p> rxd_buf(7) <= rxd_reg2; </p><p> rxd_buf(6 DOWNTO 0) <= rxd_buf(7 DOWNTO 1); </p><p> state_r
81、ec <= state_rec + "0001"; </p><p><b> END IF;</b></p><p><b> ELSE</b></p><p> IF (state_rec = "1001") THEN</p><p>
82、 IF (clkbaud_rec = ’1’) THEN</p><p> state_rec <= "0000"; </p><p> recstart <= ’0’; </p><p><b> END IF;</b></p><p><b> END I
83、F;</b></p><p><b> END IF;</b></p><p><b> END IF;</b></p><p><b> END IF;</b></p><p><b> END IF;</b></p>
84、<p> END PROCESS;</p><p> PROCESS(rxd_buf) </p><p><b> BEGIN</b></p><p> CASE rxd_buf IS</p><p> WHEN "00110000" =></p><
85、p> seg_data <= "10101111";-- 0 </p><p> WHEN "00110001" =></p><p> seg_data <= "10100000";-- 1 </p><p> WHEN "00110010" =&
86、gt;</p><p> seg_data <= "11000111";-- 2 </p><p> WHEN "00110011" =></p><p> seg_data <= "11100101"; --3 </p><p> WHEN &
87、quot;00110100" =></p><p> seg_data <= "11101000"; --4 </p><p> WHEN "00110101" =></p><p> seg_data <= "01101101";-- 5 </p>
88、<p> WHEN "00110110" =></p><p> seg_data <= "01101111"; --6 </p><p> WHEN "00110111" =></p><p> seg_data <= "10100001&quo
89、t;; --7 </p><p> WHEN "00111000" =></p><p> seg_data <= "11101111";-- 8 </p><p> WHEN "00111001" =></p><p> seg_data <
90、;= "11101101";-- 9 </p><p> WHEN "01000001" =></p><p> seg_data <= "11101011"; --A </p><p> WHEN "01000010" =></p><
91、;p> seg_data <= "01101110";-- B </p><p> WHEN "01000011" =></p><p> seg_data <= "00001111"; --C </p><p> WHEN "01000100"
92、=></p><p> seg_data <= "11100110"; --D </p><p> WHEN "01000101" =></p><p> seg_data <= "01001111"; --E </p><p> WHEN &q
93、uot;01000110" =></p><p> seg_data <= "01001011"; --F </p><p> WHEN OTHERS =></p><p> seg_data <= "11111111"; </p><p&g
94、t;<b> END CASE;</b></p><p> END PROCESS;</p><p><b> END arch;</b></p><p><b> 六:總結(jié)</b></p><p> 在此次的RS-232串口通信控制器設(shè)計過程中,更進一步地熟悉有關(guān)數(shù)
95、字電路的知識和具體應(yīng)用。學會了利QuarterII軟件進行原理圖的繪制,硬件描述語言VHDL的編寫,程序的仿真等工作。并能根據(jù)仿真結(jié)果分析設(shè)計的存在的問題和缺陷,從而進行程序的調(diào)試和完善。</p><p> 在設(shè)計電路中,往往是先仿真后連接實物圖,但有時候仿真和電路連接并不是完全一致的,例如在對具體模塊的仿真的過程中,往往沒有考慮到整體設(shè)計的層面以及與上下模塊接口的設(shè)計。再加上器件對信號的延時等問題,實際下載到
96、實驗箱上后會出現(xiàn)一系列的問題,因此仿真圖和電路連接圖還是有一定區(qū)別的。</p><p> 此次的數(shù)字鐘設(shè)計重在于按鍵的控制和各個模塊代碼的編寫,雖然能把鍵盤接口和各個模塊的代碼編寫出來,并能正常顯示,但對于各個模塊的優(yōu)化設(shè)計還有一定的缺陷和不足。總的來說,通過這次的設(shè)計實驗更進一步地增強了實驗的動手能力,對數(shù)字鐘的工作原理也有了更加透徹的理解。</p><p><b> 七:
97、參考文獻</b></p><p> [1] 劉君,常明,秦娟,基于硬件描述語言(VHDL)的數(shù)字時鐘設(shè)計,天津理工大學學報,2007,第23卷 第4期,40-41</p><p> [2] 廖日坤,CPLD/FPGA嵌入式應(yīng)用開發(fā)技術(shù)白金手冊,中國電力出版社,2003,212-218。</p><p> [3] 王開軍,姜宇柏,面向CPLD/FPG
98、A的VHDL設(shè)計,機械工業(yè)出版社,2006,28-65。</p><p> [4] 譚會生,張昌凡,EDA技術(shù)及應(yīng)用,西安電子科技大學出版社,2002。 </p><p> [5] 高吉祥,電子技術(shù)基礎(chǔ)實驗與課程設(shè)計,電子工業(yè)出版社,2002。</p><p> [7] 謝自美,電子線路設(shè)計、實驗、測試,華中理工大學出版社,2003。</p>&
99、lt;p> [8] 趙志杰,集成電路應(yīng)用識圖方法,機械工業(yè)出版社,2003,35-40。</p><p> 大學本科生畢業(yè)設(shè)計(論文)撰寫規(guī)范</p><p> 本科生畢業(yè)設(shè)計(論文)是學生在畢業(yè)前提交的一份具有一定研究價值和實用價值的學術(shù)資料。它既是本科學生開始從事工程設(shè)計、科學實驗和科學研究的初步嘗試,也是學生在教師的指導下,對所進行研究的適當表述,還是學生畢業(yè)及學位資格認
100、定的重要依據(jù)。畢業(yè)論文撰寫是本科生培養(yǎng)過程中的基本訓練環(huán)節(jié)之一,應(yīng)符合國家及各專業(yè)部門制定的有關(guān)標準,符合漢語語法規(guī)范。指導教師應(yīng)加強指導,嚴格把關(guān)。</p><p><b> 1、論文結(jié)構(gòu)及要求</b></p><p> 論文包括題目、中文摘要、外文摘要、目錄、正文、參考文獻、致謝和附錄等幾部分。</p><p><b> 1
101、.1 題目</b></p><p> 論文題目應(yīng)恰當、準確地反映論文的主要研究內(nèi)容。不應(yīng)超過25字,原則上不得使用標點符號,不設(shè)副標題。</p><p> 1.2 摘要與關(guān)鍵詞</p><p><b> 1.2.1 摘要</b></p><p> 本科生畢業(yè)設(shè)計(論文)的摘要均要求用中、英兩種文字給出
102、,中文在前。</p><p> 摘要應(yīng)扼要敘述論文的研究目的、研究方法、研究內(nèi)容和主要結(jié)果或結(jié)論,文字要精煉,具有一定的獨立性和完整性,摘要一般應(yīng)在300字左右。摘要中不宜使用公式、圖表,不標注引用文獻編號,避免將摘要寫成目錄式的內(nèi)容介紹。</p><p><b> 1.2.2 關(guān)鍵詞</b></p><p> 關(guān)鍵詞是供檢索用的主題詞條
103、,應(yīng)采用能覆蓋論文主要內(nèi)容的通用技術(shù)詞條(參照相應(yīng)的技術(shù)術(shù)語標準),一般列3~5個,按詞條的外延層次從大到小排列,應(yīng)在摘要中出現(xiàn)。</p><p><b> 1.3 目錄</b></p><p> 目錄應(yīng)獨立成頁,包括論文中全部章、節(jié)的標題及頁碼。</p><p><b> 1.4 論文正文</b></p>
104、;<p> 論文正文包括緒論、論文主體及結(jié)論等部分。</p><p><b> 1.4.1 緒論</b></p><p> 緒論一般作為論文的首篇。緒論應(yīng)說明選題的背景、目的和意義,國內(nèi)外文獻綜述以及論文所要研究的主要內(nèi)容。</p><p> 文管類論文的緒論是畢業(yè)論文的開頭部分,一般包括說明論文寫作的目的與意義,對所研究
105、問題的認識以及提出問題。緒論只是文章的開頭,不必寫章號。</p><p> 畢業(yè)設(shè)計(論文)緒論部分字數(shù)不多于全部論文字數(shù)的1/4。</p><p> 1.4.2 論文主體</p><p> 論文主體是論文的主要部分,要求結(jié)構(gòu)合理,層次清楚,重點突出,文字簡練、通順。論文主體的內(nèi)容要求參照《大學本科生畢業(yè)設(shè)計(論文)的規(guī)定》第五章。</p>&l
106、t;p> 論文主體各章后應(yīng)有一節(jié)“本章小結(jié)”。</p><p><b> 1.4.3 結(jié)論</b></p><p> 結(jié)論作為單獨一章排列,但不加章號。</p><p> 結(jié)論是對整個論文主要成果的歸納,要突出設(shè)計(論文)的創(chuàng)新點,以簡練的文字對論文的主要工作進行評價,一般為400~1 000字。</p><p
107、><b> 1.5 參考文獻</b></p><p> 參考文獻是論文不可缺少的組成部分,它反映了論文的取材來源和廣博程度。論文中要注重引用近期發(fā)表的與論文工作直接有關(guān)的學術(shù)期刊類文獻。對理工類論文,參考文獻數(shù)量一般應(yīng)在15篇以上,其中學術(shù)期刊類文獻不少于8篇,外文文獻不少于3篇;對文科類、管理類論文,參考文獻數(shù)量一般為10~20篇,其中學術(shù)期刊類文獻不少于8篇,外文文獻不少于3篇
108、。</p><p> 在論文正文中必須有參考文獻的編號,參考文獻的序號應(yīng)按在正文中出現(xiàn)的順序排列。</p><p> 產(chǎn)品說明書、各類標準、各種報紙上刊登的文章及未公開發(fā)表的研究報告(著名的內(nèi)部報告如PB、AD報告及著名大公司的企業(yè)技術(shù)報告等除外)不宜做為參考文獻引用。但對于工程設(shè)計類論文,各種標準、規(guī)范和手冊可作為參考文獻。</p><p> 引用網(wǎng)上參考文
109、獻時,應(yīng)注明該文獻的準確網(wǎng)頁地址,網(wǎng)上參考文獻不包含在上述規(guī)定的文獻數(shù)量之內(nèi)。</p><p><b> 1.6 致謝</b></p><p> 對導師和給予指導或協(xié)助完成論文工作的組織和個人表示感謝。內(nèi)容應(yīng)簡潔明了、實事求是,避免俗套。</p><p><b> 1.7 附錄</b></p><
110、p> 如開題報告、文獻綜述、外文譯文及外文文獻復印件、公式的推導、程序流程圖、圖紙、數(shù)據(jù)表格等有些不宜放在正文中,但有參考價值的內(nèi)容可編入論文的附錄中。</p><p><b> 2、論文書寫規(guī)定</b></p><p> 2.1 論文正文字數(shù)</p><p> 理工類 論文正文字數(shù)不少于20 000字。</p>
111、<p> 文管類 論文正文字數(shù)12 000-20 000字。其中漢語言文學專業(yè)不少于7 000字。</p><p> 外語類 論文正文字數(shù)8 000-10 000個外文單詞。</p><p> 藝術(shù)類 論文正文字數(shù)3 000~5 000字。</p><p><b> 2.2 論文書寫</b></p><
112、;p> 本科生畢業(yè)論文用B5紙計算機排版、編輯與雙面打印輸出。</p><p> 論文版面設(shè)置為:畢業(yè)論文B5紙、縱向、為橫排、不分欄,上下頁邊距分別為2.5cm和2cm,左右頁邊距分別為2.4cm和2cm,對稱頁邊距、左側(cè)裝訂并裝訂線為0cm、奇偶頁不同、無網(wǎng)格。論文正文滿頁為29行,每行33個字,字號為小四號宋體,每頁版面字數(shù)為957個,行間距為固定值20磅。</p><p>
113、; 頁眉。頁眉應(yīng)居中置于頁面上部。單數(shù)頁眉的文字為“章及標題”;雙數(shù)頁眉的文字為“大學本科生畢業(yè)設(shè)計(論文)”。頁眉的文字用五號宋體,頁眉文字下面為2條橫線(兩條橫線的長度與版芯尺寸相同,線粗0.5磅)。頁眉、頁腳邊距分別為1.8cm和1.7cm。</p><p> 頁碼。頁碼用小五號字,居中標于頁面底部。摘要、目錄等文前部分的頁碼用羅馬數(shù)字單獨編排,正文以后的頁碼用阿拉伯數(shù)字編排。</p>&
114、lt;p><b> 2.3 摘要</b></p><p> 中文摘要一般為300字左右,外文摘要應(yīng)與中文摘要內(nèi)容相同,在語法、用詞和書寫上應(yīng)正確無誤,摘要頁勿需寫出論文題目。中、外文摘要應(yīng)各占一頁,編排裝訂時放置正文前,并且中文在前,外文在后。</p><p><b> 2.4 目錄</b></p><p>
115、 目錄應(yīng)包括論文中全部章節(jié)的標題及頁碼,含中、外文摘要;正文章、節(jié)題目;</p><p> 參考文獻;致謝;附錄。</p><p> 正文章、節(jié)題目(理工類要求編寫到第3級標題,即□.□.□。文科、管理類可視論文需要進行,編寫到2~3級標題。)</p><p><b> 2.5 論文正文</b></p><p>
116、 2.5.1 章節(jié)及各章標題</p><p> 論文正文分章、節(jié)撰寫,每章應(yīng)另起一頁。</p><p> 各章標題要突出重點、簡明扼要。字數(shù)一般在15字以內(nèi),不得使用標點符號。標題中盡量不用英文縮寫詞,對必須采用者,應(yīng)使用本行業(yè)的通用縮寫詞。</p><p><b> 2.5.2 層次</b></p><p>
117、層次以少為宜,根據(jù)實際需要選擇。層次代號格式見表1和表2。</p><p> 表1 理工類論文層次代號及說明</p><p> ↑ ↑</p><p> 版心左邊線 版心右邊線</p><p> 表2
118、文管類論文層次代號及說明</p><p> ↑ ↑</p><p> 版心左邊線 版心右邊線</p><p> 各層次題序及標題不得置于頁面的最后一行(孤行)。</p><p>&l
119、t;b> 2.6 參考文獻</b></p><p> 正文中引用文獻標示應(yīng)置于所引內(nèi)容最末句的右上角,用小五號字體。所引文獻編號用阿拉伯數(shù)字置于方括號“[ ]”中,如“二次銑削[1]”。當提及的參考文獻為文中直接說明時,其序號應(yīng)該與正文排齊,如“由文獻[8,10~14]可知”。</p><p> 經(jīng)濟、管理類論文引用文獻,若引用的是原話,要加引號,一般寫在段中;若引
120、的不是原文只是原意,文前只需用冒號或逗號,而不用引號。在參考文獻之外,若有注釋的話,建議采用夾注,即緊接文句,用圓括號標明。</p><p> 不得將引用文獻標示置于各級標題處。</p><p> 參考文獻書寫格式應(yīng)符合GB7714-1987《文后參考文獻著錄規(guī)則》。常用參考文獻編寫項目和順序應(yīng)按文中引用先后次序規(guī)定如下:</p><p><b>
121、著作圖書文獻</b></p><p> 序號└─┘作者.書名(版次).出版地:出版者,出版年:引用部分起止頁</p><p><b> 第一版應(yīng)省略</b></p><p><b> 翻譯圖書文獻</b></p><p> 序號└─┘作者.書名(版次).譯者.出版地: 出版者,出
122、版年:引用部分起止頁</p><p><b> 第一版應(yīng)省略</b></p><p><b> 學術(shù)刊物文獻</b></p><p> 序號└─┘作者.文章名.學術(shù)刊物名.年,卷(期):引用部分起止頁</p><p><b> 學術(shù)會議文獻</b></p>
123、<p> 序號└─┘作者.文章名.編者名.會議名稱,會議地址,年份.出版地,出版者,</p><p> 出版年:引用部分起止頁</p><p><b> 學位論文類參考文獻</b></p><p> 序號└─┘研究生名.學位論文題目.出版地.學校(或研究單位)及學位論文級別.答</p><p> 辯
124、年份:引用部分起止頁 </p><p> 西文文獻中第一個詞和每個實詞的第一個字母大寫,余者小寫;俄文文獻名第一個詞和專有名詞的第一個字母大寫,余者小寫;日文文獻中的漢字須用日文漢字,不得用中文漢字、簡化漢字代替。文獻中的外文字母一律用正體。</p><p> 作者為多人時,一般只列出前3名作者,不同作者姓名間用逗號相隔。外文姓名按國際慣例,將作者名的縮寫置前,作者姓置后。</p
125、><p> 學術(shù)會議若出版論文集者,可在會議名稱后加上“論文集”字樣。未出版論文集者省去“出版者”、“出版年”兩項。會議地址與出版地相同者省略“出版地”。會議年份與出版年相同者省略“出版年”。</p><p> 學術(shù)刊物文獻無卷號的可略去此項,直接寫“年,(期)”。</p><p> 參考文獻序號頂格書寫,不加括號與標點,其后空一格寫作者名。序號應(yīng)按文獻在論文中的
126、被引用順序編排。換行時與作者名第一個字對齊。若同一文獻中有多處被引用,則要寫出相應(yīng)引用頁碼,各起止頁碼間空一格,排列按引用順序,不按頁碼順序。</p><p> 參考文獻書寫格式示例見附錄1。</p><p><b> 2.7 名詞術(shù)語</b></p><p> 科技名詞術(shù)語及設(shè)備、元件的名稱,應(yīng)采用國家標準或部頒標準中規(guī)定的術(shù)語或名稱。
127、標準中未規(guī)定的術(shù)語要采用行業(yè)通用術(shù)語或名稱。全文名詞術(shù)語必須統(tǒng)一。一些特殊名詞或新名詞應(yīng)在適當位置加以說明或注解。</p><p> 文管類專業(yè)技術(shù)術(shù)語應(yīng)為常見、常用的名詞。</p><p> 采用英語縮寫詞時,除本行業(yè)廣泛應(yīng)用的通用縮寫詞外,文中第一次出現(xiàn)的縮寫詞應(yīng)該用括號注明英文全文。</p><p><b> 2.8 計量單位</b>
128、;</p><p> 物理量計量單位及符號一律采用《中華人民共和國法定計量單位》(GB3100~3102—1993,見附錄2),不得使用非法定計量單位及符號。計量單位符號,除用人名命名的單位第一個字母用大寫之外,一律用小寫字母。</p><p> 非物理單位(如件、臺、人、元、次等)可以采用漢字與單位符號混寫的方式,如“萬t·km”,“t/(人·a)”等。</
129、p><p> 文稿敘述中不定數(shù)字之后允許用中文計量單位符號,如“幾千克至1 000kg”。</p><p> 表達時刻時應(yīng)采用中文計量單位,如“上午8點45分”,不能寫成“8h45min”。</p><p> 計量單位符號一律用正體。</p><p> 2.9 外文字母的正、斜體用法</p><p> 按照GB3
130、100~3102-1986及GB7159-1987的規(guī)定使用,即物理量符號、物理常量、變量符號用斜體,計量單位等符號均用正體。</p><p><b> 2.10 數(shù)字</b></p><p> 按國家語言文字工作委員會等七單位1987年發(fā)布的《關(guān)于出版物上數(shù)字用法的規(guī)定》,除習慣用中文數(shù)字表示的以外,一般均采用阿拉伯數(shù)字(參照附錄3)。</p>&
131、lt;p><b> 2.11 公式</b></p><p> 原則上居中書寫。若公式前有文字(如“解”、“假定”等),文字頂格書寫,公式仍居中寫。公式末不加標點。</p><p> 公式序號按章編排,如第1章第一個公式序號為“(1-1)”,附錄2中的第一個公式為(②-1)等。 </p><p> 文中引用公式時,一般用“
132、見式(1-1)”或“由公式(1-1)”。</p><p> 公式中用斜線表示“除”的關(guān)系時,若分母部分為乘積應(yīng)采用括號,以免含糊不清,如a/(bcosx)。通常“乘”的關(guān)系在前,如acosx/b而不寫(a/b)cosx。</p><p><b> 2.12 插表</b></p><p> 表格不加左、右邊線。</p><
133、;p> 表序一般按章編排,如第1章第一個插表的序號為“表1-1”等。表序與表名之間空一格,表名中不允許使用標點符號,表名后不加標點。表序與表名置于表上,居中排寫(見附錄4)。</p><p> 表頭設(shè)計應(yīng)簡單明了,盡量不用斜線。表頭中可采用化學符號或物理量符號。</p><p> 全表如用同一單位,將單位符號移到表頭右上角,加圓括號(見附錄4中的例2)。</p>
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 課程設(shè)計---vhdl設(shè)計微波爐控制器
- fpga課程設(shè)計---基于vhdl的交通燈控制器設(shè)計
- 基于vhdl語言的交通燈控制器設(shè)計
- vhdl微波爐控制器課程設(shè)計-- 數(shù)字微波爐控制器
- 基于fpga串口控制器設(shè)計
- eda課程設(shè)計--用vhdl實現(xiàn)多路彩燈控制器的設(shè)計
- eda課程設(shè)計報告---交通信號控制器的vhdl設(shè)計
- 基于fpga的串口控制器設(shè)計
- 畢業(yè)設(shè)計----基于vhdl語言的3層電梯控制器
- 課程設(shè)計---基于vhdl語言的8路搶答器設(shè)計
- 基于vhdl語言信號發(fā)生器的設(shè)計--eda課程設(shè)計
- vhdl8路搶答器課程設(shè)計--基于vhdl語言的8路搶答器設(shè)計
- vhdl8路搶答器課程設(shè)計--基于vhdl語言的8路搶答器設(shè)計
- eda課程設(shè)計——基于vhdl語言的數(shù)字時鐘設(shè)計
- 溫度控制器課程設(shè)計
- 路燈控制器課程設(shè)計
- 彩燈控制器課程設(shè)計
- 電梯控制器課程設(shè)計
- 串口通信c++課程設(shè)計--基于串口通信的高級語言控制程序的設(shè)計
- 彩燈控制器課程設(shè)計
評論
0/150
提交評論