❶ 單片機原理與應用技術的內容簡介
《單片機原理與應用技術》針對目前最通用的MCS-51單片機,在匯編語言的基礎上,增加了目前最流行的C51程序設計語言,內容主要包括:單片機晶元的硬體原理和結構、匯編語言指令系統和程序設計、C51的程序設計、單片機內部資源(包括中斷、定時/計數器、串列口)、單片機系統擴展(包括存儲器擴展、I/O擴展)及功能擴展(包括鍵盤、顯示器、A/D及D/A轉換)、KeilC集成調試軟體及Proteus模擬軟體的使用介紹等。
《單片機原理與應用技術》的特點是通過匯編語言和C語言穿插進行講述,實例較多,且很多例子都給出了匯編語言和C語言的對照程序,使讀者能同時學習匯編語言和C語言,並使熟悉匯編語言的讀者能更快地學好單片機C51程序設計。
《單片機原理與應用技術》可作為高等院校電類、機械類等專業本科生的教材,也可作為函授教材或培訓班教材。另外,《單片機原理與應用技術》可供從事單片機應用產品研發的工程技術人員及單片機愛好者參考。
❷ c51單片機原理及應用重點
1、單片機內部資源
STC89C52:8KFLASH、512位元組RAM、32個IO口、3個定時器、1個UART、8個中斷源
(1)Flash(硬碟)——程序存儲空間 —— 擦寫10萬次,斷電數據不丟失,讀寫速度慢
(2)RAM(內存)——數據存儲空間 —— 斷電數據丟失,讀寫速度快,無限次使用
(3)SFR —— 特殊功能寄存器
2、單片機最小系統
51單片機的內部組成及應用原理解析
最小系統:最少組件組成單片機可以工作的系統。
三要素:
(1)、 電源電路:5V
(2)、 晶振電路:11.0592MHZ、兩個30PF
(3)、 復位電路:
P0:開漏輸出,必須加上拉電阻
准雙向口:
強推挽輸出:電流驅動能力強
高阻態
上下拉電阻:上拉電路就是將不確定的信號通過一個電阻拉到高電平,同時限流作用。下拉電阻就是下拉到低電平。
上下拉電阻選取:從降低功耗方面考慮應該足夠大,因為電阻越大,電流越小;驅動能力來看,小電阻
3、硬體基礎知識
(1)、電磁干擾(EMI)——靜電放電(ESD)、快速瞬間脈沖群(EFT)、浪涌(Surge)
(2)、去耦電容的使用
低頻濾波電容,平常應用最多的事鉭電容,電解電容,陶瓷電容,起到去除電源低頻紋波,穩定電源的作用。
高頻濾波電容,電容附近,通常用104電容來進行去除高頻干擾。
(3)、三極體(PNP,NPN) b,c,e --- 電壓驅動
控制應用
驅動應用
4、LED發光二極體——電流驅動
51單片機的內部組成及應用原理解析
通常紅色貼片LED, 靠電流驅動,電壓1.8V~2.2V,電流1~20mA,在1~5mA亮度有所變化,5mA以上亮度基本不變。
VCC 電壓是 5V,發光二極體自
身壓降大概是 2V,那麼在右邊 R34 這個電阻上承受的電壓就是 3V。
R = U/I —— 1~20mA —— R:150~3K
5、C語言基礎
(1)、基本運算符
+ - * / % ++ -- = == != += -= 《《 》》
❸ MCS51系列單片機的內部資源有哪些說出8031、8051和8751的區別
內部資源有:
1、2個定時器
2、內一個串口
3、128B的RAM
4、4個IO口
5、8位激爛兄數據匯流排
6、16位地址匯流排
7、2個外部中斷
8031、8051和8751的區別:
8031:沒有容ROM,只能擴展ROM才能寫程序。
8051:有4K的ROM。
8751:有4K的EPROM。
(3)單片機的內部資源主要有哪些擴展閱讀:
8031、8051和8751的特點:
1、8031的特點:8031晶元中沒有程序存儲器ROM,用戶在使用時需要增加程序存儲器和一塊歷顫邏輯電路373。大部分外部程序存儲器是EPROM的2764系列。如果用戶想修改寫在EPROM上的程序,在寫之前必須用一個特殊的紫外線燈來擦拭它。寫入外接程序內存的程序代碼幾乎沒有隱私。
2、8051的特點:8051晶元中有4K ROM,不需要外存,373,體現了「單片機」的簡單性。但是不能把你的程序燒錄到它的Rom中,必明襲須把它交給晶元廠來燒錄,是一次性的。而且你和晶元廠將來都不能重寫它的內容。
3、8751的特點:8751與8051基本相同,但8751中有4K的EPROM。用戶可以在單片機的EPROM中編寫自己的程序,進行現場試驗和應用。EPROM的重寫也需要用紫外線燈擦除一段時間,然後燒掉。
❹ 51單片機的內部資源包括哪些
內部資源應該就是中斷系統,串口介面以及定時計數器。
其中,中斷系統也就是CPU內部或外部發生某個事件,需要暫時終止程序運行優先去處理。串口介面主要用於與其它設備通訊連接。定時計數器用於時間的設定,數值的計算等
❺ STC89C52,51增強型單片機內部資源問題
關於STC89C52:
1、STC89C52隻有512位元組的的RAM,包括2部份,一是256位元組的內部RAM,二是256位元組的外部RAM;STC89C54以上的晶元才有1K的RAM(內256+外1024)。
2、1K的EEPROM(應為2K)出廠時內置有支持串列下載功能的代碼,配合官方下載軟體完成代碼的串口下載。這個區域在實際應用當中也可用於可保存斷電後不能丟失的數據,但實際操作上不能像RAM那樣直接讀寫,需要通過專門的寄存器操作來完成讀寫。
3、EEPROM不是ROM,也不是RAM,EEPROM也沒有用作RAM--你先這樣記,這個問題說起來內容比較多,後面細談。
4、Flash程序存儲器8K就是當ROM用(這句話嚴格的講應該說成「Flash程序存儲器8K就是當程序存儲器用」):基本上是這樣。關於ROM、FALSH後面細說。
是否需要1K的RAM:可在編譯完成後觀察編譯結果,如果能編譯成功,應該有類似下面的信息:「program size:data=9.0,xdata=1,code =2345」,其中data的整數部份就是你實際需要的內部RAM位元組數,xdata是你實際需要的外部RAM位元組數,code是代碼長度。你可以根據這個信息選擇最合適的STC單片機型號。具體到STC89C52:data<256,xdata<256,code<8192就行
對上述的一些概念補充說明(包括_at_)
1、51單片機的C語言中有個需要關注的概念就是變數或數據的存儲模式(PC機是否有類似的情況我不了解)。在C51中的存儲模式是data、bdata、idata、pdata、xdata、code共6種:
data、bdata、idata:就是說變數或數據位於單片機的內部RAM中(ST89C52有256位元組),訪問速度最快。
pdata、xdata:就是說變數或數據位於擴展的外部RAM中(ST89C52內集成了256位元組),相對內部RAM訪問速度要慢。
code:就是程序代碼,位於單片機的程序存儲其中(ST89C52內含8192位元組)
KEIL C編譯時在有個選項叫數據存儲模式(Memory Model),如果選擇小模式,則程序中的變數一般會放在內部RAM(data)中,選擇其它模式則會放在外部RAM(xdata或pdata,採用這兩種存儲模式的變數在物理上都放在外部RAM中,只是定址方式有所不同,整體上pdata更快些);當然,如果在定義變數時就聲明了存儲模式,編譯時會根據聲明決定該變數在哪個區。比如:char data flag就是指定將flag放在內部RAM中;char xdata flag _at_0x0000則指定放在外部RAM中,而且地址是0x0000。
"_at_" 用於指定變數在內存中的地址。指定地址的方法優點在於調試方便,比如模擬單步運行時可以直接到該地址去更直觀的觀察變數的實際變化情況,若不指定則編譯器會自己決定放在什麼地方,只能通過.M51文件去獲取該變數的地址了。其缺點則是容易出錯,由於人為的因素,可能會成各變數的地址重疊。所以實際應用中一般都不指定地址,編譯器會自動安排的,除非是特殊要求。
這里針對內部RAM和外部RAM再說幾句:早先的單片機(8031、8032)外部RAM和程序存儲器都需要通過P0口P2口來擴展的,51單片機本身沒有哪怕是1個位元組的外部RAM,擴展起來很麻煩。後來隨著發展才演變到現在幾乎所有的單片機都或多或少的集成了RAM和程序存儲器,這樣大多數應用只需要設計功能電路就可以了,不需要再去擴展,這就降低了不少成本。
2、關於FLASH、ROM、PROM、EPROM、EEPROM、RAM
我們現在一般都會把單片機的程序存儲器叫ROM,早先的硬體程序代碼確實是放在ROM型的器件中(包括電腦的BIOS),所以ROM就是程序、程序就是ROM,大家都理解,就成習慣了。其實這是不對的,真正的ROM現在很少用了。下面就這幾個名詞解釋一下:
RAM:一般都叫內存,特點是讀寫速度快,但斷電後數據丟失(後5種斷電後數據不丟失)
ROM:只讀存儲器。特點是只能讀,其內容在晶元出廠時就已經固化,如果有錯只能扔掉
PROM:可編程只讀存儲器。特點是實際應用中只能讀,但應用產品生產環節可由用戶來完成對晶元的編程,只能寫1次,有錯的話下場同ROM。
EPROM:可重復擦寫的只讀存儲器。特點是實際應用中只能讀,但可以通過紫外線擦除(也有電擦除的),從而實現再編程,只是編程時一般需要將晶元取下來在專用設備上擦除、編程(電擦除的雖然可以在用戶系統上實現擦除及編程,但必須設計專門的擦除編程電路)。上世紀90年代基本上都採用的是這種模式,如果你看到某個晶元上有個小玻璃窗,一般就是這種工藝的晶元。紫外線擦除需要15分鍾的時間,也很麻煩,而且映像中編程次數只有1000次。
EEPROM:可重復擦寫的非易失性存儲器。特點是可讀可寫,且斷電後數據不丟失。採取這種工藝的晶元大多數都是通過IIC匯流排模式來訪問的。但其容量一般都不大,適合於數據不多的應用。
FLASH:可重復擦寫的非易失性存儲器。特點是可讀可寫,且斷電後數據不丟失。與EEPROM的主要區別在於口線更多、存儲容量更大、速度更快,還有就是擦寫方式不同:EEPROM可按位元組擦寫,而FLASH是塊擦寫模式,所以速度上FALSH的讀寫更快。
STC單片機為什麼要採取EEPROM的模式而不採用FLASH我不知道,可能是因為EEPROM相對成本較低,而且可以直接用作非易失性存儲,不需要用戶外擴EEPROM了。