乡下人产国偷v产偷v自拍,国产午夜片在线观看,婷婷成人亚洲综合国产麻豆,久久综合给合久久狠狠狠9

  • <output id="e9wm2"></output>
    <s id="e9wm2"><nobr id="e9wm2"><ins id="e9wm2"></ins></nobr></s>

    • 分享

      51單片機就用STC51,手把手教你STC51的ISP

       beifeng523 2013-10-30

      51單片機就用STC51,手把手教你STC51的ISP

      51單片機就用STC51,手把手教你STC51的ISP標簽: stcstc89c52stc89c54stc89c58stc11f01stc12c520stc12c5204stc10f雜談分類: 解決方案與參考設計 用51單片機就用STC51,手把手教你STC51的ISP    說起我從認識學習使用C51單片機到現在有兩年多,時間不長,菜鳥一只。從用TOP151燒寫AT89C51,到用easy51pro在線編程AT89S51,再到用STC-ISP軟件在線編程STC89C51,最后現在變得越來越懶,干脆用protues仿真單片機外圍電路。
       
          現在簡單的總結一下,入門級的C51學習在沒有昂貴的單片機仿真器情況下,怎樣算是方便調試又花費少吧。
       
          先說說AT89C51,噢,差點忘了,這型號的單片機不知何年被停產了,現在就靠它的庫存仍在這個歷史的舞臺上掙扎。
       
      缺點:對入土為安的芯片沒什么好說了。
       
          那就說AT89S51,這可是一個令人振奮的產物,最大的特點莫過于它的ISP(在線編程)功能,就是使用者每編譯好程序,就可以立即通過ISP下載線寫到單片機上去。而且ISP下載線的制作簡單令單片機和我們的距離更加接近了。它的ISP原理圖如下:
      點擊查看大圖

      其中ISP下載程序可以用easy 51pro v2.0。相比昂貴的仿真器,做上圖的元器件總共也就十塊錢左右吧。
       
      缺點:一、并口連接電腦,1.可能占用打印機口;2.是筆記本是沒有并口的。
       
            二、下載線制作一次成功率不大,不是漏接了這個腳就是那個口,對于新手而言尤其這樣。
       
            三、下載線壽命不長,一兩次不知明的原因(通常靜電),就可以把里面的那塊芯片(74LS244)燒壞。并且,實際你都不知道到底哪里出毛病了。
       
          也許,世界上真的沒有最好,只要更好,自從好友張JL和陳Y介紹了STC的51系列單片機給我之后,發(fā)現竟然有這么方便好用功能強大的單片機。
       
          STC51單片機的型號跟ATMEL的大致一樣,有STC89C51,C52等,對應于AT89C51,C52等對應它們的內部RAM內部ROM中斷口等,是完全一樣的。
       
          當然,STC系列單片機是改進型的單片機,它的熱重啟,串口ISP等功能確實為我準備介紹給大家提供了理由。
       
          先說說ISP功能,它跟電腦連接就只有三根線,就是通過RS-232傳輸。它ISP過程是這樣的:冷重啟(上電)-單片機運行系統ISP監(jiān)控程序(出廠時已燒到里面)-檢測P3.0/RXD有沒有合法下載命令流,有的話,就下載用戶程序進戶程序區(qū);沒有的話,就跳到用戶程序區(qū),運行用戶程序。  所以,第一次下載程序,用戶需要先點ISP下載軟件的“download”,再把單片機通電。如圖:
      點擊查看大圖

      到了這里,大家不禁會說,下載線雖然簡單,但每次都要斷電上電,煩不煩?答:我都覺得煩。不過眼睛銳利的讀者發(fā)現了上圖右下片有一段文字。說什么的呢?哦,原來是自定義下載。什么是自定義下載?首先我先說個高興的事兒——用自定義下載,從此告別斷電上電的冷重啟ISP下載。
       
         所謂自定義下載,就是我從上面軟件的自定義下載命令文本框中打入十六進制數字(如:FEH)然后點擊發(fā)送,程序自動下載到用戶單片機里。神奇吧。究其不用斷電上電冷重啟的原因,就是上面我所說的STC單片機具有熱重啟功能。用戶只需簡單控制ISP_CONTOR特殊功能寄存器即可實現系統復位了。匯編語句是:
       
      MOV 0E7H,#60H
       
          那么,自定義下載又如何做到呢?其編程思想是這樣的:主程序開始初始化串口,包括設置波特率和串口中斷,然后在串口中斷子程序里寫上語句判斷是否為自定義下載碼,再延時一秒左右,和上面的那句話 MOV 0E7H,#60H 。就這樣就完了,不難吧。注意,自定義下載那里有一個波特率設置,這個波特率就是你的程序(已下到單片機中的程序哦)里設置的波特率。
       
      下面用匯編寫段示例程序:
       
           ORG 0000H
           AJMP START
           ORG 0023H
           LJMP ZIJI
       
           ORG 0100H
      START: MOV SP,#70H
       
           MOV TMOD,#20H  ;T1方式2
           MOV TH1,#0F4H  ;4800B/S
           MOV TL1,#0F4H
           SETB TR1
           MOV SCON,#0F8H  ;串行口為方式3,允許接收,SM2=1,TB8=1
           MOV PCON,#80H  ;smod=1 !!!!!!!!!
           SETB EA         ;開所有中斷
           SETB ES         ;開串口中斷
           CLR RI
       
      .....
       
           ORG  0200H
       
      ZIJI: CLR RI        ;串口中斷子程序
            PUSH ACC
            PUSH PSW
            MOV A,SBUF
            MOV R1,A
            XRL A,#0FEH     ;判斷是否為自定義下載命令(FEH)
            JZ ISP
       
            ...
       
      RETURN:PUSH PSW
             PUSH ACC
       
             RETI
       
      ISP:  
            CALL DL1S         ;調用延時1秒子程序
            MOV 0E7H,#60H     ;運行重啟程序
            AJMP RETURN
       
         附上STC的下載線原理圖:
      點擊查看大圖

      剛上網搜到一個簡單的電路圖(本人沒驗證,僅供參考)
      點擊查看大圖

      如果還是覺得用串口實在不方便的話,那我就推薦你使用USB轉串口下載線啦。
       
      原理圖也不十分難,自己做也可以,只是其中用到的CH341S芯片有點貴(約15元左右)。附上原理圖
      點擊查看大圖

        本站是提供個人知識管理的網絡存儲空間,所有內容均由用戶發(fā)布,不代表本站觀點。請注意甄別內容中的聯系方式、誘導購買等信息,謹防詐騙。如發(fā)現有害或侵權內容,請點擊一鍵舉報。
        轉藏 分享 獻花(0

        0條評論

        發(fā)表

        請遵守用戶 評論公約

        類似文章 更多