MCS-51 单片机原理及应用教程.ppt
《MCS-51 单片机原理及应用教程.ppt》由会员分享,可在线阅读,更多相关《MCS-51 单片机原理及应用教程.ppt(251页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、MCS-51 单片机原理及应用教程单片机原理及应用教程 清华大学出版社清华大学出版社刘迎春刘迎春 主编主编本书主要内容本书主要内容l单片机基础知识l单片机的组成与结构分析lMCS-51 单片机的指令系统l单片机的程序设计lMCS-51单片机的中断系统l定时/计数器l单片机的串行通信及接口lMCS-51单片机的系统扩展l接口技术lMCS-51兼容机及串行总线扩展第第1章章 单片机的基础知识单片机的基础知识微型计算机的系统组成微型计算机的系统组成单片机概述单片机概述不同计数制之间的转换数的表示方法数的表示方法思考练习题思考练习题1.1 微型计算机的系统集成微型计算机的系统集成1.1 微型计算机的系
2、统组成微型计算机的系统组成1.1.1 主机主机主机一般由运算器、控制器和主存储器组成。1.运算器运算器是进行算术和逻辑运算的部件,它由完成加法运算的加法器、存放操作数和运算结果的寄存器和累加器等组成。2.控制器它是整个计算机硬件系统的指挥中心,根据不同的指令产生不同的动作,指挥整个机器有条不紊地自动地进行工作。3.主存储器主存储器又称为内存储器,它由大量的存储单元组成,用以存储大量的数据及程序。1.1.2外部设备1.输入设备目前常用的有键盘、软驱、磁带机、光驱等2.输出设备常用的有显示器、打印机、绘图仪等3.外存储器常用的外存有磁带、磁盘、光盘,其中磁盘又可分为硬盘及软盘。1.2 单片机概述单
3、片机概述1.2.1单片机的发展概况第一阶段(19711976)第二阶段(19761979)第三阶段(19791982)第四阶段(19821990)第五阶段(1990至今)1.2.2 1.2.2 单片机的应用单片机的应用1.在工业测控中的应用2.在智能产品中的应用3.在计算机网络与通信技术中的应用1.2.3 1.2.3 单片机的发展趋势单片机的发展趋势1.3 不同计数制之间的转换不同计数制之间的转换1.3.1 1.3.1 十进制数十进制数一个十进制数,它的数值是由数码0,1,2,8,9来表示的。数码所处的位置不同,代表数的大小也不同。例如:53478=5104+3103+4102+7101+81
4、00,对应于:1.3.2 1.3.2 二进制数二进制数二进制是按“逢二进一”的原则进行计数的。二进制数的基为“2”,即其使用的数码为0、1,共两个。二进制数的权是以2为底的幂。例如:10110100=127+026+125+124+023+122+021+020,对应于:其各位的权为1,2,4,8,即以2为底的0次幂、1次幂、2次幂等。(10110100)2127+026+125+124+023+122+021+020=1801.3.3 1.3.3 十六进制数十六进制数十六进制数的基为16,即基数码共有l6个:0,1,2,3,4,5,6,7,8,9,A,B,C,D,E,F。其中A,B,C,D,
5、E,F分别代表值为十进制数中的10,11,12,13,14,15。十六进制的权为以16为底的幂。例如:4F8E=4163+F162+8161+E160=20366,对应于:常用计数制表示数的方法比较常用计数制表示数的方法比较十进制二进制十六进制0 00 1 11 2 102 3 113 4 1004 5 1015 6 1106 7 1117 8 10008 9 10019 10 1010A 11 1011B 12 1100C 13 1101D 14 1110E 15 1111F 16 1000010 1.3.4 1.3.4 不同进制数之间的转换不同进制数之间的转换1.十进制数转换成二进制数的方
6、法就是用2去除该十进制数,得商和余数,此余数为二进制代码的最小有效位(LSB)或最低位的值;再用2除该商数,又可得商数和余数,则此余数为LSB左邻的二进制代码(次低位)。依此类推,从低位到高位逐次进行,直到商是0为止,就可得到该十进制数的二进制代码。除二取余法除二取余法1.3.4 1.3.4 不同进制数之间的转换不同进制数之间的转换例如:将(67)10转换成二进制数,过程如下:即:(67)10=(1000011)2。1.3.4 1.3.4 不同进制数之间的转换不同进制数之间的转换1.十进制数转换成二进制数的方法将已知十进制的小数乘以2之后,可能有进位,使整数位为1(当该小数大于0.5时),也可
7、能没有进位,其整数位仍为零。该整数位的值为二进制小数的最高位。再将乘积的小数部分乘以2,所得整数位的值为二进制小数的次高位。依此类推,直到满足精度要求或乘2后的小数部分为0为止。乘二取整法乘二取整法例如:将(0.625)10转换成二进制数,其过程如下:即:(0.625)10=(0.101)21.3.4 1.3.4 不同进制数之间的转换不同进制数之间的转换2.二进制数转换为十进制数的方法将二进制数转换成十进制数时,只要将二进制数各位的权乘以各位的数码(0或1)再相加即可。例如:将(1101.1001)2制转换成十进制数:(1101.1001)2123+122+021+120+12-1+02-2+
8、02-3+12-48+4+0+1+0.5+0+0+0.0625=(13.5625)101.3.4 1.3.4 不同进制数之间的转换不同进制数之间的转换3.二进制与十六进制数之间的转换方法1)二进制数转换成十六进制数2)例如:把(101101101.1100101)2转换成十六进制数。即:(101101101.1100101)2=(16D.CA)16。1.3.4 1.3.4 不同进制数之间的转换不同进制数之间的转换2)十六进制数转换成二进制数将十六进制数转换成二进制数时,只要将每1位十六进制数用4位相应的二进制数表示即可完成转换。例如:将(ECA16)16转换成二进制数。即:(ECA16)16=
9、(11101100101000010110)2。1.3.5 1.3.5 二进制数的算术运算规则二进制数的算术运算规则1.二进制加法基本规则0+0=00+1=1+0=11+1=0向邻近高位有进位1+1+1=1向邻近高位有进位2.二进制减法基本规则0-0=01-1=01-0=10-1=1向邻近高位有借位3.二进制乘法基本规则00=001=10=011=14.二进制除法基本规则1/1=10/1=01.逻辑与运算基本规则00=010=01=011=12.逻辑或运算基本规则00=010=01=111=11.3.6 1.3.6 逻辑运算逻辑运算3.逻辑非运算基本规则/0=1/1=04.逻辑异或运算基本规则
10、00=11=010=01=11.4.1 1.4.1 真值与机器数真值与机器数单片机用来表示数的形式称为机器数,也称为机器码。而把对应于该机器数的算术值称为真值。设:N1=+1010101N2=-1010101这两个数在机器中表示为:N1:01010101N2:110101011.4 数的表示方法数的表示方法在计算机中还有一种数的表示方法,即机器中的全部有效位均用来表示数的大小,此时无符号位,这种表示方法称为无符号数的表示方法。1.4.2 1.4.2 原码、反码、补码原码、反码、补码1.原码表示法原码表示法是最简单的一种机器数表示法,只要把真值的符号部分用0或1表示即可。例如:真值为+34与-3
11、4的原码形式为:+34原=00100010-34原=101000100的原码有两种形式:+0原=00000000-0原=100000001.4 数的表示方法数的表示方法8位二进制数原码的表示范围为:1111111101111111,对应于-127+127。2.反码表示法反码是二进制数的另一种表示形式,正数的反码与原码相同;负数的反码是将其原码除符号位外按位求反。即原来为1变为0,原来为0变为1。例如:+34反=+34原=00100010-34原=10100010,-34反=110111010的反码也有两种形式:+0反=00000000-0反=111111118位二进制数反码的表示范围为:100
12、0000001111111,对应于-127+127。1.4 数的表示方法数的表示方法3.补码表示法1.4 数的表示方法数的表示方法正数的补码表示方法与原码相同,负数的补码表示方法为它的反码加1。例如:-21原=10010101-21反=11101010-21补=111010110的补码只有一种表示方法,即+0补=-0补=00000000。8位二进制数的补码所能表示的范围为1000000101111111,对应于-128+127。1.4.3 BCD1.4.3 BCD码码十进制8421BCD码二进制0 000000001 000100012 001000103 001100114 01000100
13、5 010101016 011001107 011101118 100010009 1001100110 0001 0000101011 0001 0001101112 0001 0010110013 0001 0011110114 0001 0100111015 0001 010111111.4.4 ASCII1.4.4 ASCII码码ASCII码是一种8位代码,最高位一般用于奇偶校验,用其余的7位代码来对128个字符编码,其中32个是控制字符,96个是图形字符。1.5 思考练习题思考练习题(1)微型计算机由哪几部分组成?(2)什么是单片机?它与一般微型计算机在结构上有什么区别?(3)单片机
14、主要应用在哪些方面?(4)将下面的一组十进制数转换成二进制数:56742319896814276.87 0.375 9.325 83.625134.0625(5)将下面的二进制数转换成十进制数和十六进制数:101100111010010111101001100111101000010111000101111011101000110011011.11101.01101(6)原码已经在下面列出,试写出各数的反码与补码:1000110110101100111010111000100111111111011000010111000111111001第第2章章 单片机的组成与结构分析单片机的组成与结构分
15、析MCS-51单片机的内部结构单片机的内部结构CPU的结构和功能的结构和功能存储器的组织结构存储器的组织结构MCS-51单片机的并行输入输出端口单片机的并行输入输出端口MCS-51 单片机的外部引脚及功能单片机的外部引脚及功能单片机指令时序单片机指令时序思考练习题思考练习题2.1 MCS-51单片机的内部结构单片机的内部结构2.1 MCS-51单片机的内部结构单片机的内部结构其基本特性如下:8位CPU,含片内振荡器;4KB的程序存储器ROM;128B的数据存储器RAM;64KB的外部程序存储器寻址能力;64KB的外部数据存储器寻址能力;32根输入输出(I/O)线;2个16位定时/计数器;1个全
16、双工异步串行口;21个特殊功能寄存器;5个中断源,2个优先级;具有位寻址功能。2.2 CPU的结构和功能的结构和功能2.2.1 2.2.1 运算器运算器8051单片机的运算器由算术/逻辑运算单元ALU、累加器A、寄存器B、暂存器1、暂存器2以及程序状态字寄存器PSW组成。图2.2 PSW寄存器各位的标志符号表2.1 寄存器PSW各位的功能、标志符号与相应的位地址功能标志符号位地址进位标志(又是C寄存器)CYPSW.7辅助进位标志ACPSW.6用户标志FOPSW.5工作寄存器组选择RS1PSW.4工作寄存器组选择RS0PSW.3溢出标志OVPSW.2保留PSW.1奇偶标志PPSW.02.2.2
17、2.2.2 控制器控制器2.3 存储器的组织结构存储器的组织结构存储器的功能是存储信息(即程序与数据)。存储器是组成计算机的主要部件,目前所使用的存储器以半导体存储器为主。从功能上来划分,半导体存储器可分为两大类:即只读存储器(ROM),和随机存储器(RAM)。8051单片机的控制器由指令寄存器、指令译码器、堆栈指针SP、程序计数器PC、数据指针DPTR、RAM地址寄存器以及16位地址缓冲器等组成。2.3.1 MCS-512.3.1 MCS-51单片机的存储器结构单片机的存储器结构图2.3 8051存储器配置图2.3.2 2.3.2 程序存储器程序存储器程序是控制计算机运行的一系列命令。计算机
18、能够识别并执行的命令是由代码“0”和“1”组成的一组机器指令。2.3.3 2.3.3 数据存储器数据存储器单片机的数据存储器由可读可写的存储器RAM组成,最多可扩展到64KB,用于存储数据。2.3.4 MCS-512.3.4 MCS-51单片机的内部数据存储器单片机的内部数据存储器MCS-51单片机的内部数据存储器由地址00HFFH共有256个字节的地址空间组成,这256个字节的地址空间被分为两部分,其中内部数据RAM地址为00H7FH(即0127)。图2.4 内部数据存储器地址空间1.内部数据RAM单元内 部 数 据RAM分 为工 作 寄 存器 区、位寻 址 区、通 用 RAM区 三 个 部
19、分。图2.5 RAM位地址(低128位在00H7FH)(a)系统复位后,未改变SP初值时的堆栈操作(设(A)=0ABH)(b)系统复位后,改变SP初值为60H时的堆栈操作图2.6 堆栈操作示例2.特殊功能寄存器特殊功能寄存器SFR的地址空间是80HFFH。表2.3 特殊功能寄存器的名称、符号与地址特殊功能寄存器名称符号位地址与位名称字节地址D7D6D5D4D3D2D1D0B寄存器BF7F6F5F4F3F2F1F0F0H累加器AE7E6E5E4E3E2E1E0E0H程序状态字PSWD7D6D5D4D3D2D1D0D0HCACF0RS1RS0OVP中断优先级控制IPBFBEBDBCBBBAB9B8
20、B8HPSPT1PX1PT0PX0D7D6D5D4D3D2D1D0P3口P3B7B6B5B4B3B2B1B0B0HP3.7P3.6P3.5P3.4P3.3P3.2P3.1P3.02.特殊功能寄存器中断允许控制IEAFAEADACABAAA9A8A8HEAESET1EX1ET0EX0P2口P2A7A6A5A4A3A2A1A0A0HP2.7P2.6P2.5P2.4P2.3P2.2P2.1P2.0串行数据缓冲器SBUF99H串行控制SCON9F9E9D9C9B9A999898HSM0SM1SM2RENTB8RB8TIRIP1口P1979695949392919090HP1.7P1.6P1.5P1.4
21、P1.3P1.2P1.1P1.0定时/计数器1高字节TH18DH定时/计数器0高字节TH08CH2.特殊功能寄存器定时/计数器1低字节TL18BH定时/计数器0低字节TL08AH定时/计数方式控制TMODGATEC/TM1M0GATEC/TM1M089H2.特殊功能寄存器特殊功能寄存器名称符号位地址与位名称字节地址D7D6D5D4D3D2D1D0定时器控制寄存器TCON8F8E8D8C8B8A898888HTF1TR1TF0TR0IE1IT1IE0IT0电源控制PCONSMOD87H数据指针高字节DPH83H数据指针低字节DPL82H堆栈指针SP81HP0口P08786858483828180
22、80HP0.7P0.6P0.5P0.4P0.3P0.2P0.1P0.02.4 MCS-51单片机的并行输入输出端口单片机的并行输入输出端口2.4.1 P02.4.1 P0口结构口结构1.P0用作通用I/O口2.P0用作地址/数据总线分时复用方式2.4.2 P22.4.2 P2口结构口结构1.P2口用作地址总线2.P2口用作通用I/O口2.4.3 P32.4.3 P3口结构口结构2.4.4 P12.4.4 P1口结构口结构2.5 MCS-51单片机的外部引脚及功能单片机的外部引脚及功能2.5.1 2.5.1 电源引脚电源引脚(b)双列直插式封装(a)方形封装2.5.2 2.5.2 外接晶振或外部
23、时钟信号输入端外接晶振或外部时钟信号输入端 (a)内部振荡器方式(b)外部振荡器方式图2.12 8051单片机的振荡器方式表2.4 按不同工艺制造的单片机芯片外接振荡器时的接法芯片类型接法XTAL1XTAL2CHMOS接外部振荡器脉冲输入端(带上拉电阻)悬浮HMOS接地接外部振荡器脉冲输入端(带上拉电阻)2.5.3 2.5.3 输入输出引脚输入输出引脚P0.0P0.7:通道0是一个8位漏极开路的双向输入输出通道。在外接存储器或者扩展I/O接口时,P0口作为复用的低8位地址总线和双向数据总线。在不扩展存储器或者I/O接口时,作为准双向输入输出接口。P1.0P1.7:只有一种功能,即准双向I/O口
24、。P2.0P2.7:可作为准双向I/O口使用;但在接有片外存储器或扩展I/O接口范围超过256B时,则该口一般只能作为高8位地址总线使用。P3.0P3.7:该口除了作为准双向口外,还具有第二功能。2.5.4 2.5.4 控制线控制线1.ALE/2.3./VPP4.RST(a)上电复位(b)电平开关复位图2.13复位电路2.6 单片机指令时序单片机指令时序2.7 思考练习题思考练习题(1)MCS-51单片机包含哪些主要逻辑功能部件?(2)程序状态字寄存器PSW包含哪几个标志位?各位的含义是什么?各有何作用?(3)什么叫单片机?(4)MCS-51单片机的存储结构有何特点?(5)单片机的端有何作用?
25、在8031组成的单片机应用系统中,其端怎样处理?为什么?(6)单片机内部RAM分为哪几个部分?各有何作用?(7)MCS-51单片机的堆栈SP在操作中遵循什么原则?在开机复位时,其初值是多少?是否可以通过程序重新设置?(8)怎样确定和改变单片机当前的工作寄存器组?(9)简要说明单片机的位地址分配。(10)试画出常用的单片机复位电路,并说明复位后各个寄存器的状态。第3章MCS-51单片机的指令系统u 汇编语言的指令格式及符号简介汇编语言的指令格式及符号简介u 寻址方式u 数据传送类指令u算术运算类指令u逻辑运算类指令u位操作类指令u控制转移类指令u思考练习题3.1 汇编语言的指令格式及符号简介汇编
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- MCS-51 单片机原理及应用教程 MCS 51 单片机 原理 应用 教程
限制150内