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

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

第一章單片機基礎知識

2023/2/31內容單片機概述1.1微型計算機系統(tǒng)組成1.2微型計算機的運算基礎知識1.32023/2/321.1單片機概述1.1.1

什么是單片機?

單片機是指在一塊半導體芯片上,集成了微處理器、存儲器、輸入/輸出接口、定時器/計數(shù)器以及中斷系統(tǒng)等功能部件,構成一臺完整的微型計算機。單片機實物圖12023/2/33單片機實物圖(2)單片機芯片AT89C51AT89S51AT89S52AT89C2051雙列直插式DIP40(DualIn-linePackage)封裝2023/2/34單片機實物圖(3)單片機芯片STC89C52塑料扁平式PQFP/TQFP(PlasticQuadFlatPackage)封裝

帶引線的塑料芯片封裝PLCC44(PlasticLeadedChipCarrier)2023/2/351.1.2單片機與微型計算機的關系計算機的發(fā)展經(jīng)歷了從電子管、晶體管、集成電路到大規(guī)模集成電路四代的演變。微型計算機屬于第四代計算機。

微型計算機的發(fā)展以微處理器的發(fā)展為特征,主要表現(xiàn):

芯片集成度的提高(從最初的約2000個晶體管/片發(fā)展到目前的幾百萬個晶體管/片);

處理器位數(shù)的增加(從4位增加到64位);

時鐘頻率的加快(從1MHz到約幾個GHz);

價格的逐漸降低等方面。

2023/2/361.1.2單片機與微型計算機的關系

微型計算機有兩個主要發(fā)展方向:一是向高速度、高性能、大容量的高檔微型計算機方向發(fā)展;二是向穩(wěn)定可靠、小而廉、能適應各種控制領域需要的單片機方向發(fā)展。

單片機是微型計算機發(fā)展的一個重要分支!

2023/2/371.1.3常用的單片機系列MCS-51系列及與之兼容的80C51系列單片機Atmel公司的AVR系列Microchip公司的PIC系列Motorola公司的單片機

TI公司MSP430系列單片機基干ARM核的32位單片機

2023/2/38MCS-51系列及與之兼容的80C51系列單片機

MCS-51系列單片機是美國Intel公司在1980年推出的高性能單片機。

型號:8051、8751、8031、8032、8052等。其中8051是最典型的產(chǎn)品,其它單片機都是在8051的基礎上進行功能的增、減改變而來的,所以人們習慣于用8051來稱呼MCS-51系列單片機。20世紀80年代中期Intel公司將MCS-51的核心技術授權給了很多其他公司,如:Atmel、Philips、STC、Siemens、Winbond等,這些廠商生產(chǎn)的芯片是MCS-51系列的兼容產(chǎn)品,準確地說是與MCS-51指令系統(tǒng)兼容的單片機,這些單片機的系統(tǒng)結構與8051相同,并且都采用CHMOS工藝,因而常用80C51系列來稱呼它們。2023/2/39Atmel公司的AVR系列

AVR系列單片機是1997年Atmel公司為了充分發(fā)揮其Flash的技術優(yōu)勢,而推出的全新配置的精簡指令集(ReducedInstructionSetComputer,簡稱RISC)單片機。該系列單片機一進入市場,就以其卓越的性能而大受歡迎。通過這幾年的發(fā)展,AVR單片機已形成系列產(chǎn)品,其Attiny系列、AT90S系列與Atmega系列分別對應為低、中、高檔產(chǎn)品(高檔產(chǎn)品含JTAGICE仿真功能)。

2023/2/310Microchip公司的PIC系列

Microchip單片機是市場份額增長最快的單片機。它的主要產(chǎn)品是PIC系列8位單片機,它的CPU采用了精簡指令集(RISC)結構的嵌入式微控制器,其高速度、低電壓、低功耗、大電流LCD驅動能力和低價位OTP技術等都體現(xiàn)出單片機產(chǎn)業(yè)的新趨勢。

PIC8位單片機產(chǎn)品共有3個系列,即基本級、中級和高級。用戶可根據(jù)需要選擇不同檔次和不同功能的芯片。

2023/2/311

Motorola公司的單片機

(現(xiàn)在的飛思卡爾公司)Motorola公司是世界上最大的單片機廠商,該公司的特點是品種全、選擇余地大、新產(chǎn)品多,在8位機方面有68HC05和升級產(chǎn)品68HC08,68HC05有30多個系列,200多個品種,產(chǎn)量已超過20億片。8位增強型單片機68HC11也有30多個品種,年產(chǎn)量在1億片以上。升級產(chǎn)品有68HC12。16位機68HC16也有10多個品種。32位單片機的683XX系列也有幾十個品種。Motorola單片機特點之一是在同樣速度下所用的時鐘頻率較Intel類單片機低很多,因而使得高頻噪聲低,抗干擾能力強,更適合用于工控領域及惡劣的環(huán)境。Motorola8位單片機過去的策略是以掩膜為主,最近推出了OTP計劃以適應單片機發(fā)展新趨勢。在32位機上,M.CORE在性能和功耗方面都勝過ARM7。由于Motorola單片機產(chǎn)品以前主要是以掩膜為主,不太適合于教學,所以沒有被選做教學用機型。2023/2/312

TI公司MSP430系列單片機

TI公司MSP430系列單片機是超低功耗Flash型單片機,有“綠色微控制器(GreenMCUs)”稱號,是目前單片機業(yè)界所有內部集成閃速存儲器(FlashROM)產(chǎn)品中功耗最低的,消耗功率僅為其他閃速微控制器(FlashMCUs)的1/5。在3V工作電壓下其耗電電流低于350μA/MHz,待機模式僅為1μA/MHz,具有5種節(jié)能模式。該系列產(chǎn)品的工作溫度范圍為-40oC~85oC,可滿足工業(yè)應用要求。MSP430微控制器可廣泛地應用于煤氣表、水表、電子電度表、醫(yī)療儀器、火警智能探頭、通信產(chǎn)品、家庭自動化產(chǎn)品、便攜式監(jiān)視器及其他低耗能產(chǎn)品。由于MSP430微控制器的功耗極低,可設計出只需一塊電池就可以使用長達10年的儀表應用產(chǎn)品。MSP430Flash系列的確是不可多得的高性價比單片機。

2023/2/313基于ARM核的32位單片機

ARM(AdvancedRISCMachine)是一種通用的32位RISC處理器。32位是指處理器的外部數(shù)據(jù)總線是32位的,與8位和16位的相同主頻處理器相比性能更強大。ARM是一種功耗很低的高性能處理器,如ARM7TDMI具有每瓦生產(chǎn)690MIPS(MillionsInstructionPerSecond,百萬條指令/秒)的能力,已被證明在工業(yè)界處于領先水平。ARM公司并不生產(chǎn)芯片,而是將ARM的技術授權其他公司生產(chǎn)。ARM本質并不是一種芯片,而是一種芯片結構技術,不涉及芯片生產(chǎn)工藝。授權生產(chǎn)ARM結構芯片的公司采用不同的半導體技術,面對不同的應用進行擴展和集成,標有不同的系列號。目前可以提供含ARM核CPU芯片的著名半導體公司有:Intel、TI、三星半導體、摩托羅拉、飛利浦半導體、意法半導體、億恒半導體、科勝訊、ADI公司、安捷倫、高通公司、Atmel、Intersil、Alcatel、Altera、CirrusLogic、Linkup、Parthus、LSILogic、Micronas等。ARM的應用范圍非常廣泛,如嵌入式控制—汽車、電子設備、保安設備、大容量存儲器、調制解調器、打印機,數(shù)字消費產(chǎn)品—數(shù)碼相機、數(shù)字式電視機、游戲機、GPS、機頂盒、便攜式產(chǎn)品—手提式計算機、移動電話、PDA、靈巧電話。

2023/2/3141.1.4單片機的應用

單片機屬于控制類數(shù)字芯片,目前其應用領域已非常廣泛,典型應用如下:

1.工業(yè)自動化。如數(shù)據(jù)采集、測控技術。2.智能儀器儀表。如數(shù)字示波器、數(shù)字信號源、數(shù)字萬用表、感應電流表等。3.消費類電子產(chǎn)品。如洗衣機、電冰箱、空調機、電視機、微波爐、IC卡、汽車電子設備等。4.通信方面。如調制解調器、程控交換技術、手機、小靈通等。5.武器裝備。如飛機、軍艦、坦克、導彈、航天飛機、魚雷制導、智能武器等。2023/2/315

(1)單片機

(2)電源

(3)晶振

(4)復位電路就構成了真正可使用的單片機最小應用系統(tǒng)1.1.5一個簡單的單片機控制系統(tǒng)實例系統(tǒng)硬件設計點亮一個發(fā)光二極管的單片機控制系統(tǒng)

2023/2/316系統(tǒng)軟件設計

/*點亮一個發(fā)光二極管的程序*/ #include<reg52.h>//包含52系列單片機頭文件sbitled1=P1^0;//聲明單片機P1口的第一位,P1.0的位名稱位led1voidmain()//主程序{led1=0;//*P1.0口輸出低電平,點亮LED發(fā)光二極管

while(1);//程序運行到此處停止}2023/2/317配套教材

《單片機原理及應用》張?zhí)m紅等編機械工業(yè)出版社

2012.72023/2/318預備知識:元器件實物圖單片機芯片AT89C51AT89S51AT89S52AT89C20512023/2/319通信芯片MAX232CPE時鐘芯片DS13022023/2/320EEPROM24C02溫度傳感器18B20AD變換器0832穩(wěn)壓片78L052023/2/321晶振電阻和排電阻2023/2/322瓷片小電容零壓力插座萬用焊接板儀器盒2023/2/323步進電機2023/2/324液晶字符顯示屏液晶圖形點陣顯示屏2023/2/325撥動開關2023/2/326紅外遙控用發(fā)射接受一體管繼電器2023/2/3272023/2/328各類接插件2023/2/329遙控組件超聲波發(fā)射接受頭2023/2/330雙路遙控組件2023/2/331長距離遙控器3000-4000M2023/2/3328×8二極管點陣八段數(shù)碼管2023/2/333B電氣05-吳欣--單片機控制的GPS定位信息顯示器系統(tǒng)

2023/2/334B電氣06-張新文--單片機控制的超聲波測距器2023/2/335BMZ電氣061--邵軒--單片機控制的交通燈系統(tǒng)2023/2/336BMZ電氣061--于祥鍵--單片機控制的步進電機系統(tǒng)2023/2/337B電氣07--單片機課程設計作品2023/2/3381.2微型計算機系統(tǒng)組成計算機的基本結構微型計算機系統(tǒng)組成

微型計算機硬件

微型計算機軟件2023/2/3391.2微型計算機系統(tǒng)組成1.2.1計算機的基本結構計算機的基本結構運算器:是計算機處理信息的主要部件??刂破鳎寒a(chǎn)生一系列控制命令,控制計算機各部件自動地、協(xié)調一致地工作。存儲器:是存放程序與數(shù)據(jù)的部件。輸入設備:用來輸入程序與數(shù)據(jù),常用的輸入設備有鍵盤、鼠標、光電輸入機等。輸出設備:將計算機的處理結果用數(shù)字、圖形等形式表示出來。常用的輸出設備有顯示終端、數(shù)碼管、打印機、繪圖儀等。2023/2/3401.2微型計算機系統(tǒng)組成1.2.1計算機的基本結構計算機的基本結構中央處理單元CPU:運算器、控制器合稱為中央處理單元CPU(CentralProcessingUnit)。主機:通常把運算器、控制器、存儲器這三部分稱為計算機主機。外設:輸入、輸出設備稱為計算機的外圍設備(簡稱“外沒”)。2023/2/3411.2.2微型計算機的結構隨著大規(guī)模集成電路技術的發(fā)展,已經(jīng)將運算器、控制器集成在一塊硅片上,成為獨立的器件,該芯片稱為微處理器或微處理機(Micro-processor)。

存儲器(Memory)也已經(jīng)成為一塊獨立的芯片。

微處理器芯片、存儲器芯片與輸入/輸出接口(Input/Output,簡稱I/O接口)電路芯片構成了微型計算機(Micro-computer),芯片之間用總線(Bus)連接。微型計算機結構2023/2/3421.微處理器微處理器是微型計算機的核心,它通常包括3個部分:(1)算術邏輯部件

(ArithmeticLogicUnit,簡稱ALU):對傳送到微處理器的數(shù)據(jù)進行算術運算或邏輯運算,如執(zhí)行加法、減法運算,邏輯與、邏輯或運算等。

(2)工作寄存器組。

CPU中有多個工作寄存器,用來存放操作數(shù)及運算的中間結果等。

(3)控制部件:包括時鐘電路和控制電路。時鐘電路產(chǎn)生時鐘脈沖,用于計算機各部分電路的同步定時??刂齐娐樊a(chǎn)生完成各種操作所需的控制信號。

2023/2/3432.存儲器介紹存儲器有關概念之前,先介紹微型計算機中的幾個常用術語:

(1)位(bit)是計算機所能表示的最小的數(shù)據(jù)單位,即1位二進制數(shù)

。它有兩種狀態(tài):0和1。(2)字節(jié)(Byte)一個連續(xù)的8位二進制數(shù)稱為一個字節(jié),即1Byte=8bit。(3)字(Word)通常把16位二進制數(shù)稱為一個字,32位二進制數(shù)稱為一個雙字。(4)字長

CPU一次能夠處理二進制信息的位數(shù)稱為字長,通常也指CPU與輸入/輸出設備或內存儲器之間一次傳送二進制數(shù)據(jù)的位數(shù)。2023/2/344計算機的字長與處理能力和計算精度有關。

(1)字長越長,計算精度越高,處理能力越強,但計算機的結構也變得更復雜。(2)CPU的字長有1位、4位、8位、16位、32位和64位,對應的計算機就是1位機、4位機、8位機、16位機、32位機和64位機。

本書所介紹的80C51系列單片機就是8位機,這意味著如果要處理16位數(shù)據(jù)的話就應分兩次處理。

2023/2/3452.存儲器

存儲器由許多存儲單元組成,在8位字長的微機中,每個存儲單元存放8位二進制代碼,即存放一個字節(jié)(Byte)。2023/2/346存儲器的一個重要指標是容量。假如存儲器有256個單元,每個單元存放8位二進制數(shù)那么該存儲器容量為256字節(jié),或256×8位。存儲容量單位:“KB”、“MB”、“GB”

1KB=1024B=210B,1MB=1024KB=220B,1GB=1024MB=230B。

2023/2/347存儲器的讀寫操作:

(1)計算機工作時,將數(shù)據(jù)存入存儲器的過程稱為“寫”操作。(2)CPU從存儲器中取數(shù)據(jù)的過程為“讀”操作。(3)寫入存儲單元的數(shù)據(jù)取代了原有的數(shù)據(jù),而且在下一個新的數(shù)據(jù)寫入之前一直保留著,即存儲器具有記憶數(shù)據(jù)的功能。(4)在執(zhí)行讀操作后,存儲單元中原有的內容不變,即存儲器的讀出是非破壞性的。2023/2/348存儲單元的地址和容量的關系:

(1)為了便于讀、寫操作,要對存儲器所有單元按順序編號,這種編號就是存儲單元的地址。(2)地址的二進制位數(shù)N與存儲容量Q之間的關系是:Q=2N。2023/2/3493.輸入/輸出接口電路(1)I/O接口是溝通CPU與外圍設備的不可缺少的重要部件。(2)外部設備種類繁多,其運行速度、數(shù)據(jù)形式、電平等各不相同,常常與CPU不一致,所以要用I/O接口作橋梁,起到信息轉換與協(xié)調的作用。2023/2/3504.總線

總線(Bus)是在微型計算機各芯片之間或芯片內部各部件之間傳輸信息的一組公共通信線。各芯片之間的一組8位總線2023/2/351根據(jù)傳遞信息種類,總線分為地址總線、數(shù)據(jù)總線和控制總線。(1)地址總線AB(AddressBus)是CPU用于給存儲器或輸入/輸出接口發(fā)送地址信息的單向通信總線,以選擇相應的存儲單元或寄存器。地址總線的寬度(根數(shù))決定了CPU的尋址范圍(即CPU所能訪問的存儲單元的個數(shù))。(2)數(shù)據(jù)總線DB(DataBus)是用于實現(xiàn)CPU、存儲器及I/O接口之間數(shù)據(jù)信息交換的雙向通信總線。

(3)控制總線CB(ControlBus)是傳輸各種控制信號的單向總線,其中有的用于傳送從CPU發(fā)出的信息;有的是其它部件發(fā)給CPU的信息。2023/2/3521.2.3微型計算機系統(tǒng)微型計算機系統(tǒng)框圖2023/2/3531.2.4微型計算機軟件1.軟件定義硬件:是在執(zhí)行任務過程中相對固定的一種物質體現(xiàn)。軟件:則是在執(zhí)行任務過程中比較靈活的信息的體現(xiàn),即指使用和管理計算機的各種程序(Program)。2.指令指令:控制計算機進行各種操作的命令稱為指令。操作碼:表示該指令執(zhí)行何種操作。操作數(shù):表示參加運算的數(shù)據(jù)或數(shù)據(jù)所在的地址3.程序

程序:一系列指令的有序集合稱為程序。程序設計:編制程序的過程稱為程序設計。

2023/2/3544.機器語言、匯編語言和高級語言

(1)匯編語言:用助記符(通常是指令功能的英文縮寫)表示操作碼、用字符(字母、數(shù)字、符號)表示操作數(shù)的指令稱為匯編指令。用匯編指令編制的程序稱為匯編語言程序。特點:①這種程序占用存儲器單元少,執(zhí)行速度較快,能夠準確掌握執(zhí)行時間,可實現(xiàn)精細控制,因此特別適用于實時控制。②然而匯編語言是面向機器的語言,各種計算機的匯編語言是不同的,必須對所用機器的結構、原理和指令系統(tǒng)比較清楚,才能編寫出它的各種匯編語言程序,而且不能通用于其他機器,這是匯編語言的不足之處。2023/2/355(2)高級語言:為使用戶編程容易,程序中所用的語句與實際更接近,而且使用戶不必了解具體的機器,就能編程,使編出的程序通用性更強,于是產(chǎn)生了高級語言。常用的高級語言有BASIC、FORTRAN、C等。

特點:高級語言是面向過程的語言,用高級語言編寫程序時主要著眼于算法,而不必了解計算機的硬件結構和指令系統(tǒng),因此易學易用。高級語言是獨立于機器的,一般地說,同一個程序可在任何種類的機器中使用。應用:高級語言適用于科學計算、數(shù)據(jù)處理等方面。2023/2/356(3)機器語言:二進制代碼形式的程序就是機器語言程序。二進制代碼形式的指令又稱機器指令或機器碼。匯編指令與機器指令具有一一對應的關系,特點:計算機最終執(zhí)行的都是機器語言程序。機器語言只有0和1兩個符號,用它來直接編寫程序十分困難。因此,往往先用匯編語言或高級語言編寫程序,然后再轉換成目標程序。2023/2/357(4)幾個概念:源程序:匯編語言程序與高級語言程序統(tǒng)稱為源程序目標程序:機器語言程序又稱為目標程序。匯編:將匯編語言程序翻譯成目標程序的過程稱為匯編。手工匯編:由編程人員對照指令表,一條一條查找、翻譯的方法稱為手工匯編。機器匯編:由計算機自動完成匯編語言轉換為機器語言的稱為機器匯編。匯編程序:機器匯編時用到的軟件稱為匯編程序。編譯程序:高級語言轉換成機器語言的工作只能由計算機完成,轉換時所用的軟件為編譯程序。2023/2/3585、程序分類計算機軟件示意圖2023/2/3591.3微型計算機的運算基礎知識

在數(shù)字電子計算機中,無論是大型計算機還是單片微型計算機,都是將所有的信息作為數(shù)值進行處理的,包括數(shù)字(如7、-8、4),英文字符(如A、B、k、m),各種符號(如+、-、%、@、>、<)。2023/2/360一個數(shù)值,可以用不同進制的數(shù)表示。1.十進制——日常習慣使用2.二進制——數(shù)字計算機最終均是用二進制數(shù)實現(xiàn)的3.十六進制——和二進制轉換很方便4.八進制、十二進制、六十進制等

1.3.1數(shù)制的概念2023/2/361為了表示不同的數(shù)制,可以在數(shù)的后面放一個英文字母作為標識符。1.二進制數(shù)用B(Binary)2.十六進制數(shù)用H(Hexdecimal)3.十進制數(shù)用D(Decimal),D可以省略不用,即不帶標識符的數(shù)是十進制數(shù)。也可以在數(shù)的右下方加一個小數(shù)字說明,例:(1011011)2,(896)10,(896)16。如何區(qū)分不同進位計數(shù)制的數(shù)字數(shù)制的基:計數(shù)制中所具有的數(shù)碼的個數(shù)。數(shù)制的權:計數(shù)制中每一位所具有的值。2023/2/3621、十進制數(shù)特點:①有十個不同的數(shù)字符號:0、1、2、3……9。②逢十進位,即各位的權是以十為底的冪。一般表達式:1.3.2與計算機有關的數(shù)制其中m、n為正整數(shù),i表示數(shù)字符號所在的位,Di是第i位的數(shù)碼,10i表示第i位的位權。2023/2/363

十進制數(shù)398.6可表示為:398.6=3×102+9×101+8×100+6×10-1

例:2023/2/3642.二進制數(shù)特點:(1)有兩個不同的數(shù)字符號:0、1。(2)逢二進位,即各位的權是以2為底的冪。一般表達式:其中m、n為正整數(shù),i表示數(shù)字符號所在的位,Bi是第i位的數(shù)碼,2i表示第i位的位權。2023/2/365二進制數(shù)111.1B可表示為:111.1B=1×22+1×21+1×20+1×2-1例2023/2/3663.十六進制數(shù)特點:(1)有十六個不同的數(shù)字符號:0~9、A~F。(2)逢十六進位,即各位的權是以十六為底的冪。表達式:其中m、n為正整數(shù),i表示數(shù)字符號所在的位,Hi是第i位的數(shù)碼,16i表示第i位的位權。2023/2/367

十六進制數(shù)18AF.CBH可表示為:18AF.CBH=1×163+8×162+A×161+F×160+

C×16-1+B×16-2

例:2023/2/368十、二、十六進制數(shù)之間的對應關系十進制數(shù)二進制數(shù)十六進制數(shù)十進制數(shù)二進制數(shù)十六進制數(shù)000000810008100011910019200102101010A300113111011B401004121100C501015131101D601106141110E701117151111F2023/2/3691.

二進制、十六進制數(shù)轉換為十進制數(shù)方法是:將二進制數(shù)或十六進制數(shù)寫成按權展開式,然后各項相加,則得相應的十進制數(shù)。1.3.3數(shù)制之間的相互轉換10101.1011B=1×24+1×22+1×20+1×2-1+1×2-3

+1×2-4=21.6875例1-1把二進制數(shù)10101.1011B轉換成相應的十進制數(shù)。2023/2/3700F3DH=F×162+3×161+D×160=15×256+3×16+13×1=3901例1-2把十六進制數(shù)0F3DH轉換成相應的十進制數(shù)。2023/2/3712.十進制數(shù)轉換成為二進制數(shù)整數(shù)部分方法是:采用除2取余法小數(shù)部分方法是:采用乘2取整法先采用除2取余法將19轉換為二進制數(shù)例1-3把十進制數(shù)19.625轉換成為對應二進制數(shù)。所以

19=10011B2023/2/372再采用乘2取整法將0.625轉換為十進制數(shù)所以0.625=0.101B因此十進制數(shù)19.625=10011.101B十進制數(shù)轉換十六進制數(shù)的方法:將基數(shù)2換成16即可。2023/2/3734位二進制數(shù)與1位十六進制數(shù)一一對應例1-4將二進制數(shù)1111000111.100101B轉換成為十六進制數(shù)。1111000111.100101B=001111000111.10010100B=3C7.94H

注意:位數(shù)不夠時要補03.二進制數(shù)與十六進制數(shù)間的相互轉換例1-5將十六進制數(shù)2FB5H轉換成為二進制數(shù)2FB5H=0010111110110101B=10111110110101B2023/2/3741.3.4碼制的概念1.計算機中帶符號數(shù)的表示

在字長為8位的微型計算機中,一個數(shù)用8位二進制數(shù)表示。

如果計算機處理的是無符號數(shù),8位二進制數(shù)的8位數(shù)符都表示數(shù)值。從00000000B、00000001B…到11111111B,表示的無符號數(shù)數(shù)值從0、1…到255。8位二進制數(shù)表示的無符號數(shù)范圍是0~255。2023/2/375

很多場合,數(shù)有正負之分,稱為帶符號數(shù)。在計算機中,符號“+”、“-”要用1位二進制數(shù)表示。8位微型計算機中約定:最高位D7表示符號,其他7位表示數(shù)值。D7=l表示負數(shù),D7=0表示正數(shù)。連同符號位一起數(shù)值化了的數(shù),稱為機器數(shù)。機器數(shù)所表示的真實的數(shù)值,稱為真值。2023/2/376

真值

機器數(shù)

+1001B(+9)01001B

-1001B(-9)11001B計算機中的機器數(shù)有原碼、反碼與補碼三種。2023/2/377用最高位表示帶符號數(shù)的正負,其余各位表示該數(shù)的絕對值。例如:+74=+1001010B,[+74]原=01001010B-74=-1001010B,[-74]原=11001010B8位二進制數(shù)原碼表示范圍為-127~+127。0的原碼表示有如下兩種,不是唯一的。[+0]原=00000000B[-0]原=10000000B原碼2023/2/378

正數(shù)的反碼與原碼相同,負數(shù)的反碼是原碼符號位不變,其余各位按位取反。例如:+74=+1001010B,[+74]反=01001010B-74=-1001010B,[-74]反=10110101B。8位二進制數(shù)反碼表示范圍為-127~+127。0的反碼表示有如下兩種,不是唯一的。[+0]反=00000000B[-0]反=11111111B

反碼2023/2/379

正數(shù)的補碼與反碼、原碼表示相同;負數(shù)的補碼是原碼符號位不變,其余各位按位求反后再加1。微型計算機中所有帶有符號的數(shù)均是以補碼形式來存放的。例如:+74=+1001010B,[+74]補=01001010B=4AH;-74=-1001010B,[-74]補=10110110B=B6H。8位二進制數(shù)補碼表示范圍為-128~+127。0的補碼表示是唯一的。對于0:[+0]補=[-0]補=00000000B補碼2023/2/380已知一個數(shù)的補碼,求其原碼時,應將其補碼再求補。即[[x]補]補=[x]原負數(shù)補碼的簡便求法:對負數(shù)的原碼,從最低位向左數(shù),在遇到第一個1以前,包括第一個1,重寫每一位,其余各位取反,符號位置1。-74=-1001010B,

[-74]補=11001010B

=CAH

[-74]補=10110110B=B6H。2023/2/381[99]補=01100011B

+[-58]補=11000110B[99-58]補=100101001B

用補碼運算99-58=?x、y無論是正數(shù)還是負數(shù),都有:[x±y]補=[x]補+[±y]補

引入補碼的概念后,可將減法變?yōu)榧臃ㄟ\算。因此微機中帶符號數(shù)采用補碼表示后可只設置加法器,簡化了硬件結構。補碼運算在8位字長的計算機中,第九位進位自然丟失。所以[99-58]補=[99]補+[-58]補=00101001B,[99-58]原=00101001B,因此99-58=41。2023/2/382[-99]補=10011101B+[-58]補=11000110B[-99-58]補=101100011B

在8位字長的計算機中,第九位進位自然丟失。所以[-99-58]補=[-99]補+[-58]補=01100011B,因符號位為正,所以[-99-58]原=01100011B,則-99-58=99,這個結果自然是錯誤的,原因在哪里呢?用補碼運算-99-58=?2023/2/383由于受計算機字長的限制,補碼所能表示的數(shù)值范圍也有一定的限制。如8位字長的計算機補碼所能表示的范圍是-128~+127。因此當運算結果超出此范圍時,將得到錯誤的結果,這就是溢出現(xiàn)象。當兩個同符號相加或兩個異號數(shù)相減時,結果可能會超出8位二進制補碼所能表示的范圍,可能會發(fā)生溢出。帶符號數(shù)運算的溢出現(xiàn)象2023/2/384兩個8位帶符號數(shù)(用補碼表示)相加(或相減),設第7位向上的進位(或借位)為C,D6向D7位的進位(或借位)為C’,則當C⊕C’=1時,產(chǎn)生溢出,否則無溢出。溢出的判別方法:2023/2/385解:10011001B

+11001101B101100110B

C=1,C’=0,C⊕C’=1,有溢出,結果錯誤。兩個8位帶符號數(shù)10011001B+11001101B相加是否溢出?

2023/2/386兩個8位帶符號數(shù)10000001B+01110011B相加是否溢出?

解:10000001B

+01110011B11110100B

C=0,C’=0,C⊕C’=0,無溢出,結果正確。2023/2/387(1)二進制編碼的十進制數(shù)(BCD碼)有些場合,計算機輸入、輸出數(shù)據(jù)時仍使用十進制數(shù),以適應人們的習慣。然而,計算機中只能采用二進制數(shù),只有0、1兩種狀態(tài)。為此,十進制數(shù)的數(shù)符必須用二進制碼表示,這就形成了二進制編碼的十進制數(shù),簡稱二—十進制數(shù),又稱BCD碼(BinaryC

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論