第一篇:微機實驗心得
微機實驗心得
這學期通過對微機原理和微機實驗課的學習,對微機系統和它的工作原理有了很大的了解。微機實驗課,總共做了十幾個實驗,回想起來受益匪淺,主要是加深了對計算機的一些硬件情況和運行原理的理解和匯編語言的編寫匯編語言,它是和機器語言最接近的,用它來編程序,會比用其它高級語言要快得多。實驗課程加深了我們對匯編語言指令的熟悉和理解。不僅鞏固了書本所學的知識,還具有一定的靈活性,發揮了操作,加深了我們對硬件的熟悉,鍛煉了動手能力,發揮創造才能。
通過這次課程使我懂得了理論與實際相結合是很重要的,只有理論知識是遠遠不夠的,只有把所學的理論知識與實踐相結合起來,從理論中得出結論,才能真正提高自己的實際動手能力和獨立思考的能力。
對于這門課,我們收獲了很多,我覺得這門課偏重于工程思維,主要難點在于對程序的理解。但是老師讓我們通過手打程序,控制實驗平臺很好的理解了各實驗的實驗程序。對于課程的建議,實驗講義給的程序很清楚,大大降低了實驗預習和自主編程的難度,給實驗講義可以更多的給方法和方式,提供一些程序建議而減少直接給出程序內容。實驗課上,請一個或兩個同學講解一下實驗程序設計思路,通過講解與其他人互動,可以收獲更多。微機原理課程上講到的各種芯片的功能,以及引腳的作用,在實驗中都得到了運用,使我們加深了對于主要芯片的應用的認識,同時在實驗室的環境里熟悉了匯編程序的編寫過程和運行過程,最后還提高了自己的動手能力。總結這門課,個人感覺很有必要,學習理論的過程中邊通過實驗輔助,使我們更容易的接受微機原理的知識。實驗過程中,獲得了很多收獲,獲得了很多感悟,當然也遇到了很多困難。但我們都一一克服了他們,成功的完成了實驗。并在解決問題,克服困難的過程中,發現了自己平時忽略的,隱藏的問題,以及一些不該出現的粗心大意的小毛病。通過這些,我們認識的更加深刻,了解的更加深入。做到了學以致用,對知識掌握得更加牢固。
這學期的課程告一段落,但是對微機原理的理解和認識,我深知我們做的還遠遠不夠,我們接下來還要繼續努力多學習更多知識,當然動手實踐很重要,我們平時也應該多編寫多運用。通過了這一學期對微機原理的學習,真的對它有了一個全新的認識,我會堅持對它的學習,使自己在匯編語言上有一個長足的提高!
第二篇:微機硬件實驗心得
實訓四底板LED點陣控制實訓個人總結
通過led點陣實驗的實踐,使我在理論的基礎上更深刻的掌握了嵌入式系統的深層內容及實際生活中的應用,實踐鍛煉了自己動手能力和思維能力,還有在軟件方面的編程能力,讓我受益匪淺,同時也暴露出一些平時學習上的問題,這次實踐讓我懂得了如何編寫一些簡單的程序,這幾周我們經過老師耐心的講解和指導通過自己認真的動手操作,終于完成了本次實訓。
在這次實訓過程中我們鍛煉了自己的思考能力、動手能力和排除故障的能力。雖說在實訓過程中遇到很多不懂的地方,但我們還是在老師和同學的幫助下完成了。對于點陣這個實驗,剛開始的步驟就不用多說了,和之前的一樣,關鍵在于程序的改寫。首先,我們運行原始程序并單步調試觀察每一句執行后的結果,對數據寄存器rGPFDAT進行分析,DM1_RL1高四位控制左邊點陣前兩行,DM1_RL2控制左邊點陣中間四行,DM1_RL3低四位控制左邊點陣后兩行,DM1_RL3高四位控制右邊點陣前兩行,DM1_RL4控制右邊點陣中間四行,DM1_RL5低四位控制右邊點陣后兩行。如果顯示姓名首字母縮寫,在點陣中將亮的點置一,寫出對應的十六進制數,右邊比左邊高,下邊比上邊高,依次寫出DM1_RL1、DM1_RL2、DM1_RL3、DM1_RL4、DM1_RL5寄存器中所存的十六進制數據。修改完程序,編譯運行程序,最終點陣顯示寄存器寫入的數據,點陣呈現所設姓名首字母字樣。
通過這次試驗,使我更加深入的了解了寄存器是如何控制點陣的以及簡單程序的編寫,加強了我們的實際動手操作能力。
實訓三底板LED數碼管控制實訓個人總結
這次實訓主要目的是用led數碼管顯示學號的后八位,實踐鍛煉
了自己動手能力和思維能力,還有在軟件方面的編程能力。實驗開始
忘記了八段數碼管是如何控制顯示的,但在請教同學之后,我們就很
快寫出了學號所對應的十六進制數。雖然實驗過程并不順利,但最終
還是完成了實驗內容。
打開實驗原始程序,首先,我們運行原始程序并單步調試觀察每一句執行后的結果,對數據寄存器rGPFDAT進行分析,觀察每步調試
后的數碼管顯示變化,對寄存器進行分析。根據試驗任務要顯示三個
人的學號,前四位為8033,led燈顯示幾,八段數碼管的哪位置一,例如八段數碼管顯示8,則對應hgfe dcba分別為0111 1111,即對應
十六進制為7f,依次寫出對應的十六進制,DM1_RL1控制左邊數碼
管,DM1_RL2控制右邊數碼管。例如8033對應的十六進制為7f3f4f4f,數碼管右邊為高位,對應寄存器中應為4f4f3f7f,同理可寫出學號的后四位。修改完程序,編譯運行程序在不出現錯誤的情況下可以交替
顯示三個不同的學號。
這次實驗還算比較順利,不過在最初的過程中由于理解錯誤顯示的學號是反著的,修改程序后最終得到了想要的效果。這次實驗使我掌握了寄存器是如何控制八段數碼管的基本原理,鍛煉了我們的動手
能力。掌握了編程的基本方法,更加熟悉了c語言的編寫以及運用,在學習的過程中也享受了編程的樂趣。
實訓二 16個LED燈實訓個人總結
第二次實驗具體是編程利用實驗板控制底板的led數碼管閃爍,實現底版上16個LED的單 雙 三燈的跑馬燈過程以及LED(16個)的單燈匯集。在這次的實驗過程中,對軟件的應用更加深刻熟練。在修改程序的過程中又溫習了c語言的編寫以及應用,通過這次實驗掌
握了不少的知識,對于寄存器有了更深的認識。
對于這次的實驗,我們首先用ARM軟件打開工程,編譯連接工
程,用AXD 進行調試,觀察源程序,單步運行分析程序,觀察每一
步執行后led燈的顯示效果,根據實驗任務修改程序。Led0到led15
分別由四位十六進制代碼控制,即16位二進制代碼控制,二進制的最低為控制led15,最高位控制led0,置一時對應位置的led燈亮。
首先,用rGPFDAT=rGPFDAT&0xfffffffe;設置I/O口GPBDAT相應LED
寄存器的初始值,分別設置寄存器DM1_RL1=0x00000000;
DM1_RL1=0x00010000;接著用for、while循環實現燈的移位及匯聚效
果,寄存器分別保存移位前和移位后的數值,單燈跑馬燈,從左向右
跑到另一側停止,且一直保持亮的狀態。
這次試驗要比第一次的實驗難,在改寫代碼這一環節我們就遇
到了很大的困難,要實現跑馬燈用源程序類似的代碼需要很長一段,為了減少代碼使程序簡明易懂我們在請教同學的基礎上對程序進行
了修改,采用了for循環。這次試驗證明c語言在編程中的重要性,而且從這次的實驗中我發現了自己c語言的功底還是有待提高,以后的日子里還需努力。
實訓一對四個led燈編程個人總結
微機與嵌入式系統實訓是我們第一次接觸硬件操作,在老師的帶領下
我們進入第一節實訓課。通過這次實訓對微機與嵌入式的硬件操作有
了基本的了解。
首先要進行的是pc機與主板的連接,運行H-Jtag并進行設置,用ARM
軟件打開工程,編譯連接工程,用AXD 進行調試,觀察源程序,單
步運行分析程序,對原程序進行修改。在運行源程序的過程中,由于
第一次接觸,最初的設置不成功導致程序運行不出,在同學的指導下,最終順利運行。接著的難題就是修改程序,根據試驗任務,實驗中的四個燈由上到下依次分別由三位十六進制數700H、380H、580H、680H
控制,對應的二進制代碼D7D8D9D10位分別控制 led1、led2、led3、led4的亮滅,置1時對應的led燈滅,置0時對應的led燈亮,即低
電平有效。首先設用rGPBCON=rGPBCON&0xffc03fff;設置I/O口
GPBCON相應LED寄存器為輸出屬性,GPBCON=rGPBCON|0xffd57fff;
rGPBDAT=rGPBDAT&0xfffff87f;設置I/O口GPBDAT相應LED寄存器的初
始值。然后根據推算的十六進制代碼改寫數據寄存器rGPBDAT的內容。
在程序中,對于循環不是很懂,因此用了好幾段程序來分別控制led
燈由上到下,再由下到上,最終全亮的效果。修改完程序之后編譯運
行,效果不是很明顯,因此對于匯編延遲函數delay進行了修改延長
時間。
這次試驗讓我更深認識了c語言的重要性,對于微機與嵌入式的編程
運行以及寄存器的工作原理有了更深的了解,增強了我們的動手能力。
第三篇:微機實驗指導書20160425(本站推薦)
實驗一 匯編語言程序設計(分支/循環)
1.實驗目的:
(1)熟悉8088/8086指令系統
(2)了解程序設計過程
(3)掌握匯編語言程序設計和調試方法 2.實驗內容 上機任務1:
① 熟悉進入和退出32位控制臺和16位DOS環境的方法。
② 創建MASM目錄、復制開發軟件,生成進入開發環境的快捷方式。上機任務2:
① 熟悉匯編語言的開發過程,實現教材例題2-1程序。② 掌握數據尋址方式,上機實現教材中的例題2-2程序。上機任務3:
熟悉匯編語言中的數據表達、變量定義和屬性,驗證教材例題3-
1、例題3-
3、例題3-5程序,實現習題3.14程序。上機任務4:
① 掌握常用傳送和運算指令,驗證例題3-9和例題3-12程序。
②首先判斷習題3.20每條指令執行后EAX的數值和相關標志狀態,寫出結果。然后將其編輯成為一個完整的匯編語言源程序,匯編連接、生成可執行文件。可以利用本書配套的I/O子程序庫,在每條指令之后,調用其中的DISPRF(先調用)和DISPHD,顯示6個狀態標志位和EAX內容,并核對事先判斷的結果。上機任務5:
① 掌握位操作類指令的應用,驗證例題3-14程序,實現習題3.28程序。② 理解串操作指令,驗證例題3-16程序。上機任務6:
① 掌握轉移指令和分支程序結構。驗證例題4-3程序,實現習題4.5程序。② 驗證例題4-7程序,實現習題4.11程序。上機任務7:
① 掌握循環指令和循環程序結構。驗證例題4-12程序,實現習題4.13程序。
②驗證例題4-10程序。實現如下程序:進行自然數相加(1+2+3+……+N);如果(無符號整數的)累加和用一個32位寄存器存儲,求出有效累加和的最大值及N的界限。上機任務8:
① 掌握子程序指令和子程序結構。驗證例題4-15程序,實現習題4.29程序。②熟悉子程序的參數傳遞和子程序庫方法。驗證例題4-18程序,然后分別使用子程序模塊、子程序庫和子程序庫包含方法生成最終可執行文件。3.實驗準備
(1)仔細復習課前關于匯編語言指令系統的PPT,對所需要使用的命令需要知道書本中的位置,并能進行簡單的編程。
(2)對書本中的部分例子要仔細閱讀,搞清楚實際含義,理解程序內容。(3)熟練使用MASM程序。4.實驗步驟
(1)進入MASM程序。
(2)根據任務需求,在MASM下驗證及編制相應的程序。
(3)詳細記錄每一步所用的命令,以及查看結果的方法和具體結果。5.實驗報告要求
(1)如何進入MASM程序。
(2)至少驗證一個書本程序,說明如何用命令行與批處理兩種形式完成程序的執行。(3)根據要求,至少編制一個程序,并對每行程序進行說明性注釋
實驗二 子程序設計
1.實驗目的:
(1)進一步熟悉8088/8086指令系統與程序分支跳轉循環等結構
(2)了解子程序設計的要求,和設計過程(3)掌握匯編語言中子程序設計的方法和調用方法 2.實驗內容 上機任務1:
① 掌握轉移指令和分支程序結構。驗證例題4-3程序,實現習題4.5程序。
② 驗證例題4-7程序,實現習題4.11程序。上機任務2:
① 掌握循環指令和循環程序結構。驗證例題4-12程序,實現習題4.13程序。
② 驗證例題4-10程序。實現如下程序:進行自然數相加(1+2+3+……+N);如果(無符號整數的)累加和用一個32位寄存器存儲,求出有效累加和的最大值及N的界限。上機任務3:
① 掌握子程序指令和子程序結構。驗證例題4-15程序,實現習題4.29程序。
② 熟悉子程序的參數傳遞和子程序庫方法。驗證例題4-18程序,然后分別使用子程序模塊、子程序庫和子程序庫包含方法生成最終可執行文件。3.實驗準備
(1)再次仔細復習課前關于匯編語言指令系統的PPT,對所需要使用的命令需要知道書本中的位置,并能進行簡單的編程。同時復習循環分支程序的構成及結構,并學會熟練使用
(2)對書本中的子程序部分例子進行仔細閱讀,理解程序內容。(3)掌握書本中匯編語言中子程序的編寫規則。4.實驗步驟
(1)進入MASM程序。
(2)根據任務需求,在MASM下驗證及編制相應的程序。
(3)詳細記錄每一步所用的命令,以及查看結果的方法和具體結果。5.實驗報告要求
(1)如何進入MASM程序。
(2)至少驗證一個書本程序,說明如何用命令行與批處理兩種形式完成程序的執行。(3)根據要求,至少編制一個程序,并對每行程序進行說明性注釋
實驗三 字符處理程序設計
1.實驗目的:
(1)熟悉串操作指令的功能與應用;
(2)掌握串操作指令的尋址方式及使用方法,編寫常用的字符串處理程序。2.實驗內容 上機任務1:
① 掌握字符的鍵盤輸入與屏幕顯示。實現如下程序:編寫一個匯編程序,將鍵盤輸入的小寫字母用大寫字母顯示出來,若輸入的是非字符則顯示NOT CHAR,若輸入字符“x”,則退出。實現習題4.11的程序。
② 掌握串傳送指令。驗證例題3-16程序,實現字符串的復制。上機任務2:
① 掌握循環指令和循環程序結構。不利用串傳送指令,實現例題3-16的功能。② 驗證例題4-11程序。實現字符文字的加密與解密。上機任務3:
① 驗證例題4-12程序,實現字符個數統計程序,實現習題4.13的程序。② 驗證例題4-13程序,剔出一個以0結尾的字符串中的空格字符。3.實驗準備
(1)仔細復習關于匯編語言指令系統的PPT,對所需要使用的命令需要知道書本中的位置,并能進行簡單的編程。同時復習字符串操作指令的應用,并學會熟練使用(2)對書本中的相關字符處理程序進行仔細閱讀,理解程序內容。
(3)掌握書本中字符處理程序(大小寫轉化、字符數統計、字符剔出等)的編寫規則。4.實驗步驟
(1)進入MASM程序。
(2)根據任務需求,在MASM下驗證及編制相應的程序。
(3)詳細記錄每一步所用的命令,以及查看結果的方法和具體結果。5.實驗報告要求
(1)如何進入MASM程序。
(2)至少驗證一個書本程序,說明如何用命令行與批處理兩種形式完成程序的執行。(3)根據要求,至少編制一個程序,并對每行程序進行說明性注釋 實驗四 :1輸入輸出接口2微機串口通信編程(二選一)
1.實驗目的:
(1)通過編程調試,實現匯編語言對計算機端口的調用;
(2)熟悉理解指令in/out的使用;調用揚聲器端口,實現揚聲器發音,掌握輸入/輸出指令實現匯編語言對計算機端口的調用;(3)熟悉理解端口指令in/out的使用;
(4)了解計算機串并行通信技術,實現單個或連續的串行數據傳輸。2.實驗內容
1.利用揚聲器控制原理,編寫一個簡易樂器程序。
當按下1~8數字鍵時,分別發出連續的中音1~7和高音(i對應頻率依次為524Hz,588Hz,660Hz,698Hz,784Hz,880Hz,988Hz和1048Hz); 當按下其他鍵時暫停發音;
當按下ESC鍵(ASCII碼為1BH),程序返回操作系統。參考程序;數據段
table dw 2277,2138,1808,1709,1522,1356,1208,1139
;對應中音1~7和高音i的定時器記數值;代碼段
mov al,0b6h;設置定時器2工作方式 out 43h,al call readc;等待按鍵 again:
cmp al,'1';判斷是否為數字1~8 jb next cmp al,'8' ja next sub al,30h;1~8的ASCII碼轉換為二進制數
sub al,1;再減1,將數字1~8變為0~7,以便查表 xor ah,ah shl ax,1;乘以2 mov bx,ax;記數值表是16位數據,無法采用xlat指令
mov ax,table[bx];取出對應的記數值 out 42h,al;設置定時器2的記數值 mov al,ah
out 42h,al in al,61h;打開揚聲器聲音
or al,03h;使D1D0=PB1PB0=11B,其他位不變 out 61h,al jmp again;連續發聲,直到按下另一個鍵
next:push ax
in al,61h;不是數字1~8,則關閉揚聲器聲音 and al,0fch out 61h,al pop ax cmp al,1bh;判斷是否為ESC鍵(對應ASCII碼1bh);使D1D0=PB1PB0=00b,其他位不變
jne again;不是ESC,繼續;否則程序執行結束
2.首先采用自循環查詢方式在本機上實現例題8-3。
3.然后購買或制作一個用于零調制解調器連接的RS-232C電纜,修改例題8-3采用正常的查詢方式實現兩臺微機的通信。3.實驗準備
(1)仔細閱讀本章中關于輸入輸出接口技術的內容,掌握輸出輸出接口對外設的直接控制技術
(2)仔細閱讀串行通訊接口的結構,寄存器編程方法,對串行通訊包括雙機通訊數量掌握。
(3)準備好雙絞的串口線一根及聲卡可控的微機。4.實驗步驟
(1)進入MASM程序。
(2)根據任務需求,在MASM下驗證及編制相應的程序。
(3)詳細記錄每一步所用的命令,以及查看結果的方法和具體結果。5.實驗報告要求
(1)如何進入MASM程序。
(2)根據要求,至少編制一個程序,并對每行程序進行說明性注釋
第四篇:微機收獲及心得
南陽師范學院
課 程 設 計
不知不覺,微機原理課程已經結束了。回想起來受益匪淺,主要是加深了對計算機的一些硬件情況和運行原理的理解和匯編語言的編寫,期間也聽老師講過,微機原理這門課程是比較偏硬件一點的。下面談談這期學習該課程的心得與體會:
學習過程中,我發現許多概念很相近,為了更好地掌握,將一些容易混淆的概念集中在一起進行分析,比較它們之間的異同點。比如:微機原理中,引入了計算機由五大部分組成這一概念;從中央處理器引出微處理器的定義;在引出微型計算機定義時,強調輸入/輸出接口的重要性;在引出微型計算機系統的定義時,強調計算機軟件與計算機硬件的相輔相成的關系。微處理器是微型計算機的重要組成部分,它與微型計算機、微型計算機系統是完全不同的概念。
《微機原理》課程有許多的新名詞、新專業術語。透徹理解這些名詞、術語的意思,為今后深入學習打下基礎。一個新的名詞從首次接觸到理解和應用,需要一個反復的過程。而在眾多概念中,真正關鍵的有很多。比如“中斷”概念,既是重點又是難點,如果不懂中斷技術,就不能算是搞懂了微機原理。在學習中凡是遇到這種情況,絕對不輕易放過,要力求真正弄懂,搞懂一個重點,將使一大串概念迎刃而解。
在微機中,最基礎的語言是匯編語言。匯編語言是一個最基礎最古老的計算機語言。語言總是越基礎越重要。在重大的編程項目中應用最廣泛。就我的個人理解,匯編是對寄存的地址以及數據單元進行最直接的修改。而在某些時候,這種方法是最有效,最可靠的。比如,最近鬧得沸沸揚揚的珊瑚蟲一案,其軟件制作的核心人物就是使用匯編語言來創造聞名遐邇的QQ查IP軟件-----珊瑚蟲,并成立了有名的珊瑚蟲工作室,其威力可見一斑。
然而,事物就是有兩面性,有優點自然缺點也不少。其中,最重要的一點就是,匯編語言很復雜,對某個數據進行修改時,本來很簡單的一個操作會用比較復雜的語言來解決,而這些語言本身在執行和操作的過程中,占有大量的時間和成本。在一些講求效率的場合,并不可取。
匯編語言對學習其他計算機起到一個比較、對照、參考的促進作用。學習事物總是從最簡單基礎的開始。那么學習高級語言也當然應當從匯編開始。學習匯編語言實際上是培養了學習計算機語言的能力和素養。個人認為,學習匯編語言對學習其他語言很有促進作用。
匯編語言在本學期微機學習中有核心地位。本學期微機原理課程內容繁多,還學習了可編程的計數/定時的8253,可編程的外圍接口芯片8255A等。學的都是芯片邏輯器件,而在名字前都標有“可編程”,其核心作用不可低估。
從微機應用系統的應用環境和特點來看,微機系統如何與千變萬化的外部設備、外部世界相連,如何與它們交換信息,是微機系統應用中的關鍵所在,培養一定的微機應用系統的分析能力和初步設計能力才是最終目的!我認為以上是本人學習微機原理課程中的一些見解和體會。
匯編語言,對于學習機電工程的自動控制和計算機都是很重要的,因為它是和機器語言最接近的了,如果用它來編程序的話,會比用其它高級語言要快得多,我覺得老師說的一句話很有道理,學習計算機的要掌握兩門語言:“一門低級的和一門高級的。”而一般情況下,高級的大多數人會!低級的就不一樣了,所以說如果把它學好了,以后找工作是不成問題的。在市場上匯編語言程序設計的人才是很缺的。
應該說,在這一學習中,匯編語言程序設計就占了很大的篇幅在講,可見它的重要性了!在學習的不可末尾,講到微機的總線及接口,而在這其中,主要是概念占大多數,記的東西還是挺多,怎樣實現總線互相的配合,加快計算機的運行速度,總之在有些地方還是用到了匯編的知識,匯編語言始終是學習微機原理的主流!
通過了這一學期對微機原理的學習,真的對它有了一個全新的認識,雖然說,這門課已經結束了,但是我會堅持對它的學習,使自己在匯編語言上有一個長足的提高!力爭在掌握一門高能語言基礎上掌握一門匯編語言,這就是我這期學習《微機原理》課程的心得體會!
第五篇:微機培訓心得
隨著科學技術的高速發展,信息技術的提高,給人們的生活帶來了很大的方便。比如通過網絡,人們不用出門便可以了解世界各地的情況,還可以通過網絡交朋友,觀看新聞、電影、聽音樂、下載精美的圖片、制作課件等等。
由于條件的限制和對信息技術認識不高的緣故,致使我對信息技術了解不深,對現代遠程教育和媒體教學感到有些陌生,因此,我在實際教學工作中也遇到過很多實際困難,如,當每次考完試,匯總成績的時候,別的教師都會通過電腦制作出一份很工整的成績表,而我卻因不會操作電腦,只能通過手寫來完成這項工作。這讓作為班主任的我很尷尬、還有別人能夠應用現代媒體設備制作非常精美的課件,能夠很輕松地上一堂高質量的教學課。而我就不能,為此,我也很自卑。我多么渴望自己能有機會參加信息技術培訓。
很幸運,這回我如愿以償地來到了任縣教師進修學校信息技術培訓班,在這里我看到很多更優秀的教師,這也讓我感到更恐慌、更緊迫,覺得自己落伍實在太遠了,學習電腦勢在必行,迫在眉睫。經過幾天的努力學習,我雖然沒有很大的進步,但還是有所收獲`的,如我學會了制作成績表、會打稿件等。
為了今后能夠更好的勝任教學工作,我將不斷的學習電腦的操作技術。提高自己的電腦素養。