![項(xiàng)目1單燈閃爍控制_第1頁(yè)](http://file3.renrendoc.com/fileroot_temp3/2021-12/15/4b1525ad-32c5-4f89-b0db-ea5ed8ae4f76/4b1525ad-32c5-4f89-b0db-ea5ed8ae4f761.gif)
![項(xiàng)目1單燈閃爍控制_第2頁(yè)](http://file3.renrendoc.com/fileroot_temp3/2021-12/15/4b1525ad-32c5-4f89-b0db-ea5ed8ae4f76/4b1525ad-32c5-4f89-b0db-ea5ed8ae4f762.gif)
![項(xiàng)目1單燈閃爍控制_第3頁(yè)](http://file3.renrendoc.com/fileroot_temp3/2021-12/15/4b1525ad-32c5-4f89-b0db-ea5ed8ae4f76/4b1525ad-32c5-4f89-b0db-ea5ed8ae4f763.gif)
![項(xiàng)目1單燈閃爍控制_第4頁(yè)](http://file3.renrendoc.com/fileroot_temp3/2021-12/15/4b1525ad-32c5-4f89-b0db-ea5ed8ae4f76/4b1525ad-32c5-4f89-b0db-ea5ed8ae4f764.gif)
![項(xiàng)目1單燈閃爍控制_第5頁(yè)](http://file3.renrendoc.com/fileroot_temp3/2021-12/15/4b1525ad-32c5-4f89-b0db-ea5ed8ae4f76/4b1525ad-32c5-4f89-b0db-ea5ed8ae4f765.gif)
版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、項(xiàng)目項(xiàng)目1 單片機(jī)控制單燈閃爍單片機(jī)控制單燈閃爍(1)會(huì)描述什么是單片機(jī),單片機(jī)的特點(diǎn)及應(yīng)用等知識(shí)。)會(huì)描述什么是單片機(jī),單片機(jī)的特點(diǎn)及應(yīng)用等知識(shí)。(2)初步學(xué)會(huì)使用單片機(jī)的開(kāi)發(fā)工具)初步學(xué)會(huì)使用單片機(jī)的開(kāi)發(fā)工具Keil C、仿真軟件、仿真軟件Proteus進(jìn)行仿真。進(jìn)行仿真。(3)學(xué)會(huì)使用仿真軟件)學(xué)會(huì)使用仿真軟件Proteus制作單片機(jī)的最小系統(tǒng)電路圖。制作單片機(jī)的最小系統(tǒng)電路圖。(4)學(xué)會(huì)使用)學(xué)會(huì)使用Keil C編寫(xiě)單燈閃爍的控制程序。編寫(xiě)單燈閃爍的控制程序。(5)學(xué)會(huì)進(jìn)行軟硬件聯(lián)合仿真。)學(xué)會(huì)進(jìn)行軟硬件聯(lián)合仿真。1.1 學(xué)習(xí)目標(biāo)學(xué)習(xí)目標(biāo)1 項(xiàng)目名稱(chēng)項(xiàng)目名稱(chēng) 單片機(jī)控制單燈閃爍單片機(jī)控
2、制單燈閃爍2 項(xiàng)目要求項(xiàng)目要求(1)練習(xí)使用練習(xí)使用Keil c51,Proteus,STC下載軟件等開(kāi)發(fā)工具。下載軟件等開(kāi)發(fā)工具。(2)使用使用AT89C51單片機(jī)作為仿真控制器,單片機(jī)作為仿真控制器,STC89C51作為硬件電路控制器,控作為硬件電路控制器,控制制1個(gè)發(fā)光二極管閃爍,時(shí)間間隔為個(gè)發(fā)光二極管閃爍,時(shí)間間隔為0.1S。(3)發(fā)揮功能:發(fā)揮功能:調(diào)整發(fā)光二極管亮度。調(diào)整發(fā)光二極管亮度。發(fā)光二極管修改為共陰極接法,如何修改電路圖和程序。發(fā)光二極管修改為共陰極接法,如何修改電路圖和程序。使用單片機(jī)使用單片機(jī)P2.0引腳控制發(fā)光二極管以引腳控制發(fā)光二極管以0.2S的時(shí)間間隔閃爍。的時(shí)間
3、間隔閃爍。3 項(xiàng)目分析項(xiàng)目分析使用使用AT89c51單片機(jī)的一個(gè)引腳控制一個(gè)發(fā)光二極管以單片機(jī)的一個(gè)引腳控制一個(gè)發(fā)光二極管以0.1秒的時(shí)間間隔閃爍。秒的時(shí)間間隔閃爍。單片機(jī)要工作,必須有時(shí)鐘電路、復(fù)位電路和電源電路,它們和單片機(jī)一起構(gòu)單片機(jī)要工作,必須有時(shí)鐘電路、復(fù)位電路和電源電路,它們和單片機(jī)一起構(gòu)成的電路稱(chēng)為單片機(jī)的最小系統(tǒng),是單片機(jī)控制電路的基礎(chǔ),是必須掌握的單成的電路稱(chēng)為單片機(jī)的最小系統(tǒng),是單片機(jī)控制電路的基礎(chǔ),是必須掌握的單片機(jī)基本電路。片機(jī)基本電路。1.2 項(xiàng)目描述項(xiàng)目描述 發(fā)光二極管(發(fā)光二極管(LED,電路符號(hào),電路符號(hào) )是一種最常用的指示器件,近幾年因其成本)是一種最常用的
4、指示器件,近幾年因其成本下降和節(jié)能的特點(diǎn)大量使用在照明設(shè)備中。發(fā)光二極管有極性之分,當(dāng)有足夠的下降和節(jié)能的特點(diǎn)大量使用在照明設(shè)備中。發(fā)光二極管有極性之分,當(dāng)有足夠的正向電流(正極流向負(fù)極的電流,約正向電流(正極流向負(fù)極的電流,約10mA30mA)通過(guò)時(shí)便會(huì)發(fā)光。)通過(guò)時(shí)便會(huì)發(fā)光。01D1LED-GREENR1200AT89C51P1.0低電平低電平亮亮持續(xù)持續(xù)0.1秒秒D2LED-GREENR2200AT89C51P1.0高電平高電平滅滅持續(xù)持續(xù)0.1秒秒.循環(huán)循環(huán) 圖圖1-1-a 發(fā)光二極管工作原理發(fā)光二極管工作原理 圖圖1-1-b 發(fā)光二極管閃爍工作原理發(fā)光二極管閃爍工作原理1.2 項(xiàng)目描
5、述項(xiàng)目描述 由于單片機(jī)系統(tǒng)常常使用由于單片機(jī)系統(tǒng)常常使用+5V電源,而發(fā)光二極管電源,而發(fā)光二極管D1只需要只需要2V左右的左右的電壓就可以被點(diǎn)亮,點(diǎn)亮?xí)r電流約為電壓就可以被點(diǎn)亮,點(diǎn)亮?xí)r電流約為15mA。如果在發(fā)光二極管。如果在發(fā)光二極管D1兩端兩端直接加直接加+5V將有可能燒毀它。于是我們常常在測(cè)量二極管好壞的時(shí)候或者將有可能燒毀它。于是我們常常在測(cè)量二極管好壞的時(shí)候或者是電路設(shè)計(jì)中串聯(lián)一個(gè)限流電阻是電路設(shè)計(jì)中串聯(lián)一個(gè)限流電阻R1。假設(shè)發(fā)光二極管工作電流為。假設(shè)發(fā)光二極管工作電流為15mA,正常工作時(shí)兩端的壓降正常工作時(shí)兩端的壓降VF=2V,所以電阻,所以電阻R1上應(yīng)該分擔(dān)的電壓為上應(yīng)該分擔(dān)
6、的電壓為3V。于。于是得電阻是得電阻R1的阻值為:的阻值為:R1=3V/15mA=200。如果此電阻取值較大,則。如果此電阻取值較大,則發(fā)光二極管亮度不夠,取發(fā)光二極管亮度不夠,取1K以?xún)?nèi)的阻值即可(如圖以?xún)?nèi)的阻值即可(如圖1-1-a所示)。所示)。當(dāng)單片機(jī)的當(dāng)單片機(jī)的P1.0口輸出低電平時(shí)(接地),發(fā)光二極管口輸出低電平時(shí)(接地),發(fā)光二極管D1正、負(fù)極之間正、負(fù)極之間獲得電壓而被點(diǎn)亮;當(dāng)獲得電壓而被點(diǎn)亮;當(dāng)P1.0口輸出高電平時(shí)(口輸出高電平時(shí)(+5V),發(fā)光二極管),發(fā)光二極管D1則則熄滅。所以要實(shí)現(xiàn)發(fā)光二極管以熄滅。所以要實(shí)現(xiàn)發(fā)光二極管以100m s時(shí)間間隔閃爍,變成了讓單片機(jī)時(shí)間間隔
7、閃爍,變成了讓單片機(jī)的的P1.0口以口以100ms為間隔輸出高、低電平。(如圖為間隔輸出高、低電平。(如圖1-1-b所示)所示)1.2 項(xiàng)目描述項(xiàng)目描述 圖圖1-2 單個(gè)發(fā)光二極管閃爍控制框圖單個(gè)發(fā)光二極管閃爍控制框圖1.2 項(xiàng)目描述項(xiàng)目描述單片機(jī)的概念:?jiǎn)纹瑱C(jī)的概念:把把CPU(進(jìn)行運(yùn)算、控制)、(進(jìn)行運(yùn)算、控制)、RAM(數(shù)據(jù)存儲(chǔ))、(數(shù)據(jù)存儲(chǔ))、ROM(程序存儲(chǔ))、輸入(程序存儲(chǔ))、輸入/輸輸出設(shè)備(例如:串行口、并行口等)、定時(shí)器出設(shè)備(例如:串行口、并行口等)、定時(shí)器/計(jì)數(shù)器、計(jì)數(shù)器、A/D,D/A等集成到一塊等集成到一塊集成電路芯片中形成的微處理器就稱(chēng)為單片機(jī),單片機(jī)也稱(chēng)為集成電路
8、芯片中形成的微處理器就稱(chēng)為單片機(jī),單片機(jī)也稱(chēng)為MCU(Micro Controller Unit),即微控制器。,即微控制器。1.3.1單片機(jī)基礎(chǔ)單片機(jī)基礎(chǔ) (1)單片機(jī)的產(chǎn)生和發(fā)展)單片機(jī)的產(chǎn)生和發(fā)展單片機(jī)是由美國(guó)的單片機(jī)是由美國(guó)的INTEL公司于公司于1971年發(fā)明的,經(jīng)歷了年發(fā)明的,經(jīng)歷了SCM、MCU、SoC三大階段。三大階段。(2)單片機(jī)硬件特性)單片機(jī)硬件特性單片機(jī)集成度高。單片機(jī)集成度高。51系列單片機(jī)包括系列單片機(jī)包括CPU、4KB容量的容量的ROM(8031 無(wú))、無(wú))、128 B容量的容量的RAM、 2個(gè)個(gè)16位定時(shí)位定時(shí)/計(jì)數(shù)器、計(jì)數(shù)器、4個(gè)個(gè)8位并行口、位并行口、1個(gè)全
9、雙工串口行口。個(gè)全雙工串口行口。 系統(tǒng)結(jié)構(gòu)簡(jiǎn)單,使用方便,實(shí)現(xiàn)模塊化。系統(tǒng)結(jié)構(gòu)簡(jiǎn)單,使用方便,實(shí)現(xiàn)模塊化。 單片機(jī)可靠性高,可工作到單片機(jī)可靠性高,可工作到106 107小時(shí)無(wú)故障。小時(shí)無(wú)故障。 處理功能強(qiáng),速度快。處理功能強(qiáng),速度快。 1. 單片機(jī)相關(guān)知識(shí)單片機(jī)相關(guān)知識(shí)1.3 相關(guān)知識(shí)相關(guān)知識(shí)(3)單片機(jī)的應(yīng)用)單片機(jī)的應(yīng)用 目前單片機(jī)滲透到我們生活的各個(gè)領(lǐng)域,幾乎很難找到哪個(gè)領(lǐng)域沒(méi)有單片機(jī)的蹤跡。目前單片機(jī)滲透到我們生活的各個(gè)領(lǐng)域,幾乎很難找到哪個(gè)領(lǐng)域沒(méi)有單片機(jī)的蹤跡。單片機(jī)應(yīng)用大致可分如下幾個(gè)范疇:?jiǎn)纹瑱C(jī)應(yīng)用大致可分如下幾個(gè)范疇: 在智能儀器儀表上的應(yīng)用。(請(qǐng)查閱資料,寫(xiě)出在智能儀器儀表
10、上的應(yīng)用。(請(qǐng)查閱資料,寫(xiě)出2種以上應(yīng)用種以上應(yīng)用 )在工業(yè)控制中的應(yīng)用。在工業(yè)控制中的應(yīng)用。 (請(qǐng)查閱資料,寫(xiě)出(請(qǐng)查閱資料,寫(xiě)出2種以上應(yīng)用種以上應(yīng)用 )在家用電器中的應(yīng)用。在家用電器中的應(yīng)用。 (請(qǐng)查閱資料,寫(xiě)出(請(qǐng)查閱資料,寫(xiě)出2種以上應(yīng)用種以上應(yīng)用 )在計(jì)算機(jī)網(wǎng)絡(luò)和通信領(lǐng)域中的應(yīng)用。(請(qǐng)查閱資料,寫(xiě)出在計(jì)算機(jī)網(wǎng)絡(luò)和通信領(lǐng)域中的應(yīng)用。(請(qǐng)查閱資料,寫(xiě)出2種以上應(yīng)用種以上應(yīng)用 ) 單片機(jī)在醫(yī)用設(shè)備領(lǐng)域中的應(yīng)用。(請(qǐng)查閱資料,寫(xiě)出單片機(jī)在醫(yī)用設(shè)備領(lǐng)域中的應(yīng)用。(請(qǐng)查閱資料,寫(xiě)出2種以上應(yīng)用種以上應(yīng)用 ) 在各種大型電器中的模塊化應(yīng)用。(請(qǐng)查閱資料,寫(xiě)出在各種大型電器中的模塊化應(yīng)用。(請(qǐng)查閱
11、資料,寫(xiě)出2種以上應(yīng)用種以上應(yīng)用 ) 單片機(jī)在汽車(chē)設(shè)備領(lǐng)域中的應(yīng)用。(請(qǐng)查閱資料,寫(xiě)出單片機(jī)在汽車(chē)設(shè)備領(lǐng)域中的應(yīng)用。(請(qǐng)查閱資料,寫(xiě)出2種以上應(yīng)用種以上應(yīng)用 ) 1.3.1單片機(jī)基礎(chǔ)單片機(jī)基礎(chǔ) (4)主要單片機(jī)的分類(lèi))主要單片機(jī)的分類(lèi) AVR系列系列/PIC系列系列51系列單片機(jī)系列單片機(jī)(5)嵌入式系統(tǒng))嵌入式系統(tǒng) ARM處理器除具有單片機(jī)的功能外,還可以運(yùn)行嵌入式操作系統(tǒng),可以看成處理器除具有單片機(jī)的功能外,還可以運(yùn)行嵌入式操作系統(tǒng),可以看成簡(jiǎn)化了的簡(jiǎn)化了的PC,因而可以實(shí)現(xiàn)許多單片機(jī)系統(tǒng)不能完成的功能。比如:嵌入式,因而可以實(shí)現(xiàn)許多單片機(jī)系統(tǒng)不能完成的功能。比如:嵌入式web服務(wù)器,服務(wù)
12、器,java虛擬機(jī)等,從而在智能手機(jī)、物聯(lián)網(wǎng)應(yīng)用等領(lǐng)域應(yīng)用廣泛。虛擬機(jī)等,從而在智能手機(jī)、物聯(lián)網(wǎng)應(yīng)用等領(lǐng)域應(yīng)用廣泛。1.3.1單片機(jī)基礎(chǔ)單片機(jī)基礎(chǔ) 單片機(jī)芯片單片機(jī)芯片 電源:電源:AT89S51的的VCC(40管腳)和管腳)和GND(20管腳)分別為電源端和接地端,管腳)分別為電源端和接地端,AT89S51的供電電壓范圍為直流的供電電壓范圍為直流+4.0+5.5V。振蕩電路:振蕩電路:XTAL1、XTAL2復(fù)位引腳:復(fù)位引腳:RST并行口:并行口:P0、P1、P2、P3,4個(gè)端口個(gè)端口32位位2 單片機(jī)最小系統(tǒng)單片機(jī)最小系統(tǒng)1.3.1單片機(jī)基礎(chǔ)單片機(jī)基礎(chǔ) PSENEA :訪問(wèn)程序存儲(chǔ)控制信號(hào)
13、:訪問(wèn)程序存儲(chǔ)控制信號(hào)/加編程電壓加編程電壓 :外部:外部ROM讀選通信號(hào)讀選通信號(hào) ALE/ :地址鎖存控制信號(hào):地址鎖存控制信號(hào)/編程脈沖輸入端編程脈沖輸入端 P3口第二功能說(shuō)明如表口第二功能說(shuō)明如表1-2所示所示 1.3.1單片機(jī)基礎(chǔ)單片機(jī)基礎(chǔ) 表表1-2 單片機(jī)單片機(jī)P3口第二功能說(shuō)明表口第二功能說(shuō)明表1.3.1單片機(jī)基礎(chǔ)單片機(jī)基礎(chǔ) 時(shí)鐘電路用于產(chǎn)生單片機(jī)工作所需的時(shí)鐘控制信號(hào),其性能影響單片機(jī)系統(tǒng)的穩(wěn)定性。時(shí)鐘頻率影響單片機(jī)的運(yùn)行速度。常用時(shí)鐘電路有兩種:內(nèi)部時(shí)鐘電路和外部時(shí)鐘電路。XTAL1端(19管腳)、XTAL2(18管腳)內(nèi)部有一個(gè)片內(nèi)振蕩器結(jié)構(gòu),但仍然需要在XTAL1和XT
14、AL2之間連接一個(gè)晶振Y1,并加上兩個(gè)容量介于2040pF的電容C1、C2組成時(shí)鐘電路,如圖所示1-4(a)所示。晶振的頻率決定了該系統(tǒng)的時(shí)鐘頻率,比如晶振頻率選擇12MHz,那么單片機(jī)工作的頻率就是12MHz。根據(jù)系統(tǒng)對(duì)速度的要求,一般可以選擇1.2MHz12MHz的晶振。通常我通常我們使用們使用12MHz的晶振。的晶振。(1)時(shí)鐘電路)時(shí)鐘電路(a)內(nèi)部時(shí)鐘電路)內(nèi)部時(shí)鐘電路 (b)外部時(shí)鐘電路)外部時(shí)鐘電路1.3.1單片機(jī)基礎(chǔ)單片機(jī)基礎(chǔ) 振蕩周期振蕩周期:振蕩周期是單片機(jī)的基本時(shí)間單位。主頻為fosc,則振蕩周期是主頻的 倒數(shù)。如12MHZ晶振的時(shí)鐘周期就是1/12MHZ。時(shí)鐘周期時(shí)鐘周
15、期:時(shí)鐘周期為振蕩周期的2倍。分為兩個(gè)節(jié)拍,為P1和P2,每拍為一個(gè)振蕩周期。機(jī)器周期機(jī)器周期:6個(gè)時(shí)鐘周期,12個(gè)振蕩周期組成一個(gè)機(jī)器周期個(gè)振蕩周期組成一個(gè)機(jī)器周期,所以12MHZ晶振的時(shí)晶振的時(shí)鐘周期就是:鐘周期就是:12*(1/12MHZ)=1us。指令周期指令周期:若干個(gè)機(jī)器周期(1、2、4個(gè))組成指令周期。圖圖1-5 時(shí)鐘周期時(shí)鐘周期1.3.1單片機(jī)基礎(chǔ)單片機(jī)基礎(chǔ) AT89S51單片機(jī)的單片機(jī)的RST端(端(9管腳)是復(fù)位端。當(dāng)向管腳)是復(fù)位端。當(dāng)向RST端輸入一個(gè)端輸入一個(gè)2個(gè)機(jī)器個(gè)機(jī)器周期的高電平單片機(jī)就會(huì)復(fù)位,復(fù)位后單片機(jī)從周期的高電平單片機(jī)就會(huì)復(fù)位,復(fù)位后單片機(jī)從0000H開(kāi)
16、始執(zhí)行程序。如果在單片開(kāi)始執(zhí)行程序。如果在單片機(jī)執(zhí)行程序的過(guò)程中觸發(fā)復(fù)位,則單片機(jī)立即放棄當(dāng)前操作而被強(qiáng)行從頭開(kāi)始執(zhí)機(jī)執(zhí)行程序的過(guò)程中觸發(fā)復(fù)位,則單片機(jī)立即放棄當(dāng)前操作而被強(qiáng)行從頭開(kāi)始執(zhí)行程序。行程序。(2)復(fù)位電路)復(fù)位電路 1.3.1單片機(jī)基礎(chǔ)單片機(jī)基礎(chǔ) (3)電源電路)電源電路方法方法1:使用電源適配器:使用電源適配器 在市場(chǎng)上購(gòu)買(mǎi)一個(gè)額定電壓在市場(chǎng)上購(gòu)買(mǎi)一個(gè)額定電壓5V,額定電源大于,額定電源大于500mA的電源適的電源適配器,購(gòu)買(mǎi)一個(gè)直流插座,將配器,購(gòu)買(mǎi)一個(gè)直流插座,將+5v輸出接單片機(jī)的輸出接單片機(jī)的40腳,腳,GND接接20腳即可對(duì)單片機(jī)供電。腳即可對(duì)單片機(jī)供電。方法方法2:使
17、用:使用USB線供電線供電 圖圖1-7 A型型USB接頭接頭 根據(jù)表根據(jù)表1-3和圖和圖1-7所示,將所示,將USB線的一端接線的一端接PC機(jī),另一端剪斷,機(jī),另一端剪斷,將紅色線接單片機(jī)的將紅色線接單片機(jī)的40腳,黑色線接腳,黑色線接20腳即可對(duì)單片機(jī)供電。腳即可對(duì)單片機(jī)供電。引引腳腳名名稱(chēng)稱(chēng)描述描述顏色顏色1VCC電源 紅色2D-數(shù)據(jù)-白色3D+數(shù)據(jù)+ 綠色4GND地黑色 表表1-3 A型型USB接頭定義接頭定義1.3.1單片機(jī)基礎(chǔ)單片機(jī)基礎(chǔ) 方法方法3 自己制作單片機(jī)供電電源。參考圖自己制作單片機(jī)供電電源。參考圖1-8進(jìn)行。進(jìn)行。 圖圖1-8 78系列三端穩(wěn)壓電路供電電路系列三端穩(wěn)壓電路
18、供電電路 1.3.1單片機(jī)基礎(chǔ)單片機(jī)基礎(chǔ) XTAL218XTAL119ALE30EA31PSEN29RST9P0.0/AD039P0.1/AD138P0.2/AD237P0.3/AD336P0.4/AD435P0.5/AD534P0.6/AD633P0.7/AD732P1.01P1.12P1.23P1.34P1.45P1.56P1.67P1.78P3.0/RXD10P3.1/TXD11P3.2/INT012P3.3/INT113P3.4/T014P3.7/RD17P3.6/WR16P3.5/T115P2.7/A1528P2.0/A821P2.1/A922P2.2/A1023P2.3/A1124
19、P2.4/A1225P2.5/A1326P2.6/A1427U1AT89C51SRCFILE=led.hex+5vX1CRYSTALC122pFC222pFC322uFR21kR310k最小系統(tǒng),是使用最少的外圍元器最小系統(tǒng),是使用最少的外圍元器件讓單片機(jī)能夠工作的電路。件讓單片機(jī)能夠工作的電路。AT89C51單片機(jī)的最簡(jiǎn)系統(tǒng)如圖所單片機(jī)的最簡(jiǎn)系統(tǒng)如圖所示,首先,單片機(jī)的示,首先,單片機(jī)的VCC接接+5V,GND接地獲得工作電源。(仿真不接地獲得工作電源。(仿真不用接)此外,還得有復(fù)位電路和振用接)此外,還得有復(fù)位電路和振蕩電路。單片機(jī)的(蕩電路。單片機(jī)的(31管腳管腳 )也接)也接到了到了+
20、5V上,這是由于目前單片機(jī)上,這是由于目前單片機(jī)均自帶程序存儲(chǔ)器,在不需要擴(kuò)展均自帶程序存儲(chǔ)器,在不需要擴(kuò)展ROM,直接使用內(nèi)部自帶的程序存,直接使用內(nèi)部自帶的程序存儲(chǔ)器的時(shí)候,就要把此引腳接高電儲(chǔ)器的時(shí)候,就要把此引腳接高電平。平。(4)最小系統(tǒng))最小系統(tǒng)1.3.1單片機(jī)基礎(chǔ)單片機(jī)基礎(chǔ) 1. 數(shù)字量與模擬量數(shù)字量與模擬量(1)數(shù)字量)數(shù)字量數(shù)字量:物理量的變化在時(shí)間上和數(shù)量上數(shù)字量:物理量的變化在時(shí)間上和數(shù)量上都是離散的。它們數(shù)值的大小和每次變都是離散的。它們數(shù)值的大小和每次變化的增減變化都是某一個(gè)最小數(shù)量單位化的增減變化都是某一個(gè)最小數(shù)量單位的整數(shù)倍,而小于這個(gè)最小數(shù)量單位的的整數(shù)倍,而小
21、于這個(gè)最小數(shù)量單位的數(shù)值沒(méi)有任何物理意義。數(shù)值沒(méi)有任何物理意義。例如:統(tǒng)計(jì)書(shū)本生產(chǎn)線上的書(shū)本數(shù)量,得例如:統(tǒng)計(jì)書(shū)本生產(chǎn)線上的書(shū)本數(shù)量,得到的就是一個(gè)數(shù)字量,最小數(shù)量單位的到的就是一個(gè)數(shù)字量,最小數(shù)量單位的“1”代表代表“一本一本”書(shū),小于書(shū),小于1的數(shù)值沒(méi)有任的數(shù)值沒(méi)有任何物理意義。何物理意義。數(shù)字信號(hào):表示數(shù)字量的信號(hào)。如矩形脈數(shù)字信號(hào):表示數(shù)字量的信號(hào)。如矩形脈沖,如圖沖,如圖1-13(a)所示。)所示。數(shù)字信號(hào)通常都是以數(shù)碼形式給出的。不數(shù)字信號(hào)通常都是以數(shù)碼形式給出的。不同的數(shù)碼不僅可以用來(lái)表示數(shù)量的不同同的數(shù)碼不僅可以用來(lái)表示數(shù)量的不同大小,而且可以用來(lái)表示不同的事物或大小,而且可以
22、用來(lái)表示不同的事物或事物的不同狀態(tài)。事物的不同狀態(tài)。數(shù)字電路:工作在數(shù)字信號(hào)下的電子電路。數(shù)字電路:工作在數(shù)字信號(hào)下的電子電路。(2)模擬量)模擬量模擬量:物理量的變化在時(shí)間上和數(shù)值上都模擬量:物理量的變化在時(shí)間上和數(shù)值上都是連續(xù)的。是連續(xù)的。例如:熱電偶工作時(shí)輸出的電壓或電流信號(hào)例如:熱電偶工作時(shí)輸出的電壓或電流信號(hào)就是一種模擬信號(hào),因?yàn)楸粶y(cè)的溫度不就是一種模擬信號(hào),因?yàn)楸粶y(cè)的溫度不可能發(fā)生突跳,所以測(cè)得的電壓或電流可能發(fā)生突跳,所以測(cè)得的電壓或電流無(wú)論在時(shí)間上還是在數(shù)量上都是連續(xù)的。無(wú)論在時(shí)間上還是在數(shù)量上都是連續(xù)的。模擬信號(hào):表示模擬量的信號(hào)。如正弦信號(hào),模擬信號(hào):表示模擬量的信號(hào)。如正
23、弦信號(hào),如圖如圖1-13(b)所示。)所示。模擬電路:工作在模擬信號(hào)下的電子電路。模擬電路:工作在模擬信號(hào)下的電子電路。這個(gè)信號(hào)在連續(xù)變化過(guò)程中的任何一個(gè)取值這個(gè)信號(hào)在連續(xù)變化過(guò)程中的任何一個(gè)取值都有具體的物理意義,即表示一個(gè)相應(yīng)都有具體的物理意義,即表示一個(gè)相應(yīng)的溫度。的溫度。1.3.2數(shù)制和編碼tuut (a) (b) 圖1-13 數(shù)字信號(hào)與模擬信號(hào) 數(shù)制:把多位數(shù)碼中每一位的構(gòu)成方法以及從低位到高位的進(jìn)位規(guī)則稱(chēng)為數(shù)制。在單片機(jī)電路中經(jīng)常使用的計(jì)數(shù)進(jìn)制有十進(jìn)制、二進(jìn)制和十六進(jìn)制。(1)十進(jìn)制數(shù)(Decimal) 十進(jìn)制是日常生活中最常使用的進(jìn)位計(jì)數(shù)制。在十進(jìn)制數(shù)中,每一位有09十個(gè)數(shù)碼,所
24、以計(jì)數(shù)的基數(shù)是10。超過(guò)9的數(shù)必須用多位數(shù)表示,其中低位和相鄰高位之間的進(jìn)位關(guān)系是“逢十進(jìn)一”。 任意十進(jìn)制數(shù) D 的展開(kāi)式: ki是第 i 位的系數(shù),可以是09中的任何一個(gè)。例:將十進(jìn)制數(shù)12.56展開(kāi)為:(2)二進(jìn)制數(shù)(Binary)二進(jìn)制數(shù)的進(jìn)位規(guī)則是“逢二進(jìn)一”,其進(jìn)位基數(shù)R=2, 每位數(shù)碼的取值只能是0或1,每位的權(quán)是2的冪。任何一個(gè)二進(jìn)制數(shù),可表示為: 例如: 1.3.2數(shù)制和編碼1032101232)375.11(21212021212021)011.1011(210110610510210156.12iikD102.幾種常用的數(shù)制(3)八進(jìn)制數(shù)(Octal)八進(jìn)制數(shù)的進(jìn)位規(guī)則是
25、“逢八進(jìn)一”,其基數(shù)R=8,采用的數(shù)碼是0、 1、 2、 3、 4、 5、 6、 7, 每位的權(quán)是 8 的冪。 任何一個(gè)八進(jìn)制數(shù)也可以表示為: 例如: (4)十六進(jìn)制數(shù)(Hexadecimal)十六進(jìn)制數(shù)的特點(diǎn)是: 采用的16 個(gè)數(shù)碼為0、 1、 2、 、 9、 A、 B、 C、 D、 E、 F。 符號(hào)AF分別代表十進(jìn)制數(shù)的1015。 進(jìn)位規(guī)則是“逢十六進(jìn)一”基數(shù)R=16,每位的權(quán)是16的冪。 任何一個(gè)十六進(jìn)制數(shù), 可以表示為: 例如: 任意 N 進(jìn)制數(shù)展開(kāi)式的普遍形式: 其中 ki 是第 i 位的系數(shù);ki 可以是 0 N-1 中的任何一個(gè);N 稱(chēng)為計(jì)數(shù)的基數(shù);Ni 稱(chēng)為第 i 位的權(quán)。1.
26、3.2數(shù)制和編碼2.幾種常用的數(shù)制1010128)5 .254(5 . 068764384868783)4 .376(iikD16102101216)0664.939(16116116111610163)113(ABiiNkD(5)不同進(jìn)制數(shù)的對(duì)照表 對(duì)于以上4種數(shù)制,關(guān)鍵是要對(duì)015這16個(gè)數(shù)字的二、八、十、十六進(jìn)制形式非常熟悉,達(dá)到看到十進(jìn)制數(shù)就能說(shuō)出二進(jìn)制和十六進(jìn)制的程度。4種進(jìn)制數(shù)字的對(duì)照如表1- 4所示。1.3.2數(shù)制和編碼2.幾種常用的數(shù)制十進(jìn)制二進(jìn)制八進(jìn)制十六進(jìn)制00000101020203030404050506060707081009111012111312141315141
27、61517(1)十二轉(zhuǎn)換 整數(shù)轉(zhuǎn)換除2取余法。例如:將(57)10轉(zhuǎn)換為二進(jìn)制數(shù): 小數(shù)轉(zhuǎn)換乘2取整法。例如:將(0.724)10轉(zhuǎn)換成二進(jìn)制小數(shù)。1.3.2數(shù)制和編碼3. 不同數(shù)制間的轉(zhuǎn)換(2)二十轉(zhuǎn)換二進(jìn)制數(shù)轉(zhuǎn)換成十進(jìn)制數(shù)時(shí),只要將二進(jìn)制數(shù)按權(quán)展開(kāi),然后將各項(xiàng)數(shù)值按十進(jìn)制數(shù)相加,便可得到等值的十進(jìn)制數(shù)。例如: 同理,若將任意進(jìn)制數(shù)轉(zhuǎn)換為十進(jìn)制數(shù),只需將數(shù)(N)R寫(xiě)成按權(quán)展開(kāi)的多項(xiàng)式表示式,并按十進(jìn)制規(guī)則進(jìn)行運(yùn)算, 便可求得相應(yīng)的十進(jìn)制數(shù)(N)10。 (3)二進(jìn)制數(shù)與八進(jìn)制數(shù)、十六進(jìn)制數(shù)之間的相互轉(zhuǎn)換八進(jìn)制數(shù)和十六進(jìn)制數(shù)的基數(shù)分別為8=23,16=24, 所以三位二進(jìn)制數(shù)恰好相當(dāng)一位八進(jìn)制數(shù)
28、,四位二進(jìn)制數(shù)相當(dāng)一位十六進(jìn)制數(shù),它們之間的相互轉(zhuǎn)換是很方便的。二進(jìn)制數(shù)轉(zhuǎn)換成八進(jìn)制數(shù)的方法是從小數(shù)點(diǎn)開(kāi)始,分別向左、向右,將二進(jìn)制數(shù)按每三位一組分組(不足三位的補(bǔ)0),然后寫(xiě)出每一組等值的八進(jìn)制數(shù)。 1.3.2數(shù)制和編碼3. 不同數(shù)制間的轉(zhuǎn)換10211242)75.22(2121212121)11.10110(例如,求(01101111010.1011)2的等值八進(jìn)制數(shù): 二進(jìn)制 001 101 111 010 101 100 二進(jìn)制 001 101 111 010 101 100 八進(jìn)制 1 5 7 2 . 5 4 所以 (01101111010.1011)2=(1572.54) 8 二進(jìn)
29、制數(shù)轉(zhuǎn)換成十六進(jìn)制數(shù)的方法和二進(jìn)制數(shù)與八進(jìn)制數(shù)的轉(zhuǎn)換相似,從小數(shù)點(diǎn)開(kāi)始分別向左、向右將二進(jìn)制數(shù)按每四位一組分組(不足四位補(bǔ)0),然后寫(xiě)出每一組等值的十六進(jìn)制數(shù)。例如,將(1101101011.101)轉(zhuǎn)換為十六進(jìn)制數(shù): 0011 0110 1011.1010 3 6 B . A 所以 (1101101011.101)2=(36B.A)16 八進(jìn)制數(shù)、十六進(jìn)制數(shù)轉(zhuǎn)換為二進(jìn)制數(shù)的方法可以采用與前面相反的步驟,即只要按原來(lái)順序?qū)⒚恳晃话诉M(jìn)制數(shù)(或十六進(jìn)制數(shù))用相應(yīng)的三位(或四位)二進(jìn)制數(shù)代替即可。 例如,分別求出(375.46)8、(678.A5)16的等值二進(jìn)制數(shù): 二進(jìn)制 011 111 101
30、 . 100 110二進(jìn)制 0110 0111 1000.1010 0101 所以 (375.46)8=(011111101.100110)2, (678.A5)16=(011001111000.10100101)21.3.2數(shù)制和編碼3. 不同數(shù)制間的轉(zhuǎn)換(1)算術(shù)運(yùn)算算術(shù)運(yùn)算:當(dāng)兩個(gè)數(shù)碼分別表示兩個(gè)數(shù)量大小時(shí),它們可以進(jìn)行數(shù)量間的加、減、乘、除等運(yùn)算。這種運(yùn)算稱(chēng)為算術(shù)運(yùn)算。二進(jìn)制算術(shù)運(yùn)算的特點(diǎn):逢二進(jìn)一。二進(jìn)制算術(shù)運(yùn)算的特點(diǎn):逢二進(jìn)一。數(shù)字1在不同的位上代表不同的值,按從右至左的次序,這個(gè)值以二倍遞增。二進(jìn)制四則運(yùn)算規(guī)則:加法 000,01101,1110 減法 000,101,110,0
31、1-1 乘法 000,01100,111 除法 010,111 1.3.2數(shù)制和編碼4.二進(jìn)制數(shù)的運(yùn)算(2)原碼、反碼和補(bǔ)碼和補(bǔ)碼運(yùn)算二進(jìn)制數(shù)的正、負(fù)表示方法通常采用的是在二進(jìn)制數(shù)的前面增加一位符號(hào)位。這種形式的數(shù)稱(chēng)為原碼。原碼:符號(hào)位為0表示這個(gè)數(shù)是正數(shù),符號(hào)位為1表示這個(gè)數(shù)是負(fù)數(shù)。以下各位表示數(shù)值。為避免在求補(bǔ)碼的過(guò)程中做減法運(yùn)算,通常是先求出N的反碼,然后在負(fù)數(shù)的反碼上加1而得到補(bǔ)碼。反碼:正數(shù)的反碼等于原碼,負(fù)數(shù)的反碼:符號(hào)位不變,以下各位按位取反。補(bǔ)碼:正數(shù)的補(bǔ)碼等于原碼,負(fù)數(shù)的補(bǔ)碼:符號(hào)位不變,以下各位按位取反,加1。1.3.2數(shù)制和編碼例1:寫(xiě)出帶符號(hào)位二進(jìn)制數(shù)00011010(
32、+26)、10011010(-26)、00101101(+45)、和10101101(-45)的反碼和補(bǔ)碼。解: 原碼 反碼 補(bǔ)碼0001101000011010000110101001101011100101111001100010110100101101001011011010110111010010110100115.幾種常用的編碼 不同的數(shù)碼不僅可以表示數(shù)量的大小,而且還可以表示不同事物或事物的不同狀態(tài)在用于表示不同事物的情況下,這些數(shù)碼已經(jīng)不再具有表示數(shù)量大小的含義了,它們只是不同事物的代號(hào)而已。這些數(shù)碼稱(chēng)為代碼。例如:每個(gè)人編一個(gè)身份證號(hào)碼,每個(gè)學(xué)生編一個(gè)學(xué)號(hào)。為了便于記憶和查找,
33、在編制代碼時(shí)總要遵循一定的規(guī)則,這些規(guī)則就稱(chēng)為碼制。(1)十進(jìn)制代碼用四位二進(jìn)制碼的10 種組合表示十進(jìn)制數(shù)09,簡(jiǎn)稱(chēng)BCD碼(Binary Coded Decimal)。 這種編碼至少需要用四位二進(jìn)制碼元,而四位二進(jìn)制碼元可以有 16 種組合。當(dāng)用這些組合表示十進(jìn)制數(shù)09時(shí), 有六種組合不用,如表1-5的第二列所示。8421 BCD碼8421 BCD碼是最基本和最常用的BCD碼, 它和四位自然二進(jìn)制碼相似,各位的權(quán)值為8、4、2、1,故稱(chēng)為有權(quán)BCD碼。和四位自然二進(jìn)制碼不同的是,它只選用了四位二進(jìn)制碼中前10 組代碼,即用00001001分別代表它所對(duì)應(yīng)的十進(jìn)制數(shù),余下的六組代碼不用。需要
34、注意的是8421 BCD碼本質(zhì)就是十進(jìn)制數(shù),只不過(guò)用二進(jìn)制形式描述。余3 碼余3碼是8421 BCD碼的每個(gè)碼組加3 (0011)形成的。 余3碼也具有對(duì)9互補(bǔ)的特點(diǎn),即它也是一種9的自補(bǔ)碼,所以也常用于BCD碼的運(yùn)算電路中。 用BCD碼可以方便地表示多位十進(jìn)制數(shù),例如十進(jìn)制數(shù)(579.8)10可以分別用8421 BCD碼、余3 碼表示為 1.3.2數(shù)制和編碼碼余碼3842110)1011.110010101000()1000.100101110101()8 .579(BCD1.3.2數(shù)制和編碼十進(jìn)制數(shù)余 00000001110001010020010010130011011040100011
35、1501011000601101001701111010810001011910011100表1-5 二種常用的BCD碼1.3.2數(shù)制和編碼(2)格雷碼格雷碼又稱(chēng)循環(huán)碼。每一位的狀態(tài)變化都按一定的順序循環(huán)。如果從0000開(kāi)始,最右邊一位的狀態(tài)按0110順序循環(huán)變化,右邊第二位的狀態(tài)按00111100順序變化,右邊第三位按0000111111110000順序循環(huán)變化。其特點(diǎn)是:自右向左,每一位狀態(tài)狀態(tài)中連續(xù)的0、1數(shù)目增加一倍;編碼順序依次變化時(shí),相鄰兩個(gè)代碼之間只有一位發(fā)生變化。(3)美國(guó)信息交換標(biāo)準(zhǔn)代碼(ASC)是一組7位二進(jìn)制代碼,共128個(gè),其中包括表示09的十個(gè)代碼,表示大、小英文字母
36、的52個(gè)代碼,32個(gè)表示各種符號(hào)的代碼及34個(gè)控制碼。ASC碼表如表1-6所示。在表1-6中,ASCII碼為十進(jìn)制數(shù),括號(hào)內(nèi)為十六進(jìn)制數(shù),十六進(jìn)制形式更常用。如09的ASCII碼十六進(jìn)制為(0 x300 x39);大寫(xiě)字母AZ的ASCII碼十六進(jìn)制為(0 x410 x5A);小寫(xiě)字母az的ASCII碼十六進(jìn)制為(0 x610 x7A);大小寫(xiě)相差0X20。在后續(xù)學(xué)習(xí)的液晶顯示程序中,會(huì)使用ASCII碼顯示字符信息。1.3.2數(shù)制和編碼ASCIIASCII值值控制字符控制字符ASCIIASCII值值控制字符控制字符ASCIIASCII值值控制字符控制字符ASCIIASCII值值控制字符控制字符0
37、(0 x00)NUT32(0 x20)(space)64(0 x40)96(0 x60)、1(0 x01)SOH33(0 x21)!65(0 x41)65(0 x41)A A97(0 x61)97(0 x61)a a2(0 x02)STX34(0 x22)”66(0 x42)66(0 x42)B B98(0 x62)98(0 x62)b b3(0 x03)ETX35(0 x23)#67(0 x43)67(0 x43)C C99(0 x63)99(0 x63)c c4(0 x04)EOT36(0 x24)$68(0 x44)68(0 x44)D D100(0 x64)100(0 x64)d d5
38、(0 x05)ENQ37(0 x25)%69(0 x45)69(0 x45)E E101(0 x65)101(0 x65)e e6(0 x06)ACK38(0 x26)&70(0 x46)70(0 x46)F F102(0 x66)102(0 x66)f f7(0 x07)BEL39(0 x27),71(0 x47)71(0 x47)G G103(0 x67)103(0 x67)g g8(0 x08)BS40(0 x28)(72(0 x48)72(0 x48)H H104(0 x68)104(0 x68)h h9(0 x09)HT41(0 x29)73(0 x49)73(0 x49)I I10
39、5(0 x69)105(0 x69)i i10(0 x0A)LF42(0 x2A)*74(0 x4A)74(0 x4A)J J106(0 x6A)106(0 x6A)j j11(0 x0B)VT43(0 x2B)+75(0 x4B)75(0 x4B)K K107(0 x6B)107(0 x6B)k k12(0 x0C)FF44(0 x2C),76(0 x4C)76(0 x4C)L L108(0 x6C)108(0 x6C)l l13(0 x0D)CR45(0 x2D)-77(0 x4D)77(0 x4D)M M109(0 x6D)109(0 x6D)m m14(0 x0E)SO46(0 x2E
40、).78(0 x4E)78(0 x4E)N N110(0 x6E)110(0 x6E)n n15(0 x0F)SI47(0 x2F)/79(0 x4F)79(0 x4F)O O111(0 x6F)111(0 x6F)o o16(0 x10)DLE48(0 x30)48(0 x30)0 080(0 x50)80(0 x50)P P112(0 x70)112(0 x70)p p17(0 x11)DCI49(0 x31)49(0 x31)1 181(0 x51)81(0 x51)Q Q113(0 x71)113(0 x71)q q18(0 x12)DC250(0 x32)50(0 x32)2 282
41、(0 x52)82(0 x52)R R114(0 x72)114(0 x72)r r19(0 x13)DC351(0 x33)51(0 x33)3 383(0 x53)83(0 x53)X X115(0 x73)115(0 x73)s s20(0 x14)DC452(0 x34)52(0 x34)4 484(0 x54)84(0 x54)T T116(0 x74)116(0 x74)t t21(0 x15)NAK53(0 x35)53(0 x35)5 585(0 x55)85(0 x55)U U117(0 x75)117(0 x75)u u22(0 x16)SYN54(0 x36)54(0 x
42、36)6 686(0 x56)86(0 x56)V V118(0 x76)118(0 x76)v v23(0 x17)TB55(0 x37)55(0 x37)7 787(0 x57)87(0 x57)W W119(0 x77)119(0 x77)w w24(0 x18)CAN56(0 x38)56(0 x38)8 888(0 x58)88(0 x58)X X120(0 x78)120(0 x78)x x25(0 x19)EM57(0 x39)57(0 x39)9 989(0 x59)89(0 x59)Y Y121(0 x79)121(0 x79)y y26(0 x1A)SUB58(0 x3A)
43、:90(0 x5A)90(0 x5A)Z Z122(0 x7A)122(0 x7A)z z27(0 x1B)ESC59(0 x3B);91(0 x5B)123(0 x7B)28(0 x1C)FS60(0 x3C)94(0 x5E)126(0 x7E)31(0 x1F)US63(0 x3F)?95(0 x5F)127(0 x7F)DEL表1-6 ASC碼表(1)首先我們要養(yǎng)成一個(gè)習(xí)慣:每個(gè)項(xiàng)目建立一個(gè)空文件夾,把該項(xiàng)目的工程文)首先我們要養(yǎng)成一個(gè)習(xí)慣:每個(gè)項(xiàng)目建立一個(gè)空文件夾,把該項(xiàng)目的工程文件、件、C程序文件、程序文件、Proteus仿真圖形文件放到里面,以避免和其他項(xiàng)目的文件混合,仿真圖形文
44、件放到里面,以避免和其他項(xiàng)目的文件混合,如下圖如下圖1-8先創(chuàng)建了一個(gè)名為先創(chuàng)建了一個(gè)名為“dpj”文件夾。文件夾。 (2)啟動(dòng))啟動(dòng)KEIL C軟件軟件1.3.3 單片機(jī)編程軟件單片機(jī)編程軟件Keil C使用使用(3)點(diǎn)擊)點(diǎn)擊“project - New uVision Project”新建一個(gè)工程:新建一個(gè)工程: 在對(duì)話框,選擇將工程放在剛才建立的在對(duì)話框,選擇將工程放在剛才建立的“dpj”文件夾下,給這個(gè)工程取個(gè)文件夾下,給這個(gè)工程取個(gè)名名“test”后保存,不需要填后綴。后保存,不需要填后綴。1.3.3 單片機(jī)編程軟件單片機(jī)編程軟件Keil C使用使用(4)在彈出對(duì)話框中,在)在彈出
45、對(duì)話框中,在CPU類(lèi)型下我們找到并選中類(lèi)型下我們找到并選中“Atmel”下的下的AT89C51或或52:(5)以上工程創(chuàng)建完畢,接下來(lái)開(kāi)始建立一個(gè)源程序文本文件:)以上工程創(chuàng)建完畢,接下來(lái)開(kāi)始建立一個(gè)源程序文本文件: 1.3.3 單片機(jī)編程軟件單片機(jī)編程軟件Keil C使用使用(6)寫(xiě)入或復(fù)制一個(gè)完整的)寫(xiě)入或復(fù)制一個(gè)完整的C程序程序源程序存盤(pán),在如圖源程序存盤(pán),在如圖1-15對(duì)話框中輸入源程序文件名名稱(chēng),在這里筆者對(duì)話框中輸入源程序文件名名稱(chēng),在這里筆者示例輸入示例輸入“test”,這個(gè)名稱(chēng),同樣大家可以按規(guī)則命名。注意一定要加,這個(gè)名稱(chēng),同樣大家可以按規(guī)則命名。注意一定要加上后綴名:如果采
46、用上后綴名:如果采用C語(yǔ)言,則是語(yǔ)言,則是“test.c”;匯編語(yǔ)言,則是;匯編語(yǔ)言,則是“test.asm”,然后保存。然后保存。 1.3.3 單片機(jī)編程軟件單片機(jī)編程軟件Keil C使用使用/*程序:程序:xm1-1.c 功能:控制一個(gè)信號(hào)燈閃爍程序功能:控制一個(gè)信號(hào)燈閃爍程序*/#include /包含頭文件包含頭文件REG51.H,定義了,定義了MCS-51單片機(jī)的特殊功能寄存器單片機(jī)的特殊功能寄存器sbit P1_0=P10;/定義位名稱(chēng)定義位名稱(chēng),注意自定義的位變量注意自定義的位變量P1_0其字母其字母P大寫(xiě)小寫(xiě)均可,而大寫(xiě)小寫(xiě)均可,而/P10是特殊功能寄存器的是特殊功能寄存器的1
47、位,所以位,所以P必須大寫(xiě)。必須大寫(xiě)。void delay(unsigned char i); /延時(shí)函數(shù)聲明延時(shí)函數(shù)聲明void main()/主函數(shù)主函數(shù) while(1) P1_0=1; /點(diǎn)亮信號(hào)燈點(diǎn)亮信號(hào)燈 delay(100);/調(diào)用延時(shí)函數(shù),實(shí)際變量為調(diào)用延時(shí)函數(shù),實(shí)際變量為100,實(shí)現(xiàn),實(shí)現(xiàn)0.1S延時(shí)。延時(shí)。 P1_0=0; /熄滅信號(hào)燈;熄滅信號(hào)燈; delay(100);/調(diào)用延時(shí)函數(shù),實(shí)際變量為調(diào)用延時(shí)函數(shù),實(shí)際變量為100,實(shí)現(xiàn),實(shí)現(xiàn)0.1S延時(shí)。延時(shí)。 /函數(shù)名:函數(shù)名:delay/函數(shù)功能:實(shí)現(xiàn)軟件延時(shí)函數(shù)功能:實(shí)現(xiàn)軟件延時(shí)/形式參數(shù):形式參數(shù):unsigned
48、char i; i控制外循環(huán)次數(shù),共循環(huán)控制外循環(huán)次數(shù),共循環(huán)i*124次,實(shí)現(xiàn)次,實(shí)現(xiàn)i*1ms延時(shí)。延時(shí)。/返回值:無(wú)返回值:無(wú)void delay(unsigned char i) /延時(shí)函數(shù),無(wú)符號(hào)字符型變量延時(shí)函數(shù),無(wú)符號(hào)字符型變量i為形式參數(shù)為形式參數(shù) unsigned char j,k;/定義無(wú)符號(hào)字符型變量定義無(wú)符號(hào)字符型變量j和和k for(k=0;ki;k+)/雙重雙重for循環(huán)語(yǔ)句實(shí)現(xiàn)軟件延時(shí)循環(huán)語(yǔ)句實(shí)現(xiàn)軟件延時(shí) for(j=0;j124;j+);/采用采用12MHZ晶振,則此循環(huán)的時(shí)間約為晶振,則此循環(huán)的時(shí)間約為1ms1.3.3 單片機(jī)編程軟件單片機(jī)編程軟件Keil C
49、使用使用如圖如圖1-16所示,右鍵單擊所示,右鍵單擊“Source Group1” 選擇選擇“Add Files”,在對(duì)話框中在對(duì)話框中找到自己剛才存盤(pán)的找到自己剛才存盤(pán)的C文件,單擊一次文件,單擊一次“ADD”即可完成,注意在點(diǎn)即可完成,注意在點(diǎn)“ADD”按按鈕時(shí)會(huì)感到奇怪,怎么對(duì)話框不會(huì)消失呢?不管它,直接點(diǎn)擊鈕時(shí)會(huì)感到奇怪,怎么對(duì)話框不會(huì)消失呢?不管它,直接點(diǎn)擊“Close”關(guān)閉就關(guān)閉就行了,此時(shí)大家可以看到程序文本字體顏色已發(fā)生了變化。如果要移除文件,行了,此時(shí)大家可以看到程序文本字體顏色已發(fā)生了變化。如果要移除文件,在左側(cè)文件窗口中,右鍵單擊相應(yīng)的在左側(cè)文件窗口中,右鍵單擊相應(yīng)的C文
50、件,在菜單中選擇文件,在菜單中選擇“Remove File”,確定即可移除文件。確定即可移除文件。(7)項(xiàng)目中加入源程序)項(xiàng)目中加入源程序 1.3.3 單片機(jī)編程軟件單片機(jī)編程軟件Keil C使用使用 (8)項(xiàng)目并進(jìn)行設(shè)置)項(xiàng)目并進(jìn)行設(shè)置 在在Output欄勾選中欄勾選中Create HEX File,使編譯器輸出單片機(jī)需要的,使編譯器輸出單片機(jī)需要的HEX文件文件設(shè)置晶振頻率,建議初學(xué)者修改成設(shè)置晶振頻率,建議初學(xué)者修改成12M,因,因12MHZ方便計(jì)算指令周期方便計(jì)算指令周期1.3.3 單片機(jī)編程軟件單片機(jī)編程軟件Keil C使用使用(9)工程項(xiàng)目創(chuàng)建和設(shè)置全部完成!點(diǎn)擊保存并編譯)工程項(xiàng)
51、目創(chuàng)建和設(shè)置全部完成!點(diǎn)擊保存并編譯 注意避免出現(xiàn)沒(méi)有加入源程序就編譯。此時(shí)沒(méi)有錯(cuò)誤提示,顯示注意避免出現(xiàn)沒(méi)有加入源程序就編譯。此時(shí)沒(méi)有錯(cuò)誤提示,顯示2個(gè)警告休息。查看的方法是點(diǎn)擊個(gè)警告休息。查看的方法是點(diǎn)擊Source Group1左邊的加號(hào)展開(kāi)項(xiàng)目左邊的加號(hào)展開(kāi)項(xiàng)目文件,看到有編輯的文件,看到有編輯的C程序名字才能編譯。程序名字才能編譯。 編譯的編譯的C源程序一定要保證圖中源程序一定要保證圖中1和和2是同一個(gè)程序。初學(xué)者可能會(huì)是同一個(gè)程序。初學(xué)者可能會(huì)修改的是一個(gè)程序,而加入項(xiàng)目中編譯的是另外一個(gè)程序。修改的是一個(gè)程序,而加入項(xiàng)目中編譯的是另外一個(gè)程序。 溫馨提示:溫馨提示:C51常見(jiàn)錯(cuò)誤
52、參考附錄一。常見(jiàn)錯(cuò)誤參考附錄一。1.3.3 單片機(jī)編程軟件單片機(jī)編程軟件Keil C使用使用(1) 進(jìn)入進(jìn)入Proteus ISIS(2)工作界面介紹)工作界面介紹 1.3.4 仿真工具仿真工具Proteus使用使用 (3)單擊)單擊File/New Design,在對(duì)話框中單擊,在對(duì)話框中單擊“OK”新建文件,保存為新建文件,保存為RW1.DSN。 (4)加入以下元器件。在圖)加入以下元器件。在圖1-23所示器件對(duì)話框中輸入以下元器件的名字,所示器件對(duì)話框中輸入以下元器件的名字,出現(xiàn)器件后,在繪圖區(qū)域單擊鼠標(biāo)就會(huì)出現(xiàn)器件,再在指定位置單擊一下鼠標(biāo)出現(xiàn)器件后,在繪圖區(qū)域單擊鼠標(biāo)就會(huì)出現(xiàn)器件,再
53、在指定位置單擊一下鼠標(biāo)即可將器件放在繪圖區(qū)域中。即可將器件放在繪圖區(qū)域中。 1.3.4 仿真工具仿真工具Proteus使用使用(5)按圖連線)按圖連線XTAL218XTAL119ALE30EA31PSEN29RST9P0.0/AD039P0.1/AD138P0.2/AD237P0.3/AD336P0.4/AD435P0.5/AD534P0.6/AD633P0.7/AD732P1.01P1.12P1.23P1.34P1.45P1.56P1.67P1.78P3.0/RXD10P3.1/TXD11P3.2/INT012P3.3/INT113P3.4/T014P3.7/RD17P3.6/WR16P3.
54、5/T115P2.7/A1528P2.0/A821P2.1/A922P2.2/A1023P2.3/A1124P2.4/A1225P2.5/A1326P2.6/A1427U1AT89C51SRCFILE=led.hex+5vX1CRYSTALC122pFC222pFC322uFR21kR310kD1LED-GREENR1220 l注意器件之間要有一定的位置,靠太近則會(huì)連接不上。注意器件之間要有一定的位置,靠太近則會(huì)連接不上。l也不要將器件直接放在線上就認(rèn)為連接好了。也不要將器件直接放在線上就認(rèn)為連接好了。l連接好電路圖后單擊連接好電路圖后單擊“Tools/Electrical Rule Chec
55、k”,進(jìn)行電氣規(guī)則,進(jìn)行電氣規(guī)則檢查。顯示檢查。顯示“Netlist Generated OK”和和“No ERC errors found”則表示通則表示通過(guò)了電氣規(guī)則檢查。過(guò)了電氣規(guī)則檢查。1.3.4 仿真工具仿真工具Proteus使用使用(6)仿真調(diào)試)仿真調(diào)試 a) 在仿真電路圖上選中單片機(jī)在仿真電路圖上選中單片機(jī)AT899C51,雙擊,雙擊AT89C51,在出現(xiàn)的對(duì),在出現(xiàn)的對(duì)話框里點(diǎn)擊話框里點(diǎn)擊Program File:后面打開(kāi)文件的按鈕,裝入:后面打開(kāi)文件的按鈕,裝入HEX文件,然后文件,然后點(diǎn)擊點(diǎn)擊“OK”按鈕;按鈕;b) 點(diǎn)擊模擬調(diào)試按鈕的運(yùn)行按鈕,進(jìn)人調(diào)試狀態(tài);點(diǎn)擊模擬調(diào)試
56、按鈕的運(yùn)行按鈕,進(jìn)人調(diào)試狀態(tài);c) 觀察發(fā)光二極管是否一亮一滅在閃爍。觀察發(fā)光二極管是否一亮一滅在閃爍。 1.3.4 仿真工具仿真工具Proteus使用使用1 啟動(dòng)下載軟件 下載操作按照下圖進(jìn)行操作。下載操作按照下圖進(jìn)行操作。1.3.5 下載工具下載工具STC下載軟件使用下載軟件使用 當(dāng)顯示一個(gè)藍(lán)色的進(jìn)度條后,給實(shí)驗(yàn)板通電就可以完成程序下載過(guò)程(如果實(shí)驗(yàn)板已經(jīng)通電,則必須關(guān)掉電源 5 秒鐘再次通電)。一定要是先斷電再點(diǎn)下載再開(kāi)電! 2 下載程序 1 啟動(dòng)下載軟件1.3.5 下載工具下載工具STC下載軟件使用下載軟件使用 先用鼠標(biāo)右鍵單擊桌面上的“我的電腦”圖標(biāo),選擇“管理”,打開(kāi)如圖1-34的“計(jì)算機(jī)管理”對(duì)話框,在左邊選擇“設(shè)備管理”后,再在右邊選擇“端口”,單擊“端口”左側(cè)的“+”號(hào),將端口打開(kāi),即可看到計(jì)算機(jī)的串口
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 16 太陽(yáng) 教案 統(tǒng)編版五年級(jí)語(yǔ)文上冊(cè)
- 2024年九年級(jí)道德與法治下冊(cè) 第一單元 我們共同的世界 第一課 同住地球村 第2框 復(fù)雜多變的關(guān)系說(shuō)課稿 新人教版
- 2 學(xué)會(huì)寬容 第一課時(shí) 說(shuō)課稿-2023-2024學(xué)年道德與法治六年級(jí)下冊(cè)統(tǒng)編版
- 2025如何寫(xiě)農(nóng)村土地承包合同范文
- 2025服裝代理商合同協(xié)議書(shū)范本
- 2《花的學(xué)?!氛f(shuō)課稿-2024-2025學(xué)年統(tǒng)編版語(yǔ)文三年級(jí)上冊(cè)
- 隧道拆除專(zhuān)項(xiàng)施工方案
- 2024年五年級(jí)數(shù)學(xué)上冊(cè) 二 小數(shù)乘法 2小數(shù)的乘法第2課時(shí) 小數(shù)乘小數(shù)說(shuō)課稿 冀教版
- 軍訓(xùn)訓(xùn)合同范例
- 黔江辦公室鋁扣板施工方案
- 做投標(biāo)文件培訓(xùn)
- 9.4+跨學(xué)科實(shí)踐:制作簡(jiǎn)易活塞式抽水機(jī)課件+-2024-2025學(xué)年人教版物理八年級(jí)下冊(cè)
- 建筑工程工作計(jì)劃
- 2025年中國(guó)國(guó)際投資促進(jìn)中心限責(zé)任公司招聘管理單位筆試遴選500模擬題附帶答案詳解
- 瓶裝液化氣送氣工培訓(xùn)
- 外科護(hù)理課程思政課程標(biāo)準(zhǔn)
- 船舶航行安全
- 道德經(jīng)全文完整版本
- 9.2溶解度(第1課時(shí)飽和溶液不飽和溶液)+教學(xué)設(shè)計(jì)-2024-2025學(xué)年九年級(jí)化學(xué)人教版(2024)下冊(cè)
- 2024年審計(jì)局公務(wù)員招錄事業(yè)單位招聘考試招錄139人完整版附答案【研優(yōu)卷】
- 濰坊市人民醫(yī)院招聘真題
評(píng)論
0/150
提交評(píng)論