導航:首頁 > 操作系統 > c51單片機課件

c51單片機課件

發布時間:2022-05-10 22:49:58

① 51單片機最小系統原理圖

我是一名單片機工程師,下面的講解你參考一下.

.

51單片機共有40隻引腳.下面這個就是最小系統原理圖,就是靠這四個部分,這個單片機就可以運行起來了.(看下面的數字標記,1234)

.

這個腳是存儲器使用選擇腳,當這個腳接」地」時,那麼就是告訴單片機,選擇使用外部存儲器,當這個腳接」5V」時,說明單片機使用內部存儲器.

如果選擇外部的存儲器,太浪費單片機僅有的資源,所以這一腳永遠接電源5V(如上圖所示),使用單片機的內部存儲器.

5 如果內部存儲器不夠容量,最多選擇更高級的容量,就可以解決容量不夠的問題了,就是這么簡單

.

一天入門51單片機:點我學習

.

我是歲月哥,願你學習愉快!

② 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)、基本運算符

+ - * / % ++ -- = == != += -= 《《 》》

③ 51單片機的工作原理

單片機由運算器、控制器、存儲器、輸入輸出設備構成。
單片機自動完成賦予它的任務的過程,也就是單片機執行程序的過程,即一條條執行的指令的過程,所謂指令就是把要求單片機執行的各種操作用的命令的形式寫下來,這是在設計人員賦予它的指令系統所決定的,一條指令對應著一種基本操作;單片機所能執行的全部指令,就是該單片機的指令系統,不同種類的單片機,其指令系統亦不同。為使單片機能自動完成某一特定任務,必須把要解決的問題編成一系列指令(這些指令必須是選定單片機能識別和執行的指令),這一系列指令的集合就成為程序,程序需要預先存放在具有存儲功能的部件——存儲器中。存儲器由許多存儲單元(最小的存儲單位)組成,就像大樓房有許多房間組成一樣,指令就存放在這些單元里,單元里的指令取出並執行就像大樓房的每個房間的被分配到了唯一一個房間號一樣,每一個存儲單元也必須被分配到唯一的地址號,該地址號稱為存儲單元的地址,這樣只要知道了存儲單元的地址,就可以找到這個存儲單元,其中存儲的指令就可以被取出,然後再被執行。程序通常是順序執行的,所以程序中的指令也是一條條順序存放的,單片機在執行程序時要能把這些指令一條條取出並加以執行,必須有一個部件能追蹤指令所在的地址,這一部件就是程序計數器PC(包含在CPU中),在開始執行程序時,給PC賦以程序中第一條指令所在的地址,然後取得每一條要執行的命令,PC在中的內容就會自動增加,增加量由本條指令長度決定,可能是1、2或3,以指向下一條指令的起始地址,保證指令順序執行。

④ 51單片機該怎麼學

開發板的話就選 郭天祥的
淘寶上很多的
也不貴

1、熟悉單片機的原理,結構;
2、學好數電,模電,為設計電路打好基礎;
3、熟練使用C語言,多學習別人的程序;
4、對操作系統原理有一定的了解;
5、Protel至少要有點基礎;
6、要實際動手調試電路的能力。

學習單片機的步驟

當前的單片機種類很多,但是 51 是最基礎的,因此單片機的學習最好也是從 51 開始,不僅容易上手,而且相當實用。然而 51 單片機畢竟過於基礎,後來的很多單片機在功能上都有很大的擴展,因此按照我們實驗室多數人的路線接下來大多數人會學習 AVR 單片機, AVR 單片機在功能上較 51 有很大提升,集成了 A/D 、快速 PWM 等很多實用的功能,而且和很多大型的單片機在功能上有很多類似之處,因此如果以後還想掌握其他單片機 AVR 無疑是一個很好的跳板。

學習的過程

學習單片機最終要的是當然是練,我所說的學習跟課堂上的單片機學習不同,我以前也看過一些單片機教材,有些教材講的是單片機的工作原理和內部結構,這些東西對於我們暫時並不需要,等以後開課的時候在學習好了。現在要學習的是暫時拋開內部結構原理不談,如何能用單片機寫一些簡單的小程序,是從實用性的角度出發,網上有一種說法稱之為先實踐後理論的學習方法。

因此我的觀點如下,單片機的硬體結構首先要有一個基本的了解,最起碼要知道各引腳的功能、區別,能自己動手搭一個單片機的最小系統,然後就可以直接從程序入手,程序最好還是用 C 語言編程,從簡單的跑馬燈做起,逐漸深入,陸續可以做一些數碼管、液晶、 DS1302 、 DS18B20 等電子元器件的應用,在深入就可以結合一些具體實例擴展一些中斷、串口通訊等功能。還有一點要聲明的是單片機里用到的 C 語言其實很有限,課堂上學習 C++ 的很大一部分內容在初期單片機編程中都用不到,因此沒必要因為覺的自己的 C 語言基礎不是很好而對單片機望而止步!

學習的工具

軟體方面方面, 51 單片機用的是 KEIL 軟體,這個軟體在學校圖書館軟體下載和其他網站上都有,具體用法自己查找相關資料, AVR 的軟體就比較多了,我用的是 CVAVR ,另外還有 ICCAVR 等多款編譯軟體,這要看個人喜好了,建議有了一定的 51 基礎再學。另外就是燒寫軟體,燒寫軟體的作用就是將編譯器生成的 HEX 文件燒寫至單片機里,這要配合下載線實用,如果有並口的話最好用並口下載線,軟體最好用廣州雙龍的 SLISP 軟體,如果是筆記本沒有並口的話則要自己買一個下載器了,名稱為 USBASP ,網上電子市場有賣 20 塊錢左右,軟體會隨光碟自帶。

硬體方面,首先是要有單片機,對於單片機有一點要注意, 51 單片機最好買 89S51 、 89S52 這兩種型號,上面我所說的燒寫程序是 ISP 方式,這兩種單片機支持 ISP 下載,所以如果買其他型號的燒寫程序可能會不太方便, AVR 單片機常用的就是 ATmega16L 其它型號的區別也不是很大,甚至有些兼容。至於單片機開發板,目前的價格都很貴,從一百到幾百不等,不過像上次學校里廣告的那個六十多塊錢的最好還是免了,沒什麼作用。能買一塊當然好,沒有的話也不要緊,自己動手買個電路板搭一下也很方便,引出 ISP 介面,燒寫程序十分容易,然後將 I/O 口引出擴展也很方便。

學習單片機的其它幾個注意點:

1 .理論與實踐並重
對一個初學單片機的人來說,如果按教科書式的學法,上來就是一大堆指令、名詞,學了半天還搞不清這些指令起什麼作用,也許用不了幾天就會覺得枯燥乏味以致半途而廢。所以學習與實踐結合是一個好方法,邊學習、邊演練,循序漸進,這樣用不了幾次就能將所用到的指令理解、吃透、紮根於腦海,甚至 「 根深蒂固 」 。也就是說,當你學習完幾條指令後 ( 一次數量不求多,只求懂 ) ,接下去就該做實驗了,通過實驗,使你感受到剛才的指令產生的控制效果,眼睛看得見 ( 燈光 ) 、耳朵聽得到 ( 聲音 ) ,更能深刻理解指令是怎樣轉化成信號去實現控制的,通過實驗看到自己所學的成果不僅有一種成就感也能提升你對單片機的興趣。說句實在話,單片機與其說是學出來的,還不如說是做實驗練出來的,何況做實驗本身也是一種學習過程。因此邊學邊練的學習方法,效果特別好。
2 .合理安排時間持之以恆
學習單片機不能 「 三天打魚、兩天曬網 」 ,要有持之以恆的毅力與決 4 心。學習完幾條指令後,就應及時做實驗,融匯貫通,而不要等幾天或幾個星期之後再做實驗,這樣效果不好甚至前學後忘。另外要有打 「 持久戰 」 的心理准備,不要興趣來時學上幾天,無興趣時涼上幾星期。學習單片機很重要的一點就是持之以恆。

3 .遇到問題耐心檢查

單片機有軟硬體兩方面的內容,有時一個程序怎麼調都不出效果,然而從理論分析卻又是對的,這是就要仔細找原因了,學習單片機經常碰到很多問題,有時一兩天都不能解決,這是就要有耐心,從底層找起,相信每找出一個錯誤都會有一個新的收獲。切不可輕言放棄!!!
4 .對只短暫學過一遍的知識,充其量只比浮光掠影稍好。因此,較好的方法是過一段時間後 (1-2 個月 ) 再重新學一遍,學過的知識要經常運用,這樣反復循環幾次就能徹底弄懂消化,永不忘卻。
5 .要進行適當投資購買實驗器材及書籍資料
單片機技術含金量高,一旦學會後,給你帶來的效益當然也高,無論是應聘求職還是自起爐灶開廠辦公司,其前景都光明無限。因此在學習時要捨得適當投資購買必要的學習、實驗器材。另外還要經常去科技圖書店看看,購買一些適合自己學習、提高的書籍。一本好的書籍真的很重要,可以隨時翻閱,隨時補充不懂或遺忘的知識。

學習使用單片機就是理解單片機硬體結構,以及內部資源的應用,在匯編或C語言中學會各種功能的初始化設置,以及實現各種功能的程序編制。
第一步:數字I/O的使用
使用按鈕輸入信號,發光二極體顯示輸出電平,就可以學習引腳的數字I/O功能,在按下某個按鈕後,某發光二極體發亮,這就是數字電路中組合邏輯的功能,雖然很簡單,但是可以學習一般的單片機編程思想,例如,必須設置很多寄存器對引腳進行初始化處理,才能使引腳具備有數字輸入和輸出輸出功能。每使用單片機的一個功能,就要對控制該功能的寄存器進行設置,這就是單片機編程的特點,千萬不要怕麻煩,所有的單片機都是這樣。

第二步:定時器的使用 學會定時器的使用,就可以用單片機實現時序電路,時序電路的功能是強大的,在工業、家用電氣設備的控制中有很多應用,例如,可以用單片機實現一個具有一個按鈕的樓道燈開關,該開關在按鈕按下一次後,燈亮3分鍾後自動滅,當按鈕連續按下兩次後,燈常亮不滅,當按鈕按下時間超過2s,則燈滅。數字集成電路可以實現時序電路,可編程邏輯器件(PLD)可以實現時序電路,可編程式控制制器(PLC)也可以實現時序電路,但是只有單片機實現起來最簡單,成本最低。
定時器的使用是非常重要的,邏輯加時間控制是單片機使用的基礎。

第三步:中斷

單片機的特點是一段程序反復執行,程序中的每個指令的執行都需要一定的執行時間,如果程序沒有執行到某指令,則該指令的動作就不會發生,這樣就會耽誤很多快速發生的事情,例如,按鈕按下時的下降沿。要使單片機在程序正常運行過程中,對快速動作做出反應,就必須使用單片機的中斷功能,該功能就是在快速動作發生後,單片機中斷正常運行的程序,處理快速發生的動作,處理完成後,在返回執行正常的程序。中斷功能使用中的困難是需要精確地知道什麼時候不允許中斷發生(屏蔽中斷)、什麼時候允許中斷發生(開中斷),需要設置哪些寄存器才能使某種中斷起作用,中斷開始時,程序應該干什麼,中斷完成後,程序應該干什麼等等。
中斷學會後,就可以編制更復雜結構的程序,這樣的程序可以干著一件事,監視著一件事,一旦監視的事情發生,就中斷正在乾的事情,處理監視的事情,當然也可以監視多個事情,形象的比喻,中斷功能使單片機具有吃著碗里的,看著鍋里的功能。
以上三步學會,就相當於降龍十八掌武功,會了三掌了,可以勉強護身。

第四步:與PC機進行RS232通信

單片機都有USART介面,特別是MSP430系列中很多型號,都具有兩個USART介面。USART介面不能直接與PC機的RS232介面連接,它們之間的邏輯電平不同,需要使用一個MAX3232晶元進行電平轉換。

USART介面的使用是非常重要的,通過該介面,可以使單片機與PC機之間交換信息,雖然RS232通信並不先進,但是對於介面的學習是非常重要的。正確使用USART介面,需要學習通信協議,PC機的RS232介面編程等等知識。試想,單片機實驗板上的數據顯示在PC機監視器上,而PC機的鍵盤信號可以在單片機實驗板上得到顯示,將是多麼有意思的事情啊!

第五步:學會A/D轉換

MAP430單片機帶有多通道12位A/D轉換器,通過這些A/D轉換器可以使單片機操作模擬量,顯示和檢測電壓、電流等信號。學習時注意模擬地與數字地、參考電壓、采樣時間,轉換速率,轉換誤差等概念。
使用A/D轉換功能的簡單的例子是設計一個電壓表。

第六步:學會PCI、I2C介面和液晶顯示器介面

這些介面的使用可以使單片機更容易連接外部設備,在擴展單片機功能方面非常重要。

第七步:學會比較、捕捉、PWM功能

這些功能可以使單片機能夠控制電機,檢測轉速信號,實現電機調速器等控制起功能。
如果以上七步都學會,就可以設計一般的應用系統,相當於學會十招降龍十八掌,可以出手攻擊了。

第八步:學習USB介面、TCP/IP介面、各種工業匯流排的硬體與軟體設計學習USB介面、TCP/IP介面、各種工業匯流排的硬體與軟體設計是非常重要的,因為這是當前產品開發的發展方向。

到此為止,相當於學會15招降龍十八掌,但還不到打遍天下無敵手的境界。即使如此,也算是單片機大蝦了
是否可以解決您的問題?

⑤ 51單片機教材有什麼好的推薦嗎

單片機原理(普通高等教育「十二五」規劃教材):這本《單片機原理》根據21世紀高等院校單片機原理課程教學大綱的要求,結合現代電子技術、計算機技術發展的趨勢和對單片機技術開發人才的實際需求進行編寫的。

單片機原理及應用(全國高等學校自動化專業系列教材):本書前兩版持續暢銷,累計印數3萬余冊。優秀作者,歷經10年,打造單片機系列(3本)教材,覆蓋單片機領域課程絕大部分需求。提供配套電子課件、習題參考答案和程序代碼。

單片機原理與應用:《單片機原理與應用》共分11章,第1章介紹單片機的基礎知識;第2章介紹MCS-51單片機的內部結構及外部引腳;第3~4章介紹MCS-51單片機的指令系統及匯編語言程序設計。

51單片機使用注意事項

眾所周知,51系列單片機的硬體堆棧不能放在片外,所以要在51系列單片機上開發操作系統的話就要少用它的片內RAM。

但是不用片內RAM是辦不到的,因為操作系統也要傳遞參數,也要使用堆棧。C51單片機的C函數傳遞參數是通過寄存器和存儲器的,不能通過堆棧。但是可以通過一些措施使得操作系統代碼少用片內RAM。

⑥ 如何學習c51單片機

1,樓主,你首先要學習C語言基礎,就相當於80%會單片機了,因為現在所有8/16/32位(51系列,MSP430系列,ARM系列)都是使用C語言。
2,先看內核8051的單片機:台灣宏晶的STC89C51-DIP40/或其它如新茂,到網上買一個開發板,價格不會超過200元。
3,看一下單片機功能:包換內部FLASH、RAM、TIMER、INT、ADC、USB、ISP/IAR等。
4,編譯環境、編程軟體KEIL。
5,打開開發板的例子程序,在KEIL編譯,下載到板,看結果和說明是不是相符,達到這樣效果時,你心裡肯定很激動,這時你真正學會了單片機,你成功了!!!!!。
6,單片機C語言舉例:
sbitSPEAK=P1^5; //IO口定義為蜂鳴器控制
如果蜂鳴器正極接電源,SPEAK=0;蜂鳴器就會響,你看就是這么簡單。
unsiggnechartemp;//定義TEMP為單位元組變數。
sfrPORTAP1;//將P1口定義為PORTA
總結:多做開發板上的實驗,你要多參與這樣的項目開發,慢慢就會了。

⑦ 單片機的C語言的內容簡介

本書是普通高等教育「十一五」國家級規劃教材。本書以標准C語言和MCS-51單片機為基礎,全面系統地介紹單片機的C語言程序設計與應用的基本問題,是一本重在應用、兼顧理論的實用教程。主要內容包括:單片機的C語言概述、C51語言程序設計基礎、單片機內部資源和外部擴展資源的C51語言編程、μVision2集成開發環境的使用、MCS-51系列單片機簡介等。本書包含大量單片機的C語言設計實例,並提供免費電子課件。
本書可作為高等學校電氣與電子信息專業和計算機專業的本專科教材,也可供從事單片機應用與產品開發工作的工程技術人員學習參考。

⑧ 51單片機最小系統原理圖,求通俗易懂的講解

我是一名電子信息大專畢業的學生,下面51單片機最小系統的講解,你參考一下

51單片機共有40隻引腳.

下面這個就是最小系統原理圖,就是靠這四個部分,這個單片機就可以運行起來了.

一,一講解:

第一部分:電源組(上圖標記為1的部分)

40腳接電源5V,20腳接電源負極,在單片機裡面,負極也可以叫GND或者」地」,我們在單片機的應用中,習慣說負極為」地」,上面GND就是英文ground的縮寫,翻譯過來就是"地"的意思.

第二部分:晶振組(上圖標記為2的部分)

11.0592M晶振Y1與單片機的18,19腳並聯,因為這兩只腳,就是晶振工作的引腳.
22p電容C2一端接18腳,一端接地.
22p電容C3一端接19腳,一端接地.

這兩個電容,我們在10~30P之間選擇都是可以的,主要作用是,過濾掉晶振部分的高頻信號,讓晶振工作的時候更加穩定.


第三部分:復位組(上圖標記為2的部分)

10u電容C1正極接電源5V,C1負極接單片機的復位腳,第9腳.
1K電阻R17一端接單片機的復位腳,第9腳,一端接地.
就是通過這個10u和1k,就可以讓單片機一供電時,單片機自動復位,從零開始執行程序,這個就是復位的概念.

第四部分:其它功能組(上圖標記為4的部分)

這個腳是存儲器使用選擇腳,當這個腳接"地"時,那麼告訴單片機選擇外部存儲器,當這個腳接"5V"時,說明單片機使用內部存儲器.

因為選擇外部存儲器,太浪費單片機僅有的資源,所以這一腳永遠接電源5V(如上圖所示),使用單片機的內部存儲器,如果內部存儲器不夠容量,最多選擇更高級容量的單片機型號,就可以解決問題了.

詳細看下面的帖子,單片機最小系統的通俗易懂講解:

網頁鏈接

滿意請採納,謝謝!

⑨ 求郭天祥51單片機ppt上程序答案

/*******************************************************
* 程序名稱:hc595.c
* 程序功能:595的應用文件
* 程序作者:吳鑒鷹
* 創建時間:2014-3-10
* 修改時間:
* 程序版本:V0.1
******************************************************/
/*
* 包含頭文件
*/
#include "inc/hc595.h"
#include "reg51.h"

/*
* 定義引腳
*/
/* 時鍾信號線引腳定義 */
sbit HC595CLK = P0^5;
/* 片選信號線引腳定義 */
sbit HC595RCK = P0^6;
/* 數據輸入引腳定義 */
sbit HC595DATA = P0^7;

/******************************************************
* 函數名稱:SendData
* 函數功能:74HC595數據的發送
* 入口參數:unsigned int uiDataOne, unsigned int uiDataTwo
* 出口參數:void
*******************************************************/
void SendData(unsigned int uiDataOne, unsigned int uiDataTwo)
{
unsigned int i = 0;
/* 將片選信號置為低電平 */
HC595RCK = 0;

/* 輸入第一個數據:uiDataOne */
for (i = 0; i < 8; i++)
{
/* 給出脈沖信號,首先將CLK置為0 */
HC595CLK = 0;
if (0 != (uiDataOne & 0x80))
{
HC595DATA = 1;
}
else
{
HC595DATA = 0;
}
/* 給出脈沖信號,首先將CLK置為1 */
HC595CLK = 1;
/* 准備第二個數據 */
uiDataOne = uiDataOne << 1;
}

/* 輸入第二個數據:uiDataTwo */
for (i = 0; i < 8; i++)
{
/* 給出脈沖信號,首先將CLK置為0 */
HC595CLK = 0;
if (0 != (uiDataTwo & 0x80))
{
HC595DATA = 1;
}
else
{
HC595DATA = 0;
}
/* 給出脈沖信號,首先將CLK置為1 */
HC595CLK = 1;
/* 准備第二個數據 */
uiDataTwo = uiDataTwo << 1;
}

/* 將片選信號置為高電平 */
HC595RCK = 1;
}

求採納

⑩ 51單片機教程,要通俗易懂版的

我是一名多年的單片機工程師,下面的51單片機教程學習方法你參考一下

1 首先了解單片機的硬體結構。

2 掌握很基本的數電模電知識,如二進制、十進制、十六進制之間的轉換,與、或、非邏輯關系等。

3 熟悉5個基本語句的運用,如:if while for switch/case do-while,講真的,如果你不懂太多術語,if while for已經可以滿足你的日常實驗需要,我個人有體會。

4 熟悉上面的就可以從簡單的實驗入手,把更多的C語言附帶術語學上,越積累越多,漸漸變成單片機高手。

5 如果你想學習更多單片機和程序的知識,可以看看我整理好的「17個實驗學會單片機」,網路一下「17個實驗學會單片機」就可以看到在首頁了,從零開始打造一個單片機高手。

6 學單片機靠的是多玩實驗,不能三天打魚兩天曬網,只要堅持就會看到希望。如果不堅持,就很難學會,如果堅持,幾個月後的單片機就已經很厲害了。加油,祝你成功!

閱讀全文

與c51單片機課件相關的資料

熱點內容
命令輸入框 瀏覽:890
冰箱壓縮機發燙噪音 瀏覽:83
單片機棧溢出符號 瀏覽:328
命令與征服修改器怎麼用 瀏覽:483
什麼app比較費錢 瀏覽:830
為什麼同一個app的功能不一樣 瀏覽:232
小型工作室用什麼伺服器好 瀏覽:995
程序員的興趣 瀏覽:413
華為伺服器有什麼好 瀏覽:701
程序員和測試之間的關系 瀏覽:945
加密蚊帳什麼意思 瀏覽:151
javalistclear 瀏覽:607
哪個app上民宿多靠譜 瀏覽:828
重慶伺服器租用哪裡有雲伺服器 瀏覽:453
土星模擬器文件夾 瀏覽:902
文件夾文件袋文件盒 瀏覽:695
雲伺服器打開f8指令 瀏覽:243
盈透證券加密幣 瀏覽:72
阿里雲伺服器初始密碼怎麼修改 瀏覽:266
伺服器怎麼設定公用網路 瀏覽:99