單片機基礎(chǔ)知識_第1頁
單片機基礎(chǔ)知識_第2頁
單片機基礎(chǔ)知識_第3頁
單片機基礎(chǔ)知識_第4頁
單片機基礎(chǔ)知識_第5頁
已閱讀5頁,還剩37頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

單片機基礎(chǔ)知識第1章單片機基礎(chǔ)知識本章主要內(nèi)容1、單片機概述2、單片機中數(shù)的表示方法3、常用編碼一、單片機的概念

單片機是近代計算機技術(shù)發(fā)展的一個分支——嵌入式計算機系統(tǒng)。它是將計算機的主要部件:CPU、RAM、ROM、定時器/計數(shù)器、輸入/輸出接口電路等集成在一塊大規(guī)模的集成電路中,形成芯片級的微型計算機稱為單片微型計算機(SingleChipMicrocomputer)簡稱單片機。單片機自從問世以來,就在控制領(lǐng)域得到廣泛應(yīng)用,特別是近年來,許多功能電路都被集成在單片機內(nèi)部,如A/D、D/A、PWM、WDT、I2C總線接口等,極大提高了單片機的測量和控制能力,我們現(xiàn)在所說的單片機已突破了微型計算機(Microcomputer)的傳統(tǒng)內(nèi)容,更準(zhǔn)確的名稱應(yīng)為微控制器(Microcontroller)。英文簡寫為:MCU/MPU單片機發(fā)展的起步階段最早期的單片機只有4位,功能簡單,只能用于簡單的控制。1974年出現(xiàn)了8位單片機,由美國仙童公司首先推出典型的產(chǎn)品有Intel公司的MCS—48系列,Zilog公司的Z—8系列,Motorola公司的MC6800等,單片機的性能有了較大提高,并正式命名為SingleChipMicrocomputer。二、單片機的發(fā)展概況

單片機發(fā)展的成熟階段1979~1982年單片機發(fā)展進入成熟階段,單片機內(nèi)部的體系結(jié)構(gòu)得到進一步完善,面向?qū)ο?、突出了控制功能,尋址的空間范圍擴大,規(guī)范了數(shù)據(jù)線、地址線的總線結(jié)構(gòu),有了多功能的異步串行接口UART,設(shè)置位地址空間,提供位尋址和位操作和大量的控制轉(zhuǎn)移指令等。形成了單片機標(biāo)準(zhǔn)結(jié)構(gòu)。這時期最典型的產(chǎn)品就是Intel公司的MCS—51系列單片機。微控制器形成階段1982~1990年單片機完成向微控制器的轉(zhuǎn)換,為進一步滿足測控要求,將許多測控對象的接口電路集成到單片機內(nèi)部,如A/D、D/A、PWM、DMA等。形成了不同于SingleChipMicrocomputer特點的微控制器——MCU。微控制器百花齊放進入20世紀90年代,隨著半導(dǎo)體集成電路技術(shù)微電子技術(shù)的發(fā)展,以及電氣制造商和半導(dǎo)體廠商的廣泛參與,微控制器進入百花齊放的發(fā)展時期。小巧靈活、成本低,易于產(chǎn)品化,有優(yōu)異的性能價格比。集成度高,有很高的可靠性,能在惡劣的環(huán)境下工作??刂乒δ軓?,面向?qū)ο蟛僮髦噶睿梢灾苯訉δ懿考僮?,易于實現(xiàn)從簡單到復(fù)雜的各類控制任務(wù)。低功耗、低電壓,便于生產(chǎn)便攜式產(chǎn)品。三、單片機的特點工業(yè)自動化控制辦公自動化設(shè)備智能儀器儀表家用電器醫(yī)療儀器設(shè)備通信產(chǎn)品航空航天等單片機應(yīng)用已經(jīng)深入到人類生活的各個領(lǐng)域。四、單片機的應(yīng)用領(lǐng)域五、單片機應(yīng)用的環(huán)節(jié)硬件電路設(shè)計程序編寫、編譯程序下載(編程)通電運行觀察硬件設(shè)計軟件設(shè)計編程環(huán)境編寫程序編譯目標(biāo)文件仿真編程器芯片內(nèi)部(1)(2)(3)(4)五、單片機應(yīng)用的環(huán)節(jié)硬件電路設(shè)計程序編寫、編譯程序下載(編程)通電運行觀察硬件設(shè)計軟件設(shè)計編程環(huán)境編寫程序編譯目標(biāo)文件仿真編程器芯片內(nèi)部(1)(2)(3)(4)位:就是一位的二進制數(shù),其只能存放“1”或“0”,可以用來表示兩種不同狀態(tài)信息,如開關(guān)的“通”和“斷”,電平的“高”和“低”等。字節(jié):8位二進制數(shù)組成一個字節(jié),既可以表示實際的數(shù),也可以表示多個狀態(tài)的組合信息。8位單片機中數(shù)是以字節(jié)為基本單位。字:兩個字節(jié)組成一個字,也即16位的二進制數(shù)。一、位、字節(jié)、字的概念

1、數(shù)制

1)十進制數(shù)(Decimal)

特點:基數(shù)為10,由0、1、2、3、4、5、6、7、8、9十個數(shù)碼構(gòu)成。進位規(guī)則是“逢十進一”。二、數(shù)制與數(shù)制轉(zhuǎn)換

2)二進制數(shù)(Binary)

特點:基數(shù)為2,由0和1兩個數(shù)碼構(gòu)成。進位規(guī)則是“逢二進一”。3)十六進制數(shù)(Hexadecimal)特點:基數(shù)為16,由0、1、2、3、4、5、6、7、8、9、A、B、C、D、E、F十六個數(shù)碼構(gòu)成,其中A、B、C、D、E、F分別表示10、11、12、13、14、15進位規(guī)則是“逢十六進一”。在單片機編程應(yīng)用中,可以用上面的任一種數(shù)制來表示數(shù),但要在數(shù)的后面加表示數(shù)制的符號,二進制數(shù)為“B”,十六進制數(shù)為“H”,十進制數(shù)為“D”,十進制數(shù)的符號“D”可以省略。十六進制數(shù)本質(zhì)上就是二進制數(shù),4位二進制數(shù)構(gòu)成1位十六進制數(shù)。實際應(yīng)用中一般用十六進制數(shù)。注:存儲器的地址一般都采用16進制數(shù)來表達比較方便十進制數(shù)十六進制數(shù)二進制數(shù)十進制數(shù)十六進制數(shù)二進制數(shù)00H0000B88H1000B11H0001B99H1001B22H0010B10AH1010B33H0011B11BH1011B44H0100B12CH1100B55H0101B13DH1101B66H0110B14EH1110B77H0111B15FH1111B十進制數(shù)、十六進制數(shù)、二進制數(shù)對應(yīng)關(guān)系表

2、數(shù)制轉(zhuǎn)換1)二進制數(shù)與十六進制數(shù)間的轉(zhuǎn)換二進制→十六進制方法:以小數(shù)點為界分成左側(cè)整數(shù)部分和右側(cè)小數(shù)部分,整數(shù)部分從小數(shù)點開始,向左每4位一組,不足4位在數(shù)的前面補0,小數(shù)部分從小數(shù)點開始,向右每4位一組,不足4位在數(shù)的后面補0,然后每組用十六進制數(shù)碼表示,并按序相連即可。[例1-1]把111010.011110B轉(zhuǎn)換為十六進制數(shù)。00111010.01111000=3A.783A.78H前面加兩個零后面加兩個零練習(xí):11100.01001=?H

十六進制→二進制方法:將每位十六進制數(shù)分別用4位二進制數(shù)碼表示,然后把它們按序連在一起即為對應(yīng)的二進制數(shù)。[例1-2]把2BD4H和20.5H轉(zhuǎn)化為二進制數(shù)2BD4H=0010101111010100B20.5H=00100000.0101B練習(xí):86.9H=?B2)二進制數(shù)與十進制數(shù)間的轉(zhuǎn)換二進制→十進制方法:將二進制數(shù)按權(quán)展開后求和即得到十進制數(shù)。[例1-3]把1001.01B轉(zhuǎn)換成十進制數(shù)。

1001.01B=1×23+0×22+0×21+1×20+0×2-1+1×2-2

=9.25練習(xí):11010.01B=?

十進制→二進制方法:整數(shù)部分和小數(shù)部分分別轉(zhuǎn)換成二進制數(shù)的整數(shù)和小數(shù)。整數(shù)部分轉(zhuǎn)換通常采用“除2取余法”,小數(shù)部分轉(zhuǎn)換通常采用“乘2取整法”。[例1-4]將十進制數(shù)47轉(zhuǎn)換為二進制數(shù)。2|472|232|112|52|2余數(shù)111101除取余,先有低位,依次到高低位高位則:47=101111B2|10練習(xí):33=?B[例1-5]將十進制數(shù)0.8125轉(zhuǎn)換成二進制數(shù)。0.8125×21.62500.6250×21.25000.2500×20.5000×21.0000整數(shù)110則:0.8125=0.1101B高位低位1乘取整,先有高位,依次到低練習(xí):0.125=?B3)十六進制數(shù)與十進制數(shù)間的轉(zhuǎn)換十六進制→十進制方法:將十六進制數(shù)按權(quán)展開后求和即得到十進制數(shù)[例1-6]將十六進制數(shù)3DF2H轉(zhuǎn)換成十進制數(shù)。3DF2H=3×163+13×162+15×161

+2×160

=15858練習(xí):4AB9H=?十進制→十六進制方法:整數(shù)部分和小數(shù)部分分別轉(zhuǎn)換成二進制數(shù)的整數(shù)和小數(shù)。整數(shù)部分轉(zhuǎn)換通常采用“除16取余法”,小數(shù)部分轉(zhuǎn)換通常采用“乘16取整法”。[例1-7]將十進制數(shù)47轉(zhuǎn)換為十六進制數(shù)。余數(shù)16|4716|215(FH)低位02高位則47=2FH除取余,先有低位,依次到高練習(xí):50=?H[例1-8]將十進制數(shù)0.48046875轉(zhuǎn)換成十六進制數(shù)。整數(shù)0.48046875×167.687500007高位0.68750000×1611.0000000011(BH)低位則0.48046875=0.7BH乘取整,先有高位,依次到低

十進制數(shù)轉(zhuǎn)換為二進制數(shù),可先將其轉(zhuǎn)換為十六進制數(shù),再由十六進制數(shù)轉(zhuǎn)換為二進制數(shù),可以減少許多計算。如:

47=2FH=101111B1、加法運算運算規(guī)則:0+0=0,0+1=1+0=1,1+1=10(向高位進位)。[例1-9]01101010B

+00111011B三、二進制數(shù)運算

1B10100102、減法運算運算規(guī)則:0-0=0,1-0=1,1-1=0,0-1=1(向高位借1)。[例1-10]10110101B

-01001101B01101000B3、乘法運算運算規(guī)則:0×0=0,0×1=1×0=0,1×1=1。[例1-11]1010被乘數(shù)

×1001乘數(shù)101000000000

10101011010積4、除法運算

除法運算是乘法的逆運算。與十進制數(shù)類似,從被除數(shù)的最高位開始取出與除數(shù)相同的位數(shù),減去除數(shù),夠減商記為1,不夠減商記為0,然后將被除數(shù)的下一位移到余數(shù)上,重復(fù)前面的減除數(shù)操作,直到被除數(shù)的位都下移為止。

[例1-12]

100001商除數(shù)110)11001011被除數(shù)

110001011

110101余數(shù)則11001011B÷110B=100001B,余數(shù)101B。

二進制數(shù)的加、減、乘、除運算,可以歸納為加、減、移位三種操作。單片機都有相應(yīng)的操作指令。二進制數(shù)邏輯運算將在后面的章節(jié)中,結(jié)合單片機的邏輯運算指令講解。

1、無符號數(shù)、有符號數(shù)無符號數(shù):8位單片機中數(shù)是以字節(jié)為單位,即8位二進制數(shù)的形式存在,一個字節(jié)存放數(shù)的范圍為0~255。有符號數(shù):最高位表示數(shù)的符號,并且規(guī)定0表示“+”,1表示“-”。其余位為數(shù)值位,表示數(shù)的大小。

D7D6D5D4D3D2D1D0四、單片機中數(shù)的表示符號位數(shù)值位思考:大于256的數(shù)如何表示?機器數(shù):數(shù)碼化了的帶符號位的數(shù)稱為機器數(shù)。真值:機器數(shù)所代表的實際的數(shù)稱為機器數(shù)的真值。例如:00000001B和10000001B為機器數(shù),+1和-1分別為它們的真值。機器數(shù)的表示方法有三種形式:原碼、反碼和補碼。

2.原碼0表示+,用1表示-,數(shù)值位與該數(shù)的絕對值一致。正數(shù)的原碼與原來的數(shù)相同,負數(shù)的原碼符號位為1,數(shù)值位與對應(yīng)的正數(shù)數(shù)值位相同。例:[+1]原=00000001B,[-1]原=10000001B,[+0]原=00000000B,[-0]原=10000000B單字節(jié)原碼表示的范圍為:-127~+127。0的原碼有兩種表示方法,+0和-0。思考:雙字節(jié)原碼表示的范圍是多少?3.反碼一個數(shù)的反碼可以由它的原碼求得,正數(shù)的反碼與正數(shù)原碼相同,負數(shù)的反碼符號位為1,數(shù)值位為對應(yīng)原碼的數(shù)值位按位取反。[+1]反=[+1]原=00000001B[-1]反=11111110B[+0]反=[+0]原=00000000B[-0]反=11111111B單字節(jié)反碼表示的范圍為:-127~+127。4.補碼數(shù)學(xué)關(guān)系:[X]補=模+X一個數(shù)的補碼可由該數(shù)的反碼求得。正數(shù)的補碼與正數(shù)的反碼和原碼一致,負數(shù)的補碼等于該數(shù)的反碼加1。[+1]補=[+1]原=[+1]反=00000001B[-1]補=11111111B[-0]反=11111111B,加1得00000000B。所以:[-0]補=00000000B=[+0]補,0的補碼只有一種表示方法。單字節(jié)補碼范圍:-128~127。二進制數(shù)原碼反碼補碼00000000+0+0000000001+1+1+100000010+2+2+2…………01111101+125+125+12501111110+126+126+12601111111+127+127+12710000000-0-127-12810000001-1-126-12710000010-2-125-126…………11111101-125-2-311111110-126-1-211111111-127-0-1單字節(jié)二進制數(shù)原碼、反碼、補碼對應(yīng)關(guān)系[例1-13]單片機處理1-2=?的過程方法一:00000001(+1的補碼)

-00000010(+2的補碼)11111111(-1的補碼)方法二:00000001(+1的補碼)

+11111110(-2的補碼)11111111(-1的補碼)從該例可以看出,對于加減運算,數(shù)據(jù)是補碼表示的,運算的結(jié)果也是補碼表示的數(shù)。單片機(微機也是一樣的)處理數(shù)據(jù)時,加減法用補碼,乘除法用原碼。[例1-14]求-5的補碼,再將結(jié)果作為原碼,求其補碼。10000101(-5的原碼)11111010(-5的反碼)11111011(-5的補碼)11111011(原碼)10000100(反碼)10000101(補碼)一次求補二次求補可以看出:對一個負數(shù)進行兩次求補過程,又得到這個數(shù)本身,正數(shù)的原碼和補碼又是一致的。因此:原碼和補碼是互補的,相互轉(zhuǎn)換的方法和步驟也是一樣的。一、8421BCD碼1、BCD碼(BinaryCodedDecimalCode),用二進制數(shù)對每位的十進制數(shù)編碼。最常用的是8421BCD碼,它用4位二進制數(shù)對十進制數(shù)的數(shù)碼進行編碼,8421分別代表每位的權(quán),用0000B~1001B分別代表十進制數(shù)的0~9。十進制數(shù)BCD碼十進制數(shù)BCD碼十進制數(shù)BCD碼000005010110000100001000160110110001000120010701111200010010300118100013000100114010091001······BCD碼常用于數(shù)碼顯示場合比較方便2、BCD碼的加法運算8421BCD碼是用4位二進制數(shù)表示,4位二進制數(shù)是“逢十六進一”,而BCD碼高位和低位之間是“逢十進一”,單片機在運算是把其作為二進制數(shù)處理的,兩個BCD碼相加時,當(dāng)?shù)?位向高4位進位,或高4位向更高位進位時,需要對該4位加6調(diào)整。或者結(jié)果某4位出現(xiàn)非法碼(即1010~1111),對應(yīng)4位也要加6調(diào)整。[例1-15]BCD碼X=23,Y=49,求X+Y00100011=23

+01001001=4901101100低4位出現(xiàn)非法碼

+011001110010=72。[例1-16]BCD碼X=28,Y=49,求X+Y00101000=28

+0

溫馨提示

  • 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)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論