第一篇:C8051單片機BootLoader心得
C8051單片機BootLoader心得
8051至今仍占據著MCU的大量市場,以其通用、價格低廉等眾多原因而被學校和大多公司作為微控制開發的首選。隨著ARM等32位控制器的出現,使得8051的追隨者對于其使用編程器燒片子的方式逐漸的難以接受。不論是從易用性、以及程序的可靠性來說,都添加了諸多不便。
此時很多人想到了ARM中常用的BootLoader得概念,其實這是一個很好的方法。要想在MCU中實現BootLoader,首先要求單片機具有IAP功能,或是可以對其自身的FLASH進行擦除、寫入的功能。其次要考慮FLASH的空間,畢竟加入一個boot的代碼是需要付出代價的。
下面以C8051F340為例說明一下我的心得與體會。
1.1中斷向量區
中斷向量區提供復位以及異常中斷的跳轉, 鑒于51的特點,這部分必須存放在0地址開始的區域。
1.2 APP區
應用程序區存放用戶應用程序,亦即boot操作區。這部分可以存放在FLASH的任意區域。下載程序時,bootloader需要將下載的數據寫入該區。正常啟動時,bootloader需要讓CPU跳轉至此執行。
1.3 BOOT區
BootLaoder代碼存放區。這部分可以存放在FLASH的任意區域。
2.1 Boot入口地址8051上電后執行的第一條便是0x0000—0x0002處的指令,考慮到程序的通用性,此處必須跳轉到Boot 程序區,以便從boot開始引導或是裝入程序。
STARTUP.A51文件中:
CSEGAT0
?C_STARTUP:LJMPSTARTUP1
這兩條語句便是實現了程序的跳轉。
?C_STARTUP的地址是鏈接時確定的,但是必須要在Boot程序區。關于制定Boot區的位置請參考2.3。
2.2 APP程序
應用程序區必須放在0地址開始的分區!由于8051的局限性,他基本不能像其他系統一樣可以將代碼拷貝到RAM中,之后重建中斷向量表執行。
為了中斷向量表的跳轉方便,介意將應用程序燒寫到0地址開始的分區,但是要注意:應用程序的前三個字節要寫到D_RUN_ADDRESS指向的APP入口地址(見2.3)。
// APP入口地址寫入
for(i=0;i<3;i++){
flash_write(D_RUN_ADDRESS+i, dat);
}
// 程序區
for(i=3;i flash_write(i++, dat); } 2.3 APP入口地址 Boot下載程序后,前三個字節為APP的入口地址,Boot啟動時APP,就是跳轉到這個地址的。我的實現中,將此三個字節放到了一個獨立的分區,這樣方便操作,但是有點浪費。呵呵!// APP入口地址寫入 for(i=0;i<3;i++){ flash_write(D_RUN_ADDRESS+i, dat); } Boot啟動過程中,其實就是實現了跳轉: Reset(0x0000)à D_BOOT_ADDR(Boot正常啟動)à D_RUN_ADDRESS(APP運行) (Boot下載程序)à進入Loader模式 這樣在程序每次啟動中,總是先執行Boot代碼,是其具有通用性。 2.4 Boot程序 此處為Boot程序區,在此我采用檢測IO的方法,這樣不像檢測終端輸入那樣存在等待時間的問題。軟件的下載采用串口。具體步驟如下: 第一步,MCU復位后,從0地址跳轉到BOOT區。 第二步:Boot代碼檢測是否存在Loader使能按鍵,若不存在直接跳轉到第四步。 第三步:與用戶進行軟件握手,握手成功后按照如下步驟操作: 1.暫存boot入口地址(第0扇區的前三哥字節),這樣在擦除第0扇區后可以回寫。 2.準備扇區,擦除APP程序扇區和APP入口地址扇區。 3.回寫boot入口地址(1中讀出的三個字節)。 4.通知主機發送代碼,我使用DNW發送,數據格式為:4Byte(數據長度)+數據+2Byte(校驗和) 5.讀接收數據長度,4Byte。 6.開始接收數據, 同時寫入Flash APP區。此時注意FLASH寫入時間和串口速度的匹配。一般來說115200的速度足夠了。 這部分數據分為兩部分:接收到的前三個字節為APP的入口地址,需要單獨保存。 7.讀校驗和,校驗數據。 這樣在線編程完畢。 第四步:讀取APP入口地址處是否存在有效指令(一般判斷是否為0x02),不存在則等待用戶復位! 3.結語 BootLoader作為程序的主體,需要考慮代碼的鏈接位置以及代碼量的大小,我們可以用如下方法在KEIL中控制CODE的位置,上圖中,我設定Boot代碼存放在0xEA00開始的Flash區。這樣程序編譯完后,可以發現除中斷向量外,其他部分代碼均在0xEA00之后。 中斷向量的控制,由于8051中斷向量的特殊性,不介意在BootLoader中使用中斷,例如我的串口就是使用查詢方式實現的。8051不支持中斷向量的重映射,所以使用中斷會給自己增加負擔。我覺得,BootLoader穩定是最重要的! 以上是我開發C8051F340 BootLoader的一些體會,供同行參考。 “單片機”學習心得 這學期我們開了《單片機》的課程,這也是第一次與“單片機”接觸。說實話剛開始聽到這個課程真是一頭霧水。“單片機”是什么的?做什么用的?當然如果沒有學習過電信專業的人肯定是不知道的!呵呵!帶著這些疑問我們走進了“單片機的世界”。 教《電片機》課程的是個女老師,上課很認真。帶著我們做了過很多次實驗,還有給我們布臵做有關課本以外的各種“單片機”、各種“顯示器”、“鍵盤”的PPT作業。讓我們以小組合作的方式來完成,好促進同學之間的關系,培養團結合作的精神! 單片機是一種集成在電路芯片,是采用超大規模集成電路技術把具有數據處理能力的中央處理器CPU隨機存儲器RAM、只讀存儲器ROM、多種I/O口和中斷系統、定時器/計時器等功能(可能還包括顯示驅動電路、脈寬調制電路、模擬多路轉換器、A/D轉換器等電路)集成到一塊硅片上構成的一個小而完善的計算機系統。 我們在這學期做了有近十次的實驗,通過學習讓我深深感到“單片機”的重大作用和樂趣。“麻雀雖小五臟俱全”!這句話完全可以用在形容“單片機”上。生活中“單片機”無所不在,應用在各種領域中! 我們做過的程序有很多。下面就說說我們的實驗和PPT1、單片機仿真試驗系統的應用練習 任務步驟: ——硬件搭建——軟件編程(在計算機中打開編程軟件“偉福”,輸入參考程序)——編譯(將輸入的程序編譯直至沒有錯誤。)——仿真調試(通過軟件調試觀察存儲單元結果變化是否正確,或者在仿真開發系統中在線仿真。)——執行程序 當然老師會教我們如何編程序!讓我們體會自己編程序,使小燈成功順序閃爍后的喜悅心情。 2、用單片機控制閃爍燈——在廣告行業中,單片機作為主控芯片得到廣泛應用。在試驗中,要對一個彩燈的閃爍進行控制。 3、端口輸入輸出/輸出控制,模擬開關燈 4、順序彩燈的控制——設計順序彩燈控制系統,假設晶振為12MHz,8個發光二極管VL1~VL8分別接在單片機的P1.0~P1.7端口上。 5、多狀態閃爍燈控制 6、簡單交通信號燈模擬控制——假設單片機晶振頻率為12MHz,實現用P1口控制6個發光二極管,模擬一個簡單的十字路口交通信號燈的工作。東西向與南北向的紅、綠、黃燈各一個。交通信號燈規律為,十字路口是東西南北走向,每一時刻每個方向只能有一個燈亮,初始狀態STATE0為東西南北均紅燈亮,1s后轉入狀態STAYE1,南北綠燈亮同時東西紅燈亮,延時20s后轉入狀態STATE2,南北黃燈亮東西紅燈亮,5s后轉入狀態STATE3,東西綠燈亮南北紅燈亮,20s后轉入狀態STATE4,東西黃燈亮南北紅燈亮,5s后轉入狀態STATE1,如此循環。 這些實驗看似很難,但是實際操作起來不是很難,要有耐心,細心。當然上課聽講很重要啦!呵呵! 還有我們做的PPT,每次我都很認真的去做。查資料,整理資料,然后制作。每次我們組都得到老師的表揚。自己組的成果得到老師認可心里當然很高興啦! 第一次PPT作業是以“單片機”為題目。在這次制作ppt中是我收獲最大的一次,學習到了有關“單片機”書中沒有介紹的很多知識。每次的作業我都有好好的吸收資料中的只是。 一、單片機歷史 單片機誕生于20世紀70年代末,經歷了SCM、MCU、SoC三大階段。 1.SCM即單片微型計算機(Single Chip Microcomputer)階段,主要是尋求最佳的單片形態嵌入式系統的最佳體系結構。“創新模式”獲得成功,奠定了SCM與通用計算機完全不同的發展道路。在開創嵌入式系統獨立發展道路上,Intel公司功不可沒。 2.MCU即微控制器(Micro Controller Unit)階段,主要的技術發展方向是:不斷擴展滿足嵌入式應用時,對象系統要求的各種外圍電路與接口電路,突顯其對象的智能化控制能力。它所涉及的領域都與對象系統相關,因此,發展MCU的重任不可避免地落在電氣、電子技術廠家。從這一角度來看,Intel逐漸淡出MCU的發展也有其客觀因素。在發展MCU方面,最著名的廠家當數Philips公司。Philips公司以其在嵌入式應用方面的巨大優勢,將MCS-51從單片微型計算機迅速發展到微控制器。因此,當我們回顧嵌入式系統發展道路時,不要忘記Intel和Philips的歷史功績。 3.單片機是嵌入式系統的獨立發展之路向MCU階段發展的重要因素,就是尋求應用系統在芯片上的最大化解決;因此,專用單片機的發展自然形成了SoC化趨勢。隨著微電子技術、IC設計、EDA工具的發展,基于SoC的單片機應用系統設計會有較大的發展。因此,對單片機的理解可以從單片微型計算機、單片微控制器延伸到單片應用系統。 二、單片機的應用領域 按照不同的應用領域劃分: 商業級(0~70攝氏度)、工業級(-40~85攝氏度)、汽車級(-40~120攝氏度)、軍工級(-55~150攝氏度)。其中醫療器械、宇航以及生命工程方面都是考慮軍工級。 商業級的通用性最大,所有單片機都可以適用。 工業級的單片機就少的多了,歐美和日本的芯片比較多。 汽車和軍工級的最少,只有少數美國公司、俄羅斯、和歐洲的公司有生產 單片機廣泛應用于儀器儀表、家用電器、醫用設備、航空航天、專用設備的智能化管理及過程控制等領域。大致可分如下幾個范疇: 1.在智能儀器儀表上的應用2.在工業控制中的應用3.在家用電器中的應用4.在計算機網絡和通信領域中的應用5.單片機在醫用設備領域中的應用6.在各種大型電器中的模塊化應用 三、單片機編程軟件KEIL 單片機開發中除必要的硬件外,同樣離不開軟件,我們寫的匯編語言源程序要變為CPU可以執行的機器碼有兩種方法,一種是手工匯編,另一種是機器匯編,目前已極少使用手工匯編的方法了。機器匯編是通過匯編軟件將源程序變為機器 碼,用于MCS-51單片機的匯編軟件有早期的A51,隨著單片機開發技術的不斷發展,從普遍使用匯編語言到逐漸使用高級語言開發,單片機的開發軟件也在不斷發展,Keil軟件是目前最流行開發MCS-51系列單片機的軟件,這從近年來各仿真機廠商紛紛宣布全面支持Keil即可看出。Keil提供了包括C編譯器、宏匯編、連接器、庫管理和一個功能強大的仿真調試器等在內的完整開發方案,通過一個集成開發環境(uVision)將這些部份組合在一起。運行Keil軟件需要Pentium或以上的CPU,16MB或更多RAM、20M以上空閑的硬盤空間、WIN98、NT、WIN2000、WINXP等操作系統。掌握這一軟件的使用對于使用51系列單片機的愛好者來說是十分必要的,如果你使用C語言編程,那么Keil幾乎就是你的不二之選(目前在國內你只能買到該軟件、而你買的仿真機也很可能只支持該軟件),即使不使用C語言而僅用匯編語言編程,其方便易用的集成環境、強大的軟件仿真調試工具也會令你事半功倍。目前最新的版本是keil uv3,可下載破解版本,否則有容量限制。 不同的單處機有不同的編譯軟件.因為C語言具有通用性.在不同的單片機之間容易移植.51用keil c,msp430用IAR軟件,avr用AVR STUDIO,PIC一般用MPLAB IDE+PICC或MPLAB IDE+PICC18 等等 四、常用單片機芯片 STC單片機、PIC單片機、EMC單片機、PHLIPIS 51PLC系列單片機(51單片機)、HOLTEK單片機、TI公司單片機(51單片機)、松翰單片機(SONIX)。 五、單片機應用的六大重要部分 1、總線 2、數據、地址、指令 3、P0口、P2口和P3的第二功能用法 4、程序的執行過程 五、堆棧 六、單片機的開發過程: 這里所說的開發過程并不是一般書中所說的從任務分析開始,我們假設已設計并制作好硬件,下面就是編寫軟件的工作。在編寫軟件之前,首先要確定一些常數、地址,事實上這些常數、地址在設計階段已被直接或間接地確定下來了。如當某 器件的連線設計好后,其地址也就被確定了,當器件的功能被確定下來后,其控制字也就被確定了。然后用文本編輯器(如EDIT、CCED等)編寫軟件,編寫好后,用編譯器對源程序文件編譯,查錯,直到沒有語法錯誤,除了極簡單的程序外,一般應用仿真機對軟件進行調試,直到程序運行正確為止。運行正確后,就可以寫片(將程序固化在EPROM中)。在源程序被編譯后,生成了擴展名為HEX的目標文件,一般編程器能夠識別這種格式的文件,只要將此文件調入即可寫片。 第二次PPT我們以“顯示器”為題目,在這次作業中我學習到了生活中很多我們常見的電子產品都是由不同種類和原理的顯示器而工作的。 LCD 液晶顯示器LCD 液晶顯示器是 Liquid Crystal Display 的簡稱,LCD 的構造是在兩片平行的玻璃當中放臵液態的晶體,兩片玻璃中間有許多垂直和水平的細小電線,透過通電與否來控制桿狀水晶分子改變方向,將光線折射出來產生畫面。比CRT要好的多,但是價錢較其貴。 LED顯示屏LED顯示屏(LED panel),是一種通過控制半導體發光二極管的顯示方式,用來顯示文字、圖形、圖像、動畫、行情、視頻、錄像信號等各種信息的顯示屏幕。 CRT顯示器是一種使用陰極射線管(Cathode Ray Tube)的顯示器,陰極射線管主要有五部分組成:電子槍(Electron Gun),偏轉線圈(Deflection coils),蔭罩(Shadow mask),高壓石墨電極和熒光粉涂層(Phosphor)及玻璃外殼。它是目前應用最廣泛的顯示器之一,CRT純平顯示器具有可視角度大、無壞點、色彩還原度高、色度均勻、可調節的多分辨率模式、響應時間極短等LCD顯示器難以超過的優點,而且現在的CRT顯示器價格要比LCD顯示器便宜不少。 OLED顯示屏OLED為自發光材料,與傳統的LCD顯示方式不同,不需用到背光板,采用非常薄的有機材料涂層和玻璃基板,同時視角廣、畫質均勻、反應速度快、較易彩色化、用簡單驅動電路即可達到發光、制程簡單、可制作成撓曲式面板,符合輕薄短小的原則,應用范圍屬于中小尺寸面板。 第三次PPT是以“鍵盤”為主題。 觸摸屏觸控屏(Touch panel)又稱為觸控面板,是個可接收觸頭等輸入訊號的感應式液晶顯示裝臵,當接觸了屏幕上的圖形按鈕時,屏幕上的觸覺反饋系統可根據預先編程的程式驅動各種連結裝臵,可用以取代機械式的按鈕面板,并借由液晶顯示畫面制造出生動的影音效果。 打字機打字機是用于書寫的一種機械的,電機的,或電子的設備。使用時,通過敲擊鍵盤上的某一個按鍵,該按鍵對應的字符的字模會打擊到色帶上,從而在紙或其他媒介上打出該字符。每一次字符的敲打,打字機都會把紙向左移動,以備打印下一個字符。 電子琴是用AT89C51單片機做比較簡單配上按鍵鍵盤,三極管驅動一個喇叭就能實現 電視機遙控器由形成遙控信號的微處理器芯片、晶體振蕩器、放大晶體管、紅外發光二極管以及鍵盤矩陣組成。其工作原理如下 微處理器芯片IC1內部的振蕩器通過2、3腳與外部的振蕩晶體X組成一個高頻振蕩器,產生高頻振蕩信號(480kHz)。此信號送入定時信號發生器后產生40KHz的正弦信號和定時脈沖信號。正弦信號送入編碼調制器作為載波信號;定時脈沖信號送制掃信號發生器、鍵控輸入編碼器和指令編碼器作為這些電路的時間標準信號。 這學期很快就要結束了,在17,18周我們還有一門“單片機”試訓的課程。相信在這兩周的實訓過程中,我還會受益更多,更廣。實操還會更熟練。 課程設計心得 課設的選題,方案的設計與確定,元器件的選擇,硬件的焊接,這一系列的課設準備工作早在課設開始之前,老師就向我們做了相關的介紹和明確的說明,同時非常友好的提示我們早點著手準備自己的課設項目。但是如此語重心長的話語在當時似乎沒有引起所有人的注意,只到有同學拿出已成型的作品時,只到課程設計進入第二周時,只到看到有同學拿著作品去驗收時,只到發現自己在規定的時間里無法完成擴展功能是,我們開始醒悟,開始想起老師之前的友情提示,開始意識到課設的準備工作沒做好,開始產生恐懼。這樣的情形并不只是出現在的課程設計過程中,而是經常出現在我們的生活中。整個課程設計的過程中都顯得有些盲目,有些匆忙。 像這樣的實訓課程,對我們學習自動化的學生來說意義非常重大,它不僅是對單片機這一門課程的理解與運用,同時也涉及到數字電路和模擬電路的領域;這也是一次鍛煉我們動手動腦的絕佳機會,能讓我們切實感受理論與實際相結合的過程。 設計的過程是枯燥的,程序的調試過程是讓人感到乏味的、無奈的、頭疼的,但是看到完工的作品卻是激動高興的。對于硬件的焊接,這可能是很多同學都喜歡做的一個環節。但是這次的硬件焊接與上一次實訓時的不一樣,這次你需要自己設計電路,自己學習理解某些芯片的引腳功能。芯片引腳的接線是我們容易出錯的地方,如果接線圖或者焊接有問題,這將對對芯片有很大的危害。硬件完工后,是軟件的調試。我認為程序的調試是課設全過程中最難得部分,原因是我這塊的功底非常薄弱。很坦誠的講,以自己現有的能力,沒法寫出設計中的程序,我和同學只能借鑒高手的程序,努力地去修改源程序,使其能夠實現想要的功能。軟件的調試不像硬件焊接那么容易,調試過程中,我們必須考慮硬件與程序相匹配。在比如在這個環節中,很感謝我的同學,因為他能夠非常耐心的為我講解C語言中一些語句的用法和功能。 這次實訓還有一重大收獲是學會寫一份正式的科技論文。報告的書寫與軟硬件同等重要,我們應遵守論文的格式要求,這也是對思維嚴謹性的一種鍛煉。 完成一個出色的作品,單靠一個人的力量是不行的,小組成員之間必須相互配合,相互支持,相互團結,所以這也是一次鍛煉我們團隊合作精神的機會。 雖然本次實訓結束了,但是實訓留給我們思考的地方還很多,需要我們學習的地方還很多。無論在現在的學習中還是在以后的工作中,我們都應養成多學習,理解、多思考、多合作,多實踐的好習慣,重視理論與實踐相結合。 課程設計心得 課程設計是培養學生綜合運用所學知識,發現,提出,分析和解決實際問題,鍛煉實踐能力的重要環節,是對學生實際工作能力的具體訓練和考察過程.隨著科學技術發展的日新日異,單片機已經成為當今計算機應用中空前活躍的領域,在生活中可以說得是無處不在。因此作為二十一世紀的大學來說掌握單片機的開發技術是十分重要的。 這次實習讓我受益匪淺,無論從知識上還是其他的各個方面。上課的時候的學習從來沒有見過真正的單片機,只是從理論的角度去理解枯燥乏味。但在實習中見過甚至使用了單片機及其系統,能夠理論聯系實際的學習,開闊了眼界,提高了單片機知識的理解和水平。在這次課程設計中又讓我體會到了合作與團結的力量,當遇到不會或是設計不出來的地方,我們就會在QQ群里討論或者是同學之間相互幫助。團結就是力量,無論在現在的學習中還是在以后的工作中,團結都是至關重要的,有了團結會有更多的理念、更多的思維、更多的情感。 回顧起此次單片機課程設計,我仍感慨頗多,的確,從選題到定稿,從理論到實踐,在接近四星期的日子里,可以說得是苦多于甜,但是可以學到很多很多的的東西,同時不僅可以鞏固了以前所學過的知識,而且學到了很多在書本上所沒有學到過的知識。通過這次課程 設計使我懂得了理論與實際相結合是很重要的,只有理論知識是遠遠不夠的,只有把所學的理論知識與實踐相結合起來,從理論中得出結論,才能真正為社會服務,從而提高自己的實際動手能力和獨立思考的能力。在設計的過程中遇到問題,可以說得是困難重重,這畢竟第一次做的,難免會遇到過各種各樣的問題,同時在設計的過程中發現了自己的不足之處,對以前所學過的知識理解得不夠深刻,掌握得不夠牢固,比如說不懂一些元器件的使用方法,對單片機匯編語言掌握得不好……通過這次課程設計之后,一定把以前所學過的知識重新溫故。 這次課程設計終于順利完成了,在設計中遇到了很多編程問題,最后在XXX、XXX、老師的辛勤指導下,終于游逆而解。同時,在XXX、XXX、老師那里我學得到很多實用的知識,在次我表示感謝!同時,對給過我幫助的所有同學和各位指導老師再次表示忠心的感謝! 再次感 謝老師的輔導以及同學的幫助,是他們讓我有了一個更好的認識,無論是學習還是生活,生活是實在的,要踏實走路。課程設計時間雖然很短,但我學習了很多的東西,使我眼界打開,感受頗深。 四周的畢業設計結束了,在這次的畢業設計中不僅檢驗了我所學習的知識,也培養了我如何去把握一件事情,如何去做一件事情,又如何完成一件事情。在設計過程中,與同學分工設計,和同學們相互探討,相互學習,相互監督。學會了合作,學會了運籌帷幄,學會了寬容,學會了理解,也學會了做人與處世。 畢業設計是我們專業課程知識綜合應用的實踐訓練,著是我們邁向社會,從事職業工作前一個必不少的過程.”千里之行始于足下”,通過這次畢業設計,我深深體會到這句千古名言的真正含義.我今天認真的進行畢業設計,學會腳踏實地邁開這一步,就是為明天能穩健地在社會大潮中奔跑打下堅實的基礎. 通過這次單片機設計,我們在多方面都有所提高。通過這次單片機設計,綜合運用本專業所學課程的理論和生產實際知識進行一次單片機設計工作的實際訓練從而培養和提高學生獨立工作能力,鞏固與擴充了單片機課程所學的內容,掌握單片機設計的方法和步驟,掌握單片機設計的基本的技能懂得了怎樣分析電路,了解了單片機的基本結構,提高了計算能力,繪圖能力,熟悉了規范和標準,同時各科相關的課程都有了全面的復習,獨立思考的能力也有了提高。 在這次設計過程中,體現出團隊設計的團結以及綜合運用知識的能力,體會了學以致用、突出自己勞動成果的喜悅心情,從中發現自己平時學習的不足和薄弱環節,從而加以彌補。 本次設計是在馬老師、崔老師密切關心和悉心指導下完成的。老師在課題開題期間和論文寫作的過程中給予了我許多指導,導師總是以認真負責、一絲不茍的工作態度閱讀并修改文章中不足的地方,導師的優良的作風和嚴謹治學的態度深深影響著我,至此,向恩師致以最真摯的感謝和最崇高的敬意! 同時我要感謝我的同學,特別是我的同組的同學們,他們在這一個月里陪我一起設計,一起討論,一起學習,才讓我有了今天的成績。他們在平時的學習和生活中他們給予了我無私的關懷和幫助,在此表示我最誠摯的謝意。 轉眼之間四周的畢業設計就要結束了,這四周我過得雖然忙碌但是很充實,因為通過這次設計我學到了很多知識,對單片機也有了更深的認識,并且把以前學的知識又重新梳理了一遍,除此之外我也感覺到了自己知識的匱乏,設計過程中遇到許多困難,比如由于之前對單片機應用知識的不熟悉,程序編寫無從下手以及對以前所學知識掌握的不夠牢固等等,給了我很大的壓力,真正的感覺到是學無止境這句話是什么含義。我一遇到不會的知識或者以前學過但現在卻忘記的知識,我就上圖書館,上網去查,或者拿出以前的書再看看,盡力把它弄明白。我們小組在設計時一起去班上討論,一起研究,在大家的互相幫助下我們提高的很快,解決了很多問題,也通過這次設計我們在彼此身上學到了很多知識,并且在我們即將面臨實習的重要時刻,這次設計過程也讓我們對我們自己的專業,和 學習,工作的方向有了更清晰的認識。讓我知道不論做什么工作都要努力,都要不斷學習。 這次單片機的課程設計,讓我學習到了很多很多,而這些是在課堂中無法學到的,在課堂上,我們學習的多是理論知識,很難理解,而這次單片機課程設計,給了我有一個把理論付諸于實踐的平臺,讓我明白,學習并不無聊,比如做這次課程設計就讓我體會到了學習的樂趣。 初次接觸課程設計,是有點困難的,剛開始,并不知道從哪里開始,像丈二和尚,摸不著頭腦,特別是單片機課程設計,更是讓我吃力,因為平時理論也不是學得很好,所以對編程有很多一知半解的地方,但通過努力,終于是有了點頭緒,最后在和同學們的合作下,共同完成了這次的課程設計,并取得了很好的成功,這種喜悅,是只有自己才能入滋入味的體驗得到。 單片機作為我們測控專業的主要專業課之一,我在平時上課的時候是覺得很無聊,而且枯燥乏味的,但在這次課程設計后我發現自己在一點一滴的努力中對單片機的興趣也在逐漸增加。所以還是要多動手,實踐是檢驗真理的唯一標準。 在這次的單片機課程設計中,遇到了很多很多麻煩,尤其是編程,有點頭大,剛開始是準備用匯編,結果發現太復雜,很難連貫起來,只好用c,但是用c有不是很熟練,因為那是大一學習的,很多知識都忘記了,只好邊查閱以前的課本,邊嘗試著自己編,其實在課程設計之前,是查了很多資料的,也借鑒了前輩們的許多優秀設計,于是,在保證不抄襲的前提下,加入自己的程序,使整體保持程序的完整性,到最后編譯通過,能夠保證程序正常運行,其中花費了不少功夫。 我們是12個人一個小組,在小組中互相討論,交流經驗和自學,若遇到實在搞不明白的問題就會及時請教老師,使自己學到了不少知識,也經歷了不少艱辛,但收獲同樣巨大。通過這次課程設計我也發現了自身存在的不足之處,雖然感覺理論上已經掌握,但在運用到實踐的過程中仍有意想不到的困惑,經過一番努力才得以解決。這也激發了我今后努力學習的興趣,我想這將對我以后的學習產生積極的影響。 通過這次課程設計,我懂得了學習的要有主動性,守株待兔是學不了任何東西的,也了解到理論知識與實踐相結合的重要意義,如果只有理論,那是紙上談兵,如果只實踐,沒有理論基礎又難以入手,建造的只是一座空中樓閣。 還有最深的體會,我把它歸結于六個字“堅持、耐心和努力”,這也將是自己今后的學習和工作做中的自我勉勵的信條。要時時提醒自己,告誡自己。第二篇:單片機心得
第三篇:單片機課程設計心得
第四篇:單片機設計心得
第五篇:單片機心得1