欧美极品高清xxxxhd,国产日产欧美最新,无码AV国产东京热AV无码,国产精品人与动性XXX,国产传媒亚洲综合一区二区,四库影院永久国产精品,毛片免费免费高清视频,福利所导航夜趣136

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 3717|回復: 6
打印 上一主題 下一主題
收起左側

讓單片機開發變得更容易

[復制鏈接]
跳轉到指定樓層
樓主
        說到單片機,應該是從興趣開始的吧。基于興趣,才能激發開發的靈感。學習單片機快一年多了,也漸漸找到了感覺,也讓自己更熱衷于開發了。
        當初是以AVR單片機入門的,自己跟著視頻,慢慢開始的。剛開始可能感覺有些難,但堅持下來,還是有收獲的。 pic單片機也只是簡單了解。在學校里公選課選修過瑞薩單片機,接觸幾類不同的單片機后,發現都差不多,基本能熟悉一種,就看所在的實驗室和將來所在的公司用什么芯片了。從一種單片機轉型到另一種單片機不是難事。
      當然在很多的教學中,都是以51單片機為主。在自己接觸51單片機的過程中,也有所感覺。這只是個人的一些意見和整理, 希望對讀者有所幫助。如果你是單片機高手,抱歉,你會覺得我這文章是在顯擺。如果你是初學愛好者,希望你可以作為參考一下。畢竟合適自己的才是最好的方法。有一個是必須的,如果要學好,那就是堅持。
      這不是教大家怎么入門單片機,只是自己學習單片機過程中的一些整理。
     
一 單片機的入門技巧
   1.所需基礎知識。
       單片機開發,不僅僅只是一塊芯片那么簡單。當然至少得了解這塊芯片。 比如51芯片,雖然是51的內核,但很多公司都基于這個內核,開發自己的芯片。但只要懂得對51內核進行程序編寫,基本不成問題。比如常用的89c51,就有STC89c51,AT89c51,在keil開發的時候,常用AT89c51,當然還有什么90啊,52啊,都差不多。
       如果你上過微機原理這個課,相信對你的單片開發有幫助,因為單片機的內部,也是由CPU和各種東西組成。如果懂多一些內部結構,對嵌入式開發更有幫助。既然是嵌入式,對內部結構理解了,才能更好的嵌入啊,雖然這個說法有點不太科學。還要有數電知識的基礎。畢竟你會接觸很多數字芯片。至少你在編程時,接觸的二進制,十六進制會比十進制還多。這點基礎還是要的。
      哪怕你前面的基礎都沒有,但,至少,你也得有c的基礎。我所說的基礎,并不是要一定精通,至少,你要去開發的,你得去積累這些基礎。我建議可以去看看這個單片機教程 http://www.raoushi.com/mcuteach/252.html 里面介紹的比較通俗易懂. 很多東西并不一定要記住理解即可.
   2.開發過程。
     我認識的不少人都是自己在網上買個開發板回來,然后自己跟著視頻教程慢慢學。當時我自己也是這么做的。如果,你想節省成本,那么,你得要學會使用proteus這個仿真軟件了。當然,你總得有編程的工具吧。那么,keil這個軟件,應該是你的好幫手了。 這兩個軟件都可以在網上找到很多資源的。鑒于版權問題,以防被人肉,就不提供資源與鏈接。當我有權讓讀者知道至少還有這兩個軟件是單片機開發的好助手。如果還有興趣,protel這個軟件也是不可缺少的。
  3.由內到外認識單片機
    認識單片機呢,至少知道它有什么,怎么用。這樣你至少都可以開發了。至于它的原理,構造,有興趣可以作深入研究。比如51單片機,有四組8位端口,然后這8位端口都怎么用,以及復用功能只要了解,就可以開發了。還有定時計數器有幾個,對應的寄存器是什么,怎么用。中斷有幾個,還有串口通信等。這應該相對說內。要說外,可多了,先是簡單的LED,數碼管,開關,蜂鳴器,電機,LCD顯示器,點陣。ADC/DAC等。這些至少都是一般開發板或單片機書介紹所基本有的硬件。要說在外,那可是說不勝數,當是各種數字芯片,各種功能模塊,如果每一個都學的話,都不知道學到什么時候。你所要做的就是掌握學習的能力,知道它有什么功能,怎么用就好,原理,結構甚至可以不用了解。(當然,這是對初級開發的建議)
   4. keil軟件的使用
剛開始的時候,也不知道keil這個軟件怎么使用。當時的做法就是從一個例子里打開,然后把程序刪掉, 輸入自己的練習程序,就可以生成hex,燒寫到單片機。使用多次后就會對keil這個軟件熟悉了。
    但盡管使用多次后,我相信還是有部分人沒有考慮修改keil編程文字的字體,大小,顏色了。只是按默認的方式。當然默認的方式不影響編程開發,但,如果作些修改的話,看程序比較明朗一些。
      點擊edit,選擇最后一項Configuration,彈出一個對話框。如下:
   
    在這里就可以修改顯示文字的顏色,字體,大小了。這里的一個功能不只是這樣,更重要的是,可以選擇不同類型的編程文字顯示不同。
比如至少c語言的關鍵字顯示為藍色或其它你喜歡的顏色,至少你看到這類顏色,就知道這些是關鍵字了。預定義的顏色,數組顏色,字符串顏色等,改變這些顏色和大小,在看程序的時候,就比較直觀了,易于檢查和管理程序,養成開發好習慣。別小看了這點功能,這個會潛移默化的幫助開發,至少,我是這么認為。
   5.proteus的使用。
  如果英語不太好的同學,建議使用中文版的。不過,個人建議還是用英文版的好,畢竟用英文版的洋氣一些(這句只是我朋友的原話),用英語版呢用開發還是有好處的,由于好處太多,就不列出來占篇幅了。畢竟這具好處在網上百度一下還是很多版本的。知道里面有什么芯片,盡管拉出來使用,不在于乎原件個數及成本,這是用來學習的一個好處。可以到網上多找些例子來仿真看看,有一定熟悉了再自己設計仿真。
         二,單片機開發的一些技巧
  在開發上,如果掌握了一些技巧,可以縮短開發周期。或者說,讓開發變得更容易一些。
1.   keil開發技巧
    keil的開發,應該也差不多是程序的開發了吧。很多例子上都是選用at89c51,當然也不一寫。
(1),設置不同的數據類型顯示不同的顏色,字體,大小。方便自己看程序,也有一定的糾錯能力。如果你想寫一個關鍵字,發現它不是藍色的(不好意思,我這里使用的是藍色),就說明你輸入錯了,就可以及時糾錯了。 一些常用的語句或定義可以將其設置為用戶自定義關鍵字,這些顯示的時候,就可以方便自己的管理。



  自己把main定義用用戶關鍵字后,就可以以關鍵字顯示出來,這樣一看就知道main在哪里了。我曾幫忙同學檢查過一個錯誤。程序無論怎么都不能正常運行,一堆代碼里,檢查了半個小時,后來才發現原來是main()寫成了mian()。
(2) .要學會使用keil c里面的庫函數
     keil c里面的庫函數和我們常說的c語言函數庫差不多。里面定義了很多函數,我們就可以直接調用。學會使用這些庫,可以讓我們的代碼更優秀。
    字符函數庫 ctype.h  里面是對字符的檢查與轉換等功能。內部函數庫, intrins.h ,里面有移位操作及空指令操作等。字符串函數庫,
string.h,相信用過c語言的,對這個函數庫不陌生了。還有數學函數庫,math.h相信大家不陌生了,特別是如果用到單片機開發一些游戲算法的,這些數學算法就離不開了。特別是產生隨機數的話,這個庫是不可缺少的。還有一些庫就不作介紹了。
(3) ,嘗試使用#error進行錯誤檢測
  先看這個例子:




  因為你的程序如果比較長的話,適當進行插入這些的錯誤檢測,可以讓你快速檢測出程序的錯誤。
2.要學會建立自己的庫。
      開發的時候,經常會用到常用的模塊,而這些模塊是自己都用過的,每次都要重新寫相應的程序的話,還是比較麻煩的事 ,因此建立自己的函數庫呢,就是事半功倍了。比如常用到lcd1602,就可以建立一個lcd1602的庫,里面是對使用lcd1602引腳的定義,  初始化函數,寫指令函數,  就是和lcd有關的,都可以寫進去。這樣以后用到lcd1602的時候,就可以直接使用自己的庫,最多只是改一下引腳的定義就行了。當然還有各種延時函數啊,lcd12864,時鐘芯片,溫度傳感芯片,還有IIC通信,串口通信等都可以建立自己的庫,方便下次編程調用。
3, 學會使用通信協議模擬。有些芯片不支持IIC通信,SPI通信,CAN通信。但有些芯片模塊是使用這些協議,因此,學會使用協議模擬是很實用的。比如51單片機模擬IIC通信協議,去網上找騰IIC通信的例子,把有關IIC的函數,定義整理成一個庫,這就模擬了IIC協議,就可以直接和支持IIC協議的模塊使用了。畢竟芯片太多,我們不可能學完,要懂得用程序模擬其它功能。這樣編寫的程序,移植性就比較強。
  4, 保留用過的數據
   比如開發點陣的時候,就用過很多顯示數據,把這些代碼保留起來,下次編寫到類似程序的時候,就可以用到這些數據了。以及數碼管顯示數據(共陰,共極的)都備份一些,這樣用到數碼管的時候,就可以直接調用了。還有顯示屏開發的時候,用到的自定義圖形數據就更多了,如果每次都用取模軟件現場取模數據就比較費時了。
5 積累錯誤,把自己的錯誤記下來, 防止同樣的錯誤犯兩次。


   以上僅是個人的一些整理,談不上建議。畢竟每個人都有自己的編程習慣。還有更多的技巧,算法,有時間再和大家交流交流。

評分

參與人數 1黑幣 +10 收起 理由
bh4djj + 10 贊一個!

查看全部評分

分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享淘帖 頂 踩
回復

使用道具 舉報

沙發
ID:52343 發表于 2013-7-27 22:00 | 只看該作者
回復

使用道具 舉報

板凳
ID:52343 發表于 2013-7-27 22:01 | 只看該作者
謝謝分享
回復

使用道具 舉報

地板
ID:63747 發表于 2014-7-18 13:02 | 只看該作者
恩,有點意思;樓主再詳細講點軟件復用就更好了。
回復

使用道具 舉報

5#
ID:65877 發表于 2014-9-6 16:02 | 只看該作者
經驗,謝謝分享!
回復

使用道具 舉報

6#
ID:65837 發表于 2014-9-9 18:48 | 只看該作者
頂!!!!!
回復

使用道具 舉報

7#
ID:1 發表于 2015-4-5 21:20 | 只看該作者
的卻是篇好文章。
回復

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規則

小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術交流QQ群281945664

Powered by 單片機教程網

快速回復 返回頂部 返回列表