《【教学课件】第一章单片机基础知识.ppt》由会员分享,可在线阅读,更多相关《【教学课件】第一章单片机基础知识.ppt(35页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、第一章第一章 单片机基础知识单片机基础知识1-1 1-1 单片机概述单片机概述1-2 1-2 数制及数码数制及数码内容提要内容提要:1-1 1-1 单片机概述单片机概述一、什么是单片机一、什么是单片机单片机就是单片微型计算机单片机就是单片微型计算机(Single-ChipMicrocomputer)。微型计算机系统的硬件部分通常由五部分组成微型计算机系统的硬件部分通常由五部分组成:输入设备输入设备运算器运算器输出设备输出设备控制器控制器存储器存储器这种计算机系统通常由多块印刷电路板制成:这种计算机系统通常由多块印刷电路板制成:多板机多板机 主板显卡显卡声卡声卡存储器接口存储器接口网卡网卡输入输
2、出接口输入输出接口内存条内存条CPU芯片芯片内存条内存条存储器接口存储器接口存储器芯片存储器芯片输入输出接口输入输出接口输入输出接口输入输出接口芯片芯片定时计数器定时计数器芯片芯片A/D、D/A芯片芯片单板机印印刷刷电电路路板板单单硅硅晶晶片片CPU存储器存储器控制电路控制电路定时器定时器时钟电路时钟电路I/O口口单片机(1)体积小,重量轻;体积小,重量轻;(2)可靠性高,运行速度快,抗干扰能力强;可靠性高,运行速度快,抗干扰能力强;(3)控制功能强,使用灵活,性价比高;控制功能强,使用灵活,性价比高;(4)易扩展,易于开发;易扩展,易于开发;(5)受集成度限制,片内存储器容量较小,一般受集成
3、度限制,片内存储器容量较小,一般内内ROM在在8KB以下,内以下,内RAM在在256B以内。以内。单片机是应工业测控的需要而诞生的单片机是应工业测控的需要而诞生的,它的结构与指令功它的结构与指令功能都是按照工业控制要求设计的能都是按照工业控制要求设计的,故又称单片微控制器故又称单片微控制器(SingleChipMicrocontroller)。单片机特点:单片机特点:以单片机为核心的应用系统广泛应用于:以单片机为核心的应用系统广泛应用于:家用电器;家用电器;工业过程控制;工业过程控制;仪器仪表;仪器仪表;智能武器;智能武器;航空、汽车等领域。航空、汽车等领域。二、单片机系统的组成二、单片机系统
4、的组成CPUABDBCB存储器存储器接口部件接口部件键盘键盘显示器显示器数码管数码管打印机打印机定时计数器定时计数器单片机系统硬件部分软件部分单片机芯片外围器件CPU内存中断控制逻辑通用接口运算器寄存器组控制器并行I/O口串行UART定时/计数器ADC0809、DAC0832825382518255A、81552764、6264指令系统应用程序1-2 数制及数码计算机只识别和处理数字信息,数字是以二进制数的形式表示的。计算机只识别和处理数字信息,数字是以二进制数的形式表示的。它易于物理实现,同时,资料存储、传送和处理简单可靠;运算它易于物理实现,同时,资料存储、传送和处理简单可靠;运算规则简单
5、,使逻辑电路的设计、分析、综合方便,使计算器具有规则简单,使逻辑电路的设计、分析、综合方便,使计算器具有逻辑性。逻辑性。一、数制一、数制1、常用数制、常用数制(1.)十进制数:)十进制数:1985=1000+900+80+5=1103+9102+8101+5100特点:特点:有有09十个不同的符号。十个不同的符号。逢十进一。逢十进一。一般用下脚标一般用下脚标D表示,如表示,如1985D,或无下脚标。或无下脚标。(2.)二进制数:)二进制数:特点:有特点:有0,1两个不同的符号。两个不同的符号。逢二进一。二进制数的下脚标为逢二进一。二进制数的下脚标为B例如:对于整数例如:对于整数,1001B=1
6、23+022+021+120=9D对于小数,对于小数,0.101B=12-1+02-2+12-3=0.625D二进制数每一位的权是:以小数点分界,二进制数每一位的权是:以小数点分界,.24,23,22,21,20.2-1,2-2,2-3,(3.)十六进制数:)十六进制数:有有09,A,B,C,D,E,F共十六个不同的符号。共十六个不同的符号。逢十六进位。用下脚标逢十六进位。用下脚标“H”表示十六进制数。表示十六进制数。例:例:327H=3162+2161+7160=807D3AB.11H=3162+A161+B160+1161+116-2=939.0664D2、数制的转换、数制的转换(1.)二
7、进制转换为十进制数二进制转换为十进制数方法方法:按权展开。按权展开。111.101B=122+121+120+12-1+02-2+123=4+2+1+0.5+0.125=7.625D(2.)十进制数转换为二进制数十进制数转换为二进制数方法:方法:整数部分除二取余,小数部分乘二取整整数部分除二取余,小数部分乘二取整45余数余数22111051211001222222即即45=(101101)2例例1、将十进制数、将十进制数45转换成二进制数。转换成二进制数。例例2:十进制小数部分的转换:十进制小数部分的转换:乘二取整乘二取整0.68752最高位最高位取取11.37500.3752取取00.750
8、2取取11.500.52最低位最低位取取11.0从上至下写成从左至右从上至下写成从左至右10110.6875D=0.B二进制数转换成八进制数与上述类似。二进制数转换成八进制数与上述类似。(3.)十六进制数与二进制数之间的转换)十六进制数与二进制数之间的转换:十六进制数转换为二进制:十六进制数转换为二进制:9AB.7C5H100110101011.011111000101B二进制数转换十六进制数二进制数转换十六进制数:0001101111100011.100101111000B1BE3.978H二、数码二、数码1、机器数与真值、机器数与真值机器只认识二进制数:机器只认识二进制数:0、1。这是因为
9、,电路状态常常有两种情况,这是因为,电路状态常常有两种情况,如:电路的通、断;如:电路的通、断;高电平、低电平;可用高电平、低电平;可用0、1表示。表示。在机器中,这种在机器中,这种0、1、0、1的表现形式称为机器数。的表现形式称为机器数。机器数分为无符号数、带符号数。机器数分为无符号数、带符号数。无符号数如:无符号数如:00000001、10010011、01010010、等等,范围:等等,范围:00H FFH。有符号数如:有符号数如:+1010110B、-1101001B、等等等等01010110B、11101001B 2 2、机器数的编码及运算、机器数的编码及运算对带符号数而言,有原码、
10、反码、补码之分,计算机内一般使用补对带符号数而言,有原码、反码、补码之分,计算机内一般使用补码。码。(1)原码)原码将将数数“数数码码化化”,原原数数前前“+”用用0表表示示,原原数数前前“-”用用1表表示示,数数值部分为该数本身,这样的机器数叫原码。值部分为该数本身,这样的机器数叫原码。设设X原数;则原数;则X原原=X(X0)X原原=2n-1X(X0),),n为字长的位数。为字长的位数。如,如,+3原原=00000011B-3原原=27-(-3)=10000011B0有两种表示方法:有两种表示方法:00000000+010000000-0原码最大、最小的表示:原码最大、最小的表示:+127、
11、-128(2)反码)反码规规定定正正数数的的反反码码等等于于原原码码;负负数数的的反反码码是是将将原原码码的的数数值值位位各各位位取反。取反。X反反=X(X0)X反反=(2n1)+X(X0)如,如,+4反反=+4原原=00000100B-4反反=(281)+(-5)=11111111-00000101=11111010B反码范围:反码范围:-128+127两个两个0:+000000000B-011111111B运用补码可使减法变成加法。运用补码可使减法变成加法。规定:正数的补码等于原码。规定:正数的补码等于原码。负数的补码求法:负数的补码求法:1)反码)反码+12)公式:)公式:X补补=2n+
12、X(X0)如,如,设设X=-0101110B,则则X原原=10101110B则则X补补=X反反+1=11010001+00000001=11010010B如,如,+6补补=+6原原=00000110B-6补补=28+(-6)=1000000000000110=11111010B8位补码的范围位补码的范围128+127。0的个数:只一个,即的个数:只一个,即00000000而而10000000B是是-128的补码。的补码。原码、反码、补码对照表:见下表原码、反码、补码对照表:见下表123(3)补码)补码补补码码的的概概念念:现现在在是是下下午午3点点,手手表表停停在在12点点,可可正正拨拨3点点
13、,也也可可倒倒拨拨9点点。即即是说是说-9的操作可用的操作可用+3来实现,在来实现,在12点里:点里:3、-9互为补码。互为补码。八位二进制数所能表示的数据范围八位二进制数所能表示的数据范围机器数机器数无符号数无符号数原码原码反码反码补码补码000000000+0+0+0000000011+1+1+1.01111111127+127+127+12710000000128-0-127-12810000001129-1-126-127.11111110254-126-1-211111111255-127-0-1(4)补码的运算)补码的运算当当X0时,时,X补补=X反反=X原原X补补补补=X原原X补
14、补+Y补补=X+Y补补X-Y补补=X+(-Y)补补例:已知例:已知X=52Y=38求求X-Y方法方法1:减法:减法:X-Y=52-38=1400110100-)0010011000001110方法方法2:加法加法X-Y=X-Y补补补补=X补补+-Y补补补补=52补补+-38补补补补=14补补=1452补补:00110100-38补补:+)11011010100001110自然丢失自然丢失计算机在做算术运算时,必需检查溢出,以防止发生错误计算机在做算术运算时,必需检查溢出,以防止发生错误(5)运算的溢出问题运算的溢出问题由由于于计计算算机机中中表表示示数数据据的的字字长长(位位数数)有有一一定定
15、限限制制,所以数据的表示应有一个范围。所以数据的表示应有一个范围。如字长如字长8位时;位时;补码范围补码范围-128+127若运算结果超出这个范围,便溢出。若运算结果超出这个范围,便溢出。例:例:98补补:0110001025补补:+)00011001123补补001111011未溢出未溢出00Cs+1Cs(未溢出)未溢出)85补补:0101010147补补:+)00101111132补补:10000100溢出溢出01Cs+1Cs(溢出)溢出)错:两个正数相加和为负数。错:两个正数相加和为负数。-85补补:10101011-47补补:+)11010001-132补补:101111100溢出溢出
16、10Cs+1Cs错:两个负数相加和为正数。错:两个负数相加和为正数。-19补补:01010101-79补补:+)10110001-98补补:11001111未溢出未溢出11Cs+1Cs错:两个负数相加和为正数。错:两个负数相加和为正数。总之:结果正确(无溢出)时,总之:结果正确(无溢出)时,Cs+1=Cs结果错误(溢出)时,结果错误(溢出)时,Cs+1Cs溢出判断:溢出溢出判断:溢出=Cs+1Cs(即结果是即结果是0为无溢出;为无溢出;1为有溢出)为有溢出)1、(6)十进制数的编码十进制数的编码对机器:二进制数方便,对机器:二进制数方便,对人对人:二进制数不直观,习惯于十进制数。:二进制数不直
17、观,习惯于十进制数。在编程过程中,有时需要采用十进制运算,但机器不认识十进制数。在编程过程中,有时需要采用十进制运算,但机器不认识十进制数。怎么办?怎么办?可以将十进制的字符用二进制数进行编码:可以将十进制的字符用二进制数进行编码:00000501011010111110001601101011200107011111003001181000110140100910011110这叫做二进制数对十进制编码这叫做二进制数对十进制编码BCD码。码。上述每上述每4位二进制数表示一个十进制字符,这位二进制数表示一个十进制字符,这4位中各位的权依次是:位中各位的权依次是:8、4、2、18421BCD码。码
18、。BCD码的运算:码的运算:例、例、18+)32100011000+)0000001100011011B是非是非BCD码(错)码(错)需进行十进制调整:需进行十进制调整:00011000+)0000001100011011(个位大于(个位大于9,应进,应进1)+)0110(加(加6使进使进1)00100001(结果形如(结果形如21)BCD码加法规则:码加法规则:两个两个BCD数相加时,数相加时,“某位某位”的和小于的和小于10则保持不变;则保持不变;两个两个BCD数相加时,数相加时,“某位某位”的和大于的和大于9,则和数应加,则和数应加6修正。修正。BCD码减法规则:码减法规则:两两个个BC
19、D数数相相减减时时,“某某位位”的的差差未未发发生生借借位位,则则差差数数保保持持不不变;变;两个两个BCD数相减时,数相减时,“某位某位”发生了借位,其差应减发生了借位,其差应减6修正。修正。这里这里“某位某位”指指BCD数中的数中的“个位个位”、“十位十位”、“百位百位”、加法举例:加法举例:01100101(65)+)10010111(97)11111100+)01100110(加(加66调整)调整)101100010(162)减法举例:减法举例:00110100(34)-)00010101(15)00011111-)0110(减(减6调整)调整)00011001(29)(7)字符信息的
20、表示)字符信息的表示计算机能识别计算机能识别0、1、0、1、;这些;这些0、1、0、1、有的有的代表数值,有的仅代表要处理的信息(如字母、标点符号、代表数值,有的仅代表要处理的信息(如字母、标点符号、数字符号等文字符号),所以,计算机不仅要认识各种数字,数字符号等文字符号),所以,计算机不仅要认识各种数字,还要能识别各种文字符号。人们事先已对各种文字符号进行还要能识别各种文字符号。人们事先已对各种文字符号进行二进制数编码。二进制数编码。如,如,美国信息交换标准码美国信息交换标准码ASCII码,用一个字节表示一个码,用一个字节表示一个字符。字符。低低7位是字符的位是字符的ASCII码值;最高位是通信时的码值;最高位是通信时的 校验位。校验位。综上所述综上所述,计算机中的数可以有各种不同的表示方法,计算机中以一个字节为一个单元保存数据,一个字节为一个字节为8 8位二进制数位二进制数,可以有可以有256256种组合种组合,也就是可以表示也就是可以表示256256个数据个数据,我们称它为机器数,每一个机器数实际表示的是什么,要看采用的是那种表示方法。