亚洲春色中文字幕久久久-三上亚,一吻二脱三床四吻胸,国产真实伦对白视频全集,在线毛片观看,精品成品入口黄网,国产毛aⅴ片久久久,亚洲AV色香蕉一区二区三区老师,萧皇后A级艳片,色情日本视频更新,99久久亚洲精品日本无码

 找回密碼
 立即注冊(cè)

QQ登錄

只需一步,快速開(kāi)始

搜索
查看: 4111|回復(fù): 6
打印 上一主題 下一主題
收起左側(cè)

讓單片機(jī)開(kāi)發(fā)變得更容易

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



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




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


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

評(píng)分

參與人數(shù) 1黑幣 +10 收起 理由
bh4djj + 10 贊一個(gè)!

查看全部評(píng)分

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

使用道具 舉報(bào)

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

使用道具 舉報(bào)

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

使用道具 舉報(bào)

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

使用道具 舉報(bào)

5#
ID:65877 發(fā)表于 2014-9-6 16:02 | 只看該作者
經(jīng)驗(yàn),謝謝分享!
回復(fù)

使用道具 舉報(bào)

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

使用道具 舉報(bào)

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

使用道具 舉報(bào)

本版積分規(guī)則

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

Powered by 單片機(jī)教程網(wǎng)

快速回復(fù) 返回頂部 返回列表