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