![51START第1講——單片機(jī)入門(王澤偉)概述_第1頁](http://file3.renrendoc.com/fileroot_temp3/2022-3/8/61561a0c-b7ca-415c-b554-ee7315221183/61561a0c-b7ca-415c-b554-ee73152211831.gif)
![51START第1講——單片機(jī)入門(王澤偉)概述_第2頁](http://file3.renrendoc.com/fileroot_temp3/2022-3/8/61561a0c-b7ca-415c-b554-ee7315221183/61561a0c-b7ca-415c-b554-ee73152211832.gif)
![51START第1講——單片機(jī)入門(王澤偉)概述_第3頁](http://file3.renrendoc.com/fileroot_temp3/2022-3/8/61561a0c-b7ca-415c-b554-ee7315221183/61561a0c-b7ca-415c-b554-ee73152211833.gif)
![51START第1講——單片機(jī)入門(王澤偉)概述_第4頁](http://file3.renrendoc.com/fileroot_temp3/2022-3/8/61561a0c-b7ca-415c-b554-ee7315221183/61561a0c-b7ca-415c-b554-ee73152211834.gif)
![51START第1講——單片機(jī)入門(王澤偉)概述_第5頁](http://file3.renrendoc.com/fileroot_temp3/2022-3/8/61561a0c-b7ca-415c-b554-ee7315221183/61561a0c-b7ca-415c-b554-ee73152211835.gif)
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、51start第1講單片機(jī)入門 By XDLab本講重點 1.0 單片機(jī)概述 1.1 學(xué)習(xí)單片機(jī)的重要性 1.2 怎么學(xué)單片機(jī) 1.3 單片機(jī)基礎(chǔ)硬件 1.4 單片機(jī)基礎(chǔ)軟件 1.5 第一個程序點亮第一個LED; 并介紹KEIL、STC燒錄軟件的使用1.0 單片機(jī)是什么 單片機(jī)是一種集成電路芯片,是采用超大規(guī)模集成電路技術(shù)把具有數(shù)據(jù)處理能力的中央處理器CPU、隨機(jī)存儲器RAM、只讀存儲器ROM、多種I/O口和中斷系統(tǒng)、定時器/計時器等功能(可能還包括顯示驅(qū)動電路、脈寬調(diào)制電路、模擬多路轉(zhuǎn)換器、A/D轉(zhuǎn)換器等電路)集成到一塊硅片上構(gòu)成的一個小而完善的微型計算機(jī)系統(tǒng)。u單片機(jī)是一種芯片單片機(jī)是一種
2、芯片,有各種各樣的封裝和型號,有各種各樣的封裝和型號u單片機(jī)單片機(jī)可以通過編程進(jìn)行控制可以通過編程進(jìn)行控制u單片機(jī)內(nèi)部包括單片機(jī)內(nèi)部包括CPUCPU、總線、存儲器、總線、存儲器、I/OI/Ou單片機(jī)外部需要配合一些器件才能發(fā)揮作用單片機(jī)外部需要配合一些器件才能發(fā)揮作用u單片機(jī)其實就是小型微機(jī)單片機(jī)其實就是小型微機(jī)u并不是所有的黑色芯片都是單片機(jī)!并不是所有的黑色芯片都是單片機(jī)!單片機(jī)的發(fā)展歷史單片機(jī)的種類為什么從51開始學(xué)? 1.51單片機(jī)使用比較廣泛,應(yīng)用比較多; 2.51單片機(jī)學(xué)習(xí)人群最多,資料比較齊全; 3.51單片機(jī)最基礎(chǔ),由簡單入手,掌握單片機(jī)學(xué)習(xí)方法,再去學(xué)高級的單片機(jī), 如AVR
3、、430、ARM。 幾種常見單片機(jī)簡介 51單片機(jī) 是對所有兼容Intel 8031指令系統(tǒng)的單片機(jī)的統(tǒng)稱。該系列單片機(jī)的始祖是Intel的8031單片機(jī),后來隨著Flash rom技術(shù)的發(fā)展,8031單片機(jī)取得了長足的進(jìn)展,成為應(yīng)用最廣泛的8位單片機(jī)之一,其代表型號是ATMEL公司的AT89系列,它廣泛應(yīng)用于工業(yè)測控系統(tǒng)之中。很多公司都有51系列的兼容機(jī)型推出,今后很長的一段時間內(nèi)將占有大量市場。51單片機(jī)是基礎(chǔ)入門的一個單片機(jī),還是應(yīng)用最廣泛的一種。 MSP430系列單片機(jī)是美國德州儀器(TI)1996年開始推向市場的一種16位超低功耗、具有精簡指令集(RISC)的混合信號處理器(Mixe
4、d Signal Processor)。稱之為混合信號處理器,是由于其針對實際應(yīng)用需求,將多個不同功能的模擬電路、數(shù)字電路模塊和微處理器集成在一個芯片上,以提供“單片機(jī)”解決方案。該系列單片機(jī)多應(yīng)用于需要電池供電的便攜式儀器儀表中。 AVR單片機(jī)是1997年由ATMEL公司研發(fā)出的增強(qiáng)型內(nèi)置Flash的RISC(Reduced Instruction Set CPU) 精簡指令集高速8位單片機(jī)??梢詮V泛應(yīng)用于計算機(jī)外部設(shè)備、工業(yè)實時控制、儀器儀表、通訊設(shè)備、家用電器等各個領(lǐng)域。RISC(精簡指令系統(tǒng)計算機(jī))是相對于CISC(復(fù)雜指令系統(tǒng)計算機(jī))而言的。RISC 并非只是簡單地去減少指令,而是通
5、過使計算機(jī)的結(jié)構(gòu)更加簡單合理而提高運(yùn)算速度的。RISC 優(yōu)先選取使用頻率最高的簡單指令,避免復(fù)雜指令:并固定指令寬度,減少指令格式和尋址方式的種類,從而縮短指令周期,提高運(yùn)行速度。由于 AVR 采用了 RISC 的這種結(jié)構(gòu),使AVR系列單片機(jī)都具備了1MIPS/MHz(百萬條指令每秒/兆赫茲)的高速處理能力。幾種常見單片機(jī)簡介 STM32系列基于專為要求高性能、低成本、低功耗的嵌入式應(yīng)用專門設(shè)計的ARM Cortex-M內(nèi)核。按內(nèi)核架構(gòu)分為不同產(chǎn)品:其中STM32F1系列有、STM32F103“增強(qiáng)型”系列、STM32F101“基本型”系列、STM32F105、STM32F107“互連型”系列
6、。增強(qiáng)型系列時鐘頻率達(dá)到72MHz,是同類產(chǎn)品中性能最高的產(chǎn)品;基本型時鐘頻率為36MHz,以16位產(chǎn)品的價格得到比16位產(chǎn)品大幅提升的性能,是32位產(chǎn)品用戶的最佳選擇。兩個系列都內(nèi)置32K到128K的閃存,不同的是SRAM的最大容量和外設(shè)接口的組合。時鐘頻率72MHz時,從閃存執(zhí)行代碼,STM32功耗36mA,是32位市場上功耗最低的產(chǎn)品,相當(dāng)于0.5mA/MHz。 ARM處理器是Acorn計算機(jī)有限公司面向低預(yù)算市場設(shè)計的第一款RISC微處理器。更早稱作Acorn RISC Machine。ARM處理器本身是32位設(shè)計,但也配備16位指令集,一般來講比等價32位代碼節(jié)省達(dá)35%,卻能保留3
7、2位系統(tǒng)的所有優(yōu)勢。CPU功能上增加DSP指令集提供增強(qiáng)的16位和32位算術(shù)運(yùn)算能力,提高了性能和靈活性。ARM還提供兩個前沿特性來輔助帶深嵌入處理器的高集成SoC器件的調(diào)試,它們是嵌入式ICE-RT邏輯和嵌入式跟蹤宏核(ETMS)系列。1.1 學(xué)習(xí)單片機(jī)的重要性90%的電子類企業(yè)招聘時會問單片機(jī)的電子類企業(yè)招聘時會問單片機(jī)絕大部分電子產(chǎn)品為單片機(jī)應(yīng)用絕大部分電子產(chǎn)品為單片機(jī)應(yīng)用由單片機(jī)到嵌入式的拓展由單片機(jī)到嵌入式的拓展發(fā)掘創(chuàng)意,設(shè)計作品、產(chǎn)品;發(fā)掘創(chuàng)意,設(shè)計作品、產(chǎn)品;我要學(xué)單片機(jī)學(xué)習(xí)單片機(jī)的重要性 作為一個電子技術(shù)從業(yè)人員,如果你不懂單片機(jī),那實在是一種遺憾。如果你身為電子類專業(yè)畢業(yè)生還
8、漠視單片機(jī),作為一個電子技術(shù)從業(yè)人員,如果你不懂單片機(jī),那實在是一種遺憾。如果你身為電子類專業(yè)畢業(yè)生還漠視單片機(jī),那你就太不識時務(wù)了。對于自動化或者電子相關(guān)的理工科大學(xué)生,掌握單片機(jī)是最簡單和基本的要求,如果大學(xué)四年,那你就太不識時務(wù)了。對于自動化或者電子相關(guān)的理工科大學(xué)生,掌握單片機(jī)是最簡單和基本的要求,如果大學(xué)四年,你連單片機(jī)的知識都沒有掌握,更別提高級的你連單片機(jī)的知識都沒有掌握,更別提高級的CPLD、FPGA、DSP了,沒有單片機(jī)的知識作支撐,學(xué)習(xí)其他內(nèi)容更是難了,沒有單片機(jī)的知識作支撐,學(xué)習(xí)其他內(nèi)容更是難于上青天。如果你覺得自己沒事干,想學(xué)點東西卻又不知道該學(xué)啥的時候,靜下心來學(xué)學(xué)單
9、片機(jī)吧,單片機(jī)的魔力會于上青天。如果你覺得自己沒事干,想學(xué)點東西卻又不知道該學(xué)啥的時候,靜下心來學(xué)學(xué)單片機(jī)吧,單片機(jī)的魔力會把你帶入一個展現(xiàn)自我價值的世界,讓你的知識升華,讓你的精神煥發(fā)。把你帶入一個展現(xiàn)自我價值的世界,讓你的知識升華,讓你的精神煥發(fā)。 (1)單片機(jī)應(yīng)用領(lǐng)域非常廣泛)單片機(jī)應(yīng)用領(lǐng)域非常廣泛 目前單片機(jī)已經(jīng)滲透到我們生活的各個領(lǐng)域,幾乎很難找到哪個領(lǐng)域沒有單片機(jī)的蹤跡,從農(nóng)業(yè)電子產(chǎn)品到工業(yè)電子產(chǎn)品,從醫(yī)用電子產(chǎn)品到軍用電子產(chǎn)品,從民用電子產(chǎn)品到商用電子產(chǎn)品,單片機(jī)都在發(fā)揮著核心作用。 消費類電子:電視、錄像機(jī)、空調(diào)控制器等; 商場類電子:智能電子秤、條碼管理系統(tǒng)等; 汽車類電子:
10、恒溫空調(diào)、倒車?yán)走_(dá)、汽車內(nèi)各種控制器等; 通訊類電子:手機(jī)、藍(lán)牙耳機(jī)、對講機(jī)等; 農(nóng)業(yè)類電子:溫濕度控制、自動灌溉等; 安防類電子:錄像監(jiān)控、火災(zāi)報警、門禁系統(tǒng)等; 娛樂類電子:遙控小車、智能玩具、跑步機(jī)、按摩椅等; 數(shù)據(jù)采集類:氣象數(shù)據(jù)采集、電量數(shù)據(jù)采集; 以前沒有單片機(jī)時,這些東西也能做,但是只能使用復(fù)雜的模擬電路,或者需要大量的數(shù)字邏輯芯片組合起來,電路相當(dāng)復(fù)雜,其產(chǎn)品體積龐大,成本高,維修難度大,開發(fā)周期長。使用單片機(jī),我們可以將電路簡化,通過編寫程序來完成復(fù)雜的邏輯功能。這樣產(chǎn)品的體積變小了,成本也降低了,控制智能化了。單片機(jī)的魅力還在于:因電子技術(shù)的發(fā)展,芯片資源更加豐富,實現(xiàn)的功
11、能更強(qiáng)大,外圍電路更簡單,使用起來更加方便。因此,學(xué)習(xí)和應(yīng)用單片機(jī)的群體越來越大。將來,個人認(rèn)為將來電子技術(shù)領(lǐng)域?qū)乔度胧较到y(tǒng)、DSP技術(shù)、FPGA技術(shù)和單片機(jī)技術(shù)的天下,其中應(yīng)用最廣的必然是單片機(jī)。 學(xué)習(xí)單片機(jī)的重要性 (2)學(xué)習(xí)單片機(jī)是學(xué)習(xí)高端電子技術(shù)的基礎(chǔ))學(xué)習(xí)單片機(jī)是學(xué)習(xí)高端電子技術(shù)的基礎(chǔ) 學(xué)習(xí)單片機(jī)是學(xué)習(xí)其他嵌入式控制器如ARM、DSP、FPGA的基礎(chǔ),任何嵌入式控制器都離不開單片機(jī)中所涵蓋的如中央處理器、定時器、中斷,IO口控制、串行通訊、I2C總線控制器、片內(nèi)外存儲控制器、C語言等概念??梢哉f學(xué)好單片機(jī),再去學(xué)習(xí)其他嵌入式控制器如ARM、DSP、FPGA的時候,你將會感覺比較簡
12、單。 嵌入式系統(tǒng)(ARM)的出現(xiàn)最初是基于單片機(jī)的,實際上就是單片機(jī)在數(shù)據(jù)量比較龐大的、復(fù)雜的處理系統(tǒng)的應(yīng)用。它和單片機(jī)都有相同的片內(nèi)設(shè)備: 中央處理器、定時器、中斷控制器、IO口線控制器、串行通訊控制器,I2C總線控制器,SPI總線控制器、片內(nèi)外存儲控制器等。 數(shù)字信號處理(Digital Signal Processing,簡稱DSP)是將信號以數(shù)字方式表示并進(jìn)行相應(yīng)處理的技術(shù),是單片機(jī)技術(shù)的拓展和功能的增強(qiáng),說白了就是專門用于數(shù)字信號處理的超高速單片機(jī)。 FPGA(FieldProgrammableGate Array)即現(xiàn)場可編程門陣列,和單片機(jī)有相同的外圍資源,也有時鐘電路、FLAS
13、H和RAM,配置文件相當(dāng)于單片機(jī)的程序,硬件描述語言VHDL/Verilog和C語言是一樣的。 可見,嵌入式控系統(tǒng)、FPGA技術(shù)和數(shù)字處理技術(shù)和單片機(jī)都有相同的淵源。學(xué)好單片機(jī),是學(xué)習(xí)嵌入式控系統(tǒng)(ARM)、FPGA技術(shù)和數(shù)字處理技術(shù)(DSP)的基礎(chǔ),掌握了單片機(jī)就能夠輕松學(xué)會這些技術(shù),并且在短時間內(nèi)快速掌握這些技術(shù)。個人建議想學(xué)習(xí)嵌入式系統(tǒng)、FPGA技術(shù)和DSP技術(shù)的朋友,最好可以從單片機(jī)開始,這樣學(xué)起來相對容易,不容易受挫。 1.2 學(xué)單片機(jī)學(xué)什么單片機(jī)缺少外圍設(shè)備(如鍵盤、顯示器等),其特長在于可以用單個芯片和簡單外部電路去實現(xiàn)復(fù)雜的控制操作,因此非常適合需要控制的場合,其實在絕大多數(shù)控
14、制設(shè)備中都有單片機(jī)的影子。我們通過編程來控制單片機(jī)的各個引腳的輸出(在不同的時間控制輸出不同的電平),從而控制與單片機(jī)的引腳連接的外圍電路的狀態(tài),實現(xiàn)我們想要實現(xiàn)的功能。單獨一個單片機(jī)是起不了什么作用,必須要和外圍器件才能發(fā)揮價值,如人腦和身體的關(guān)系。u單片機(jī)編程、下載、運(yùn)行方法;u單片機(jī)工作原理、運(yùn)行流程;u單片機(jī)內(nèi)部資源的使用;u單片機(jī)通過IO口控制外圍設(shè)備;u單片機(jī)與外圍芯片的通信協(xié)議;u單片機(jī)外圍電路的設(shè)計;u單片機(jī)向嵌入式的拓展;u單片機(jī)應(yīng)用作品、項目和產(chǎn)品的設(shè)計;學(xué)單片機(jī)該怎么學(xué) 首先知識方面,在入門階段會簡單的C語言即可,了解51單片機(jī)的基本結(jié)構(gòu),不需要深究其內(nèi)部結(jié)構(gòu)。并不需要模
15、電和數(shù)電知識,先從應(yīng)用學(xué)起,會用,等學(xué)到模電數(shù)電的時候,更能加深理解。 其次硬件方面,要有一套好的開發(fā)板,一臺電腦,一本單片機(jī)教程。不能總是用PROTEUS仿真,要實際操作,才能加深理解。電腦用來編程和下載程序,學(xué)單片機(jī)大部分時間是編程。教材先看一遍然后可以直接動手操作,不明白的地方再翻教材,其間可以結(jié)合視頻。 Step1:理論基礎(chǔ)學(xué)習(xí),了解而非全部掌握; Step2:了解外圍器件原理,設(shè)計編程思路; Step3:開發(fā)板編程練習(xí),實踐才是硬道理; Step4:作業(yè)綜合應(yīng)用訓(xùn)練,積累是財富; Step5:程序庫整理,養(yǎng)成良好習(xí)慣; Step6:設(shè)計作品,做一些項目;u由易到難,循序漸進(jìn)u注重實踐
16、u由最簡單的C語言入門到硬件的認(rèn)識u重要的是一種學(xué)習(xí)方式/方法多翻書,多逛電子論壇o新概念51單片機(jī)C語言教程郭天祥 o例說51單片機(jī)(C語言版)謝亮等o51單片機(jī)應(yīng)用從零開始楊欣o電子設(shè)計從零開始楊欣o愛上單片機(jī)-杜洋-(適合業(yè)余DIY)oC程序設(shè)計_第三版_譚浩強(qiáng)o匠人手記:一個單片機(jī)工作者的實踐與思考o(jì)51單片機(jī)C語言常用模塊與綜合系統(tǒng)設(shè)計實例精講o51單片機(jī)開發(fā)與應(yīng)用技術(shù)詳解o51單片機(jī)應(yīng)用與實踐叢書:51單片機(jī)應(yīng)用o電子發(fā)燒友網(wǎng) http:/ http:/ http:/ http:/ http:/ http:/ http:/ http:/ http:/ http:/ http:/ h
17、ttp:/www.eet- 單片機(jī)基礎(chǔ) 硬件p看電路圖、看原理圖(VCC、GND、VEE)p單片機(jī)電平特性p單片機(jī)最小系統(tǒng)p常用電子元器件&常用電路知識p了解一些模擬電路和數(shù)字電路p了解一些集成電路芯片的作用單片機(jī)最小系統(tǒng)最小系統(tǒng)能夠運(yùn)行的條件:1.電源供電 可用USB和電池供電,電壓必須在單片機(jī)正常工作所需范圍(3.3V-5V)之內(nèi)正極連到VCC上,負(fù)極連到GND上。2.復(fù)位電路 用途:當(dāng)單片機(jī)在運(yùn)行中出現(xiàn)跑飛、死機(jī)等情況,按下復(fù)位按鍵,單片機(jī)內(nèi)部程序會從頭開始執(zhí)行。類似于電腦的重啟按鈕原理:當(dāng)給單片機(jī)的RST(9腳)輸入連續(xù)兩個機(jī)器周期(大約2us)以上高電平時,單片機(jī)就會進(jìn)行復(fù)位
18、操作,從頭開始執(zhí)行程序。電路設(shè)計:一般選取電阻10K,電解電容10-30UF3.晶振電路 用途:給單片機(jī)提供時鐘信號,兩種方式:片內(nèi)時鐘振蕩方式(常用),外部接晶振(12M或11.0592M),兩引腳需并聯(lián)兩個振蕩電容(陶瓷10-30PF);外部時鐘,XTAL1接地,XTAL2接外部時鐘信號。單片機(jī)的電平特性p單片機(jī)屬于數(shù)字電路,數(shù)字電路中只有兩種電平,高和低,分別代表1和0(正邏輯)或0和1(反邏輯),一般無特殊說明的都是正邏輯。p這里51單片機(jī)為TTL電平:高(1)+5V,低(0)0V;其他單片機(jī)的還有:高(1)+3.3V,低(0)0Vp其他電平: RS232/RS485(計算機(jī)串口):反
19、邏輯電平,高(1)-12V,低(0)+12V不同電平特性的引腳相連要保證匹配,否則就要用電平轉(zhuǎn)換芯片或電路來實現(xiàn)單片機(jī)引腳電源和時鐘引腳: VCC(40)、GND(20)、XTAL1、XTAL2(19、18):外接時鐘信號。編程控制引腳: RST(9):復(fù)位引腳(單片機(jī)程序從頭開始執(zhí)行) EA/Vpp(31):接高電平,單片機(jī)讀內(nèi)部程序;接高電平,從外部ROM讀程序。 ALE/PROG、PSEN了解I/O口引腳: 4組8位需掌握單片機(jī)I/O口51單片機(jī)總共有P0、P1、P2、P3四組8位IO口即(Input/Output口),可控制其輸入輸出高電平。IO口是單片機(jī)與外界通信、進(jìn)行控制的主要接口
20、。IO口由三態(tài)緩沖器、輸出驅(qū)動電路、控制電路組成,比較復(fù)雜,我們通過下面的仿真來等效一下IO口,幫助大家理解。 IO口等效模型1.P0口: 雙向IO口,P0口內(nèi)部沒有上拉電阻,為高阻狀態(tài),不能正常輸出高/低電平,所以做普通I/O口使用時,需要外接上拉電阻,一般用10K的電阻。2.P1口/P2口: 準(zhǔn)雙向IO口,內(nèi)帶上拉電阻,輸出沒有高阻態(tài),輸入也不能鎖存。作為輸入使用時,要進(jìn)行寫1操作,然后才有可能讀出外部信號。3.P3口: 作為普通IO口時,與P1和P2類似;每個引腳都是多功能引腳,第一功能為基本IO口,第二功能為其他拓展功能。引腳是第一功能還是第二功能,由單片機(jī)的多功能選擇寄存器來配置。單
21、片機(jī)的內(nèi)部資源時鐘電路時鐘電路SFR和和RAM R O MCPU定時定時/計數(shù)器計數(shù)器并行端口并行端口中斷系統(tǒng)中斷系統(tǒng)串行端口串行端口系系 統(tǒng)統(tǒng) 總總 線線 時鐘時鐘源源 T0 T1 P0 P1 P2 P3 TXD RXD INT0 INT1單片機(jī)的內(nèi)部資源MCS-51單片機(jī)包含中央處理器(CPU)、程序存儲器(ROM)、數(shù)據(jù)存儲器(RAM)、定時/計數(shù)器、并行接口、串行接口和中斷系統(tǒng)等幾大單元及數(shù)據(jù)總線、地址總線和控制總線等三大總線。p8 8位位CPUCPU: 由運(yùn)算和控制邏輯組成同時還包括中斷系統(tǒng)和部分外部特殊功能寄存器 運(yùn)算器:對數(shù)據(jù)進(jìn)行加、減、乘、除等算術(shù)運(yùn)算;“與”、“或”、“異或”
22、等邏輯運(yùn)算以及位操作運(yùn)算。PSW寄存器的值表示運(yùn)算的狀態(tài)。通用寄存器作為工作寄存器。 控制器:時鐘電路、指令寄存器、譯碼器、堆棧指針、定時控制電路以及地址指針DPTR和程序計數(shù)器PC等。p128B128B數(shù)據(jù)數(shù)據(jù)存儲器(存儲器(RAMRAM)()(5252為為256B256B):): 用以存放可以讀寫的數(shù)據(jù),如運(yùn)算的中間結(jié)果、最終結(jié)果以及欲顯示的數(shù)據(jù);p4K4K程序程序存儲器存儲器(ROMROM)(52(52為為8K)8K): 用以存放程序、一些原始數(shù)據(jù)和表格p定時定時/ /計數(shù)器計數(shù)器: : 兩個16位可編程定時/計數(shù)器,既可以工作在定時模式,也可以工作在計數(shù)模式;單片機(jī)的內(nèi)部資源p4 4組
23、并行組并行8 8位位IOIO口:口: 四個8位并行I/O口,既可用作輸入,也可用作輸出p5 5個中斷源的中斷控制系統(tǒng):個中斷源的中斷控制系統(tǒng): 2個外部中斷、2個(52是3個)定時器中斷、串行口中斷p全雙工串行口(全雙工串行口(UARTUART):): 除電平特性外,符合RS232協(xié)議,用于實現(xiàn)單片機(jī)之間或單片機(jī)與微機(jī)之間的串行信;pSFRSFR特殊功能寄存器:特殊功能寄存器: 單片機(jī)對硬件的控制接口,映射到RAM的部分地址上p總線:總線: CPU與各個子模塊之間傳送信息的公共通道,有:數(shù)據(jù)總線、地址總線、控制總線。外部數(shù)據(jù)存儲器尋址空間為64kB外部程序存儲器尋址空間為64kB邏輯操作位尋址
24、功能雙列直插40PinDIP封裝片內(nèi)振蕩器和時鐘產(chǎn)生電路,石英晶體和微調(diào)電容需要外接。最佳振蕩頻率為6M12M。單一+5V電源供電單片機(jī)的工作時序機(jī)器機(jī)器周期和指令周期周期和指令周期 (1)振蕩周期: 也稱時鐘周期, 是指為單片機(jī)提供時鐘脈沖信號的振蕩源的周期。 (2)狀態(tài)周期: 每個狀態(tài)周期為時鐘周期的 2 倍, 是振蕩周期經(jīng)二分頻后得到的。 (3)機(jī)器周期: 一個機(jī)器周期包含 6 個狀態(tài)周期S1S6, 也就是 12 個時鐘周期。在一個機(jī)器周期內(nèi), CPU可以完成一個獨立的操作。 (4)指令周期: 它是指CPU完成一條操作所需的全部時間。每條指令執(zhí)行時間都是有一個或幾個機(jī)器周期組成。MCS
25、- 51 系統(tǒng)中, 有單周期指令、雙周期指令和四周期指令。 STC89C51RC名字含義p STC:表示STC(中國宏晶)公司產(chǎn)品p 8:表示該芯片為8051內(nèi)核芯片p 9:表示內(nèi)部含F(xiàn)lash EEPROM存儲器p C:表示該器件為CMOS產(chǎn)品p 5:固定不變p 1:表示芯片內(nèi)部程序存儲空間(ROM)的大小,決定了所能裝入執(zhí)行代碼的多少, p 1為4KB,2為8KB,3為12KB,4為16KB,16為64KBp RC:表示芯片內(nèi)部RAM的大小為512B,RD+表示內(nèi)部RAM為1280B。1.4 單片機(jī)學(xué)習(xí)基礎(chǔ)軟件p單片機(jī)數(shù)據(jù):二進(jìn)制,十進(jìn)制,十六進(jìn)制;p單片機(jī)的寄存器;pC51單片機(jī)編程語言
26、單片機(jī)數(shù)據(jù)的表示以及單片機(jī)的寄存器 由于單片機(jī)的電平特性和數(shù)字系統(tǒng)的特性,只有高低電平兩種狀態(tài),所以在單片機(jī)(數(shù)字電路)中必須使用二進(jìn)制。單片機(jī)系統(tǒng)中對數(shù)據(jù)的處理和運(yùn)算都是以二進(jìn)制格式進(jìn)行的。所以我們編寫控制單片機(jī)的程序最終都是要用編譯軟件編譯成二進(jìn)制格式的hex文件,然后再用下載軟件和下載器將hex文件燒錄到單片機(jī)中,這樣單片機(jī)就會按照我們編寫的程序執(zhí)行工作了。寄存器寄存器p我們知道單片機(jī)的內(nèi)部有ROM、有RAM、有并行I/O口,那么,除了這些東西之外,單片機(jī)內(nèi)部究竟還有些什么?p這些個零碎的東西怎么連在一起的? 在51單片機(jī)內(nèi)部有一個CPU用來運(yùn)算、控制,有四個并行I/O口,分別是P0、P
27、1、P2、P3,有ROM,用來存放程序,有RAM,用來存放中間結(jié)果,此外還有定時/計數(shù)器,串行I/O口,中斷系統(tǒng),以及一個內(nèi)部的時鐘電路。在一個51單片機(jī)的內(nèi)部包含了這么多的東西。p對并行I/O口的讀寫只要將數(shù)據(jù)送入到相應(yīng)I/O口的鎖存器就可以了,那么對于定時/計數(shù)器,串行I/O口等怎么用呢?在單片機(jī)中有一些獨立的存儲單元是用來控制這些器件的,被稱之為特殊功能寄存器(SFR)。單片機(jī)的編程語言p 很多很多硬件開發(fā)都用硬件開發(fā)都用C C語言編程;語言編程;p C C語言程序本身不依賴于機(jī)器硬件系統(tǒng),便于移植;語言程序本身不依賴于機(jī)器硬件系統(tǒng),便于移植;p C C語言提供了各種函數(shù)庫并支持浮點運(yùn)算
28、,開發(fā)效率高。語言提供了各種函數(shù)庫并支持浮點運(yùn)算,開發(fā)效率高。C51的運(yùn)算操作C51的數(shù)據(jù)類型基本數(shù)據(jù)類型C51的運(yùn)算操作 C-51的運(yùn)算符 與C語言基本相同: + - * / (加 減 乘 除) = (位右移 位左移) & | (按位與 按位或) (按位異或 按位取反)學(xué)習(xí)51單片機(jī)該掌握的內(nèi)容 (1) 掌握最小系統(tǒng)能夠運(yùn)行的必要條件: 電源、晶振、復(fù)位電路 (2) 掌握對單片機(jī)任意I/O口的操作: 輸出控制高低電平、輸入檢測高低電平 (3) 定時器: 重點掌握方式2 (4) 中斷: 掌握外部中斷、定時器中斷、串口中斷 (5) 串口通信: 掌握單片機(jī)之間的通信、單片機(jī)與電腦之間的通信
29、 1.5 軟件使用及點亮第一個流水燈(神程序) 如果你是用的是開發(fā)板并且上面有LED模塊,你可以查看電路圖。例如51START開發(fā)板電路圖 圖中VCC通過J1接到RP1上,RP1是排阻,圖中的1號腳是公共腳 ,在排阻的內(nèi)部從1號腳往29號每個管腳之間有一個1k電阻,總共8個1k電阻排列起來所所以叫做排阻。J1相當(dāng)于一個開關(guān),其實是兩個排針構(gòu)成的插座。如果插上跳線帽,就可以導(dǎo)通;拔下跳線帽,就斷開了。這樣設(shè)計的好處是,如果我要用LED模塊就插上跳線帽;而如果我不用LED模塊,而講IO口用于其他目的,這時LED就不會對我的電路產(chǎn)生干擾,因為LED一端接IO口,另一端接到排阻上,而排阻另一端是懸空的
30、,沒有接入電路。 而圖中的標(biāo)號DB1DB8又接在單片機(jī)最小系統(tǒng)電路中的P1.0P1.7的IO口,所以在J1導(dǎo)通的情況下,P1.0P1.7的高低電平就能控制D1D8這八個LED的亮滅了。軟件使用及點亮第一個流水燈(神程序) 具體操作 單片機(jī)的編程,我們通常使用Keil軟件。Keil軟件光盤里有,安裝過程這里不做詳細(xì)介紹,值得注意的一點是。安裝的時候盡量安裝到英文目錄下,最好不要用中文,以免程序運(yùn)行出現(xiàn)問題。 我們打開Keil軟件,準(zhǔn)備給單片機(jī)寫程序。大家可以按照下面的步驟進(jìn)行(這里以Keil uv4英文版為例進(jìn)行說明。如果你使用的是Keil其他版本,操作方式基本相同)。KEIL的使用一、新建一、
31、新建并配置工程并配置工程 1、首先新建工程: 點擊菜單中的Project New uVision Project。KEIL的使用2、然后我們在電腦上為我們的工程新建一個文件夾,這里我的文件夾是51STARTLEDKEIL的使用3、打開文件夾,輸入工程的名稱,點擊保存。這里我輸入的是LED。KEIL的使用4、然后彈出一個窗口,讓我們選擇單片機(jī)的型號。我們用到的是STC89C52RC,而這里面可能沒有STC單片機(jī),我們只需要選擇完全兼容STC的Atmel系列AT89C52單片機(jī),點擊OK確認(rèn)即可。KEIL的使用KEIL的使用5、隨后會彈出一個窗口,提示我們是否需要添加8051的啟動代碼到工程中,點
32、擊否即可(如果我們需要使用自定義的啟動代碼,則可以點是,然后修改啟動代碼。而我們編程用的是C語言,一般情況下不需要修改啟動代碼。至于啟動代碼有什么用處,則可以等到我們對單片機(jī)了解的比較深入的時候再查找相關(guān)資料進(jìn)行學(xué)習(xí))。KEIL的使用6、下面我們對工程進(jìn)行簡單的設(shè)置。右擊Target 1,選擇第一項Options for Target Target1,彈出工程屬性設(shè)置窗口。KEIL的使用7、我們打開Output標(biāo)簽,并勾選Create HEX File,然后點擊OK確認(rèn)即可。(編譯后可自動成.HEX 的文件,可燒進(jìn)單片機(jī))KEIL的使用二、新建二、新建源文源文件并添加至工件并添加至工程中程中1
33、、工程新建并配置完成了,下面我們開始新建程序源文件。點擊菜單中的File-New,出現(xiàn)一個新的文件,如圖。KEIL的使用2、然后我們點擊保存按鈕,將其保存到工程文件夾Project01 - LED中,保存為擴(kuò)展名是“.c”的文件,如main.c。這里大家要注意的是,源文件其實只是一個普通的文本文件,不過擴(kuò)展名是c而不是txt。我們剛剛新建main.c文件的操作,也可以通過在資源管理器中新建文本文檔,然后重命名為main.c的方式進(jìn)行。KEIL的使用3、源文件新建好了。源文件只是一個獨立的文本文件,而工程文件現(xiàn)在和剛剛新建的源文件還是完全獨立、沒有關(guān)聯(lián)的。我們要把剛剛新建的main.c文件添加到
34、我們的工程中來:右擊Target 1/Source Group 1,并選擇菜單中的Add Files to Group Source Group 1來添加文件。KEIL的使用4、雙擊需要添加的文件main.c,或者選中它再點擊Add按鈕,從左邊的Project窗口就可以看到,文件就已經(jīng)被添加到工程中了。這時彈出的窗口并沒有關(guān)閉,因為這樣可以方便繼續(xù)添加其他文件。因為我們現(xiàn)在只需添加一個文件并且添加好了,所以點擊Close關(guān)閉彈出的窗口。KEIL的使用三三、編寫程序并、編寫程序并編譯編譯1、我們打開main.c,開始正式編寫程序了。我們編寫的程序如下并保存。至于這個程序是什么含義,之后將詳細(xì)介紹
35、。注意一點,我給出的程序中設(shè)置的LED是P1.0,如果你的開發(fā)板或者自己搭建的電路中LED的IO口不是P1.0,你需要照著我給出的格式修改sbit那一行。這一點也充分體現(xiàn)了,單片機(jī)編程是和實際硬件電路息息相關(guān)的,程序和電路要配套,才能正常運(yùn)行。KEIL的使用2、點擊左上方的雙箭頭按鈕編譯全部文件,我們看到下方的輸出窗口顯示編譯完成,“creating hex file from LED”表明已經(jīng)編譯時創(chuàng)建了HEX文件(HEX文件是十六進(jìn)制文件,將燒寫進(jìn)單片機(jī)。相當(dāng)于Windows中的可執(zhí)行文件“.exe”),“0 Error(s), 0 Warning(s).”表示編譯成功,程序也沒有語法錯誤
36、。如果提示你的程序有錯,請細(xì)心的檢查一下,有沒有發(fā)生漏掉分號等情況。STC-ISP(燒錄軟件)的使用 四四、燒寫程序到單片機(jī)、燒寫程序到單片機(jī)中中 在工程文件夾下,我們可以看到生成的LED.hex文件,這正是我們所需要的。下面我們將把LED.hex文件燒寫進(jìn)單片機(jī),我們將介紹下載程序的一般步驟。STC-ISP(燒錄軟件)的使用1、設(shè)置單片機(jī)型號,這里我們設(shè)置單。片機(jī)為STC89C51RC。(根據(jù)你的單片機(jī)型號而定)。STC-ISP(燒錄軟件)的使用2、設(shè)置串口端口號,波特率等參數(shù)。由于我們一般用的是USB轉(zhuǎn)串口芯片,不是真正的RS232串口,所以串口號不固定,每次插上轉(zhuǎn)接板或單片機(jī)學(xué)習(xí)板時,我
37、們應(yīng)打開設(shè)備管理器如圖STC-ISP(燒錄軟件)的使用 (XP系統(tǒng):右擊“我的電腦”“屬性”“硬件”“設(shè)備管理器”;Win7系統(tǒng):右擊“計算機(jī)”“管理”“設(shè)備管理器”;WIN8系統(tǒng):右鍵開始,選擇設(shè)備管理器。)。找到端口(COM和LPT)選項,展開,里面會有一個類似“Prolific USB-to-Serial Comm Port(COM1)”或者“USB-SERIAL CH431(COM1)”的項。括號里面的COMx就是我們要找的端口號。 填到STC-ISP中就可以了(如果有多項不知道是哪一個,可以插拔單片機(jī)學(xué)習(xí)板看哪項會刷新)。如果很不幸,你的串口號很大,超出STC-ISP可設(shè)置的范圍了,
38、可以右擊設(shè)備管理器中顯示的那一項更改COM端口序號。波特率等選項一般按默認(rèn)即可,不需設(shè)置。 3、點擊“打開程序文件”,選擇要燒寫的單片機(jī)程序HEX或BIN文件。HEX或BIN文件是編譯之后的機(jī)器碼,打開后可以在STC-ISP右側(cè)程序文件中看到對應(yīng)的十六進(jìn)制數(shù)字。你可以選擇自己寫的程序產(chǎn)生的機(jī)器碼,也可以在STC-ISP的test-hex目錄中找一些測試程序。這里我們選擇剛剛編譯生成的HEX文件。 4、先點擊“下載”,然后再打開電源開關(guān),給單片機(jī)上電。稍后STC-ISP就會顯示正在燒寫程序。如果點擊“下載”前忘了先關(guān)電源,或者程序沒能下載,不需要點擊“停止”按鈕,直接斷電再上電嘗試即可。一般幾秒
39、鐘就能下載完成,STC-ISP中會顯示下載成功。STC-ISP(燒錄軟件)的使用下載成功STC-ISP(燒錄軟件)的使用 五五、觀察程序執(zhí)行結(jié)果,有必要的時調(diào)試程序、觀察程序執(zhí)行結(jié)果,有必要的時調(diào)試程序。 一般程序下載完成后,如果P1.0口接有LED,電路連接無誤,LED就會奇跡般的亮起來。我們就成功的讓單片機(jī)執(zhí)行了我們自己寫的程序。每個初學(xué)單片機(jī)的人在看到這一幕的時候,往往都會激動萬分,正如我第一次學(xué)習(xí)單片機(jī)一樣開心。由于這里的程序非常簡單,基本不需要調(diào)試。這時你就可以向好友炫耀一下,展示你的勞動成果了。STC-ISP(燒錄軟件)的使用成功點亮第一個成功點亮第一個 LED點亮第一個LED的程序分析 # include # include 頭文件頭文件 第一行包含頭文件,這個和C語言編寫HelloWorld時的#include 一樣。頭文件reg52.h中定義了單片機(jī)的一些寄存器,如P0P3等。你可以把寄存器想象成C語言中常說的內(nèi)存。有興趣的讀者可以右擊reg52.h打開頭文件看一看。 sbit LED = P10;sbit LED = P10; C51C51的變量的變量類型類型 這里我們使用的語言是C51,和標(biāo)準(zhǔn)C語言相比,最主要的特點就是多出來兩種變量類型:sfr和sbit。sfr和char一樣是一個8位數(shù)據(jù)類型,表示一個8位的寄存器。例如頭文件reg52.h中就有一句sf
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 核電站用過濾氈項目風(fēng)險識別與評估綜合報告
- 大數(shù)據(jù)服務(wù)平臺建設(shè)項目可行性研究報告申請模板
- 地理教師工作述職報告范文
- 2025年中國松身裙行業(yè)市場發(fā)展前景及發(fā)展趨勢與投資戰(zhàn)略研究報告
- 委托代理合同模板
- 獨家代理產(chǎn)品合作合同
- 戰(zhàn)略合作合同(標(biāo)準(zhǔn)文本1)
- 房地產(chǎn)土地分割合同案例分析
- 度建筑勞務(wù)隊安全生產(chǎn)合同
- 河道疏浚及治理工程合同
- GA/T 1133-2014基于視頻圖像的車輛行駛速度技術(shù)鑒定
- GB∕T 41461-2022 自助銀行網(wǎng)點服務(wù)要求
- 學(xué)校委托管理協(xié)議書范本
- 重醫(yī)大《護(hù)理學(xué)導(dǎo)論》期末試卷(兩套)及答案
- 部編新教材人教版七年級上冊歷史重要知識點歸納
- 重點時段及節(jié)假日前安全檢查表
- 建筑樁基技術(shù)規(guī)范2018年
- 物理調(diào)查問卷
- 給排水管道工程分項、分部、單位工程劃分
- 《傻子上學(xué)》臺詞
- 高中英語新課程標(biāo)準(zhǔn)解讀 (課堂PPT)
評論
0/150
提交評論