注意:訪問本站需要Cookie和JavaScript支持!請設置您的瀏覽器! • 打開購物車 • 查看留言 • 付款方式 • 聯系我們 |
![]() |
首頁 | 電子入門 | 學單片機 | 免費資源 | 下載中心 | 商品列表 | 象棋在線 | 在線繪圖 | 加盟五一 | 加入收藏 | 設為首頁 |
選擇分類:當前分類——電子入門 相關聯或者相類似的文章: 免費抄版軟件——文字或圖片轉PCB文件(31341) 節能燈套件制作說明(9999) USB充電器套件制作說明(3141) 交、直流電大揭秘---通俗理解法(2597) 常用集成電路功能列表(2086) 電子基礎知識--電阻篇(1748) 什么是壓敏電阻?(1644) 什么是電平?(1644) 什么是“壓敏電阻”(1644) [原創]最新智能色環電阻識別程序(1517) 整流電路詳解 (1381) 本站免費資料的網址(1329) 愛好捕魚的朋友千萬別錯過!(我的電魚機制作經歷)(1322) 測電阻法(1279) 電子基礎知識--電感(1239) 充滿電磁波的天空 (1194) 識別色環電阻的阻值...(1141) 了解隔離變壓器(1116) 電烙鐵的妙用(1109) 麻煩的USB硬盤和延長線(電子知識)(1105) 首頁 前頁 后頁 尾頁 本站推薦: | STC單片機簡介 摘要: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系列單片機資源一覽表。 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的程序存儲器結構 使用過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單元覆蓋。
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) 可編程計數器陣列的時鐘可如下選擇: 可編程計數器陣列在很少的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 |