版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、微型計(jì)算機(jī)技術(shù)與應(yīng)用,70課堂學(xué)時(shí)+18實(shí)驗(yàn)學(xué)時(shí),教材 張有德主編,單片微型機(jī)原理、應(yīng)用與試驗(yàn),復(fù)旦大學(xué)出版社,2010.12,課程情況 教學(xué):70學(xué)時(shí) 實(shí)驗(yàn):18學(xué)時(shí) 考試:作業(yè)10%,實(shí)驗(yàn)20%,期末考試70%,第1章 微型計(jì)算機(jī)基礎(chǔ)知識(shí),1.1 概述,1.2 計(jì)算機(jī)中數(shù)的幾種表示法,1.3 單片機(jī)內(nèi)部結(jié)構(gòu)簡(jiǎn)介,1.4 嵌入式系統(tǒng)簡(jiǎn)介,1.5嵌入式系統(tǒng)設(shè)備網(wǎng)絡(luò)互聯(lián)總線簡(jiǎn)介,1.5 單片微型計(jì)算機(jī)應(yīng)用領(lǐng)域,1.6 本課程應(yīng)掌握的內(nèi)容,1 . 1 . 0 計(jì)算機(jī)的起源,1.1 概述,電子計(jì)算機(jī)的發(fā)展: 電子管計(jì)算機(jī)(1946-1956) 晶體管計(jì)算機(jī)(1957-1964) 中小規(guī)模集成電路計(jì)算
2、機(jī)(1965-1970) 超大規(guī)模集成電路計(jì)算機(jī)(1971-今) 電子計(jì)算機(jī)按其性能分類: 大中型計(jì)算機(jī)/巨型計(jì)算機(jī)(Mainframe Computer) 小型計(jì)算機(jī)(Minicomputer) 微型計(jì)算機(jī)(Microcomputer) 單片計(jì)算機(jī)(Single-Chip Microcomputer) 微型計(jì)算機(jī)的核心:微處理器(中央處理器CPU),1.1.1 計(jì)算機(jī)的發(fā)展,微型計(jì)算機(jī)系統(tǒng)的三個(gè)層次,微處理器 存儲(chǔ)器 I/O接口 總線,硬件系統(tǒng) 軟件系統(tǒng),微 型 計(jì)算機(jī) 系 統(tǒng),微 型 計(jì)算機(jī) (主機(jī)),外 設(shè),ALU 寄存器 控制器,鍵盤、鼠標(biāo) 顯示器 軟驅(qū)、硬盤、光驅(qū) 打印機(jī)、掃描儀,系
3、統(tǒng)軟件 應(yīng)用軟件,1.1.2 微型計(jì)算機(jī)基本結(jié)構(gòu),存 儲(chǔ) 器,I/O 接 口,輸 入 設(shè) 備,I/O 接 口,地址總線 AB,輸 出 設(shè) 備,C P U,數(shù)據(jù)總線 DB,控制總線 CB,I/O 接 口,微型計(jì)算機(jī)的概念結(jié)構(gòu),一、微型計(jì)算機(jī)的中央處理單元CPU,由運(yùn)算器、控制器和寄存器組組成,運(yùn)算器的位數(shù)稱CPU 的字長(zhǎng)。,CPU具有運(yùn)算能力和控制功能。, 可以進(jìn)行算數(shù)運(yùn)算和邏輯運(yùn)算, 對(duì)指令進(jìn)行譯碼并執(zhí)行規(guī)定的操作, 通過總線與存儲(chǔ)器和外設(shè)交換數(shù)據(jù), 提供系統(tǒng)需要的定時(shí)和控制, 響應(yīng)中斷請(qǐng)求,二、 計(jì)算機(jī)總線,總線(Bus)是用于傳送信息(信號(hào))的一組傳輸線。 它通過分時(shí)復(fù)用的方式,將信息從一
4、個(gè)或多個(gè)源部件傳送到一個(gè)或多個(gè)目的部件,是電腦中傳輸數(shù)據(jù)的公共通道。,1.總線概念,總線上通常掛接多個(gè)部件 圖1-0,用于傳送地址信息,是單向傳送。,1條地址線可以區(qū)分2個(gè)存儲(chǔ)單元,N條地址線可以區(qū)分(尋址) 2N 個(gè)存儲(chǔ)單元。, 地址總線,2.總線分類,(1)按功能分:地址總線 、數(shù)據(jù)總線、控制總線, 數(shù)據(jù)總線,用于CPU與存儲(chǔ)器,CPU與外設(shè),外設(shè)與外設(shè)之間傳送數(shù)據(jù)。,在運(yùn)算器中,數(shù)據(jù)線的數(shù)目應(yīng)與待處理的數(shù)據(jù)位數(shù)相同。,運(yùn)算器內(nèi)數(shù)據(jù)線的條數(shù)稱為微處理器的“字長(zhǎng)”。, 控制總線,控制信號(hào)線的總稱,傳送控制信息(信號(hào)) 。,(2) 按傳輸數(shù)據(jù)的方式分:串行總線和并行總線,(1)功能:存儲(chǔ)信息(
5、包括程序和數(shù)據(jù))的記憶裝置,三、存儲(chǔ)器,寄存器和存儲(chǔ)器均存儲(chǔ)信息,但CPU內(nèi)的寄存器數(shù)量少,存取速度快,主要用于臨時(shí)存放參加運(yùn)算的操作數(shù)和中間結(jié)果。,存儲(chǔ)器的存儲(chǔ)單元多,能存大量信息,但速度比寄存器慢,(2)分類, 只讀存儲(chǔ)器 ROM PROM, EPROM, EEPROM, 隨機(jī)(可讀寫)存儲(chǔ)器 RAM, 靜態(tài)RAM,由多個(gè)雙極型晶體管或CMOS管組成, 動(dòng)態(tài)RAM,依靠MOS管柵極與底襯之間的寄生電容保存信息,需定時(shí)刷新, 存儲(chǔ)器(或寄存器)中的一個(gè)存儲(chǔ)單元等效于一組觸發(fā)器,每個(gè)觸發(fā)器有兩個(gè)穩(wěn)定狀態(tài),可以記錄1位2進(jìn)制數(shù)。, 每個(gè)存儲(chǔ)單元包含的觸發(fā)器的個(gè)數(shù)稱為存儲(chǔ)單元的“字長(zhǎng)”。, 存儲(chǔ)器
6、芯片內(nèi)存儲(chǔ)單元數(shù)目M與存儲(chǔ)芯片的地址線條數(shù)N有關(guān),M = 2N,1 0 1 1 0 1 1 0,38F04H,存儲(chǔ)單 元地址,存儲(chǔ)單 元內(nèi)容,. . .,. . .,Bit 7 6 5 4 3 2 1 0,0 1 0 1 1 0 0 0,*存儲(chǔ)單元有時(shí)又稱為地址單元,存儲(chǔ)單元有地址編碼,如32K存儲(chǔ)器有 32 X 1024個(gè)存儲(chǔ)單元,地址編碼為:0000H7FFFH,()存儲(chǔ)器工作狀態(tài),讀存儲(chǔ)器 數(shù)據(jù)從存儲(chǔ)器輸出,寫存儲(chǔ)器 數(shù)據(jù)輸入到存儲(chǔ)器,存儲(chǔ)器禁止?fàn)顟B(tài) 高阻狀態(tài),功能:, 提供驅(qū)動(dòng)外設(shè)的電壓或電流; 匹配計(jì)算機(jī)與外設(shè)之間的信號(hào)電平、速度、信號(hào)類型、數(shù)據(jù)格式等; 緩存發(fā)給外設(shè)的數(shù)據(jù)、控制命令
7、和外設(shè)提供的運(yùn)行狀態(tài)信息; DMA控制和中斷控制。,四、 微機(jī)的輸入、輸出 (I/O) 接口,常見的輸入、輸出設(shè)備:打印機(jī)、顯示器等,五、微機(jī)的時(shí)鐘電路,功能:為計(jì)算機(jī)工作提供時(shí)間基準(zhǔn),它控制著計(jì)算機(jī)工作節(jié)奏。,六、 微機(jī)的指令和指令系統(tǒng),1.指令,用命令形式規(guī)定CPU的操作,不同的指令有不同的代碼,2.指令系統(tǒng),所有指令的集合稱為指令系統(tǒng),3.不同計(jì)算機(jī)所包含的指令種類、數(shù)目、指令碼對(duì)應(yīng)的操作等由CPU的設(shè)計(jì)開發(fā)人員指定。,1.1.3 單片微型計(jì)算機(jī),通用微型計(jì)算機(jī)中把運(yùn)算器、控制器做在一個(gè)芯片上,稱中央處理器CPU ,也稱微處理器.,單片微型計(jì)算機(jī)則把運(yùn)算器、控制器、輸入輸出接口、時(shí)鐘電路
8、、存儲(chǔ)器以及計(jì)數(shù)器、A/D轉(zhuǎn)換等功能模塊都做在一個(gè)芯片上,稱微控制器MCU.,* 通用微機(jī)與單片微機(jī)功能區(qū)別:,通用微機(jī)主要任務(wù)是數(shù)值計(jì)算和信息處理,運(yùn)算速度和存儲(chǔ)容量越大越好。時(shí)鐘頻率已達(dá)幾個(gè)。,單片微機(jī)主要面對(duì)工業(yè)控制,一般8位字長(zhǎng)已夠用。時(shí)鐘頻率在幾兆數(shù)十兆內(nèi)。,1.1.4 嵌入式系統(tǒng),嵌入式系統(tǒng)是在計(jì)算機(jī)硬件中嵌入了軟件、專用于某個(gè)應(yīng)用或產(chǎn)品的基于計(jì)算機(jī)的系統(tǒng)。,嵌入式系統(tǒng)有3個(gè)主要組成部分:,(1)硬件 圖1-3-2,(2)應(yīng)用軟件,(3)實(shí)時(shí)操作系統(tǒng)(RTOS),實(shí)時(shí)操作系統(tǒng)用來管理應(yīng)用軟件, 它提供一種機(jī)制,使處理器在進(jìn)行依次進(jìn)程調(diào)度時(shí)運(yùn)行一個(gè)進(jìn)程,并在各進(jìn)程(任務(wù))之間進(jìn)行切換
9、,實(shí)時(shí)操作系統(tǒng)將對(duì)計(jì)算機(jī)資源的訪問組織成系統(tǒng)的任務(wù)序列, 調(diào)度各任務(wù)的執(zhí)行。,主要內(nèi)容: 各種常用計(jì)數(shù)制和編碼以及它們相互 間的轉(zhuǎn)換;,1.2 計(jì)算機(jī)中數(shù)的幾種表示法,1.2.1 數(shù)制及其轉(zhuǎn)換,一、進(jìn)位計(jì)數(shù)制,am X rm + am-1 X rm-1 + a1 X r1+ a0 X r0,+a-1 X r-1+ a-2 X r-2 + a-n X r-n,r是一個(gè)固定的基數(shù),逢r進(jìn)位, ri稱為該位的權(quán)。 如10進(jìn)制,特點(diǎn):基數(shù) r =10 ,逢十進(jìn)一; 共有0 9 十個(gè)數(shù)字符號(hào)。,1. 十進(jìn)制,(987.32)10=9x102+8x101+7x100+3x10-1+2x10-2,例:,2.
10、 八進(jìn)制 基數(shù)r=8,3. 十六進(jìn)制 基數(shù)r = 16,(706.3)8 = 7 x 82 + 0 x 81 + 6 x 80 + 3 x 8-1,符號(hào)集是 1,2,39,A,B,C,D,E,F,(-A0.8F)16 = - (10 x 161 + 0 x 160 + 8 x 16-1 + 16 x 16-2),4. 二進(jìn)制 基數(shù)r = 2,符號(hào)集是 0,1,(1011.11)2 =1x23+0 x22+1x21+1x20+1x2-1+1x2-2,十、 二、八、十六進(jìn)制數(shù)碼對(duì)照表,表1-1 P4,二、進(jìn)位計(jì)數(shù)制之間的轉(zhuǎn)換,1. 直接相乘法,例1. 把十進(jìn)制數(shù)725轉(zhuǎn)換為二進(jìn)制數(shù),(725)10
11、 = 7x102+2x101+5x100,=111x10102+10 x10101+101x10100,=(1011010101)2,2. 余數(shù)法(適合于整數(shù)部分轉(zhuǎn)換),例. 把十進(jìn)制數(shù)62轉(zhuǎn)換為二進(jìn)制數(shù),2 62 余數(shù)=0 低位,2 31 余數(shù)=1,2 15 余數(shù)=1,2 7 . 余數(shù)=1,2 3 . 余數(shù)=1,1 . 余數(shù)=1 高位,結(jié)果(62)10 = (111110)2,注意:當(dāng)無限循環(huán)時(shí),可根據(jù)誤差取舍,3.取整法(適合于小數(shù)部分轉(zhuǎn)換),例. 把十進(jìn)制小數(shù)0.375轉(zhuǎn)換為二進(jìn)制數(shù),0.375 x 2 = 0.750 整數(shù) = 0 高位,0. 75 x 2 = 1.50 整數(shù) = 1,
12、0. 5 x 2 = 1 整數(shù) = 1 低位,r進(jìn)制小數(shù)M轉(zhuǎn)換為t進(jìn)制小數(shù),采用M乘t取整的方法,轉(zhuǎn)換結(jié)果: (0.375) 10=(0.011) 2,4.遞歸法(適合于計(jì)算機(jī)轉(zhuǎn)換),r 進(jìn)制數(shù)M,轉(zhuǎn)換為 t 進(jìn)制數(shù),方法:,(1) 將M拆成整數(shù)和小數(shù)兩部分,(2) 把用遞歸算法產(chǎn)生的已轉(zhuǎn)換成 t 進(jìn)制的整數(shù)和小數(shù)拼起來,例. 把十進(jìn)制數(shù)4827.625轉(zhuǎn)換為二進(jìn)制數(shù),(4827) 10=(4 x10+8)x10+2)x10+7)x100,=(100 x1010+1000)x1010+10)x1010+111,=(1001011011011)2,(0.625) 10=(6+(2+5 x10-1
13、)x10-1)x10-1,=(110+(10+101x1010-1 )x1010-1)x1010-1,(0.101)2,(4827.625) 10=(4827) 10 +(0.625) 10,轉(zhuǎn)換結(jié)果,(4827.625) 10= (1001011011011)2+(0.101)2,=(1001011011011.101)2,1.2.2 BCD碼,一、 BCD碼,用4位二進(jìn)制數(shù)表示的十進(jìn)制數(shù),(1) 8421 BCD碼(簡(jiǎn)稱BCD碼) 唯一的表示一位十進(jìn)制數(shù),(2) 2421 BCD碼 不唯一,(3) 5211 BCD碼 不唯一,(4) 余3 碼 唯一的表示一位十進(jìn)制數(shù),有4種:,編碼關(guān)系見表
14、1-3 P6,二、 BCD碼存儲(chǔ)方法,(1)單字節(jié) BCD碼,8位二進(jìn)制存儲(chǔ)單元只存一位BCD碼,(2)壓縮 BCD碼,8位二進(jìn)制存儲(chǔ)單元存兩位BCD碼,存儲(chǔ)單元高4位存高位BCD碼,低 4位存低位BCD碼,例: 65的存儲(chǔ)格式為 01100101,1.2.3 ASCLL碼,計(jì)算機(jī)中將字母、符號(hào)統(tǒng)稱為字符,將字符按特定的規(guī)律用二進(jìn)制編碼在計(jì)算機(jī)中表示,稱ASCLL碼,基本ASCLL碼用7位二進(jìn)制編碼表示,可表示09,AZ,az,標(biāo)點(diǎn)符號(hào),控制字符等128個(gè)字符,ASCLL編碼表見表1-4 P7,1.2.4 計(jì)算機(jī)中數(shù)的表示方法,計(jì)算機(jī)中的信息都是以二進(jìn)制數(shù)形式表示,一、真值和機(jī)器數(shù),一個(gè)數(shù)是由
15、符號(hào)和數(shù)值兩部分組成的,N1 = +1001010 (+74)10,N2 = -1001010 (-74)10,在計(jì)算機(jī)中,N1 = 01001010,N2 = 11001010,一個(gè)數(shù)在計(jì)算機(jī)中的表示形式稱為機(jī)器數(shù),而把這個(gè)數(shù)本身稱為真值,二、帶符號(hào)數(shù)的表示法,三、無符號(hào)數(shù)的表示法,沒有符號(hào)位,如:,無符號(hào)數(shù)的表示范圍,一個(gè)n位的無符號(hào)二進(jìn)制數(shù)X,其表示范圍為 0 X 2n-1 若運(yùn)算結(jié)果超出這個(gè)范圍,則產(chǎn)生溢出。 (或者說運(yùn)算結(jié)果超出n位,則產(chǎn)生溢出) 溢出判別方法: 運(yùn)算時(shí),當(dāng)最高位向更高位有進(jìn)位(或 借位)時(shí)則產(chǎn)生溢出。,四、數(shù)的定點(diǎn)和浮點(diǎn)表示,十進(jìn)制數(shù)485.23也可以表示為0.48
16、523 X 103,計(jì)算機(jī)中也有相應(yīng)兩種表示法:定點(diǎn)數(shù)和浮點(diǎn)數(shù),1.定點(diǎn)表示法,定點(diǎn)整數(shù): 小數(shù)點(diǎn)約定在最低位的右邊。, 定點(diǎn)小數(shù): 小數(shù)點(diǎn)約定在符號(hào)位之后。,2. 浮點(diǎn)表示法, 浮點(diǎn)數(shù)格式,浮點(diǎn)表示法指小數(shù)點(diǎn)的位置是浮動(dòng)的,不固定,對(duì)于任意一個(gè)二進(jìn)制數(shù)N,都可以表示成:,N = m x 2 e,其中:m 0 稱為N的尾數(shù);前邊的符號(hào)稱為數(shù)符;e稱為N的階碼是非負(fù)整數(shù),e前邊的符號(hào)稱為階符(階碼和階符決定N的小數(shù)點(diǎn)位置),計(jì)算機(jī)內(nèi)浮點(diǎn)數(shù)格式:,例如:用16位二進(jìn)制數(shù)表示一個(gè)浮點(diǎn)數(shù),規(guī)定階碼和階符占用8位,采用純整數(shù)原碼表示,尾數(shù)和數(shù)符占用8位,采用純小數(shù)原碼表示。設(shè)計(jì)一個(gè)浮點(diǎn)數(shù),0 1 110
17、0110 0000110,它表示 +(0.0000110)*2-1100110 = +(0.046875)*2-102,數(shù)符,階符,階碼,尾數(shù), 數(shù)符表示尾數(shù)的符號(hào),占用最高1位,數(shù)符和尾數(shù)組合在一起是一個(gè)純小數(shù),一般可以用補(bǔ)碼或者移碼表示;, 階符表示階碼的符號(hào),占用第二位,階符和階碼組合在一起是一個(gè)純整數(shù),一般可以用補(bǔ)碼或者原碼表示;, 尾數(shù)的位數(shù)決定了數(shù)據(jù)表示的精度, 階碼的位數(shù)決定了數(shù)據(jù)表示的范圍, 在字長(zhǎng)一定的條件下,合理的分配階碼和尾數(shù)(碼)的位數(shù)以達(dá)到表示精度和表示范圍的平衡, 在很多機(jī)器中設(shè)置了單精度(一個(gè)字長(zhǎng)表示一個(gè)浮點(diǎn)數(shù))和雙精度浮點(diǎn)數(shù)(兩個(gè)字長(zhǎng)表示一個(gè)浮點(diǎn)數(shù))格式, 規(guī)格
18、化數(shù),由于一個(gè)數(shù)的浮點(diǎn)表示不是唯一的,為了使數(shù)據(jù)的有效位最大,使運(yùn)算的精度盡可能高,計(jì)算機(jī)的浮點(diǎn)數(shù)采用規(guī)格化浮點(diǎn)數(shù)表示,定義如下:,若 N = m x 2 e, 則, m1,2,1,五、原碼、反碼和補(bǔ)碼,原碼、補(bǔ)碼和反碼都是帶符號(hào)的數(shù)在計(jì)算機(jī)中的表示方法。,注意:對(duì)于正數(shù),三種表示法均相等。 即原碼 = 補(bǔ)碼 = 反碼 它們的差別在于對(duì)負(fù)數(shù)的表示。,1.原碼,帶符號(hào)數(shù)在計(jì)算機(jī)中的表示法就是原碼表示法,例如真值:,N1 = +1001010,N2 = -1001010,N1 = 01001010,N2 = 11001010,其原碼記為:,根據(jù)原碼表示形式,可將原碼定義為:,X原= ,2n+X 0
19、 X,2n-1 + X - 2n-1 X 0,其中:X為真值的(n-1位)的絕對(duì)值; n為機(jī)器可表示的二進(jìn)制碼位數(shù)。,在原碼表示中,“0”有兩種表示形式:,+0原 = 0000 (mod 2n) n個(gè)0,-0原 = 1000 (mod 2n) n-1個(gè)0,n位原碼(有符號(hào)數(shù))表示數(shù)值的范圍,對(duì)應(yīng)的原碼是11111111 01111111,2.反碼,(1)正數(shù)的反碼 與原碼相同,最高位為符號(hào)位,0表示正,例:求(+4)10的二進(jìn)制反碼,00000100,(2)負(fù)數(shù)的反碼 它的正數(shù)按位取反,最高位為符號(hào)位,1表示負(fù)。,即對(duì)應(yīng)原碼的符號(hào)位不變,數(shù)值部分按位求反,例:求(- 4)10的二進(jìn)制反碼,(+
20、4)10 的二進(jìn)制數(shù)為 0000100,正數(shù)按位取反后, 1111011,(- 4)10的二進(jìn)制反碼: 11111011,3. 補(bǔ)碼, 模的概念,一個(gè)計(jì)量器的容量,稱為?;蚰?shù),例如:一個(gè)n位2進(jìn)制計(jì)數(shù)器,它的容量為2n,所以它的模為2n, 模的性質(zhì),當(dāng)模為2n時(shí),2n和0的表示形式是相同的,例如:計(jì)數(shù)器計(jì)滿溢出;鐘表12點(diǎn)是0點(diǎn), 同余概念,如果有兩個(gè)整數(shù)a和b,當(dāng)用某一個(gè)整數(shù)M去除a和b,所得余數(shù)相等時(shí),則稱a和b對(duì)模M是同余的,當(dāng)a和b對(duì)M同余時(shí),就稱a、b在以M為模時(shí)是相等的,記為:,b (mod M),a,例如: a = 16 ,b = 4 ,若模為12,二者是同余的:,4 (mod
21、 12 ),由同余的概念可以得出:,M+a = a (mod M ),2M+a = a (mod M ),16,例:將手表從10點(diǎn)撥到 6點(diǎn),有2種撥法:,正撥: 10 4 = 6,反撥: 10 +8 = 6,10 +8 (mod=12),因?yàn)樵谏鲜絻蛇叧?2,余數(shù)均為6 同余,即+8與 - 4 對(duì)模12互為補(bǔ)數(shù)(碼)。,有 : 10 4,10 - 4 可以用10 + 8完成,或 10 - 4 =10 +(- 4)的補(bǔ)碼,引進(jìn)補(bǔ)碼以后,減法就可以轉(zhuǎn)化為加法了,結(jié)論:對(duì)于一個(gè)確定的模M,某數(shù)I減去小于模的一個(gè)數(shù)T,總可以用I加上該數(shù)T的負(fù)數(shù)與其模M之和(即補(bǔ)數(shù))來代替。,例:模M=12,某數(shù)I
22、=10,T = 4小于M; 10 4可用10+(-4)+12 =10+ 8來代替; (MOD = 12),即:6,8 (MOD = 12),例 : 64 -10 = 64 + (-10) = 64 +-10補(bǔ),+ 64 = 01000000,10 = 00001010 -10 = 10001010,-10補(bǔ) = 11110110,于是: 01000000,- 00001010,00110110,自然丟失,01000000,+ 11110110,1 00110110,減法轉(zhuǎn)化為加法例子:,符號(hào)位也參加運(yùn)算, 補(bǔ)碼的表示形式,如果n位二進(jìn)制碼的最高位表示符號(hào)位,如正數(shù):,X = +Xn-2 Xn-
23、3 X1X0時(shí):,X補(bǔ) = 0Xn-2 Xn-3 X1X0 = 2n + X ( MOD 2n),則補(bǔ)碼的表示形式為:,X = - Xn-2 Xn-3 X1X0時(shí): 負(fù)數(shù),X補(bǔ) = = 1Xn-2 Xn-3 X1X0+1 ( MOD 2n),符號(hào)位連接原數(shù)的絕對(duì)值取反加1, 補(bǔ)碼的求法: 若X0, 則X補(bǔ)= X反= X原 若X0, 則X補(bǔ)= X反+1,補(bǔ)碼具有如下性質(zhì):,X+Y補(bǔ) = X補(bǔ) + Y補(bǔ),X- Y補(bǔ) = X補(bǔ)+ - Y補(bǔ),X補(bǔ) = 2n+X,4. 對(duì)Y的補(bǔ)碼求補(bǔ),結(jié)果等于其原碼。即 Y補(bǔ)補(bǔ)Y原,負(fù)數(shù)補(bǔ)碼轉(zhuǎn)換為其真值時(shí),將負(fù)數(shù)補(bǔ)碼按位求反(不含符號(hào)位),末位加1,即可得到該負(fù)數(shù)補(bǔ)碼對(duì)
24、應(yīng)的真值的絕對(duì)值。填上負(fù)號(hào)就是該負(fù)數(shù)補(bǔ)碼對(duì)應(yīng)的真值。,例: X補(bǔ)11011001B,求其真值X X(1011001求反1)B (01001101)B (0100111)B (39)D,5. 8位有符號(hào)數(shù)的表示范圍:,對(duì)8位二進(jìn)制數(shù): 原碼: -127 +127 反碼: -127 +127 補(bǔ)碼: -128 +127,一、 算術(shù)運(yùn)算規(guī)則,加法:1+1=0(有進(jìn)位), 減法:0-1=1(有借位), 乘除法: 一個(gè)(無符號(hào))數(shù)乘以2相當(dāng)于該數(shù)左移一位;除以2則相當(dāng)于該數(shù)右移1位。,1.2.5 單片機(jī)中的數(shù)據(jù)運(yùn)算,二、加法和減法運(yùn)算,在計(jì)算機(jī)中,補(bǔ)碼的加法和減法運(yùn)算最簡(jiǎn)單,(1) 補(bǔ)碼的運(yùn)算原理,模(
25、module)是一個(gè)計(jì)數(shù)系統(tǒng)的最大容量。 例如,鐘表的模為12,8位二進(jìn)制數(shù)的模為28。,凡是用器件進(jìn)行的運(yùn)算都是有模運(yùn)算,運(yùn)算結(jié)果超過模的部分會(huì)被運(yùn)算器自動(dòng)丟棄。因此,當(dāng)器件為n位(2進(jìn)制)時(shí),有: X = 2n + X (mod 2n) 式1,不難驗(yàn)證, X補(bǔ)=2n+X (mod 2n)式2 因此, X Y補(bǔ)= 2n + (XY) (mod 2n) 根據(jù)式2 = (2n+X) + (2n Y) (mod 2n) 根據(jù)式1 = X 補(bǔ)+ Y 補(bǔ) 減法變加法,(2) 補(bǔ)碼加減法的運(yùn)算規(guī)則,通過引進(jìn)補(bǔ)碼,可將減法運(yùn)算轉(zhuǎn)換為加法運(yùn)算。規(guī)則如下: X+Y補(bǔ)=X補(bǔ)+Y補(bǔ) X-Y補(bǔ)=X補(bǔ)+ -Y補(bǔ) 其中
26、X,Y為正負(fù)數(shù)均可,符號(hào)位參與運(yùn)算。,例:,X= - 0110100,Y= + 1110100,求X+Y補(bǔ) X原=10110100 X補(bǔ)= X反+1=11001100 符號(hào)位不動(dòng) Y補(bǔ)= Y原=01110100 所以: X+Y補(bǔ)= X補(bǔ)+ Y補(bǔ) =11001100+01110100 =01000000符號(hào)位參與運(yùn)算,三、乘、除法運(yùn)算,1.乘法運(yùn)算,乘法運(yùn)算包括符號(hào)運(yùn)算和數(shù)值運(yùn)算。相同符號(hào)兩數(shù)相乘,積為正;相異符號(hào)兩數(shù)相乘,積為負(fù);,數(shù)值運(yùn)算是對(duì)兩個(gè)數(shù)的絕對(duì)值相乘;,例: 1011 X 1101,1011,X) 1101,1011,0000,1011,1011,10001111,可見:2個(gè)n位無
27、符號(hào)(2進(jìn)制數(shù))相乘,積的位數(shù)為2n;,2.除法運(yùn)算,除法運(yùn)算包括符號(hào)運(yùn)算和數(shù)值運(yùn)算。相同符號(hào)兩數(shù)相除,商為正;相異符號(hào)兩數(shù)相除,商為負(fù);,數(shù)值運(yùn)算是對(duì)兩個(gè)數(shù)的絕對(duì)值相除;,例: 011010 101,除數(shù) 101 011010,-)101,00110,- ) 101,001 余數(shù),0,1,1,由于減法可以通過補(bǔ)碼加法實(shí)現(xiàn),所以,加減乘除四則運(yùn)算都可以用加法運(yùn)算來代替。,四、邏輯運(yùn)算,1. 按位邏輯或運(yùn)算,C = A B,C = A B,2. 按位邏輯與運(yùn)算,3. 按位邏輯非運(yùn)算,C = A,C = A B = A .B + A .B,4. 按位邏輯異或運(yùn)算,五、 計(jì)算機(jī)中常用數(shù)據(jù)單位, Bi
28、t 位,是計(jì)算機(jī)所能表示的最小最基本的數(shù)據(jù)單位,它指的是取值只能為0或1的一個(gè)二進(jìn)制數(shù)值位。位作為單位時(shí)記作b 1Kb=1024bit = 210b 1Mb = 10241024bit = 220b 1Gb = 230bit = 1024Mb 1Tb = 240bit = 1024Gb, Byte 字節(jié),由8個(gè)二進(jìn)制位組成,通常用作計(jì)算存儲(chǔ)容量的單位。字節(jié)作為單位時(shí)記作B 1 Byte = 8bit,1KB=1024 Byte, Word 字, 表示字長(zhǎng)。 有1bit, 4bit, 8bit, 16bit等, 一般情況下為2Byte(16bit)。,1.3 單片機(jī)的內(nèi)部結(jié)構(gòu)簡(jiǎn)介,一、單片機(jī)結(jié)構(gòu)
29、框圖,圖1-3,二、單片機(jī)的微控制器MCU與計(jì)算機(jī)微處理器CPU的區(qū)別,單片機(jī)一個(gè)芯片就具備了一個(gè)完整計(jì)算機(jī)系統(tǒng)所必須的基本功能。,三、單片機(jī)CPU的字長(zhǎng),CPU的字長(zhǎng):指CPU一次可以處理的二進(jìn)制數(shù)的位數(shù),CPU的字長(zhǎng)一般與存儲(chǔ)單元、運(yùn)算器的位數(shù)一致,控制著單片機(jī)工作節(jié)奏、速度, 時(shí)鐘周期,輸入微處理器的時(shí)鐘信號(hào)的周期,叫時(shí)鐘周期,也叫振蕩周期。, 機(jī)器周期,是單片機(jī)完成一個(gè)基本操作所需的時(shí)間。在51系列單片機(jī)中,一個(gè)機(jī)器周期由12(或6)個(gè)時(shí)鐘周期組成。,四、單片機(jī)的時(shí)鐘, 指令周期,CPU從取一條指令到執(zhí)行完該指令所需的時(shí)間,通常由幾個(gè)機(jī)器周期組成。,1.3.1 單片機(jī)的內(nèi)部結(jié)構(gòu)及工作過
30、程,一、CPU的內(nèi)部結(jié)構(gòu),圖1-3-3,CPU通常由算術(shù)邏輯運(yùn)算單元ALU,累加器A,寄存器B,程序狀態(tài)寄存器 PSW,程序計(jì)數(shù)器PC,地址寄存器AR,數(shù)據(jù)寄存器DR,指令寄存器IR,指令譯碼器ID,控制器等部分組成。,(1) 51系列單片機(jī)程序計(jì)數(shù)器PC 16位,存放將要執(zhí)行的指令代碼所在存儲(chǔ)單元的地址編碼,一條指令取出后,PC內(nèi)容自動(dòng)加1。,PC位數(shù)與CPU地址線數(shù)目一致。,單片機(jī)復(fù)位后,PC有確定值。,(2) 地址寄存器AR 16位,存放將要尋址的外部存儲(chǔ)器單元的地址,地址寄存器通過地址總線與外部存儲(chǔ)器相連。,例:將外部存儲(chǔ)器單元3FFFH的內(nèi)容讀到累加器A中,(3) 指令寄存器IR,存
31、放取指階段讀出的指令代碼的第一個(gè)字節(jié)。即操作碼。,例:ADD A,#30H,(4) 數(shù)據(jù)寄存器DR,存放寫入(到)外部存儲(chǔ)器或I/O端口的數(shù)據(jù)信息。數(shù)據(jù)寄存器DR與外部數(shù)據(jù)總線相連。,(5) 算術(shù)邏輯運(yùn)算單元ALU,用于算術(shù)邏輯運(yùn)算 。,(6) 程序狀態(tài)寄存器 PSW,存放運(yùn)算結(jié)果的狀態(tài)信息。,二、單片機(jī)的存儲(chǔ)器,存放程序和數(shù)據(jù)。,()存儲(chǔ)器內(nèi)部結(jié)構(gòu),由地址譯碼器,存儲(chǔ)單元,讀寫控制電路等組成。,圖1-3-4,要點(diǎn):, 存儲(chǔ)器中的一個(gè)存儲(chǔ)單元等效于一組觸發(fā)器,每個(gè)觸發(fā)器有兩個(gè)穩(wěn)定狀態(tài),可以記錄1位2進(jìn)制數(shù)。, 每個(gè)存儲(chǔ)單元包含的觸發(fā)器的個(gè)數(shù)稱為存儲(chǔ)單元的“字長(zhǎng)”。, 存儲(chǔ)器芯片內(nèi)存儲(chǔ)單元數(shù)目M
32、與存儲(chǔ)芯片的地址線條數(shù)N有關(guān),M=2N, 存儲(chǔ)單元有地址編碼,如32K存儲(chǔ)器有32X1024個(gè)存儲(chǔ)單元,地址編碼為:0000H7FFFH,()存儲(chǔ)器工作狀態(tài),存儲(chǔ)器工作狀態(tài)由控制信號(hào)決定,,表1-1-1, 地址寄存器AR給出存儲(chǔ)單元的地址編號(hào),例:CPU讀取地址編號(hào)為0000H存儲(chǔ)單元的內(nèi)容。, 地址總線將地址編號(hào)送到存儲(chǔ)器的地址線上, 存儲(chǔ)器的地址譯碼器譯碼,選中0000H單元, CPU給出讀控制信號(hào)RD, 0000H存儲(chǔ)單元內(nèi)容送到數(shù)據(jù)總線上。不是DR中,(3)存儲(chǔ)器的讀操作,圖1-3-5, AR給出存儲(chǔ)單元的地址編號(hào)0003H,例:CPU把55H寫入0003H存儲(chǔ)單元, 地址總線將地址編
33、號(hào)送到存儲(chǔ)器的地址線上, 存儲(chǔ)器的地址譯碼器譯碼,選中0003H單元, CPU給出寫控制信號(hào)WR,存于數(shù)據(jù)寄存器DR中的55H通過總線送到0003H單元中。,()存儲(chǔ)器寫操作,圖1-3-5,三、51 系列單片機(jī)指令系統(tǒng),1. 51 指令系統(tǒng),寫操作后,被寫入存儲(chǔ)單元的原有信息將不復(fù)存在。,讀操作后,被讀存儲(chǔ)單元的內(nèi)容不變。,51 指令系統(tǒng)采用復(fù)雜指令系統(tǒng)(CISC)。有111條指令,屬于匯編語言,2. 指令的執(zhí)行過程,例:將存儲(chǔ)器0020H單元與0021H單元中的內(nèi)容相加,和值存在002FH單元,程序如下:,MOV A,0020H ;假設(shè)第一條指令存在0100單元,ADD A,0021H,MO
34、V 002FH ,A,分析指令的執(zhí)行過程:以 MOV A,0020H為例,圖1-3-6,取操作碼(指令第一字節(jié)) ;譯碼;取操作數(shù)(指令第二、第三字節(jié)) ;執(zhí)行指令規(guī)定的操作。,指令的執(zhí)行過程:,控制器按預(yù)先存放在計(jì)算機(jī)存儲(chǔ)器中的程序的流程自動(dòng)地連續(xù)取出指令并執(zhí)行之。,運(yùn)算器,輸出設(shè)備,控制器,輸入設(shè)備,存儲(chǔ)器,指令流,控制命令,數(shù)據(jù)流,程序的執(zhí)行過程,程序,指令1,指令2,指令3,指令4,指令n, ,取指令,指令譯碼,取操作數(shù),執(zhí)行指令,存結(jié)果,指令周期,操作碼,操作數(shù),執(zhí)行,1。CPU如何知道從哪里取出程序的第一條指令? 操作系統(tǒng) 2。CPU如何按程序控制流執(zhí)行指令? 程序計(jì)數(shù)器 3。CP
35、U如何知道從哪里取操作數(shù)? 地址、尋址方式,3. C51語言,C51語言是適合于單片機(jī)編程的C語言,本課的程序設(shè)計(jì)以C51語言為主。,CPU的所有工作可概括之:從存儲(chǔ)器中取出指令;譯碼;執(zhí)行指令規(guī)定的操作(經(jīng)過算術(shù)和邏輯運(yùn)算后,輸出相應(yīng)的結(jié)果)。取下一條指令;如此循環(huán)往復(fù),四、總結(jié),1.4 嵌入式系統(tǒng)簡(jiǎn)介,一、嵌入式系統(tǒng)硬件組成,圖1-a, 嵌入式系統(tǒng)具有系統(tǒng)專用軟件和多個(gè)硬件, 處理器和存儲(chǔ)器是嵌入式系統(tǒng)的兩個(gè)重要組成, 處理器在各種存儲(chǔ)器單元的支持下運(yùn)行軟件, 系統(tǒng)軟件嵌入在ROM中,嵌入式系統(tǒng)處理器可以是具有CISC或者RISC體系結(jié)構(gòu)的微處理器,也可以是微控制器或者數(shù)字信號(hào)處理器DSP
36、。,二、嵌入式系統(tǒng)處理器,1. 處理器結(jié)構(gòu)單元,圖1-b, MAR存儲(chǔ)器地址寄存器。它保存將要讀的外部存儲(chǔ)器的地址,處理器讀外存之前,先將地址發(fā)給MAR, MDR 存儲(chǔ)器數(shù)據(jù)寄存器。它保存從外部存儲(chǔ)器(或IO地址)讀入的的數(shù)據(jù), 內(nèi)部總線 將處理器內(nèi)部的各個(gè)電路模塊連接,它的寬度可以是8,16,32,64等, 地址總線 是外部總線,將地址從MAR發(fā)送到存儲(chǔ)器、IO單元或其它設(shè)備, 數(shù)據(jù)總線 傳遞數(shù)據(jù)或指令, 控制總線 在處理器和存儲(chǔ)器(或設(shè)備)之間傳送控制信號(hào),是外部總線, BIU總線接口單元 外部總線與處理器內(nèi)部單元之間的接口單元, IR指令寄存器 存放從存儲(chǔ)器讀回的指令, ID指令譯碼器
37、翻譯IR收到的指令操作碼,并將翻譯結(jié)果送給處理器CU, CU 控制單元 控制著處理過程所需的所有總線行為和單元功能, ARS應(yīng)用寄存器 是一組處理用戶應(yīng)用程序過程中使用的片上寄存器,寄存器窗口包含寄存器的一個(gè)子集,每個(gè)子集包含一個(gè)軟件例程的靜態(tài)變量,寄存器文件是與單元(例如ALU或FLPU)文件相結(jié)合的文件, ALU算數(shù)邏輯運(yùn)算單元 根據(jù)IR中的當(dāng)前指令,執(zhí)行算數(shù)或邏輯運(yùn)算。, PC程序計(jì)數(shù)器 存放CPU下一條要取指令的地址,這條指令取出后,PC內(nèi)容自動(dòng)加1, SRS系統(tǒng)寄存器組 在處理系統(tǒng)程序中使用的一組寄存器, SP堆棧指針 是一個(gè)地址指針,與存儲(chǔ)器棧頂對(duì)應(yīng), IQ指令隊(duì)列 作用是一條指令
38、執(zhí)行后,指令寄存器IR不必要等待下一條指令。, PFCU預(yù)取控制單元 將數(shù)據(jù)提前從存儲(chǔ)器取到I-緩存或D-緩存中的控制單元,當(dāng)處理器的執(zhí)行單元需要指令和數(shù)據(jù)時(shí),將數(shù)據(jù)傳過去,處理器沒有必要在執(zhí)行指令之前取數(shù)據(jù)。, I-緩存(指令緩存) 它連續(xù)地將指令以FIFO的模式保存,就像一個(gè)指令隊(duì)列,使處理器能夠通過使用預(yù)取控制單元 PFCU高速執(zhí)行指令;因?yàn)樘幚砥髟L問外部存儲(chǔ)器的速度相對(duì)要慢得多。, BT-緩存(分支目標(biāo)緩存) 當(dāng)遇到分支指令時(shí),例如:jumo、loop、call等,它協(xié)助準(zhǔn)備好要執(zhí)行的下一條指令集;因?yàn)樘幚砥髟L問外部存儲(chǔ)器的速度相對(duì)要慢得多。, D-緩存(數(shù)據(jù)緩存) 保存從外部存儲(chǔ)器預(yù)取來的數(shù)據(jù)。數(shù)據(jù)緩存通常將鍵(地址)和數(shù)值(字)共同保存在一個(gè)位置上。如果適當(dāng)配置,它還可以保存寫穿透數(shù)據(jù)。寫穿透數(shù)據(jù)意味著從執(zhí)行單元獲得執(zhí)行結(jié)果,并將這個(gè)結(jié)果從緩存?zhèn)骰氐较鄳?yīng)的外部存儲(chǔ)器地址中, MMU(存儲(chǔ)管理單元) 管理存儲(chǔ)器單元。負(fù)責(zé)執(zhí)行過程所需要的指令或數(shù)據(jù), FLPU(浮點(diǎn)處理單元) 從ALU分離出來的單元,用于浮點(diǎn)處理,這是微處理器或DSP中快速執(zhí)行數(shù)學(xué)函數(shù)的基本單元, FRS(浮點(diǎn)寄存器組) 專門用來以標(biāo)準(zhǔn)格式保存浮點(diǎn)數(shù)的寄存器組,浮點(diǎn)處理單元FLPU使用它來保存數(shù)據(jù)和堆棧, 高級(jí)處理單元 用于多級(jí)流水處理、
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025-2030全球鍍銅光亮劑行業(yè)調(diào)研及趨勢(shì)分析報(bào)告
- 2025年全球及中國(guó)母嬰健康產(chǎn)后護(hù)理行業(yè)頭部企業(yè)市場(chǎng)占有率及排名調(diào)研報(bào)告
- 2025年全球及中國(guó)敏捷滲透測(cè)試行業(yè)頭部企業(yè)市場(chǎng)占有率及排名調(diào)研報(bào)告
- 2025年全球及中國(guó)LTCC用導(dǎo)電銀漿行業(yè)頭部企業(yè)市場(chǎng)占有率及排名調(diào)研報(bào)告
- 2025建筑安裝工程承包合同范本版
- 教室租賃合同范本
- 2025工礦企業(yè)大型成套設(shè)備采購(gòu)合同范本
- 裝修設(shè)計(jì)合同范本大全
- 2025勞動(dòng)合同試用期法律疑難問題詳解
- 門店合伙協(xié)議合同范本
- 2024年1月高考適應(yīng)性測(cè)試“九省聯(lián)考”數(shù)學(xué) 試題(學(xué)生版+解析版)
- JT-T-1004.1-2015城市軌道交通行車調(diào)度員技能和素質(zhì)要求第1部分:地鐵輕軌和單軌
- (高清版)WST 408-2024 定量檢驗(yàn)程序分析性能驗(yàn)證指南
- (正式版)JBT 11270-2024 立體倉(cāng)庫組合式鋼結(jié)構(gòu)貨架技術(shù)規(guī)范
- DB11∕T 2035-2022 供暖民用建筑室溫?zé)o線采集系統(tǒng)技術(shù)要求
- 《復(fù)旦大學(xué)》課件
- 針灸與按摩綜合療法
- Photoshop 2022從入門到精通
- T-GDWJ 013-2022 廣東省健康醫(yī)療數(shù)據(jù)安全分類分級(jí)管理技術(shù)規(guī)范
- 校本課程生活中的化學(xué)
- DB43-T 2775-2023 花櫚木播種育苗技術(shù)規(guī)程
評(píng)論
0/150
提交評(píng)論