學51單片機必看!51單片機導論

2021-02-15 工業幫PLC教育機構

 一:單片機引腳

單片機,STC89C52:

單片機全稱單片微型計算機;它內部有存儲器、處理器、輸入輸出接口,具有計算機的屬性。

STC代表生產公司,8代表8051內核,9代表Flash內存,C代表屬於CMOS類,5(表示51單片機)固定不變,2的位置可由1-16任意數字代替,代表存儲區大小為4KB的倍數。

引腳功能:VCC(40腳)是單片機電源正,GND(20腳)是電源正;P0、P1、P2、P3是四組輸入輸出口,顯高電阻狀態,對外能發出高電平和低電平;10腳是串行輸入口,11腳是串行接收口;12、13腳是外部中斷輸入;18、19腳用於外接時鐘;9腳是復位引腳,有兩個機器周期以上的高電平則使單片機復位;其它引腳不要求掌握。

晶振,11.0592MHz:

晶振全稱為晶體振蕩器,是用電損耗很小的石英晶體經精密切割磨削並鍍上電極、焊上引線做成。這種晶體有一個很重要的特性,如果給它通電,它就會產生機械振蕩,反之,如果給它機械力,它又會產生電,這種特性叫機電效應。在工作時,他們的機電效應是機-電-機-電..的不斷轉換,因而產生周期性的振蕩。他們有一個很重要的特點,其振蕩頻率與他們的形狀,材料,切割方向等密切相關。利用石英晶體可以產生想要的非常穩定的振蕩。

注意點:

1、區分集成電路晶片的引腳。我們觀察單片機的表面(如右圖),有一個凹進去的半圓缺口,它所對應的左邊第一個腳就是這個晶片的腳1。然後按逆時針的方向數下去,依次為2,3,•••,40(如左圖)。

2、電容、晶振離單片機越近越好,因為晶振的頻率非常高,易受影響。

3、單片機應該安在鎖緊座上,而不是直接焊在板上。

4、單片機P0口要接上10kΩ的上拉電阻。

二:最小系統

電路圖:

燒寫模塊:

材料清單:

1:燒寫電路:

DB9母座一個 USB串口線一個

MAX232晶片及晶片座各一個

104瓷片電容 5 個

2:單片機接觸電路:

40PDIP 鎖緊座一個

10K排阻1個排針4排

3:時鐘電路:

11.0592晶振一個

30pF瓷片電容 2個

4:復位電路:

10uF點解電容一個

10K電阻一個

按鍵一個

5:便於調試電路

發光二極體8個 1K電阻8個

6:導線焊錫若干,電路板一塊

7:如果用USB供電,需要D形口及USB方口線一條。(推薦~)

8:總開關

自鎖式開關一個,LED一枚 1K電阻1隻~

主要元件:

RS232(DB9)接口:

RS232接口是一種串行通訊的標準。該標準規定採用一個25個腳的DB25連接器,對連接器的每個引腳的信號內容加以規定,還對各種信號的電平加以規定。之後出現了代替DB25的DB9接口,現在都把RS232接口叫做DB9。DB9如圖

MAX232:

是美信公司生產的一款專用於電平轉換的晶片。詳見注意點。

注意點:

1、電平。通常數據是採用二進位來存儲、傳輸的,可以用電平信號表示邏輯的0和1,這種表示邏輯0和1的電平叫邏輯電平。在TTL電平信號系統裡,+5V等價於邏輯「1」,0V等價於邏輯「0」。當然,實際使用時不可能這麼嚴格;一般數據輸出時,高電平>2.4V,低電平<0.4V;輸入時,高電平>2.0V,低電平<0.8V。(數據來源網絡)。RS232採用負邏輯電平,-15~-3V為邏輯1,+15~+3V為邏輯0。用MAX232晶片可完成TTL電平←→RS232所用邏輯電平的雙向電平轉換。

2、9針串口(DB9)除了2、3、5腳外其餘的都不連入電路。不要讓其餘腳碰到練習版上高電平或低電平,碰到的話可能會使最小系統不穩定。

3、筆記本電腦沒有DB9接口,因此我們選用USB轉RS232串口線。建議網購,WIN7系統選用型號HL340、XP系統可選HL340和PL2303。

4、MAX232不要直接焊接在練習板上,應該把晶片座焊在電路板上,注意引腳的序號。

三:Keil入門

Keil:

Keil C51是美國KeilSoftware公司出品的51系列兼容單片機C語言軟體開發系統,該軟體包括C編譯器、宏彙編、連接器、庫管理和一個功能強大的仿真調試器等在內,全Windows界面。Keil C51生成的目標代碼效率非常高,多數語句生成的彙編代碼很緊湊,容易理解。本教程講解的Keil版本為V8.02。

Keil的使用:

一、進入Keil工作界面


二、建立工程

點擊「Project」→「NewProject」。如下圖所示。

在彈出的窗口選擇工程要保存的路徑,輸入工程文件名。然後點擊「保存」按鈕。

在彈出的對話框要求選擇單片機的型號,因為51內核單片機具有通用性,所以我們任選一款89C52就行。在這裡我們選擇Atmel的89C52,然後點擊「確定」按鈕。

完成上一步後,窗口界面如圖所示。

至此,我們已經建立一個工程,但工程中還沒有任何文件及代碼。

三、添加文件及代碼

1、添加代碼到文件

點擊「File」 →「New」或者點擊按鈕來新建文件。

新建文件後,窗口界面如圖所示。

點擊「File」 →「Save」或者點擊,彈出窗口如圖所示,在「文件名」處輸入要保存的文件名(例:pmd.c),必須輸入正確的擴展名(如果用C語言編寫程序,則擴展名必須是.c;如果用彙編語言編寫程序,則擴展名必須是 .asm)。這裡的文件名不一定和工程名相同,可以隨意填寫文件名,然後單擊「保存」按鈕。

此時這個新建文件格式就變成了C語言源文件,與我們剛剛建的工程還沒有直接聯繫。

比較好的習慣是先將其添加到工程,再編寫代碼

單擊「Target 1」前面的「+」號,然後右鍵單擊「Source Group 1」,選擇「Add Files to Group 『SourceGroup 1』」,如圖所示。

在彈出對話框中,選中pmd.c,單擊「Add」按鈕,再單擊「Close」按鈕,然後再單擊左側「Source Group 1」前面的「+」號,屏幕窗口如圖所示。

這時,原始碼文件就與工程關聯起來了。

然後就可以放心的去編碼了~~。

如果要看昨天上課用P1口實現的

流水燈代碼,請移步至http://blog.csdn.net/metalseed/article/details/8196727

編碼完成後。

四、編譯、連接

點擊「Project」→「Rebuild all target files」或者點擊。信息輸出窗口中顯示了編譯過程和編譯結果,如圖所示。

如果原始碼中有語法錯誤,會有錯誤報告出現,雙擊該行,可以定位到出錯的位置,對源程序反覆修改之後,最終會得到「」pmd」- 0 Error(s),0 Warning(s).」的結果。

五、生成HEX文件

單擊「Project」 →「Options for Target 『Target 1』」或者單擊,彈出窗口,選擇「Output」,然後選中「Create HEX File」,使程序編譯後產生HEX代碼,供下載器下載到單片機中。

再次單擊,編譯工程,編譯過程和編譯結果如圖所示。

 我們發現編譯過程多出一行「creating hex file from「pmd」…」。當創建並編譯一個工程時,生成的HEX文件名與工程名是相同的。

現在,我們就可以把HEX文件燒到單片機內使用了。

四、用STC-ISP燒錄『

這個程序用於將二進位程序(hex文件,詳見KEIL軟體的使用)燒錄到STC單片機中。具體的步驟,該軟體標明了操作步驟,一看便知。

1:選擇單片機類型(我們用的是STC89C52RC)

2:選擇hex文件(Keil生成的那個)

3:選擇COM口。選擇COM口時,可以查看設備管理器,如圖。要改埠號,雙擊劃線的項、選擇埠設置選項卡、單擊「高級」、選擇COM埠號下拉菜單中的項。(如果是無法識別,則需要安裝串口線的驅動,百度或者問賣家要)

步驟4可以跳過。

5:點Download然後重新啟動單片機(握手連接)。

也可嚴格按照軟體界面上的說明步驟來搞~

燒錄程序時,要在單片機電源未開的狀態下點擊步驟5裡的「Download/下載」,然後再給單片機上電(因為此處我們用的STC89c51/STC89c52不支持在線可編程ISP)。點了「Download/下載」之後,若USB轉RS232串口線沒問題,則步驟三的串口指示燈應該亮。當燒錄不成功時,要檢查硬體電路的焊接,當檢查好幾遍沒有問題時,我們才可以開始懷疑晶片、單片機的質量問題。

點擊「閱讀原文」  加入工業幫交流群,55961878,

領取500份學習資料

相關焦點

  • 51單片機簡單交通燈控制程序
    限時乾貨下載:關注我們「單片機」,回復「教程」獲取單片機電子書,回復「仿真」
  • dota前期英雄之51單片機+keilC51+單片機C語言
    現在的軟體發展真是不得了~51單片機的編程最好,效率最高的當然是彙編啦~8過彙編lz是真的8會編啦~並且彙編處理浮點型數據神馬的感覺弱爆了。。。
  • 初學51單片機指令快速記憶法
    MCS-51共有111條指令,現介紹我們總結出的快速記憶MCS-51指令的方法,供大家參考。大家都知道,彙編語言指令由操作碼、操作數兩部分組成。MCS-51使用彙編語言指令,它共有44個操作碼助記符,33種功能,其操作數有#data、direct、Rn、@Ri等。這裡先介紹指令助記符及其相關符號的記憶方法。
  • 掌握方法與技巧輕鬆學習51單片機
    單片機是微機的一種,現時有8051、AVR、ARM7、ARM9等系列,其中 「8051」是源自於Intel公司的MCS-51系列晶片,但目前不同生產廠商都以其兼容晶片為主,如Ateml公司的89C51/89S51系統,宏晶公司的STC89C52RC。
  • 掌握方法與技巧,輕鬆玩轉51單片機
    學習51系列的CPU需要記憶腳位功能,我學習的時候得益於其簡單的熟記方法,腳位的功能與位置掌握得很快,不用死記硬背,就可以輕鬆記住P0、P1、P2、P3的腳位,請看下圖:學習好腳位功能後,如果要啟動單片機的電路還需要了解外圍連接,這樣才能為日後自己製作單片機控制電路打下基礎。
  • STM32單片機和51單片機有何區別?
    ▼ 51單片機特性51單片機之所以成為經典,成為易上手的單片機主要有以下特點:從內部的硬體到軟體有一套完整的按位作業系統,稱作位處理器,處理對象不是字或字節而是位。不但能對片內某些特殊功能寄存器的某位進行處理,如傳送、置位、清零、測試等,還能進行位的邏輯運算,其功能十分完備,使用起來得心應手。
  • [經驗]掌握方法與技巧輕鬆學習51單片機
    學習51系列的CPU需要記憶腳位功能,我學習的時候得益於其簡單的熟記方法,腳位的功能與位置掌握得很快,不用死記硬背,就可以輕鬆記住P0、P1、P2、P3的腳位,請看下圖:學習好腳位功能後,如果要啟動單片機的電路還需要了解外圍連接,這樣才能為日後自己製作單片機控制電路打下基礎。
  • 學51一個月只能賺3000?窮X就別學單片機開發了!
    現在學51單片機,大概一個月能賺3000左右。
  • MCS-51單片機指令快速記憶方法總結
    MCS-51是指由美國INTEL公司生產的一系列單片機的總稱,這一系列單片機包括了好些品種,如8031,8051,8751,8032,8052,8752等,其中8051是最早最典型的產品。  學習單片機,除了搞清單片機內部功能、存儲空間分配及I/O接口外,還應掌握其指令系統。MCS-51共有111條指令,現介紹我們總結出的快速記憶MCS-51指令的方法,供大家參考。
  • ARM、單片機、stm32、51單片機、和開發板的概念、區別及包含關係
    在學校裡學了這些知識,並沒有時間思考這些之間概念之間的區別,一直注重渴望技術的提升,卻忘了這些基礎才是根本。
  • 51單片機總線時序總結
    二、單片機的三總線結構51系列單片機具有完善的總線接口時序,可以擴展控制對象,其直接尋址能力達到64k( 2的16次方) 。在總線模式下,不同的對象共享總線,獨立編址、分時復用總線,CPU 通過地址選擇訪問的對象,完成與各對象之間的信息傳遞。單片機三總線擴展示意如圖1 所示。
  • 51單片機存儲器詳解
    MCS-51具有64kB程序存儲器尋址空間,它是用於存放用戶程序、數據和表格等信息。對於內部無ROM的8031單片機,它的程序存儲器必須外接,空間地址為64kB,此時單片機的端必須接地。強制CPU從外部程序存儲器讀取程序。
  • MCS-51單片機內部結構
    8051是MCS-51系列單片機的典型產品,其特性與我們實驗的STC89C52RC完全相同,這裡以8051為例簡介一下單片機的基本知識。
  • macOS實現51單片機編程
    郭天祥老師的《51單片機C語言教程》是單片機入門很好的教材,但是它使用的是Keil軟體進行的教學,而Keil不但不支持macOS系統,而且還是一款收費軟體。本文介紹如何在macOS上進行51單片機開發。 1.
  • 51單片機入門基礎教程
    80C51是MCS-51系列中的一個典型品種;其它廠商以8051為基核開發出的CMOS工藝單片機產品統稱為80C51系列。主要的80C51單片機Intel:80C31、80C51、80C32、80C52、87C52ATMEL:AT89C51、AT89C52、AT89C2051等;STC:89C51、89C52、90C51、STC15wPhilips:P80C54、P80C58、P87C54華邦:W78C54、W78C58、W78E54
  • 【教程】51單片機輕鬆入門與實踐教程
    結合軟體和硬體,由淺入深、通俗易懂地介紹了51單片機應用系統開發的流程、方法、技巧和設計思想。本書通過30個模塊實例全面講解單片機開發中的各種技術,包括單片機接口的擴展、存儲器的擴展、輸入/輸出及顯示技術、實用電子製作、傳感控制技術、電氣傳動及控制技術、單片機通信技術、典型器件及應用技術、外圍電路設計、軟體編程等等內容。本套課程基於暢學51開發板講解。包含:51單片機簡介、寄存器設置及使用、硬體測試、各個應用模塊器件原理及使用、外圍電路設計、51單片機C語言編程。
  • 51單片機做的藍牙開關
    1.首先是藍牙APP, 易安卓編寫的,說編寫其實我只是修改了其中的一些內容,兩張界面和代碼截圖,非常簡單,功能也很簡單,程序前後修改了兩次主要地方,主要原因是測試 的時候發現第一種程序會出現錯誤,在單片機哪裡會仔細說明
  • 51單片機藍牙點燈程序
    適用於:stc15f2k60s2型號單片機(其它型號的51單片機如果想用這個程序,就得修改程序的波特率和某一些的地方才能用)藍牙模塊:hc-05模塊你用手機給藍牙發個0,led燈亮,發個1,led燈滅單片機源程序如下:#include <stc15f2k60s2.h>#include <intrins.h>#define uchar
  • [原創圖書]51單片機C語言基礎程序設計
    51單片機C語言基礎程序設計,是知創學院Jason大學期間學習51單片機時總結整理的一本51單片機C語言程序設計的基礎入門圖書
  • MCS-51系列單片機結構及管腳介紹
    1、MCS-51單片機內部結構框圖2、MCS-51引腳圖