• <rp id="wfxtb"><acronym id="wfxtb"></acronym></rp><em id="wfxtb"></em><dd id="wfxtb"><big id="wfxtb"><video id="wfxtb"></video></big></dd>
  • <rp id="wfxtb"></rp>

    <mark id="wfxtb"><center id="wfxtb"></center></mark>

      <rp id="wfxtb"><span id="wfxtb"><u id="wfxtb"></u></span></rp>

      <rp id="wfxtb"><object id="wfxtb"></object></rp>

      注意:訪問本站需要Cookie和JavaScript支持!請設置您的瀏覽器! 打開購物車 查看留言付款方式聯系我們
      初中電子 單片機教材一 單片機教材二
      搜索上次看見的商品或文章:
      商品名、介紹 文章名、內容
      首頁 電子入門 學單片機 免費資源 下載中心 商品列表 象棋在線 在線繪圖 加盟五一 加入收藏 設為首頁
      本站推薦:
      STC單片機簡介
      文章長度[7671] 加入時間[2008/8/10] 更新時間[2025/5/13 9:38:49] 級別[0] [評論] [收藏]

      摘要:MCS51單片機是目前國內實用最廣泛的一種單片機型,全球各單片機生產廠商在MCS51內核基礎上,派生了大量的51內核系列單片機,極大地豐富了MCS51的種群。其中,STC公司推出了了STC89系列單片機,增加了大量的新功能,提高了51的性能,是MCS51家族中的佼佼者。文章主要介紹了該單片機種與MCS51的不同之處,并根據筆者的實踐,提出了一些需要注意的地方。

      關鍵詞 MCS51 單片機 ISP IAP

      引言

      隨著電子技術的迅速發展,單片機技術的出現給現代工業測控領域帶來了一次新的技術革命。目前,單片機以其高可靠性、高性能價格比,在工業控制系統、數據采集系統、智能化儀器儀表、辦公自動化等諸多領域得到極為廣泛的應用,并已走入家庭,洗衣機、空調等,到處都可見到單片機的蹤影。

      在單片機家族的眾多成員中,MCS51系列單片機以其優越的性能、成熟的技術及高可靠性和高性能價格比,迅速占領了工業測控和自動化工程應用的主要市場,成為國內單片機應用領域中的主流。世界各大單片機廠商都在MCS51上投入了大量的資金和人力,圍繞51內核,衍生出許多品種,增強51單片機的各種功能。MCS51家族是目前在單片機領域發展最快的一個品種。

      這里要向大家推薦的是新近由STC公司推出的高性價比的STC89系列單片機。

      STC89系列單片機的性能

      STC89系列單片機是MCS-51系列單片機的派生產品。它們在指令系統、硬件結構和片內資源上與標準8052單片機完全兼容,DIP40封裝系列與8051為pin-to-pin兼容。STC89系列單片機高速(最高時鐘頻率90MHz),低功耗,在系統/在應用可編程(ISP,IAP),不占用戶資源。下表是STC89系列單片機資源一覽表。

      圖片點擊可在新窗口打開查看此主題相關圖片如下:93.jpg
      圖片點擊可在新窗口打開查看

      主要特性:

      80C51核心處理器單元;

      3V/5V工作電壓,操作頻率0~33MHz(STC89LE516AD最高可達90MHz);5V工作電壓,操作頻率0~40MHz;

      大容量內部數據RAM:1K字節RAM;

      64/32/16/8kB片內Flash程序存儲器,具有在應用可編程(IAP) ,在系統可編程(ISP),可實現遠程軟件升級,無需編程器;

      支持12時鐘(默認)或6時鐘模式;

      雙DPTR數據指針;

      SPI(串行外圍接口)和增強型UART ;

      PCA(可編程計數器陣列),具有PWM的捕獲/比較功能;

      4個8位I/O口,含3個高電流P1口,可直接驅動LED;

      3個16位定時器/計數器;

      可編程看門狗定時器(WDT);

      低EMI方式(ALE禁止);

      兼容TTL和COMS邏輯電平;

      掉電檢測和低功耗模式等。

      下面主要介紹STC89系列單片機有特色之處及需要注意的地方。

      一、 1k bit片內RAM(數據存儲器)

      普通8051系列單片及片內RAM只有128(8051)或256(8052)字節,

      1、低128字節(地址:00H~7FH),可直接或間接尋址;

      2、高128字節(地址:80H~FFH),只可間接尋址;

      STC89系列單片機另外增加了768字節的片內擴展RAM,以解決眾多技術人員在編程時的RAM資源嚴重缺乏的問題。

      768字節的片內擴展RAM(地址:000H~2FFH)與外部擴展RAM地址重疊,單片機可通過軟件設置AUXR.1,決定是否使用片內擴展RAM,以防止可能的與外部擴展RAM的沖突,默認為使用片內擴展RAM。

      片內擴展RAM的訪問采用間接尋址,可通過

      ①、MOVX? A,@DPTR 或 MOVX? @DPTR ,A 指令訪問片內擴展RAM(00H~2FFH,共768字節);

      ②、MOVX? A,@Ri 或 MOVX? @Ri,A 指令訪問片內擴展RAM(00H~FFH,共256字節)。

      當DPTR≥300H時,系統訪問外部擴展RAM。

      注意:在使用第二種指令時,特別要注意是使用MOV還是MOVX,MOV訪問的是片內RAM,MOVX訪問的是片內擴展RAM,剛剛接觸此類單片機的技術人員最容易在這里犯錯誤。

      二、 64/32/16/8K片內Flash(程序存儲器)與ISP功能

      STC89系列單片機按芯片型號分別有64/32/16/8K片內Flash,分為2個Flash存儲塊:Block0和Block1。2個Flash存儲塊在物理上Block0在前,Block1在后。通過REMAP功能可以將Flash塊重定位。下圖顯示的是STC89C58的程序存儲器結構


      圖片點擊可在新窗口打開查看此主題相關圖片如下:92.jpg
      圖片點擊可在新窗口打開查看

      使用過SST89系列單片機的用戶要注意與STC89區別:

      ①、Block1大小不同;

      ②、Block扇區大小不同;

      ③、指令及SFR的不同。

      STC89有2個配置位SC0,SC1控制上電復位/外部復位后程序是從Block0還是Block1啟動。

      ①對于STC89C58,SC0,SC1同時起作用:

      SC1,SC0=0,0 程序是從Block0啟動;

      SC1,SC0=1,1 程序是從Block1啟動,這時Block1物理上在后8K(E000H~FFFFH),邏輯上又影象到前8K(0000H~1FFFH),Block0前8K對于PC指針不可見。

      ②對于STC89C16,只有SC0起作用:

      SC0=0 程序是從Block0啟動;

      SC0=1 程序是從Block1啟動,這時Block1邏輯上影象到前8K(0000H~1FFFH),將Block0前8K單元覆蓋。


      圖片點擊可在新窗口打開查看此主題相關圖片如下:91.jpg
      圖片點擊可在新窗口打開查看

      剛剛接觸STC89系列單片機的技術人員可能對其REMAP功能不理解,通過了解ISP就會明白REMAP的作用。

      ISP主要應用于在線(或遠程)升級,通過執行ISP引導碼改寫用戶程序,無須編程器,無須親臨現場。STC89系列單片機在出廠時,片內已經燒錄有ISP引導碼,占用Block1的程序空間前2K字節,并設置為從Block1啟動。啟動時,首先執行ISP引導碼,確認是程序下載,還是正常啟動。無論是程序下載還是正常啟動,ISP引導碼最后總是將REMAP取消,恢復Block0在前8K的地址空間,進而執行Block0中的用戶程序,即用戶程序總是放在Block0的00H開始的單元,除非用戶自行修改了ISP引導碼。

      三、STC89系列單片機IAP技術

      IAP功能就是在應用可編程,利用該功能,就可將本不具有EEPROM的單片機具有相當于EEPROM的功能,而且存儲空間遠大于EEPROM。IAP不能對自身所在的Block編程,即當程序運行在Block0時,可編程的是Block1;當程序運行在Block1時,可編程的是Block0。根據這個特點,通過REMAP功能可設置在應用編程的Flash的大小。對STV89C58來說,

      ①、當程序運行于Block0時,可擁有6~8k的Flash EEPROM(一般使用);

      ②、當程序運行于Block1時,可擁有近32k的Flash EEPROM(需要技巧或更改ISP引導碼);

      技巧:對于想使用32K的Flash EEPROM,又不想更改ISP引導碼的用戶,可以這樣設計程序,在用戶程序開始處,通過REMAP功能將Block1影象到前8K,并將影象指令之后的程序燒錄在Block1中即可。程序流程定位:Block1(ISP引導碼) à Block0(用戶程序REMAP部分)à Block1(用戶程序)

      要使用IAP功能,必須啟用IAP功能。STC89的超級Flash配置存儲器SFCF的bit6位用來開關IAP功能,0關閉,1開啟,程序啟動時默認關閉。

      IAP功能所涉及到的SFR有:

      SFCF DATA 0B1H ;超級Flash配置存儲器

      SFCM DATA 0B2H;超級Flash命令存儲器

      SFAL DATA 0B3H ;超級Flash地址低字節存儲器

      SFAH DATA 0B4H ;超級Flash地址高字節存儲器

      SFDT DATA 0B5H ;超級Flash數據存儲器

      SFST DATA 0B6H ;超級Flash狀態存儲器

      (一)、IAP的主要功能有:

      (1)片擦除。命令格式:

      ORL SFCF,#040H ;啟動IAP

      MOV SFDT,#55H

      MOV SFCM,#01H ;寫入命令字

      ;查詢SFST.2,等待芯片擦除結束,

      (2)塊擦除。命令格式:

      ORL SFCF,#040H ;啟動IAP

      MOV SFAH,#0F0H/#00H ;擦隊block0/block1

      MOV SFDT,#55H

      MOV SFCM,#0DH ;寫放命令字

      ;查詢SFST.2,等待芯片擦除結束,

      (3)扇區擦除。命令格式:

      ORL SFCF,#040H ;啟動IAP

      MOV SFAH,區段地址高字節

      MOV SFAL,區段地址低字節

      MOV SFCM,#0BH ;寫入命令字

      ;查詢SFST.2,等待芯片擦除結束,

      (4)字節編程。命令格式:

      ORL SFCF,#040H ;啟動IAP

      MOV SFAH,要編程地址高字節

      MOV SFAL,要編程地址低字節

      MOV SFDT,要編程的數據

      MOV SFCM,#0EH ;寫放命令字

      ;查詢SFST.2,等待芯片擦除結束,

      (5)字節校驗。命令格式:

      ORL SFCF,#040H ;啟動IAP

      MOV SFAH,要校驗數據的地址高字節

      MOV SFAH,要校驗數據的地址低字節

      MOV SFCM,#0CH ;寫放命令字

      NOP

      MOV A,SFDT ;A保存規定單元地址讀出的內容

      (二)、使用IAP需要注意:

      1、啟動IAP請使用ORL指令,盡量不要使用MOV指令,否則(尤其對初次使用本單片機者)及易造成系統軟件復位、程序存儲器REMAP等;

      2、IAP編程的數據讀出,請使用字節校驗指令,避免使用MOVC指令。MOVC指令在IAP中較數場合(尤其是有地址重疊的地方)不能讀出正確的數值;

      3、IAP編程不要忘記打開IAP功能(數據讀出時也需要)。

      (三)、IAP功能的用途:

      ①、通過IAP功能可以不需編程器就可做單片機實驗。這對初次學習單片機的人們,尤其對學校單片機的教學帶來極大的方便,是一種最低成本的單片機開發手段。

      ②、可以對產品的軟件進行升級。不需外加監控芯片,只是通過串行口便可將PC機內的產品升級軟件下載到產品中去,而實現產品軟件升級換代。在自己的實驗室便可通過Modem對遠方的產品進行軟件升級。這將是以后電子產品的必然趨勢。

      ③、還可以在線對產品參數進行修改?蓪崿F在線對現場歷史數據的存儲、曲線參數校正等功能。適用于一些需經常改變數據的應用產品(如計費器、門禁系統及需要升級的產品等)及需遠距離改變設備參數的產品(遙控設備等)。

      四、 可編程計數器陣列

      8051單片機片內有2個定時器/計數器,8052則有三個,滿足一般擁護的需求,但在某些特殊場合卻略顯資源緊張,STC89額外提供了一個可以無須CPU參與、獨立工作的可編程計數器陣列(PCA)。

      STC89的可編程計數器陣列(PCA)是一個16比特的定時器,擁有5個16比特捕捉/比較模塊,每個模塊均可有以下幾種模式:

      上升沿和/或下降沿捕捉;

      軟件定時器;

      高速輸出;

      看門狗定時器(僅模塊4);

      脈寬調制器(PWM)

      可編程計數器陣列的時鐘可如下選擇:


      圖片點擊可在新窗口打開查看此主題相關圖片如下:90.jpg
      圖片點擊可在新窗口打開查看

      可編程計數器陣列在很少的CPU開銷下比普通的定時器/計數器提供了更多的定時功能。它的優點包括減少軟件開銷及提高精度。

      PCA可提供除波特率發生器外,T0,T1,T2定時器所能提供的功能。

      PCA捕捉功能可以同時捕捉輸入脈沖的上升沿及下降沿,非常適合用來檢測脈沖寬度和頻率;在軟件解碼PT2262時,具有相當好的表現,省卻了大量的CPU管理時間。

      由于具有上升沿捕捉功能,PCA還可以用作上升沿的中斷,以彌補8052只有下降沿中斷的缺陷,在8052中有時你不得不另加一個反相器以符合MCS51的要求。

      PWM功能可用于控制電動機調速等。

      五、 復位電路

      STC89在8051基礎上增加了多個復位功能,以提高單片機的抗干擾能力。

      1、上電復位:基本同8051相似,但同時增加了一項功能,就是軟件可編程在復位時從REST腳輸出32個復位脈沖,去復位外部設備,保證外部設備的同步,省卻外部復位電路;

      2、軟件復位:8051沒有軟件復位功能,技術人員一般需要自行設置較多SFR值,模擬軟件復位,STC89只需改變一個位狀態即可完成軟件復位,減少軟件開銷。

      3、欠壓檢測與復位

      8051沒有欠壓檢測功能,在遭遇欠壓時,單片機無法正常工作,端口狀態不定,極易造成外圍設備的損壞。STC89的欠壓檢測與復位可在一定程度上避免此類事件發生。STC89在檢測到欠壓條件時產生一個中斷通知或產生一個復位信號,復位單片機。欠壓中斷通知是一個很實用的功能,由于掉電通知到掉電還有以段時間,它可以讓程序在即將掉電時,及時保存那些必要的參數,避免以寫不必要的損失。

      結束語:

      STC89的優點不是三言兩語就能說的清楚的,更多的信息可參考STC89數據手冊。

      STC89在8051基礎上增加了許多功能,極大地提高了MCS51家族的性能。STC89由美國設計,在臺灣生產,是目前在相同性能條件下價格最優的一個品種。STC89的高性能、低價格,必定能為使用MCS51家族產品的技術人員帶來相當的技術和經濟的效益。當然,對于一個新的品種,它的新特性、新功能和可靠性還有待于我們去實踐、去發掘。

      1、 本站不保證以上觀點正確,就算是本站原創作品,本站也不保證內容正確。
      2、如果您擁有本文版權,并且不想在本站轉載,請書面通知本站立即刪除并且向您公開道歉! 以上可能是本站收集或者轉載的文章,本站可能沒有文章中的元件或產品,如果您需要類似的商品請 點這里查看商品列表!
      本站協議。 版權信息。 關于我們。 本站地圖。 營業執照。 發票說明。 付款方式。 聯系方式
      深圳市寶安區西鄉五壹電子商行——粵ICP備16073394號-1;地址:深圳西鄉河西四坊183號;郵編:518102
      E-mail:51dz$163.com($改為@);Tel:(0755)27947428
      工作時間:9:30-12:00和13:30-17:30和18:30-20:30,無人接聽時可以再打手機13537585389
      91嫩草黄片动漫版