第1章单片机基础知识_第1页
第1章单片机基础知识_第2页
第1章单片机基础知识_第3页
第1章单片机基础知识_第4页
第1章单片机基础知识_第5页
已阅读5页,还剩25页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、单片机原理与应用单片机原理与应用MCS-51单片机的组成单片机的组成 什么是单片机?什么是单片机?即单片计算机即单片计算机(Single Chip Computer):是将中央处理器是将中央处理器(CPU)、随机读写存储器、随机读写存储器(RAM: Random Access Memory)、只读存储器、只读存储器(ROM: Read Only Memory)、定时器定时器/计数器计数器(Timer/Counter)以及输入以及输入/输出输出(Input/Output)接口电路等计算机主要部件,集成在一块芯片上的计算机。接口电路等计算机主要部件,集成在一块芯片上的计算机。 单片机主要用于控制领

2、域,目前国际上统称单片机主要用于控制领域,目前国际上统称微控制器微控制器(Microcontroller)。 虽然单片机只是一个芯片,但从组成与虽然单片机只是一个芯片,但从组成与功能来看,单片机具有计算机的特点。功能来看,单片机具有计算机的特点。INT0INT1TXD RXDT0P3P2P1P0T1CPUROMRAM定时器定时器/计数器计数器并行接口并行接口串行接口串行接口中断系统中断系统时钟电路时钟电路8051系统总线系统总线晶体振荡器晶体振荡器8051内核的基本结构框图内核的基本结构框图 单片机的特点单片机的特点(1)体积小、重量轻、功耗低、功能强、性价比高。)体积小、重量轻、功耗低、功能

3、强、性价比高。(2)数据大都在单片机内部传送,运行速度快,抗干扰能力)数据大都在单片机内部传送,运行速度快,抗干扰能力强,可靠性高。强,可靠性高。(3)结构灵活,易于组成各种单片机应用系统。)结构灵活,易于组成各种单片机应用系统。(4)应用广泛,既可用于工业自动控制等场合,又可用于测)应用广泛,既可用于工业自动控制等场合,又可用于测量仪器、医疗仪器及家用电器等领域。量仪器、医疗仪器及家用电器等领域。 按数据总线位数分类:按数据总线位数分类:4位、位、8位、位、16位、位、32位单片机位单片机 8051系列系列单片机。单片机。Intel: 8051/ 8031 /8751 /8052/80C51

4、。Atmel : 89C51/ 89C52/ 89S51/AT89C2051。 MCS-96系列系列单片机。单片机。16位。位。1983年推出。年推出。8路路A/D转换转换器,器,8位位PWM, 高速输入输出口高速输入输出口(HSIO), 16位监视定时器。随位监视定时器。随后推出后推出80C196。 Motorola 公司公司68HC05/68HC11系列单片机。系列单片机。 Freescale(飞思卡尔飞思卡尔) MC9S08,8位位 MC9S12,16位位 68K,32位位8051单片机常用系列单片机常用系列8051单片机系列单片机系列 8051系列分为系列分为51和和52两个子系列,其

5、中两个子系列,其中51子系列是子系列是基本型,而基本型,而52子系列属于增强型。子系列属于增强型。 资资 源源 配配 置置 子子 系系 列列片内片内ROM的形式的形式片内片内ROM容量容量片内片内RAM容量容量定时器定时器与与计数器计数器中中断断源源无无ROMEPROME2PROM851系列系列80318051875189514KB128B21658C51系列系列80C3180C5187C5189C514KB128B2165852系列系列80328052875289528KB256B31668C252系列系列80C23280C25287C25289C2528KB256B3167 单片机应用单片

6、机应用无孔不入。可用于工业测控、仪无孔不入。可用于工业测控、仪器仪表、家用电器、通信、日用电器、计算机外器仪表、家用电器、通信、日用电器、计算机外设等。设等。单片机的应用单片机的应用 一个简单实例及单片机应用系统开发过程一个简单实例及单片机应用系统开发过程例例1-1 要求用单片机制作一个要求用单片机制作一个LED指示灯,让指示灯,让LED发光二发光二极管不断地闪烁。这是单片机应用的一个最简单实例。硬极管不断地闪烁。这是单片机应用的一个最简单实例。硬件电路如图件电路如图1-3所示。所示。 125101534678980511112131416171819202629282725242322213

7、534333231304039383736P1.0P1.1P1.2P1.3P1.4P1.5P1.6P1.7P0.0/AD0P0.1/AD1P0.2/AD2P0.3/AD3P0.4/AD4P0.5/AD5P0.6/AD6P0.7/AD7P2.7/A15P2.6/A14P2.5/A13P2.4/A12P2.3/A11P2.2/A10P2.1/A9P2.0/A8RXD/P3.0TXD/P3.1/P3.2/P3.3T0/P3.4T1/P3.5/P3.6/P3.7RSTVccGNDXTAL2XTAL1Vpp/EAPROG/ALEPSENINT0INT1WRRD12MHz20pF20pFF 10VccVc

8、cLEDk1GNDVcc图图1-3 LED指示灯闪烁电路指示灯闪烁电路 汇编语言程序汇编语言程序ORG 0000H ; 单片机复位从单片机复位从0000H地址开始执行程序地址开始执行程序START: CLR P1.2; 将将P1.2引脚设置为低电平,引脚设置为低电平,LED发光二极管亮发光二极管亮ACALL DELAY ; 调用子程序,延时调用子程序,延时200 msSETBP1.2; 将将P1.2引脚设置为高电平,引脚设置为高电平,; LED发光二极管灭发光二极管灭ACALL DELAY ; 调用子程序,延时调用子程序,延时200 msSJMPSTART ; 跳转循环执行跳转循环执行DELA

9、Y:MOV R6,#200 ; 200 ms 延时子程序延时子程序DL1: MOVR5, #250 DL2: NOP ; 1sNOP ; 1s DJNZ R5, DL2 ; 2s 内循环延时大约内循环延时大约4*250*1s=1 msDJNZ R6, DL1 ; 双重循环共延时大约双重循环共延时大约200*1 ms=200 msRETEND数制及编码数制及编码数制数制 十进制十进制 数字符号:数字符号:0 09 9 规则:规则:逢十进一逢十进一。 例:例:1986.5=11986.5=110103 3 +9+910102 2 +8+810101 1 +6+610100 0 +5+51010-1

10、-1 加权展开式以加权展开式以1010为基数,各位系数为为基数,各位系数为0 09 9。 一般表达式:一般表达式: X XD D= x= xm m1010m m+ +x+x0 010100 0 +x+x-1-11010-1-1+ +二进制二进制 数字符号:数字符号:0 0、1 1 规则:逢二进一规则:逢二进一。例:例:1101.101=11101.101=12 23 3+1+12 22 2+0+02 21 1+1+12 20 0+1+12 2-1-1+1+12 2-3-3 加权展开式以加权展开式以2 2为基数,各位系数为为基数,各位系数为0 0、1 1。 一般表达式:一般表达式: X = xX

11、 = xm m2 2m m + + +x+x0 02 20 0 +x+x-1-12 2-1-1+ + 使用十进制数,每位数字有使用十进制数,每位数字有09十个数字状态,十个数字状态,在电路上难以实现。计算机中广泛使用二数制,因在电路上难以实现。计算机中广泛使用二数制,因为数字电路中容易实现为数字电路中容易实现0、1两种状态,如电路的开两种状态,如电路的开与关,晶体管的饱和导通与截止。与关,晶体管的饱和导通与截止。 二进制书写麻烦,十六进制二进制书写麻烦,十六进制是人们在计算机指是人们在计算机指令代码和数据的书写中经常使用的数制。令代码和数据的书写中经常使用的数制。十六进制十六进制数字符号:数字

12、符号:0 09 9、A AF F 规则:逢十六进一。规则:逢十六进一。 例:例:DFC.8=13DFC.8=1316162 2 +15 +1516161 1 +12 +1216160 0 +8 +81616-1-1 展开式以十六为基数,各位系数为展开式以十六为基数,各位系数为0 09 9,A AF F。 一般表达式:一般表达式: X= xX= xm m1616m m+ + + x+ x0 016160 0+ x+ x-1-11616-1-1+ +为避免混淆,采用后缀表示不同进制。为避免混淆,采用后缀表示不同进制。B: 表示二进制表示二进制(Binary)。例如。例如 11.1 B或或(11.1

13、)2H:表示表示16进制进制(Hexadecimal)。例如。例如 10 HD:表示十进制表示十进制(Decimal)。例如。例如 10 D (D也可省略也可省略)各种进制数的转换各种进制数的转换 十制数人们使用方便,计算机采用二进制,十制数人们使用方便,计算机采用二进制,16进制是二进制是二进制的简便形式。各种进制需要转换。进制的简便形式。各种进制需要转换。各种进制数码对照表各种进制数码对照表 十进制十进制二进制二进制十六进制十六进制 十进制十进制二进制二进制十六进制十六进制 0 00000B 0000B 0H0H9 91001B 1001B 9H9H1 10001B 0001B 1H1H1

14、0101010B 1010B AHAH2 20010B 0010B 2H2H11111011B 1011B BHBH3 30011B 0011B 3H3H12121100B 1100B CHCH4 40100B 0100B 4H4H13131101B 1101B DHDH5 50101B 0101B 5H5H14141110B 1110B EHEH6 60110B 0110B 6H6H15151111B 1111B FHFH7 70111B 0111B 7H7H16161 0000B 1 0000B 10H10H8 81000B 1000B 8H8H17171 0001B 1 0001B 11

15、H11H二进制与十六进制数之间的转换二进制与十六进制数之间的转换 24=16 ,四位二进制数对应一位十六进制数。,四位二进制数对应一位十六进制数。 例:例: 3AF.2H= 0011 1010 1111.0010 = 11 1010 1111.001B 3 A F 2 111 1101.11B = 0111 1101.1100 = 7D.CH 7 D C二进制、十六进制数转换成十进制数二进制、十六进制数转换成十进制数 按权值展开按权值展开,然后按照十进制运算法则求和。例然后按照十进制运算法则求和。例: 1011.1010B=11011.1010B=12 23 3+1+12 21 1+1+12

16、20 0+1+12 2-1-1+1+12 2-3-3=11.625=11.625DFC.8H =13DFC.8H =1316162 2+15+1516161 1+12+1216160 0+8+81616-1 -1 = 3580.5= 3580.5十进制数转换成二、十六进制数十进制数转换成二、十六进制数 整数转换法整数转换法 “除基取余除基取余”:十进制整数不断除以转换进制基数,:十进制整数不断除以转换进制基数,直至商为直至商为0。每除一次取一个余数,从低位排向高位。每除一次取一个余数,从低位排向高位。 例:例: (a) 39转换成二进制数转换成二进制数 39 =10 0111B 2 39 1

17、( b0) 2 19 1 ( b1) 2 9 1 ( b2) 2 4 0 ( b3) 2 2 0 ( b4) 2 1 1 ( b5) 0 0(b) 208转换成十六进制数转换成十六进制数 208 = D0H=1101 000B16 208 余 016 13 余 13 D 0 小数转换法小数转换法 “乘基取整乘基取整”:十进制纯小数不断乘以转换进制基数,:十进制纯小数不断乘以转换进制基数,直至满意的精度。每乘一次取一位整数,从高位排向低位。直至满意的精度。每乘一次取一位整数,从高位排向低位。 例:例: 将十进制数将十进制数0.625转换成二进制数。转换成二进制数。0.625 21.250 2 0

18、.5 2 1.0101最高位最低位所以(所以(0.625)D=0.101B1. 有符号数的表示法有符号数的表示法 机器数机器数:一个数放在计算机中的形式。机器数表示的一个数放在计算机中的形式。机器数表示的实际数本身的大小,为机器数的实际数本身的大小,为机器数的真值真值(通常用十进制表(通常用十进制表示)。一个有符号数,由于编码不同,可有几种机器数。示)。一个有符号数,由于编码不同,可有几种机器数。反之一个机器数,由于编码不同,可以代表几种真值。反之一个机器数,由于编码不同,可以代表几种真值。1.6.2 编码编码 计算机中的数即机器数,可以代表无符号数,也可以代表计算机中的数即机器数,可以代表无

19、符号数,也可以代表有符号数,有时还可以代表字符,究竟代表什么由编程者确定。有符号数,有时还可以代表字符,究竟代表什么由编程者确定。符号数的表示方法表符号数的表示方法表 真值真值原原 码码反反 码码补补 码码+127+1270111 1111B0111 1111B0111 1111B0111 1111B0111 1111B0111 1111B(7FH7FH)+1+10000 0001B0000 0001B0000 0001B0000 0001B0000 0001B0000 0001B(01H01H)+0+00000 0000B0000 0000B0000 0000B0000 0000B0000

20、0000B0000 0000B(00H00H)-0-01000 0000B1000 0000B1111 1111B1111 1111B0000 0000B0000 0000B(00H00H)-1-11000 0001B1000 0001B1111 1110B1111 1110B1111 1111B1111 1111B(FFHFFH)-127-1271111 1111B1111 1111B1000 0000B1000 0000B1000 0001B1000 0001B(81H81H)-128-128-1000 0000B1000 0000B(80H80H)原码原码 对于带符号二进制数,直接用最高

21、位表示数的符号,数值用对于带符号二进制数,直接用最高位表示数的符号,数值用其绝对值表示的形式称为原码。正数的符号位用其绝对值表示的形式称为原码。正数的符号位用0表示,负数的表示,负数的符号位用符号位用1表示。表示。 例,例,x=114, x原原 = 0111 0010 B x=-114, x原原 = 1111 0010 B 这里,最高位为符号位,后面这里,最高位为符号位,后面7位为数值位。若字长为位为数值位。若字长为16位,位,那么后面的那么后面的15位为数值部分。位为数值部分。 8位二进制原码表示数的范围是位二进制原码表示数的范围是-127+127( 1111 1111 0111 1111

22、)。0的原码有两种:的原码有两种: +0原原 = 0000 0000 B -0原原 = 1000 0000 B 反码反码 正数的反码与原码相同。负数的反码,符号位为正数的反码与原码相同。负数的反码,符号位为1,数值位将其原码数值位按位取反。,数值位将其原码数值位按位取反。 例,例,x=-4, -4反反 = 1111 1011 B x=-0, -0反反 = 1111 1111 B x=+4, 4反反 = 0000 0100 B x=+0, +0反反 = 0000 0000 B 8位二进制反码表示数的范围也是位二进制反码表示数的范围也是-127+127 ( 1000 00000111 1111 )

23、 。0的反码也有两种。的反码也有两种。补码补码 正数的补码与原码或反码相同。负数的补码为其反正数的补码与原码或反码相同。负数的补码为其反码加码加1。计算机一般采用补码表示带符号数。计算机一般采用补码表示带符号数。 例,例, x=+4, +4补补=+4原原 = 0000 0100 B x=-4, -4补补=-4反反 +1= 1111 1100 B x=+0, +0补补=+0反反 = 0000 0000 B x=-0, -0补补 =-0反反+1= 0000 0000 B x=-127, x补补=1000 0001 x=-128, x补补=1000 0000(规定)(规定) 8位二进制补码的特点:位

24、二进制补码的特点: (1) 8位二进制补码表示数的范围是位二进制补码表示数的范围是-128+127 ( 1000 00000111 1111 ) 。 (2) 0的补码只有一种形式。的补码只有一种形式。 (3) x原原=x补补补补。 (4) 利用补码可以把减法变为加法。同时符号位利用补码可以把减法变为加法。同时符号位连同数值可以一起参加运算。连同数值可以一起参加运算。 例,例,x=24-10=14 可以用补码计算。可以用补码计算。x补补=24补补+-10补补 0001 1000 24补补 + 1111 0110 -10补补 1 0000 1110 14补补 最高位的进位最高位的进位1,自然丢失。

25、结果一样。,自然丢失。结果一样。 钟表的例子。钟表的例子。满刻度为满刻度为12小时(小时(12进制),进制),相当于回到起点。相当于回到起点。19点相当于晚上点相当于晚上7点。点。9点要调点要调到到7点,可以向前拨增加点,可以向前拨增加10个小时,也可以向后拨个小时,也可以向后拨减少减少2个小时。个小时。即即 9-2=7 9+10=19=12+7=7 模模(Mod) 12 8位二进制补码的其他求法:位二进制补码的其他求法:16进制进制 如如-1补补=0-1=100H-1=FFH=1111 1111B8位与位与16位二进制数表示的范围位二进制数表示的范围8位二进制数表示的范围位二进制数表示的范围

26、无符号数:无符号数:0000 00001111 1111B, 0255, 0FFH16位二进制数表示的范围位二进制数表示的范围带符号数:带符号数: 原码:原码:0000 00001111 1111B, -127+127 , 反码:反码:0000 00001111 1111B, -127+127 , 补码:补码:0000 00001111 1111B, -128+127 无符号数:无符号数:0FFFFH, 065535带符号数补码:带符号数补码:8000H(-32768) 7FFFH(32767)2. BCD码(二进制编码的十进制数)码(二进制编码的十进制数) 计算机除了能对二进制数进行运算处理

27、外,还要能对各种计算机除了能对二进制数进行运算处理外,还要能对各种字符、标点符号等信息进行识别处理,这些字符在计算机中也字符、标点符号等信息进行识别处理,这些字符在计算机中也用二进制代码表示,称为二进制编码。用二进制代码表示,称为二进制编码。 用二进制码表示十进制数的代码称为用二进制码表示十进制数的代码称为BCD码码(Binary Coded Decimal )。常用。常用8421 BCD码。其编码规则见下表。码。其编码规则见下表。 BCD码与码与十进制数相互转换方便。四位二进制代表一位十进制数。十进制数相互转换方便。四位二进制代表一位十进制数。十进制数十进制数BCD码码十进制数十进制数BCD码码0 00000B0000B5 50101B0

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论