单片机原理及应用.ppt

上传人:re****.1 文档编号:571480179 上传时间:2024-08-11 格式:PPT 页数:40 大小:325KB
返回 下载 相关 举报
单片机原理及应用.ppt_第1页
第1页 / 共40页
单片机原理及应用.ppt_第2页
第2页 / 共40页
单片机原理及应用.ppt_第3页
第3页 / 共40页
单片机原理及应用.ppt_第4页
第4页 / 共40页
单片机原理及应用.ppt_第5页
第5页 / 共40页
点击查看更多>>
资源描述

《单片机原理及应用.ppt》由会员分享,可在线阅读,更多相关《单片机原理及应用.ppt(40页珍藏版)》请在金锄头文库上搜索。

1、 第一章第一章 微型计算机基础知识微型计算机基础知识1.1 微型计算机的组成及工作原理微型计算机的组成及工作原理1.1.1微型计算机中的基本概念1.微处理器2.微型计算机(1)单片微处理机(2)通用微型计算机3.微型计算机系统1.1.2微机基本结构微型计算机的基本组成如图1.1所示,它由中央处理器(CPU)、存储器(Memory)、输入输出接口(I/O接口)和系统总线(BUS)构成。图1.1微型计算机的基本组成1.1.3微型计算机的基本工作过程微型计算机的基本工作过程是执行程序的过程,也就是CPU自动从程序存放的第1个存储单元起,逐步取出指令、分析指令,并根据指令规定的操作类型和操作对象,执行

2、指令规定的相关操作。如此重复,周而复始,直至执行完程序的所有指令,从而实现程序的基本功能,这就是微型计算机的基本工作原理。1.2 典型单片机产品简介典型单片机产品简介1.2.1MCS-51单片机系列MCS-51可分为两个子系列和4种类型,如表1-1所示。按资源的配置数量,MCS-51系列分为51和52两个子系列,其中51子系列是基本型,而52子系列属于增强型。表1-1MCS-51系列单片机分类 资源配置子系列片内ROM的形式片内ROM容量片内RAM容量定时器与计数器中断源无ROMEPROME2PROM851系列80318051875189514KB128B21658C51系列80C3180C5

3、187C5189C514KB128B2165852系列80328052875289528KB256B31668C252系列80C23280C25287C25289C2528KB256B3167l 80C51与与8051的比较的比较(1)MCS-51系列芯片采用HMOS工艺,而80C51芯片则采用CHMOS工艺。CHMOS工艺是COMS和HMOS的结合,(2)80C51芯片具有COMS低功耗的特点。例如8051芯片的功耗为630mW,而80C51的功耗只有120mW。(3)80C51在功能增加了待机和掉电保护两种工作方式,以保证单片机在掉电情况下能以最低的消耗电流维持。(4)此外,在80C51系

4、列芯片中,内部程序存储器除了ROM型和EPROM型外,还有E2PROM型,例如89C51就有4KBE2PROM。并且随着集成技术的提高,80C51系列片内程序存储器的容量也越来越大,目前已有64KB的芯片了。另外,许多80C51芯片还具有程序存储器保密机制,以防止应用程序泄密或被复制。1.2.2MCS-96系列单片机MCS-96系列单片机是Intel公司在1983年推出的16位单片机,它与8位机相比,具有集成度高、运算速度快等特点。它的内部除了有常规的I/O接口、定时器计数器、全双工串行口外,还有高速I/O部件、多路AD转换和脉宽调制输出(PWM)等电路,其指令系统比MCS-51更加丰富。1.

5、2.3ATMEL公司单片机ATMEL公司于1992年推出了全球第一个3V超低压F1ash存储器,并于1994年以E2PROM技术与Intel公司的80C31内核进行技术交换,从此拥有了80C31内核的使用权,并将ATMEL特有的Flash技术与80C31内核结合在一起,生产出AT89C51系列单片机。1.3 单片机的应用模式单片机的应用模式1.3.1单片机应用系统的结构单片机应用系统的结构通常分为以下三个层次。(1)单片机:通常指应用系统主处理机,即所选择的单片机器件。(2)单片机系统:指按照单片机的技术要求和嵌入对象的资源要求而构成的基本系统。时钟电路、复位电路和扩展存储器等与单片机共同构成

6、了单片机系统。(3)单片机应用系统:指能满足嵌入对象要求的全部电路系统。在单片机系统的基础上加上面向对象的接口电路,如前向通道、后向通道、人机交互通道(键盘、显示器、打印机等)和串行通信口(RS232)以及应用程序等。单片机应用系统三个层次的关系如图1.2所示图1.2单片机应用系统三个层次的关系1.3.2单片机系统的开发过程通常开发一个单片机系统可按以下6个步骤进行。(1)明确系统设计任务,完成单片机及其外围电路的选型工作。(2)设计系统原理图和PCB板,经仔细检查PCB板后送工厂制作。(3)完成器件的安装焊接。(4)根据硬件设计和系统要求编写应用程序。(5)在线调试软硬件。(6) 使用编程器

7、烧写单片机应用程序,独立运行单片机系统。1.4 1.4 单片机的应用单片机的应用1.单片机在机、电、仪一体化等智能产品中的应用日常生活中含单片机的电器产品智能化的仪器仪表2.单片机在工业测控中的应用3.单片机在通信技术中的应用1.5 数制与编码数制与编码1.5.1数制的表示1.常用数制(1)十进制数)十进制数我们熟悉的十进制数有两个主要特点:有十个不同的数字符号:0、1、2、9;低位向高位进、借位的规律是“逢十进一”“借一当十”的计数原则进行计数。例如:1234.45=1103210231014100410-1510-2式中的10称为十进制数的基数,103、102、101、100、10-1称为

8、各数位的权。十进制数用D结尾表示。(2)二进制数)二进制数在二进制中只有两个不同数码:0和1,进位规律是“逢二进一”“借一当二”的计数原则进行计数。二进制数用B结尾表示。例如,二进制数11011011.01可表示为:(11011011.01)2=12712602512412302212112002-112-2(3)八进制数)八进制数在八进制中有0、1、2、7八个不同数码,采用“逢八进一”“借一当八”的计数原则进行计数。八进制数用Q结尾表示。例如,八进制数(503.04)Q可表示为:(503.04)Q=582+081+380+08-1+48-2(4)十六进制数)十六进制数在十六进制中有0、1、2

9、、9、A、B、C、D、E、F共十六个不同的数码,采用“逢十六进一”“借一当十六”的计数原则进行计数。十六进制数用H结尾表示。例如,十六进制数(4E9.27)H可表示为(4E9.27)H=4162141619160216-1716-22不同进制数之间的相互转换表1-4列出了二、八、十、十六进制数之间的对应关系,熟记这些对应关系对后续内容的学习会有较大的帮助。表表1-4 各种进位制的对应关系各种进位制的对应关系十进制二进制八进制十六进制十进制二进制八进制十六进制000091001119111110101012A2102211101113B3113312110014C41004413110115D5

10、1015514111016E61106615111117F711177161000020108100010817100012111(1)二、八、十六进制数转换成为十进制数)二、八、十六进制数转换成为十进制数根据各进制的定义表示方式,按权展开相加,即可转换为十进制数。【例1-1】将(10101)B,(72)Q,(49)H转换为十进制数。(10101)B=124023122021120=37(72)Q=781+280=58(49)H=41619160=73(2)十进制数转换为二进制数十进制数转换为二进制数十进制数转换二进制数,需要将整数部分和小数部分分开,采用不同方法进行转换,然后用小数点将这两部

11、分连接起来。整数部分:除2取余法。具体方法是:将要转换的十进制数除以2,取余数;再用商除以2,再取余数,直到商等于0为止,将每次得到的余数按倒序的方法排列起来作为结果。【例1-2】将十进制数25转换成二进制数所以(25)D=11001B小数部分:乘2取整法。具体方法是:将十进制小数不断地乘以2,直到积的小数部分为零(或直到所要求的位数)为止,每次乘得的整数依次排列即为相应进制的数码。最初得到的为最高有效数位,最后得到的为最低有效数字。【例1-3】将十进制数0.625转换成二进制数。所以(0.625)D=0.101B【例1-4】将十进制数25.625转换成二进制数,只要将上例整数和小数部分组合在

12、一起即可,即(25.625)D=(11001.101)B例如:将十进制193.12转换成八进制数。所以(193.12)D(301.075)Q(3)二进制与八进制之间的相互转换由于23=8,故可采用“合三为一”的原则,即从小数点开始向左、右两边各以3位为一组进行二-八转换:若不足3位的以0补足,便可以将二进制数转换为八进制数。反之,每位八进制数用三位二进制数表示,就可将八进制数转换为二进制数。【例1-5】将(10100101.01011101)2转换为八进制数。010100101.010111010245.272即(10100101.01011101)B=(245.272)Q【例1-6】将(75

13、6.34)Q转换为二进制数。756.34111101110.011100即(756.34)Q=(111101110.0111)B(4)二进制与十六进制之间的相互转换由于24=16,故可采用“合四为一”的原则,即从小数点开始向左、右两边各以4位为一组进行二十六转换,若不足4位的以0补足,便可以将二进制数转换为十六进制数。反之,每位十六进制数用四位二进制数表示,就可将十六进制数转换为二进制数。【例1-7】将(1111111000111.100101011)B转换为十六进制数。0001111111000111.1001010110001FC7.958即(111111000111.100101011)

14、B=(1FC7.958)H【例1-8】将(79BD.6C)H转换为二进制数。79BD.6C0111100110111101.01101100即(79BD.6C)H=(111100110111101.011011)B1.5.2 常用的信息编码常用的信息编码二十进制BCD码(Binary-CodedDecimal)二十进制BCD码是指每位十进制数用4位二进制数编码表示。由于4位二进制数可以表示16种状态,可丢弃最后6种状态,而选用00001001来表示09十个数符。这种编码又叫做8421码。见表1-5所示。表1-5十进制数与BCD码的对应关系十进制数BCD码十进制数BCD码000001000010

15、000100011100010001200101200010010300111300010011401001400010100501011500010101601101600010110701111700010111810001800011000910011900011001【例1-9】将69.25转换成BCD码。69.2501101001.00100101结果为69.25=(01101001.00100101)BCD【例1-10】将BCD码100101111000.01010110转换成十进制数。100101111000.01010110978.56结果为(100101111000.0101

16、0110)BCD=978.562. 字符编码(字符编码(ASCII码)码)计算机使用最多、最普遍的是ASCII(AmericanStandardCodeForInformationInterchange)字符编码,即美国信息交换标准代码,如表1.6所示。表1-6七位ASCII代码表 d3d2d1d0位0d6d5d4位0000010100111001011101110000NULDELSP0Pp0001SOHDC1!1AQaq0010STXDC22BRbr0011ETXDC33CScs0100EOTDC44DTdt0101ENQNAK5EUeu0110ACKSYN6FVfv0111BELETB7

17、GWgw1000BSCAN8HXhx1001HTEM9IYiy1010LFSUB:JZjz1011VTESCKk1100FFFS,Ll1101CRGSMm1110SORSNn1111SIHSOoDELASCII码的每个字符用7位二进制数表示,其排列次序为d6d5d4d3d2d1d0,d6为高位,d0为低位。而一个字符在计算机内实际是用8位表示。正常情况下,最高一位d7为“0”。7位二进制数共有128种编码组合,可表示128个字符,其中数字10个、大小写英文字母52个、其他字符32个和控制字符34个。数字09的ASCII码为30H39H。大写英文字母AZ的ASCII码为41H5AH。小写英文字母

18、az的ASCII码为61H7AH。对于ASCII码表中的0、A、a的ASCII码30H、41H、61H应尽量记住,其余的数字和字母的ASCII码可按数字和字母的顺序以十六进制的规律写出。3. 奇偶校验码奇偶校验码奇偶校验码是在传送的代码上附加一个校验位,作为代码的比较校验。这样在接收方,先对信息代码按双方的校验规定求奇偶校验码,然后再与收到的附加校验位作比较,若相等则认为接收的代码是正确的,否则为错。奇偶校验就是鉴别代码中有奇数个“1,还是有偶数个“1。例如,有效信息为1011001,若采用偶校验码记为“0”的话,则有效代码为10110010;采用奇校验码记为“1”的话,有效代码则为10110

19、011。有效代码的最后的那个数位,就是奇偶校验位。当接受方收到这组代码后,便根据奇、偶校验的约定和有效代码中“1”的个数形成校验码,然后再与接收的校验位作比较。比较相等的话,说明接受的信息正确;反之,则认为出现了错误。1.6 计算机数值数据表示与运算计算机数值数据表示与运算1.6.1 二进制数在计算机内的表示二进制数在计算机内的表示1.机器数机器数在计算机中,因为只有“0”和“1”两种形式,所以数的正、负号,也必须以“0”和“1”表示。通常把一个数的最高位定义为符号位,用0表示正,1表示负,称为数符:其余位仍表示数值。把在机器内存放的正、负号数码化的数称为机器数,把机器外部由正、负号表示的数称

20、为真值数。【例1-11】真值为(-0101100)B的机器数为10101100,存放在机器中,如图1.3所示。图1.3真值B在机器中的存放要注意的是,机器数表示的范围受到字长和数据的类型的限制。字长和数据类型定了,机器数能表示的数值范围也就定了。例如,若表示一个整数,字长为8位,则最大的正数为01111111,最高位为符号位,即最大值为127。若数值超出127,就要“溢出”。最小负数为10000000,最高位为符号位,即最小值为-128。2. 数的定点和浮点表示数的定点和浮点表示计算机内表示的数,主要分成定点小数、定点整数与浮点数三种类型。(1)定点小数的表示法定点小数是指小数点准确固定在数据

21、某一个位置上的小数。一般把小数点固定在最高数据位的左边,小数点前边再设一位符号位。按此规则,任何一个小数都可以写成:N=NSN1N2NM,NS为符号位(2)整数的表示法整数所表示的数据的最小单位为1,可以认为它是小数点定在数值最低位右面的一种表示法。整数分为带符号和不带符号两类。对带符号的整数,符号位放在最高位。可以写成:N=NSNnNn1N2N1N0,NS为符号位一般定点数表示的范围和精度都较小,在数值计算时,大多数采用浮点数。(3)浮点数的表示方法浮点表示法对应于科学(指数)计数法,如数110.011可表示为:N=110.011=1.100112+10=11001.1210=0.11001

22、12+11在计算机机中一个浮点数由两部分构成:阶码和尾数,阶码是指数,尾数是纯小数。其存储格式如图1.4所示。阶符阶码数符尾数图1.4存储格式【例1-12】设尾数为4位,阶码为2位,则二进制数N=211l011的浮点数表示形式为:应当注意:浮点数的正、负是由尾数的数符确定,而阶码的正、负只决定小数点的位置,即决定浮点数的绝对值大小。带符号数的表示在计算机中,带符号数可以用不同方法表示,常用的有原码、反码和补码。(1)原码【例1-13】当机器字长n=8时:+1原00000001,-1原10000001+127原01111111,-127原1111111l由此可以看出,在原码表示法中:最高位为符号

23、位,正数为0,负数为1,其余n-1位表示数的绝对值。在原码表示中,零有两种表示形式,即:+000000000,-010000000。(2)反码【例1-14】当机器字长n=8时:+1反00000001,-1反11111110+127反01111111,-127反10000000由此看出,在反码表示中:正数的反码与原码相同,负数的反码只需将其对应的正数按位求反即可得到。机器数最高位为符号位,0代表正号,1代表负号。反码表示方式中,零有两种表示方法:+0反00000000,-0反11111111。(3)补码【例1-15】当机器字长n8时,+1补00000001,-1补11111111+127补011

24、11111,-127补10000001由此看出,在补码表示中:正数的补码与原码、反码相同,负数的补码等于它的反码加l。机器数的最高位是符号位,0代表正号,1代表负号。在补码表示中,0有唯一的编码:0补0补00000000。补码的运算方便,二进制的减法可用补码的加法实现,使用较广泛。【例1-16】假定计算机字长为8位,试写出122的原码、反码和补码。122原122反122补01111010B【例1-17】假定计算机字长为8位,试写出45的原码、反码和补码。45原10101101B45反11010010B45补11010011B对于用补码表示的负数,首先认定它是负数,而后用求它的补码的方法可得到它

25、的绝对值,即可求得该负数的值。例如,补码数(11110011)B是一个负数,求该数的补码为(00001101)B,该数相应的十进制数为13,故求出(11110011)B为(13)D。【例1-18】试写出原码11011001的真值。(原码)补(原码)反110100111B391.6.2补码的运算在微处理机中,使用补码进行运算是十分方便的,它使同一个微处理机中既能运算带符号数又能运算不带符号的数。而且,在采用补码表示带符号数的情况下,两个数的减法可以用加法来实现。下面我们将会看到这一点。在进行带符号数的加减运算时,应把参与运算的数据转换成补码形式进行运算。当使用8位二进制数表示带符号的数时,它所能

26、表示的数值范围在(-128)10(+127)10之间,如果相加结果超出了这个范围,就会导致错误发生。X+Y补=X补+Y补X-Y补=X补+-Y补【例1-20】两个带符号的数(01000001)2(十进制数+65)与(01000011)2(十进制数+67)例中是两个正数相加,但结果却是一个负数符号位为1。显然,这个结果是错误的,出现这种错误的原因就在于这两个数相加的结果超过了8位二进制带符号数所能表示的数值范围。【例1-21】两个负数(10001000)2和(11101110)2的相加情况。由于规定用8位二进制数来表示带符号的数,故忽略作为进位位的第九位。按8位二进制数来解释这两个符号数的相加,其

27、结果为一个正数。很明显,结果是错误的。【例1-22】两个无符号数(11111101)2和(00000011)2相加:从相加计算的结果来看,如果微处理机只有8位,也就是用8位二进制数来解释运算的结果,则将出现错误。因此,在微处理机中设有专门的一位,称为进位位,它将用于保存第九位以防丢失信息。1.6.3逻辑运算(1)“与”运算。“与”运算的运算规则是:00=0 01=010=011=1【例1-23】二进制数01011101B和11010101B相与。(2)“或”运算。“或”运算的运算规则是:00=001=110=111=1【例1-24】二进制数10101101和01010000相或。(3)“异或”运算。“异或”运算的运算规则是:00=001=110=111=0【例1-25】二进制数10101101和01101110相异或。

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 高等教育 > 研究生课件

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号