⑴ 論單片機課程教學改革與應用實踐能力的培養 單片機教學改革總結報告
【摘 要】單片機原理課程對於電子、電信、計算機和通信等專業的學生來說,是一門重要的專業基礎課程,但由於長期採用傳統的教學模式,缺乏一定的改革和創新,導致單片機原理課程的教學內容和手段顯得非常陳舊單一。本文主要闡述了針對通信類學科專業學生的單片機課程進行的教學改革,旨在提高學生整體的實踐應用素質。
【關鍵詞】單片機課程 教學改革 應用實踐能力
【中圖分類號】TP368.1 【文獻標識碼】A 【文章編號】1674-4810(2011)24-0039-01
隨著微電子學和計算機技術的發展,單片機作為一種具有集成度高、運算速度快、體積小、性價比高等特點的典型嵌入式系統在現代生活和生產中得到了廣泛的應用。但學生在以往的教學模式下,普遍感到單片機課程難學,容易產生厭學情緒。教育部《關於全面提高高等職業教育教學質量的若干意見》提出:「要大力推行工學結合,突出實踐能力培養,改革人才培養模式,要積極推行與生產勞動和社會實踐相結合的學習模式,把工學結合作為高等職業教育人才培養模式改革的重要切入點,帶動專業調整與建設,引導課程設置、教學內容和教學方法改革。」因此,職業院校改革傳統的教學方式,提高學生的實踐應用能力就顯得尤為重要。
一 單片機基礎知識教學
目前,大多數高校的理論教學過程都採用先基礎後應用的模式,即單片機硬體結構、指令系統、匯編語言設計、外部系統擴展、介面技術和應用系統設計,這種方法雖思路清晰,但存在著過於機械性的弊端,缺乏生動、直觀的實物等輔助教學手段。歷年來,學生對於匯編語言部分知識的掌握情況都比較差,究其原因,薯螞主要是因為匯編語言是一種用文字助記符來表示機器指令的符號語言,雖然它具有佔用資源少、程序執行效率高等優點,但同時也具有非常冗長單調、易出BUG、調試困難、代碼不易維護和閱讀、兼容性不好等缺點。針對這一情況,教師可在講授完單片機原理硬體結構後引入標准C語言來替代匯編語言的教學,以項目任務為教學單元,打破原有界限,不管硬體結構、指令、編程的先後順序,數桐埋將各部分知識分解成一個個知識點,為完成一個項目任務抽取每個部分的不同知識點,加以組合,完成一個個項目任務就能清楚單片機的開發過程,同時也掌握了相應的知識點。
二 單片機實踐、實訓教學
傳統的實踐課教學大多以單片機實驗箱為實驗平台,而開設的也多為驗證性實驗。觀察中不難發現,學生在做實驗時大都是用實驗指導書上已經寫好的程序資料,幾乎沒有學生去分析程序的流程,更談不上研究讀懂那些代碼了。另外,對於用到電路硬體的實驗,也只是按實驗指導書要求在實驗箱上做簡單的連線,沒有一個整體的電氣原理圖概念,再加上實驗條件的有限,不是每個學生都能得到老師的輔導,導致學生過度追求實驗結果,而忽略了硬體設計、軟體調試等過程。教師可嘗試改變傳統實驗過程中以驗證性為主的實驗模式,僅提供實驗的方向,讓學生根據實驗目的和要求,提前預習,自己到圖書館或網上查閱相關資料,設計實驗方案,編寫相關的實驗程序。讓他們在實驗中遇到問題與小組成員討論解決,最後得出實驗結果。學生可根據自己的實驗過程撰寫實驗報告,包括學生實驗中遇到的問題,以及提出的解決方案。同時教師也可以組織學生間進行交流,對各組實驗結果與報告展開分析和討論,從而提高學生的研究能力和科學實驗的能力。
三 考核環節
傳統教學注重知識和理論的學習,考核以期末閉卷理論考核為主。高職教育在保證新知識傳授和理論系統性的同時,特別強調職業技能的訓練,考核的內容和方式要「以能力的考核為中心」作相應改革。就單片機課程來說,關鍵是掌握它的用法,有些東西忘記了可以查閱資料,現實生活中也沒有禁止工程師查閱資料。考核方式可以靈活多樣,以開卷考試來考察單片機的工作原理和程序編寫;或布置一個小任務,要求編寫程序並且上機調試通過,這些都可以作為考核的手段。
四 成立課後學習小組,建立網路互動平台,鼓勵學生參加相應的技能大賽
成立課後學習小組,積極提高學生學習單片機的學習興趣,給學生提供學習單片機的實驗板,同時,讓他們自己製作不同功能的介面板,最後進行綜合開發,通過逐一模塊的能力訓練,可逐步提高學生單片機最小應用系統的設計與調試能力,再輪悉經過綜合項目的設計、分析與調試,讓學生全面了解各項基本技能綜合運用的方法,進一步提高單片機應用系統的綜合應用能力。積極組織學生參與校內外組織的各種與單片機相關的競賽活動,開闊學生的視野,增長他們的才幹,逐步培養自己的研究能力和創新能力。利用網路開展自主學習,充分發揮校園網的優勢,培養學生自主學習的能力,把課程教學大綱、電子教案、教師精心製作的教學課件等教學資源上網供學生自學,並利用電子郵件、系網站的交流園地與學生進行課外交流,為學生答疑解惑,為學生提供更為廣泛的溝通渠道與環境。
五 結論
高職單片機課程體系的改革勢在必行,應把培養學生的實際動手能力放在首位,對學生的單片機應用實踐能力進行培養和鍛煉,使學生結合自己的專業特點,把單片機應用到工程實踐中,從而提高學生整體的應用實踐能力。
參考文獻
[1]楊傑、王曉初、王曉紅.單片機課程教學的實踐與探討[J].廣東工業大學學報(社會科學版),2009(S1)
[2]李剛等.新概念單片機教程[M].天津:天津大學出版社,2005
[3]劉輝、王新輝、張文希.從電子設計競賽看單片機實驗教學的改革與創新[J].長沙大學學報,2006(5)
〔責任編輯:陳晨〕
⑵ 單片機總是學不會怎麼辦
學單片機需要掌握這些知識:
模擬電路設計
數字電路設計
看元器件datasheet
PCB設計
匯編語言
C語言
各種開發環境搭建
程序調試和模擬
各種通訊協議的時序
知識跨度較大,要有扎實的電子基礎和編程基礎,不是通過一次培訓就能學會的。
可能很多人覺得PCB設計和單片機開發沒多大關系,其實不是,PCB排版決定晶元IO引腳的功能,這樣才能盡量減少飛線和過孔,降低生產成本,增加可靠性。
第一你沒有壓力,第二,現實生活中與單片機打交道太少第三,我猜測除了上課時學習一下,平常都沒認真看。
學會單片機的開發和應用其實並不難,關鍵是你的基礎知識夠不夠用。如果你是一個大三學生,已經有了數學、物理、電路的基本知識,就是自學單片機應該也能很快入門。如果你已經有了單片機原理的基礎知識,只是沒有實踐經驗,那就要從實際動手開始。因為光有理論知識,你可能感到抽象而不知從何處下手。
如果你有一塊單片機開發板就可以了,有了單片機開發板,你可以在開發板上進行各種實驗,不用開發很多的程序,而要一步一步地實現理論與實踐的驗證,比如,先看看單片機要進行哪些初始化設置,看看顯示部分如何顯示,串列介面如何傳送數正梁據,AD如何采樣模擬量變成數字量,DA模塊如何將數字量變成模擬信號輸出,也可以編一些數學運算程序,編一些位控介面,或者編一些溫度控制,功率控制的小程序等等,也可以找一些單片機參考書看一些控制電路的實例,這樣多做些單片機的開發實踐,你便會得心應手,組織你的單片機開發應用項目了。
世上無難事,只怕有心人!不用太久,你會成為一個單片機開發應用的專業人才。
年輕人,成功都是在不斷地努力和刻苦鑽研之後取得的。
在這個世界上,人的智力都在90~120之間。通常來說沒有誰比誰笨或者聰明多少。所以,只有你肯不肯花時間,能不能靜下去心去學。沒有舉前運什麼學不會的。如果你覺得教材上描述得太飄渺的話,悔慶自己可以去買一塊單片機的開發板來試驗。開始寫一些簡單的I/O口控製程序,然後是定時器應用、串口通訊、A/D轉換......這樣一來,你會在試驗的過程中一步步掌握各個模塊,逐漸建立自己的信心。記住!看再好的教材也沒有自己親自動手做出實物的好!
⑶ 入門了51單片機後該怎樣去提升,精通,給個具體做法
工科是實踐的學科,唯有動手做項目才能事半功倍。
單片機是智能化儀器的核心器件,其主要作用是控制,而不是數據處理。單片機必須與外圍電路構成一個完整的數字系統,才能完成特定的功能。基本的輸入電路有:按鍵、鍵盤矩陣、A/D、脈沖計數;輸出電路有:七段數碼管、LCD、D/A、繼電器、可控硅。學會編程式控制制這些硬體,還有中斷、定時器、通信等模塊也要掌握。
僅有一塊單片機開發板是不夠的,要買一塊麵包板,再買一些元器件,動手搭建電路,檢驗自己的能力。
實踐一段時間後,自己覺得有收獲,對單片機確實感興趣,就可以開始學習新的單片機知識,如精簡指令集(RISC)的 單片機,如 PIC 系列。
⑷ 單片機學習如何入門
想學好單片機其實並不困難,單片機是一門實踐性非常強的的學科,學習時要理論與實踐並重量,現在網上學習單片機的資料比較多,你可到有關單片機的論壇上找找,再次就是有準備必要的學習單片機的一些基本的裝備,電腦你肯定有,哪就准備一些實踐用的工具器件,如:單片機、相關的電子元件,有備件時購一台單片機學習板,這樣的學習板附帶的常式非常多,你可以邊看常式邊實踐,這樣的學習方法入門比較快,等有了一定的基礎後,可以自己動手焊的些簡單的板子,檢驗一下自己的學習效果。學習過程中要學習一定的專業知識,比如數電和模電。單片機語言就學語言C,也可用匯編,根據自己情況而定;不管您要學什麼型號的單片機51也好,AVR也好,可以先找一個小的項目例子,比如流水燈一類的做,以提高興趣。總之學習單片機要持之以恆,不斷實踐,新手學習時注意以下幾點:
1、學習理論知識,書的話新手建議看看__王雲51單片機教程,結合書帶的視頻一起看好理解;
2、最好有一個開發板,在開發板上從最簡單的功能開始實現,比如做一個流水燈、蜂鳴器音樂盒等;
3、實現簡單的功能後,開始嘗試更復雜的程序,例如LCD顯示、數字時鍾、串口通信、中斷控制等;
4、在上述功能均可以實現之後,可以組合實現,做一個多功能的單片機系統了;
5、如果對硬體熟悉,可以自己嘗試做一個單片機開發板!
⑸ 學習單片機有什麼計劃
勤學苦練,多動手,多做實驗
1, 選擇好一款欲要學習的單片機(例如51,PIC,AVR)
2,選擇一本相對應單片機的書籍
3,選擇一款對應的單片機開發板
4,掌握好對應單片機之編譯環境,例如51的Keil,PIC的MPLAB
5,照著課本的程式範例,點亮一個燈,給自己一點信心,掌握編譯環境以及在線方針,程式下載,通過這個程式。
6,學習埠控制,定時器,串列通訊
7,掌握到一定程度就開始學習C(如果之前會C就更好,直接用C撰寫程式啦)
8,歷練與提升,多看別人的程式,多思考使用不同的方式實現同一個目的
~~~~~~~~~~~~~~~~~~
剩下就是經驗與積累,用心程度啦
⑹ 如何學好單片機
1、熟悉單片機的原理,結構;
2、學好數電,模電,為設計電路打好基礎;
3、熟練使用C語言,多學習別人的程序;
4、對操作系統原理有一定的了解;
5、Protel至少要有點基礎;
6、要實際動手調試電路的能力。
學習單片機的步驟
當前的單片機種類很多,但是 51 是最基礎的,因此單片機的學習最好也是從 51 開始,不僅容易上手,而且相當實用。然而 51 單片機畢竟過於基礎,後來的很多單片機在功能上都有很大的擴展,因此按照我們實驗室多數人的路線接下來大多數人會學習 AVR 單片機, AVR 單片機在功能上較 51 有很大提升,集成了 A/D 、快速 PWM 等很多實用的功能,而且和很多大型的單片機在功能上有很多類似之處,因此如果以後還想掌握其他單片機 AVR 無疑是一個很好的跳板。
學習的過程
學習單片機最終要的是當然是練,我所說的學習跟課堂上的單片機學習不同,我以前也看過一些單片機教材,有些教材講的是單片機的工作原理和內部結構,這些東西對於我們暫時並不需要,等以後開課的時候在學習好了。現在要學習的是暫時拋開內部結構原理不談,如何能用單片機寫一些簡單的小程序,是從實用性的角度出發,網上有一種說法稱之為先實踐後理論的學習方法。
因此我的觀點如下,單片機的硬體結構首先要有一個基本的了解,最起碼要知道各引腳的功能、區別,能自己動手搭一個單片機的最小系統,然後就可以直接從程序入手,程序最好還是用 C 語言編程,從簡單的跑馬燈做起,逐漸深入,陸續可以做一些數碼管、液晶、 DS1302 、 DS18B20 等電子元器件的應用,在深入就可以結合一些具體實例擴展一些中斷、串口通訊等功能。還有一點要聲明的是單片機里用到的 C 語言其實很有限,課堂上學習 C++ 的很大一部分內容在初期單片機編程中都用不到,因此沒必要因為覺的自己的 C 語言基礎不是很好而對單片機望而止步!
學習的工具
軟體方面方面, 51 單片機用的是 KEIL 軟體,這個軟體在學校圖書館軟體下載和其他網站上都有,具體用法自己查找相關資料, AVR 的軟體就比較多了,我用的是 CVAVR ,另外還有 ICCAVR 等多款編譯軟體,這要看個人喜好了,建議有了一定的 51 基礎再學。另外就是燒寫軟體,燒寫軟體的作用就是將編譯器生成的 HEX 文件燒寫至單片機里,這要配合下載線實用,如果有並口的話最好用並口下載線,軟體最好用廣州雙龍的 SLISP 軟體,如果是筆記本沒有並口的話則要自己買一個下載器了,名稱為 USBASP ,網上電子市場有賣 20 塊錢左右,軟體會隨光碟自帶。
硬體方面,首先是要有單片機,對於單片機有一點要注意, 51 單片機最好買 89S51 、 89S52 這兩種型號,上面我所說的燒寫程序是 ISP 方式,這兩種單片機支持 ISP 下載,所以如果買其他型號的燒寫程序可能會不太方便, AVR 單片機常用的就是 ATmega16L 其它型號的區別也不是很大,甚至有些兼容。至於單片機開發板,目前的價格都很貴,從一百到幾百不等,不過像上次學校里廣告的那個六十多塊錢的最好還是免了,沒什麼作用。能買一塊當然好,沒有的話也不要緊,自己動手買個電路板搭一下也很方便,引出 ISP 介面,燒寫程序十分容易,然後將 I/O 口引出擴展也很方便。
學習單片機的其它幾個注意點:
1 .理論與實踐並重
對一個初學單片機的人來說,如果按教科書式的學法,上來就是一大堆指令、名詞,學了半天還搞不清這些指令起什麼作用,也許用不了幾天就會覺得枯燥乏味以致半途而廢。所以學習與實踐結合是一個好方法,邊學習、邊演練,循序漸進,這樣用不了幾次就能將所用到的指令理解、吃透、紮根於腦海,甚至 「 根深蒂固 」 。也就是說,當你學習完幾條指令後 ( 一次數量不求多,只求懂 ) ,接下去就該做實驗了,通過實驗,使你感受到剛才的指令產生的控制效果,眼睛看得見 ( 燈光 ) 、耳朵聽得到 ( 聲音 ) ,更能深刻理解指令是怎樣轉化成信號去實現控制的,通過實驗看到自己所學的成果不僅有一種成就感也能提升你對單片機的興趣。說句實在話,單片機與其說是學出來的,還不如說是做實驗練出來的,何況做實驗本身也是一種學習過程。因此邊學邊練的學習方法,效果特別好。
2 .合理安排時間持之以恆
學習單片機不能 「 三天打魚、兩天曬網 」 ,要有持之以恆的毅力與決 4 心。學習完幾條指令後,就應及時做實驗,融匯貫通,而不要等幾天或幾個星期之後再做實驗,這樣效果不好甚至前學後忘。另外要有打 「 持久戰 」 的心理准備,不要興趣來時學上幾天,無興趣時涼上幾星期。學習單片機很重要的一點就是持之以恆。
3 .遇到問題耐心檢查
單片機有軟硬體兩方面的內容,有時一個程序怎麼調都不出效果,然而從理論分析卻又是對的,這是就要仔細找原因了,學習單片機經常碰到很多問題,有時一兩天都不能解決,這是就要有耐心,從底層找起,相信每找出一個錯誤都會有一個新的收獲。切不可輕言放棄!!!
4 .對只短暫學過一遍的知識,充其量只比浮光掠影稍好。因此,較好的方法是過一段時間後 (1-2 個月 ) 再重新學一遍,學過的知識要經常運用,這樣反復循環幾次就能徹底弄懂消化,永不忘卻。
5 .要進行適當投資購買實驗器材及書籍資料
單片機技術含金量高,一旦學會後,給你帶來的效益當然也高,無論是應聘求職還是自起爐灶開廠辦公司,其前景都光明無限。因此在學習時要捨得適當投資購買必要的學習、實驗器材。另外還要經常去科技圖書店看看,購買一些適合自己學習、提高的書籍。一本好的書籍真的很重要,可以隨時翻閱,隨時補充不懂或遺忘的知識。
學習使用單片機就是理解單片機硬體結構,以及內部資源的應用,在匯編或C語言中學會各種功能的初始化設置,以及實現各種功能的程序編制。
第一步:數字I/O的使用
使用按鈕輸入信號,發光二極體顯示輸出電平,就可以學習引腳的數字I/O功能,在按下某個按鈕後,某發光二極體發亮,這就是數字電路中組合邏輯的功能,雖然很簡單,但是可以學習一般的單片機編程思想,例如,必須設置很多寄存器對引腳進行初始化處理,才能使引腳具備有數字輸入和輸出輸出功能。每使用單片機的一個功能,就要對控制該功能的寄存器進行設置,這就是單片機編程的特點,千萬不要怕麻煩,所有的單片機都是這樣。
第二步:定時器的使用 學會定時器的使用,就可以用單片機實現時序電路,時序電路的功能是強大的,在工業、家用電氣設備的控制中有很多應用,例如,可以用單片機實現一個具有一個按鈕的樓道燈開關,該開關在按鈕按下一次後,燈亮3分鍾後自動滅,當按鈕連續按下兩次後,燈常亮不滅,當按鈕按下時間超過2s,則燈滅。數字集成電路可以實現時序電路,可編程邏輯器件(PLD)可以實現時序電路,可編程式控制制器(PLC)也可以實現時序電路,但是只有單片機實現起來最簡單,成本最低。
定時器的使用是非常重要的,邏輯加時間控制是單片機使用的基礎。
第三步:中斷
單片機的特點是一段程序反復執行,程序中的每個指令的執行都需要一定的執行時間,如果程序沒有執行到某指令,則該指令的動作就不會發生,這樣就會耽誤很多快速發生的事情,例如,按鈕按下時的下降沿。要使單片機在程序正常運行過程中,對快速動作做出反應,就必須使用單片機的中斷功能,該功能就是在快速動作發生後,單片機中斷正常運行的程序,處理快速發生的動作,處理完成後,在返回執行正常的程序。中斷功能使用中的困難是需要精確地知道什麼時候不允許中斷發生(屏蔽中斷)、什麼時候允許中斷發生(開中斷),需要設置哪些寄存器才能使某種中斷起作用,中斷開始時,程序應該干什麼,中斷完成後,程序應該干什麼等等。
中斷學會後,就可以編制更復雜結構的程序,這樣的程序可以干著一件事,監視著一件事,一旦監視的事情發生,就中斷正在乾的事情,處理監視的事情,當然也可以監視多個事情,形象的比喻,中斷功能使單片機具有吃著碗里的,看著鍋里的功能。
以上三步學會,就相當於降龍十八掌武功,會了三掌了,可以勉強護身。
第四步:與PC機進行RS232通信
單片機都有USART介面,特別是MSP430系列中很多型號,都具有兩個USART介面。USART介面不能直接與PC機的RS232介面連接,它們之間的邏輯電平不同,需要使用一個MAX3232晶元進行電平轉換。
USART介面的使用是非常重要的,通過該介面,可以使單片機與PC機之間交換信息,雖然RS232通信並不先進,但是對於介面的學習是非常重要的。正確使用USART介面,需要學習通信協議,PC機的RS232介面編程等等知識。試想,單片機實驗板上的數據顯示在PC機監視器上,而PC機的鍵盤信號可以在單片機實驗板上得到顯示,將是多麼有意思的事情啊!
第五步:學會A/D轉換
MAP430單片機帶有多通道12位A/D轉換器,通過這些A/D轉換器可以使單片機操作模擬量,顯示和檢測電壓、電流等信號。學習時注意模擬地與數字地、參考電壓、采樣時間,轉換速率,轉換誤差等概念。
使用A/D轉換功能的簡單的例子是設計一個電壓表。
第六步:學會PCI、I2C介面和液晶顯示器介面
這些介面的使用可以使單片機更容易連接外部設備,在擴展單片機功能方面非常重要。
第七步:學會比較、捕捉、PWM功能
這些功能可以使單片機能夠控制電機,檢測轉速信號,實現電機調速器等控制起功能。
如果以上七步都學會,就可以設計一般的應用系統,相當於學會十招降龍十八掌,可以出手攻擊了。
第八步:學習USB介面、TCP/IP介面、各種工業匯流排的硬體與軟體設計學習USB介面、TCP/IP介面、各種工業匯流排的硬體與軟體設計是非常重要的,因為這是當前產品開發的發展方向。
到此為止,相當於學會15招降龍十八掌,但還不到打遍天下無敵手的境界。即使如此,也算是單片機大蝦了