<noframes id="ixm7d"><noframes id="ixm7d"><rt id="ixm7d"><delect id="ixm7d"></delect></rt><noframes id="ixm7d"><rt id="ixm7d"><rt id="ixm7d"></rt></rt><rt id="ixm7d"></rt> <noframes id="ixm7d"><rt id="ixm7d"><delect id="ixm7d"></delect></rt><delect id="ixm7d"></delect><bdo id="ixm7d"></bdo><rt id="ixm7d"></rt><bdo id="ixm7d"></bdo><noframes id="ixm7d"><rt id="ixm7d"><rt id="ixm7d"></rt></rt><rt id="ixm7d"><rt id="ixm7d"></rt></rt><noframes id="ixm7d"><rt id="ixm7d"></rt><noframes id="ixm7d"><rt id="ixm7d"></rt> <noframes id="ixm7d"><rt id="ixm7d"></rt><noframes id="ixm7d"><noframes id="ixm7d"><noframes id="ixm7d"><rt id="ixm7d"></rt><noframes id="ixm7d"><noframes id="ixm7d"><noframes id="ixm7d"><rt id="ixm7d"></rt><noframes id="ixm7d"><rt id="ixm7d"></rt><noframes id="ixm7d"><rt id="ixm7d"></rt><noframes id="ixm7d">

單片機課程設計感想范文

2023-05-07

單片機課程設計感想范文第1篇

一 課程設計的主要內容 1 設計思想 1.1硬件設計思想 1.1.1電路設計思想

電路原理圖見圖1,由動態數碼顯示組成時、分、秒的顯示。把“單片機系統”區域中的P1.0-P1.7端口用8芯排線連接到“動態數碼顯示”區域中的A-H端口上;把“單片機系統:區域中的P3.0-P3.7端口用8芯排線連接到“動態數碼顯示”區域中S-S8端口上;“單片機系統”區域中的P0.0/AD0、P0.1/AD

1、P0.2/AD2端口分別用導線連接到“獨立式鍵盤”區域中的SP

3、SP

2、SP1端口上。

1.1.2鍵盤設計思想

鍵盤是微機的主要設備,按鍵的讀取容易引起錯誤動作??刹捎密浖ザ秳拥姆椒ㄌ幚?,軟件的觸點在閉合和斷開的時候會產生抖動,這時觸點的邏輯電平是不穩定的,如不采取妥善處理的話,將引起按鍵命令錯誤或重復執行,在這里采用軟件延時的方法來避開抖動,延時時間20ms. 1.2軟件設計思想

本系統的主程序主要完成時間顯示和修改時間的功能。而時間單元進位,時間設定時,調定時間設定時等功能全部在中斷服務程序中完成。

1.2.1數據與代碼轉換

由前述可知,從P2口輸出位選碼,從P0口輸出段選碼,LED就會顯示出數字來。但P0口的輸出的數據是要BCD碼,各存儲單元存儲的是二進制數,也就是和要顯示出的字符表達的含義是不一致的??梢?,將要顯示的存儲單元的數據直接送到P0口去驅動LED數碼管顯示是不能正確表達的,必須在系統內部將要顯示的數據經過BCD碼行轉換后,將各個單元數據的段選代碼送入P0口,給CD4511譯碼后去驅動數碼管顯示。具體轉換過程如下:

我們先將要顯示的數據裝入累加器A中,再將A中的數據轉換成高低兩位 的BCD碼,再放回A中,然后將A中的值輸出。如:有一個單元存儲了45這樣一位數,則需轉換成四位的BCD碼:(0100)(0101)然后放入A中。 A中BCD碼,高位四位代表¡4¡低四位代表¡5¡同時送給兩個譯碼器中,譯碼后¡ 45¡ 字就在兩個LED中顯示出來。

1.2.2計時功能的實現與中斷服務程序

時間的運行依靠定時中斷子程序對時鐘單元數值進位調整來實現的。計數器T0打開后,進入計時,滿100毫秒后,重裝定時。中斷一次,滿一秒后秒進位,滿60秒后即為1分鐘,分鐘單元進位,60分到了后,時單元進位。得到時、分、秒存儲單元的值,并經譯碼后,通過掃描程序送LED中顯示出來,實現時鐘計時功能。累加是用指令INC來實現的。進入中斷服務程序以后,執行PUSH PSW和PUSH A將程序狀態寄存器PSW的內容和累加器A中的數據保存起來,這便是所謂的¡ 保護現場¡ . 以保護現場和恢復現場時存取關鍵數據的存儲區叫做堆棧。在軟件的控制之下,堆??稍谄瑑萊AM中的任一區間設定,而堆棧的數據存取與一般的RAM存取又有區別,對它的操作,要遵循¡ 后進先出¡ 的原則。

1.2.3時間控制功能與比較指令

系統的另一功能就是實現對執行設備的定時開關控制,其主要控制思想是這樣的:先將執行設備開啟的時間和關閉時間置入RAM某一單元,在計時主程序當中執行幾條比較指令,如果當前計時時間與執行設備的設定開啟時間相等,就執行一條CLR指令,將對應的那路P3置為高電位,開啟;如果當前計時時間與執行設備設定的關閉時間相等,就執行SETB對應的P3置低電位,二極管截止,。實現此控制功能用到的比較指令為CJNE A,#direct, rel,其轉移條件是累加器A中的值與立即數不等則轉移。

二 課程設計的目的

實現的功能:

①開機時,電子鐘從12:00:00開始自動計時。 ②設置按鍵,能對時、分、秒進行調整。

三設計方案的論證

3.1電路原理與電路圖 3.1.1電路原理

電路原理圖見圖1,由動態數碼顯示管組成時、分、秒的顯示。P0口的8條數據線P0.0至P0.7分別與兩個CD4511譯碼的ABCD口相接,P2口的P2.0至P2.2分別通過電阻R10至R13與VT1至VT3的基極相連接。這樣通過P0口送出一個存儲單元的高位、低位BCD顯示代碼,通過P2口送出掃描選通代碼輪流點亮LED1至LED6,就會將要顯示的數據在數碼管中顯示出來。從P0口輸出的代碼是BCD碼,從P2口輸出的就是位選碼。這是掃描顯示原理。

電路原理圖

C130pFU1X119CRYSTAL18XTAL1P0.0/AD0P0.1/AD1P0.2/AD2P0.3/AD3P0.4/AD4P0.5/AD5P0.6/AD6P0.7/AD7P2.0/A8P2.1/A9P2.2/A10P2.3/A11P2.4/A12P2.5/A13P2.6/A14P2.7/A15P3.0/RXDP3.1/TXDP3.2/INT0P3.3/INT1P3.4/T0P3.5/T1P3.6/WRP3.7/RD393837363534333221222324252627281011121314151617S-0S-1S-2S-3S-4S-5S-6S-7C230pFXTAL2R210kR310kR410kR110k9RSTC310uF293031PSENALEEARP1987654321RESPACK-80123456712345678P1.0P1.1P1.2P1.3P1.4P1.5P1.6P1.7AT89C51時分秒S-7S-6S-5S-4S-3S-2S-1S-001234567

圖 1 電路原理圖

3.2 流程圖與算法描述 3.2.1流程圖

3.3軟件設計

SECOND

EQU 30H; MINITE EQU 31H; HOUR

EQU 32H; HOURK

BIT P0.2 MINITEK BIT P0.1 SECONDK BIT P0.0 DISPBUF EQU 40H DISPBIT EQU 48H

2 流程圖

秒寄存器

分寄存器

時寄存器 圖

T2SCNTA

EQU 49H

T2SCNTB EQU 4AH TEMP

ORG 00H;

程序執行開始EQU 4BH 地址

LJMP

START;

執行

ORG

0BH; T0

LJMP

INT_T0;

;主程序

START: MOV

SECOND,

#00H;

得單元

MOV

MINITE,

#00H

MOV

HOUR,

#12

MOV

DISPBIT,

#00H

MOV

T2SCNTA,

#00H

MOV

T2SCNTB,

#00H

MOV

TEMP,

#0FEH

LCALL

DISP;

子程序

MOV

TMOD,

#01H

MOV

TH0,

#(65536-2000) / 256;

MOV

TL0,

#(65536-2000) / 256

SETB

TR0;

SETB

ET0;

SETB

EA;

WT:

跳轉到標號START

中斷程序入口

跳至IN-T0執行

清0存放秒分時值

在2KB范圍內長調用 顯示2毫秒

允許TO中斷

開啟T0定時器

總中斷開放

按鍵掃描子程序及校時調整

JB

SECONDK, NK1; SECONDK為1(sp1建按下)時跳到

LCALL

DELY10MS

JB

SECONDK,

NK1

INC

SECOND;

對計數器加1

MOV

A,

SECOND

CJNE

A,

#60, NS60; 沒到60秒返回,到60秒清0 ;判斷計數器是否滿59

MOV

SECOND,

#00H NS60:

LCALL

DISP

JNB

SECONDK,$;

NK1: JB

MINITEK,

NK2;

LCALL

DELY10MS

JB

MINITEK,

NK2;

INC

MINITE

MOV

A,

MINITE

CJNE

A,

#60, NM60

MOV

MINITE,

#00H NM60:

LCALL DISP

JNB

MINITEK, $;

NK2:

JB

HOURK,

NK3

LCALL

DELY10MS

JB

HOURK,

NK3

INC

HOUR

MOV

A, HOUR

CJNE

A, #24,

NH24

MOV

HOUR,

#00H

不滿60秒就循環執行 分控制鍵按下時跳轉

分控制鍵按下時跳轉

不滿60分就循環執行

NH24:

LCALL

DIS

JNB

HOURK,

$ ;

不滿24小時就循環執行

NK3 LJMP

WT DELY10MS: ;

延時1毫秒的子程序

MOV D1:

MOV

;顯示子程序

DISP:

;

地址

MOV

ADD

DEC

MOV

MOV

MOV

DIV

MOV

DEC

MOV

MOV

DEC

MOV

MOV

DEC

MOV R6, #10 R7, #248 DJNZ

R7, $ DJNZ

R6, D1 RET

A, #DISPBUF;

A, #8 A R1, A A, HOUR;

B, #10;

AB @R1, A;

R1 A, B @R1, A R1; A, #10 @R1, A R1 A, MINITE;

將得出的時間存入40H(DISPBUF)之后的將temp中的十六進制數轉換成10進制 時送A

10進制/10=10進制 累加器送內部RAM單元

分送A

MOV B, #10

DIV

AB;

十進制調整

MOV @R1, A

DEC

R1

MOV

A, B

MOV

@R1, A

DEC

R1

MOV

A, #10

MOV

@R1,

A

DEC

R1

MOV

A, SECOND;

MOV

B, #10

DIV

AB;

MOV @R1, A

DEC

R1

MOV A, B

MOV @R1, A

DEC

R1

RET INT_T0: ;T0

MOV TH0,#(65536-2000) / 256;

MOV TL0,#(65536-2000) / 256

MOV A, #0FFH

MOV P3, A

MOV A, #DISPBUF

ADD

A, DISPBIT;

MOV R0, A

MOV A, @R0;

MOV DPTR, #TABLE;

MOVC A,

@A+DPTR;

秒送A

十進制調整 TIME子程序 2毫秒 地址加,并將時間的各位送到p1 取顯示數據到A 取段碼表地址

查顯示數據對應段碼

中斷服務子程序,即計時

MOV

P1, A;

分十位送P1口顯示

MOV

A, DISPBIT

MOV

DPTR, #TAB;

表地址送數據指針

MOVC A,

@A+DPTR

MOV

P3, A

INC

DISPBIT

MOV A, DISPBIT

CJNE A, #08H, KNA

MOV

DISPBIT, #00H KNA:

INC

T2SCNTA;

MOV A, T2SCNTA

CJNE

A, #100, DONE

MOV T2SCNTA, #00H

INC T2SCNTB

MOV A, T2SCNTB

CJNE A, #05H, DONE

MOV T2SCNTB,

#00H

INC

SECOND; 秒加一

MOV A, SECOND;

CJNE A, #60, NEXT;

MOV SECOND, #00H;

INC

MINITE; 分加1

MOV A, MINITE;

CJNE A, #60, NEXT;

MOV

MINITE, #00H;

INC

HOUR;

時加1

MOV A, HOUR

CJNE A, #24, NEXT;

MOV

HOUR, #00H

時間的增加與進位 到60秒了嗎? 到60秒清0 到60分了嗎? 到60分清0 到24小時了嗎?

NEXT:

LCALL

DISP DONE:

RETI TABLE: DB 3FH,06H,5BH,4FH,66H,6DH,7DH,07H,7FH,6FH,40H TAB:

DB 0FEH,0FDH,0FBH,0F7H,0EFH,0DFH,0BFH,07F

四 系統調試

系統由AT89C

51、SEG數碼管、按鍵、電容、晶振、電阻等部分構成,能實現時間的調整、時間校對、定時時間的設定,輸出等功能。系統的功能選擇由按鍵‘時’、‘分’、‘秒’、完成。 開機時,顯示12:00:00的時間開始計時;按鍵P0.0/AD0控制“秒”的調整,每按一次加1秒;P0.1/AD1控制“分”的調整,每按一次加1分;P0.2/AD2控制“時”的調整,每按一次加1個小時;系統的主程序主要完成時間顯示和定時輸出判斷功能。而時間單元進位,時間設定時,調定時間設定時等功能全部在中斷服務程序中完成。該電子鐘的精確度在仿真軟件中效果良好。

五 心得體會

計算機控制技術是一門很綜合的課程。任何一個計算機系統都是一個復雜的整體,學習計算機控制技術是要涉及到整體的每一部分。討論某一部分原理時又要涉及到其它部分的工作原理。這樣一來,不僅不能在短時間內較深入理解計算機的工作原理,而且也很難孤立地理解某一部分的工作原理。所以,在循序漸進的課堂教學過程中,我總是處于“學會了一些新知識,弄清了一些原來保留的問題,又出現了一些新問題”的循環中,直到課程結束時,才把保留的問題基本搞清楚。

學習該門課程知識時,其思維方法也和其它課程不同,該課程偏重于工程思維,靈活知識運用,具體地說,在了解了計算機編程后,剩下的是如何將它們用于實際系統中,其創造性勞動在于如何用計算機的有關技術和廠家提供的各種芯片,設計實用的電路和系統,再配上相應的應用程序,完成各種實際應用項目。

這次課程設計較為綜合,主要的困難來自對程序的編寫和校對,功夫不負有心人,經過我的虛心求學和查找資料,最終對實驗的原理有了較清晰的認識。但是仍然存在很多的不足,今后需要加強的地方還是很多,所以在今后的求學路上我會更加努力。望老師批評改正。

六 參考文獻:

單片機課程設計感想范文第2篇

隨著現代電子技術的高速發展, 單片機在工業控制和消費類電子產品中得到了廣泛的應用。作為一門以應用為主的課程, 在單片機課程的教學過程中既需要在有限的課堂時間內向學生傳授一定的理論知識, 又需要在實踐教學環節中給學生充分發揮動手能力的實踐空間。特別是在課程設計過程中, 由于設計周期短 (一般兩周時間) 且學生缺乏實際設計經驗, 以往的方法就是老師給出電路原理圖, 然后學生在試驗箱或面包板上“按圖索驥”, 最后看到實驗現象就算成功了。這樣做往往很多學生對實驗原理都似懂非懂, 更談不上自己設計或創新, 實際教學效果并不理想。究其原因主要是學生在設計過程中手工繪制電路圖的效率較低, 而且當面包板上插滿導線后排查錯誤或修改電路參數將非常麻煩, 極大的打擊了學生的創作積極性, 所以實際效果并不是太好。然而引入EDA軟件之后, 通過計算機強大的輔助設計能力, 可以大大提高電路設計的效率和準確性, 學生可以隨時根據需要調整和修改所設計電路的各項參數, 極大的增強了學生的學習興趣和創作熱情, 從而提高實踐教學環節的教學效果。

2 課程設計實例——4位數顯儀表

為了詳細說明Protel軟件在單片機課程設計中的應用, 本文以4位數顯儀表作為一個具體實例, 詳細說明單片機電路的設計方法和設計流程。本實例來源于實際工程項目, 在引入到課程設計后做了適當的簡化, 但要求學生獨立完成大部分的設計工作, 每個學生設計的電路形式、參數可以有所差異, 關鍵是要掌握單片機電路的設計思想和設計方法。具體設計流程分為功能模塊劃分、電路原理圖設計、PCB板圖設計、電路制板、電路板焊接調試等步驟。教學目標是通過此課程設計讓學生初步掌握單片機電路的設計思想和一般方法, 并作為日后設計實用電路的參考。

2.1 功能模塊劃分

4位數顯儀表的主要功能是將傳感器采集的模擬信號, 通過調理放大后送到AD轉換器進行AD轉換;單片機將AD轉換的結果進行運算和處理, 驅動4位數碼管顯示采集的數據, 并具備超限聲光報警 (驅動蜂鳴器和繼電器) 及與PC機通信 (RS232) 的功能。為了實現上述功能, 現將4位數顯儀表劃分為信號調理模塊、AD轉換模塊、單片機主控模塊、顯示驅動模塊、通信模塊、電源模塊共6個功能模塊, 系統結構框圖如圖1所示。在實際課程設計過程中, 可根據學生的具體情況, 要求其選做其中的部分模塊, 或采用小組多人分工合作的形式。教學方法上需注意要求學生一定要采用分塊設計及分塊調試的方法, 先局部后整體;而不能將整個系統完全搭建好了以后再開始調試, 否則一旦出現錯誤時, 排查起來將比較困難 (圖1) 。

2.2 功能模塊設計

(1) 信號調理模塊及AD轉換模塊。

信號調理模塊采用2片OP07將傳感器輸入的模擬信號進行調理和放大, 然后送到AD轉換模塊進行AD轉換, AD轉換器采用24位AD轉換器CS5550將模擬信號轉換為數字信號后送到單片機進行運算和處理。

(2) 單片機主控模塊。

主控模塊采用STC11F16XE增強型5 1作為系統的控制核心, 其引腳和功能與傳統51單片機兼容, 但指令執行速度最高可達傳統51的12倍, 另外還增加了一些其它功能。ST C11F16XE的最小系統原理圖與傳統51類似, 絕大部分單片機教材上都有詳細介紹, 可讓學生查閱后自行繪制。

(3) 顯示驅動模塊。

顯示驅動模塊采用CH452和ULN2803共同驅動4位共陽8段數碼管, 電路原理圖如圖3所示, 采用CH452是因為占用的單片機口線較少, 驅動方法也比較簡單。學生在設計過程中也可以采用74HC595或IO口加三極管的方式進行驅動, 這里需要提醒學生注意驅動芯片能承受的總驅動電流的大小, 以免燒壞芯片。

(4) 通信模塊。

通信模塊采用MAX232芯片實現與PC機的通信。在課程設計過程中, 對應的上位機通信軟件由教師提供給學生, 用于檢測通信模塊是否正常工作。這個模塊的設計可以加深學生對RS232通信原理的理解, 并且掌握最基本的通信握手協議格式。

2.3 P C B板圖設計及電路板制做

以往的單片機課程設計中, 當電路原理圖繪制完成后, 學生就用面包板或萬用板及導線制做電路板, 制做效率較低, 而且出現錯誤時查找起來非常麻煩。在引入了Protel軟件以后, 就可以將電路原理圖中的元件導入PCB板圖并進行繪制, 然后通過熱轉印法和PCB雕刻機等加工方法制做電路板。這樣制做出來的電路板比較精致, 制做效率也較高, 由于沒有了額外穿插的導線, 在查找錯誤和修改電路參數時也比較方便。

2.4 電路板的焊接及調試

在教師的指導下, 學生逐步完成電路板的焊接和調試。在這個過程中, 注意對學生實際動手能力的訓練, 從元器件的選取、判斷好壞、按電路功能分塊焊接和調試, 直至最后實現電子拔河裝置的總體功能。

3 結語

在單片機課程設計的實踐教學環節中, 通過引EDA軟件進行輔助設計, 不僅能極大提高設計效率和成功率, 還能激發學生的學習興趣和創新能力, 教學效果得到了明顯提高。并且這些設計思想、設計流程和設計方法可以應用于日后工作中的實用電路設計中, 有很強的實際應用價值。

摘要:介紹了EDA軟件Protel DXP的特點及其在單片機課程設計中的應用。通過一個具體實例——4位數顯儀表, 詳細說明了利用EDA軟件進行電路設計的設計方法和設計流程, 并給出了各功能模塊的電路原理圖和PCB板圖, 其設計思想也可應用于實用電路設計中。實際教學效果表明, Protel軟件在單片機課程設計中有具有使用方便、設計效率高和易于修改電路參數等優點, 有助于調動學生的學習積極性, 并能提高單片機課程實踐教學環節的教學效果。

關鍵詞:EDA,Protel DXP,單片機,課程設計

參考文獻

[1] 馬忠梅, 籍順心.單片機的C語言應用程序設計[M].北京:北京航空航天大學出版社, 2007:3~6.

[2] 趙立冬.項目教學法在ProtelDXP教學中的應用[J].宿州教育學院學報, 2009 (6) :104~105.

單片機課程設計感想范文第3篇

此次課程設計,在短短一個星期時間內學習到了很多東西,同時不僅鞏固了以前所學過的知識,而且還學到了很多在書本上所沒有學到過的知識。通過這次課程設計使我懂得了理論與實際相結合是很重要的,只有理論知識是遠遠不夠的,只有把所學的理論知識與實踐相結合起來,從理論中得出結論,才能真正為社會服務,從而提高自己的實際動手能力和獨立思考的能力。這次的課程設計還讓我學會了如何去培養我們的創新精神,從而不斷地戰勝自己,超越自己。更重要的是,我在這一設計過程中,學會了堅持不懈,不輕言放棄。

設計過程,好比是我們人類成長的歷程,常有一些不如意,但畢竟這是第一次做,難免會遇到各種各樣的問題。在設計的過程中發現了自己的不足之處,對以前所學過的知識理解得不夠深刻,掌握得不夠牢固。我們通過查閱大量有關資料,并在小組中互相討論,交流經驗和自學,若遇到實在搞不明白的問題就會及時請教老師,使自己學到了不少知識,也經歷了不少艱辛,但收獲同樣巨大。

在整個設計中我懂得了許多東西,也培養了我獨立工作的能力,樹立了對自己工作能力的信心,相信會對今后的學習工作生活有非常重要的影響。而且大大提高了動手的能力,使我充分體會到了在創造過程中探索的艱難和成功時的喜悅。雖然這個設計做的也不太好,但是在設計過程中所學到的東西是這次課程設計的最大收獲和財富。

單片機課程設計感想范文第4篇

化工原理課程設計是化工原理教學的一個重要的實踐環節,是綜合應用本門課程和有關先修課程所學知識,完成以單元操作為主的一次設計實踐。通過課程設計使學生掌握化工設計的基本程序和方法,并在查閱技術資料、計算機輔助計算等能力方面得到一次訓練,培養學生樹立正確的設計思想和實事求是、嚴肅負責的工作作風。

二、實習班級及人數:

班級:化工063

人數:共27人

三、實習內容:

(1)設計方案簡介:對給定或選定的工藝流程、主要設備的型式進行簡要的論述。

(2)主要設備的工藝設計計算(含計算機輔助計算):物料衡算,能量衡量,工藝參數的選定,設備的結構設計和工藝尺寸的設計計算。

(3)輔助設備選型:典型輔助設備主要工藝尺寸的計算,設備的規格、型號的選定。

(4)工藝流程圖:以單線圖的形式繪制,標出主體設備與輔助設備的物料方向,物流量、能流量。

(5)設計說明書的編寫。設計說明書的內容應包括:設計任務書,目錄,設計方案簡介,工藝計算及主要設備設計,輔助設備的計算和選型,設計結果匯總,設計評述,參考文獻。

整個設計由論述,計算和圖表三個部分組成,論述應該條理清晰,觀點明確;計算要求方法正確,誤差小于設計要求,計算公式和所有數據必需注明出處;圖表應能簡要表達計算的結果。

四、實習時間及地點:

本次實習時間為一周,2008年11月10日-2008年11月16日。實習地點為校內。

五、實習指導教師:

楊勝凱

六、實習所需設備及材料:

七、成績考核:

1、實習成績考核采用百分制記錄;

2、實習報告、實習總結,占80%;

3、實習表現,占20%;

4、實習成績不合格者,該課程重修。

八、實習要求:

1、整個實習過程要嚴肅認真,確保實習質量;

2、在整個實習過程中要聽從指揮、遵守紀律;

3、實習完成及時完成課程設計報告。

教研室主任簽字:

院長(系主任)簽字:

單片機課程設計感想范文第5篇

首先對于數據結構,我的認識一直在發生改變,一開始的時候連邏輯結構和物理結構都分不清,到最后能將總表上的內容熟記于心,并加以運用,這樣的進步離不開老師的細心教導和同學們的熱心幫助。在我的認識中,計算機技術早已經成為新世紀的必修技能。很慶幸我選的專業可以在計算機上有所進階,為自己在日后的競爭中多添一份籌碼。“數據結構”是計算機程序設計的重要理論技術基礎,它不僅是計算機科學的核心課程,而且已經成為其他理工專業的熱門選修課。

在這門課程里,我首先認識了什么是數據、什么是數據結構以及抽象數據類型這些基本的概念,然后開始學習數據結構的抽象數據的部分。線性表是學習的第一站,我逐漸發現,每開啟一個新的邏輯結構,就會相應的講它的存儲結構以及相應的運算。在學習線性表的過程中,我弄明白了很多東西,發現了數據結構已經比c語言高出一個高度了更加宏觀地去用c語言,c語言就像是處理數據結構的其中一種工具一樣。學習完線性表之后,就像有了一個模板,之后的棧和隊列是進出的方式有所修改各有特色了。學到樹的時候,眼前一亮,覺得這樣的類比方式很有意思,有點像高中生物遺傳學上的系譜圖。二叉樹的遍歷讓我覺得就像小時候玩智力游戲一樣,還有二叉樹中例如求深度這樣的高度提煉規律又是需要我去努力思考認真總結的„„這門課讓我第一次覺得大學還真的有題要想的這么費腦子。

老師上課的方式也很有效率。剛開始的時候我被一大堆概念搞暈了,但是想著就是一堆概念而已課下也就沒再去細細研究。結果上課老師提問的時候果然沒有答上來,之后每次課前課后都要爭取做到預習復習,鞏固課上學的知識。不過學知識當然也不是為了應付老師的提問,既然選擇了智能,以后這條路要走的順暢,還少不了數據結構的知識。

結課的時候老師布置了幾道編程的題目,一開始看到書上題目里直接有代碼,就趕緊往c語言的軟件里敲,結果發現運行不成,和同學們交流了之后才知道,可能是調取數據庫的問題,書上的函數編譯器無法識別,于是我發現我們的主要任務是集中火力把書上提供的功能函數的功能寫出來,換言之,就是構造出這些個函數然后再使用它們去實現功能。在編程的過程中出現了很多的問題,比如指針本來就是c語言中的靈魂,難點中的難點,在數據結構的編程中幾乎全部都要用到指針,讓我不得不又翻開c語言的教材去復習指針的相關知識。另外,編出來的程序有時候自己看不出來錯誤但是編譯器就是報錯,又請教了班里一些已經完成的同學,在他們的意見指導下,改進自己的代碼最終運行成功實現功能了。尤其是二叉樹的那道題,因為書上沒有講如何輸入二叉樹,我就在思考無果之后去查資料,才了解c語言是這樣和二叉樹聯系在一起的。當年創造出數據結構的人真的是非常厲害。經過這次的編程,我覺得自己不僅撿起來了上學期學的c語言,也加深了對數據結構和c語言的理解。我們現在掌握的數據結構的知識,就如同我偶然在圖書館看到數據結構的書架一樣,只是這個龐大、精深體系中的冰山一角而已,就像老師說的,編程類的知識,老師只是把你帶進門,想要真正掌握還是要自己下很多功夫的。

轉眼間數據結構這門課已經接近尾聲,很多人都說編程是一條孤獨的、枯燥的路,其實我感覺編程還挺好玩,每編一個程序都像是一場斗智斗勇的冒險,一頭扎進去就是好幾個小時,也會經常和同學分享一下自己的思路或者見解,越學越覺得智慧殿堂無窮無盡。有時候我以為我自己設計的已經比較簡潔比較巧妙了,聽了別人的更是醍醐灌頂,覺得自己傻透了。

上一篇:清明掃墓感想下一篇:五四運動感想

91尤物免费视频-97这里有精品视频-99久久婷婷国产综合亚洲-国产91精品老熟女泄火