单片机技术应用教程第1章.ppt

上传人:za****8 文档编号:15454969 上传时间:2020-08-11 格式:PPT 页数:48 大小:290.05KB
收藏 版权申诉 举报 下载
单片机技术应用教程第1章.ppt_第1页
第1页 / 共48页
单片机技术应用教程第1章.ppt_第2页
第2页 / 共48页
单片机技术应用教程第1章.ppt_第3页
第3页 / 共48页
资源描述:

《单片机技术应用教程第1章.ppt》由会员分享,可在线阅读,更多相关《单片机技术应用教程第1章.ppt(48页珍藏版)》请在装配图网上搜索。

1、第1章 单片机基础知识,1.1 概 述 1.2 单片机系统的组成 1.3 单片机中数的表示及编码 1.4 习 题,1.1.2 单片机及其发展状况,1单片机名称的来源 根据单片机的物理形态和内容,早期的单片机称为Single-Chip Microcomputer。从仙童公司的第一款单片机F-8开始,甚至到MCS-51时期,这些单片机确实准确地体现了Single-Chip Microcomputer的形态和内容。但是,随着单片机发展到MCS-96、新一代80C51、M68HC05等系列单片机时,这些单片机面向对象,突出控制功能,在片内集成了许多外围电路及外设接口,如A/D、PWM、WDT等,突破了

2、传统意义的单片机结构,发展成Microcontroller的体系结构,因此,目前国外已经逐步统一称单片机为MCU(Micro Controller Unit)。由于它实行嵌入式应用,因此也称为嵌入式微控制器。,1.1.3 80C51系列单片机简介,尽管各类单片机很多,但无论从世界范围还是从国内范围来看,使用最为广泛的还是MCS-51型单片机,因此本书也将以MCS-51型系列为主,来介绍单片机的原理及应用。 MCS-51型系列单片机共有十几种芯片,表1-1列举了比较典型的几种芯片的型号及主要技术性能指标。,表1-1:,80C51型单片机属于Intel公司的MCS-51系列单片机,MCS-51系列

3、单片机采用两种半导体工艺生产。一种是HMOS工艺,即高密度短沟道MOS工艺。另外一种是CHMOS工艺,即互补金属氧化物的HMOS工艺。表1-1的芯片型号中带有“C”的都为CHMOS工艺,其余的为一般的HMOS工艺。 CHMOS是CMOS和HMOS的结合,除具有HMOS高速度、高密度的特点外,还具有CMOS低功耗的优点。比如8051型的功耗为630mW,而80C51的功耗只有120mW。,目前,Intel公司将80C51型单片机的内核使用权以专利互换或者出售的形式转让给其他的著名IC制造商,如Philips、ATMEL、AMD、Dallas、Siemens、LG、华邦等。这些公司在80C51内核

4、基础上,扩展了针对不同需求的外围电路,如A/D、PWM、WDT,引入使用方便并且价格便宜的Flash ROM等,使80C51的功能更加齐全、针对性更强,巩固并发展了Intel公司单片机的地位,成为当今世界8位单片机的主流。,1.1.4 单片机的特点及应用领域,单片机的主要特点如下: (1)很高的性价比。目前许多单片机的价格只要几元人民币。 (2)集成度高,体积小,可靠性好。内部采用总线结构,减少各芯片间的连线。 (3)控制能力强。单片机的指令丰富,能满足各种工业控制的要求。 (4)低功耗、低电压,一般在3V6V范围内工作,低电压供电的单片机电源下限可达1V2V,1V以下供电的单片机也已诞生,便

5、于生产便携式设备。 (5)易扩展。可根据需要进行并行或者串行扩展,形成网络控制系统。,由于单片机的特点比较突出,因此,在各个应用领域都可以见到它的身影,主要的应用领域有: (1)工业自动化控制。这是最早采用单片机控制的领域之一,如各种测控系统、PLC等。 (2)智能化家用电器。用单片机控制来替代传统的电子线路控制是当前家用电器的发展趋势,如空调、洗衣机、电视机等。 (3)智能化仪表。采用单片机的智能化仪表,加强了数据处理能力和网络数据传送能力,提高了仪表的档次,如各种探测仪表、自动抄表系统等。 (4)办公自动化设备。目前的办公设备中多数都嵌入了单片机系统,如打印机、复印机、扫描仪等。 (5)军

6、用航空等尖端领域的应用更加突出。,1.2 单片机系统的组成,当单片机内部的计算机外围功能单元不能满足对象控制要求的时候,通过系统扩展,在外部并行总线上扩展相应的计算机外围功能单元所构成的系统,称为单片机系统。这个定义强调的是单片机系统的硬件组成,而一个完整的单片机系统应该包括硬件系统和软件系统两大部分,如图1-2所示。,图1-2 单片机系统结构框图,单片机系统的硬件由单片机芯片和外部接口电路及设备组成。而单片机芯片则包括了中央处理器(CPU)、存储器(ROM/RAM)、I/O接口及其他功能单元(定时计数器、中断系统、串行接口)。它们通过AB(地址总线)、DB(数据总线)、CB(控制总线)相互连

7、接,如图1-3所示。,1.2.1 单片机系统的硬件组成,图1-3 单片机系统的硬件结构图,1微处理器(CPU) CPU主要由两部分组成:运算器和控制器。 (1)运算器: 运算器主要完成算术运算和逻辑运算并进行逻辑测试,如零值测试和两个值的比较,通常算术操作产生一个运算结果,而一个逻辑操作产生一个判决。运算器主要由以下几部分组成。 累加器A:用来存放参与算术或者逻辑运算的一个操作数和运算结果。 暂存器TMP:用来暂时存放参与算术或者逻辑运算的另一个操作数。该操作数主要来自其他数据寄存器或者内存单元中。, 算术逻辑单元ALU:主要完成把传送到微处理器的数据进行算术和逻辑运算。ALU具有两个主要的输

8、入来源,一个累加器,一个来自数据寄存器,它能够完成这两个数的相加和相减,也能够完成某些逻辑运算。 标志寄存器F:用来存放ALU运算结果的标志位,如进位标志、溢出标志等。 例如:将两个数12H和31H相加,在相加之前,操作数12H存放在累加器A中,31H存放在数据寄存器中,执行两个数相加的控制线发出“加”操作信号,ALU就把两个数相加,所加结果存入累加器A中,覆盖原来累加器A中的内容,执行完后,累加器A中的内容就是43H。,(2)控制器 控制器主要是协调和控制整个计算机系统的操作,主要由以下几部分组成。 程序计数器PC:为了能够保证程序能够连续地运行下去,CPU必须具备某种手段来确定一条指令的地

9、址,程序计数器就是执行这项工作。当执行程序时,CPU将自动修改PC的内容,使之总是指向下一条指令的存放地址。 指令寄存器IR:保存当前正在执行的一条指令。当执行一条指令时,先把它从程序存储器中取出,然后再传送到指令寄存器。, 指令译码器ID:要执行给定指令的操作,必须给操作码译码,以便确定所要求的操作,指令译码器就是负责这项工作。操作码一经译码后就向操作控制器发出具体操作的特定信号。 时序产生器:用来产生脉冲序列和各种节拍脉冲,每个节拍脉冲对应于一种操作,就像是体育老师的口令、交响乐团的指挥一样。 操作控制器:根据指令译码器的信号,产生相应的操作控制信号,以便启动规定的动作,比如一次内存读写操

10、作,一次算术逻辑操作,一次输入/输出操作,指挥并控制CPU、内存和输入/输出设备之间的数据流向。 相对控制器而言,运算器的动作是接受控制器的命令而动作的,即运算器所进行的所有操作都是由控制器发出的控制信号来指挥的。,2总线 总线(BUS)是计算机各部件之间传送信息的公共通道。微机中有内部总线和外部总线两类。内部总线是CPU内部之间的连线,外部总线是指CPU与其他部件之间的连线。外部总线有三种:数据总线DB(Data Bus)、地址总线AB(Address Bus)和控制总线CB(Control Bus)。 (1)地址总线(AB):地址总线宽度根据寻址范围来确定的,当寻址范围是4KB212B时,

11、需要的地址线宽度为12位,由于80C51单片机的寻址范围最多可达64KB,因此地址总线宽度为16位,由P0口经地址锁存器提供低8位地址(A0A7);P2口直接提供高8位地址(A8A15)。因地址信号是由CPU发出的,故地址总线是单方向的。 (2)数据总线(DB):由于80C51单片机为8位机,故数据总线宽度为8位,用于传送数据和指令,由P0口提供。 (3)控制总线(CB):控制总线随时掌控各种部件的状态,并根据需要向有关部件发出控制命令。,3存储器 存储器的主要功能就是用来存放程序代码和数据。 (1)存储器的分类 按照存储器的存取功能分,可分为: 随机存取存储器(Random Access M

12、emory,RAM)。它可以随机写入和读出,读写速度快,但是断电后,存储的数据就要丢失。主要用来存放各种处理数据。 只读存储器(Read Only Memory,ROM)。它在一般情况下只能读不能写,当然,在满足一定条件下也可以完成写入操作,否则,读的数据又从何而来呢?它的另外一个特点就是掉电不丢失,能长期保存数据。从写入方式来看,ROM也有很多分类,主要有:掩膜ROM、EPROM、EEPROM、FLASHROM和OTPROM(一次性编程ROM)。, 按照存储器结构分,可分为: 普林斯顿结构。一般微机只有一个地址空间,ROM和RAM可以随意安排在这一地址范围内不同的空间,即ROM和RAM的地址

13、在同一个队列里分配不同的地址空间。CPU访问存储器时,一个地址对应唯一的存储空间,可以是ROM,也可以是RAM,并用同一种指令访问。 哈佛结构。如80C51的存储器结构分程序存储器空间和数据存储器空间,总共有4个物理存储空间,即片内程序存储器空间、片外程序存储器空间、片内数据存储器空间、片外数据存储器空间,并用不同的指令访问程序存储器和数据存储器,这种程序存储器和数据存储器分开的结构就称为哈佛结构。,(2)存储器的操作 存储器的操作分为读操作和写操作。 例如,将数据存储器30H中的内容03H读出到累加器A中。其步骤如下: CPU将要读存储空间的地址码30H送到地址总线上,选通地址为30H的存储

14、单元。 CPU的控制器发出“读”信号,建立存储器到CPU的数据流向。 存储器将地址为30H的存储单元中的内容03H释放到数据总线上。 CPU将数据总线上的数据03H读入到累加器A中。 注意:读操作不影响原来单元内容,即30H中的内容还是03H,类似计算机操作中的“复制”。,例如,将数据10H送到地址为40H的内部数据存储单元中。其步骤如下: CPU将要写入的存储空间的地址码40H送到地址总线上,选通地址为40H的存储单元。 将数据10H送到数据总线上。 CPU控制器发出“写”信号,建立CPU到存储器的数据流向。 存储器将数据10H送入到地址为40H的存储单元中。 注意:写操作要改变原来单元的内

15、容,类似计算机操作中的“粘贴”,如果40H单元中原来的内容是20H,经过这次写操作后,40H单元中的内容就改为10H。,(3)堆栈 堆栈就是在单片机RAM中,专门划出一个区域用来临时存放一些重要数据码或者地址码。对于堆栈,应主要掌握以下几点。 栈底地址:用来确定堆栈的深度,一般可在程序初始化部分通过对堆栈指针SP 的赋值来确定,如MOV SP,#60H,就是将堆栈的栈底设定为60H(深度为32B)。 堆栈指针:用来指出当前栈顶的存储单元的地址。 堆栈原则:堆栈操作遵循“先进后出”的原则。,如图1-4是一堆栈的结构图。通过这个图可以了解以下几点: 这个堆栈的栈底为50H,在程序初始化过程中可以通

16、过指令MOV SP,#50H来指定,同时确定堆栈深度为51H7FH,在具体使用中的堆栈深度根据实际需要保存的数据个数来确定。 当前堆栈指针SP的值为54H,即当前栈顶为54H。 这4个数据的压栈顺序为10H、14H、58H、64H,根据“先进后出”原则,这4个数据的出栈顺序为64H、58H、14H、10H。 从上面几点看,堆栈与手枪弹夹的结构和工作原理十分相似。,图1-4 堆栈结构示意图,4输入/输出设备及其接口电路 单片机系统的输入/输出设备也称作I/O设备,比如键盘、鼠标、显示器、微型打印机等。输入/输出(I/O)接口由大规模集成电路组成的I/O器件构成,用来连接主机和相应的I/O设备(如

17、:键盘、鼠标、显示器、打印机等),使得这些设备和主机之间传送的数据、信息在形式上和速度上都能匹配。不同的I/O设备必须配置与其相适应的I/O接口。通常,这些接口电路集成在一块芯片上。如8255A、8155、8253、DAC0832、ADC0809等扩展芯片。,1.2.2 单片机系统软件组成,只配备硬件设备的单片机系统,并不能完成我们所需要实现的功能,硬件是实现功能的载体,而软件是硬件的灵魂,目前用来设计软件的语言分为三类。 1机器语言 机器语言的主要特点是: (1)由一组二进制码组成,直接能被计算机识别并执行。 (2)不同的微处理器,采用不同的机器语言。 (3)可读性差,直观性差,容易出错,目

18、前基本不采用。,2汇编语言 汇编语言的主要特点是: (1)用助记符代替机器语言中的操作码。 (2)汇编语言翻译成机器语言的方法有两种:一种是手工查表汇编,一种是机器汇编。由于机器汇编方便,目前基本上都是采用机器汇编。 (3)不同的微处理器采用不同的汇编语言。 (4)较直观,可读性好,占用内存少,速度快。,3.高级语言 高级语言的主要特点是: (1)采用类似人类自然语言的程序设计语言。 (2)通过专门的编译程序翻译成机器语言。 (3)通用性强,移植性好,不随微处理器的不同而不同。 (4)目前较流行的有C51、PL/M和BASIC语言。 三种语言各有特点,本书介绍的是汇编语言,虽然不同类型单片机的

19、汇编语言有所不同,但还是有很多相似之处,可以举一反三。同时,在掌握汇编语言的基础上,再去掌握高级语言的编程,能达到事半功倍的效果。,1.3 单片机中数的表示及编码,在日常生活中,我们经常使用的是十进制数,而在单片机中,二进制机器编码是它的基本语言,考虑到二进制在书写和阅读方面的缺点,在单片机软件编写过程中,常引入十六进制数来表示。 如何进行十进制、二进制、十六进制之间的相互转换,是基本的数字处理能力,这里不再详述。对此有疑问的初学者,可以参考有关的数字电路基础的数据,本书主要介绍正负数在计算机中的表示方法和有关编码知识。,1.3.1 正数和负数在单片机中的表示方法,在日常数字表示中,有符号数的

20、正负性可以用“+”、“-”来表示,但是在计算机数字表示中,有符号数的正负根据其最高位是“0”还是“1”来区分。如在8位微机中,D7位表示这个数的符号,是“1”,表示负数,是“0”,表示正数,其余位表示数值位的大小,如图1-5所示。,图1-5 8位有符号数的表示方法,【例1-1】指出N1和N2的值。,解: 由于N1的D7位为1,是负数,后面的数值位的值为6,则N1= -6; 由于N2的D7位为0,是正数,后面的数值位的值为7,则N2=+7。 那么,在计算机中,-6和+7的存储形式真的如此吗?我们来看一下下面的例子。 【例1-2】求S=N1+N2=-6+7。 解:根据例1-1的结果,-6=1000

21、 0110B,+7=0000 0111B,则运算过程如下: 10000110B N1 +00000111B N2 10001101B S=-13,S=-13,很明显,结果错误,那么问题出在哪里呢?主要是因为有符号数在计算机中的表示方法出现错误。在计算机中,有符号数的表示方法有3种:原码、反码和补码。我们上面两个例子采用的都是原码,但是,计算机中,负数是以补码形式存储并参与运算的。下面我们来具体了解正负数的原码、反码和补码。,1正数的原码、反码、补码 正数的表示最简单,它的原码、反码和补码都一样,即 【X】原 =【X】反 =【X】补 = X 【例1-3】X=+9,求其原码、反码、补码。 解:+9

22、=00001001B,则 【+9】原 =【+9】反 =【+9】补 = 00001001B,2负数的原码、反码和补码 负数的原码:符号位为1,其余位为数值位。 【例1-4】X=-9,求X的原码。 解:符号位为1,数值位为9 = 0001001 所以,【-9】原 =10001001B。 负数的反码:原码的符号位不变,其余位取反。 【例1-5】X=-9,求X的反码。 解:【-9】原 =10001001B,根据符号位不变,其余位取反的方法可得, 【-9】反 =11110110B 负数的补码:反码加1,即【X】补 =【X】反 +1。 【例1-6】X=-9,求X的补码。 解:【-9】原 =10001001

23、B,【-9】反 = 11110110B,根据补码等于反码加1,则 【-9】补 =【-9】反 +1 = 11110110B+1=11110111B,3零的原码、反码和补码 零的原码:由于零分为+0和-0,则其原码有两种: 【+0】原 = 00000000B 【-0】原 = 10000000B 零的反码也有两种: 【+0】反 = 00000000B 【-0】反 = 11111111B 零点补码:由于+0的补码等于原码,-0的补码等于其反码加1,所以,不管是+0还是-0,它的补码只有一个: 【+0】补 =【-0】补 = 00000000B 综上所述,归纳如下。 对于正数: 【X】原 =【X】反 =【

24、X】补 = X 对于负数:【X】反 =【X】原 数值位取反,符号位不变 【X】补 =【X】反 +1,学会了补码的运算,我们回过来看例1-2,采用补码运算, 【-6】补 = 11111010B 【+7】补 = 00000111B 则S=-6+7的运算如下: 11111010B N1 +00000111B N2 00000001B S=1 结果正确,至此,大家应该明白在计算机中,有符号数的运算采用的是数的补码形式。,1.3.2 常用编码,1BCD码 采用二进制码对每一个十进制数进行编码,称为BCD码,用【】BCD表示,例如: 51=【0101 0001】BCD,在这里,【0101 0001】BCD

25、不能认为是二进制码01010001B,因为01010001B的十进制为81,而【0101 0001】BCD的十进制为51,显然存在区别。具体的十进制与BCD码之间的关系如表1-2所示。 表1-2 8421BCD编码表,2BCD码的加法运算 BCD码的加法运算与二进制码的加法运算规则一样,但有时候会出错,例如: 【0101 1001】BCD 59 +【0010 1000】BCD 28 【1000 0001】BCD 81 显然,运算结果是错误的,因为在运算过程中,低四位向高四位有进位,所以要进行修正,具体的修正条件和方法如下: (1)低四位向高四位有进位,低四位加6修正。 (2)高四位向更高位有进

26、位,高四位加6修正。 (3)低四位出现非法BCD码,低四位加6修正。 (4)高四位出现非法BCD码,高四位加6修正。 (5)同一个四位出现两种修正条件,则只需修正一次即可。,【例1-7】已知X=【0110 0001】BCD,Y=【0010 0110】BCD,求S=X+Y。 解: 【0110 0001】BCD X(61) +【0010 0110】BCD Y(26) 【1000 0111】BCD S(87) 不满足要修正的条件,无需修正,结果正确。,【例1-8】已知X=【0100 1000】BCD,Y=【0101 1001】BCD,求S=X+Y。 解: 【0100 1000】BCD X(48) +

27、【0101 1001】BCD Y(59) 【1010 0001】BCD ;满足(1)、(4)修正条件,进行加6修正 + 0110 0110 【0001 0000 0111】BCD S(107) 结果:S=【00010000 0111】BCD ,由于高四位加6后,向更高位有进位1,其实也就是向百位有进位,所以最后的结果应为107。,3BCD码减法 BCD码在进行减法运算时,也会出现需要修正的现象,其修正条件和方法如下: (1)低四位向高四位有借位,低四位减6修正。 (2)高四位向更高位有借位,高四位减6修正。 (3)低四位出现非法BCD码,低四位减6修正。 (4)高四位出现非法BCD码,高四位减

28、6修正。 (5)若同一个四位出现两种修正条件,则只需修正一次即可。,【例1-9】已知X=【0010 0010】BCD,Y=【0001 0001】BCD,求S=X-Y。 解: 【0010 0010】BCD X(22) -【0001 0001】BCD Y(11) 【0001 0001】BCD S(11);不满足修正条件,无需修正,【例1-10】已知X=【0010 0001】BCD,Y=【0101 1001】BCD,求S=X-Y。 解: 【0010 0001】BCD X(21) -【0101 1001】BCD Y(59) 【1100 1000】BCD ;满足(1)、(2)、(4)修正条件,进行减6修

29、正 - 0110 0110 1(借位)【0110 0010】BCD S(62) BCD码是无符号数,这里的结果S=62,不符合条件,但是,由于向更高位(百位)借位了,所以,结果应该是62-100 = -38。,4ASCII码 在计算机中,除了处理数字信息外,还必须处理用来组织、控制或表示数据的字母和符号,这些字母或符号也必须按照特定的规则用二进制来编码。 目前这种编码规则普遍采用的是ASCII码(American Standard Code for Information Interchange,美国信息交换标准码),由7位二进制码组成,可以表示128个字符,包括数字(09)、大小写英文字母、

30、标点符号和控制字符,具体如表1-3所示。,表1-3 ASCII编码表,根据此表,我们应该掌握以下几点: (1)根据已知道某个数字、字母、标点符号或控制字符,能够找出其ASCII码。 (2)大写英文字母的ASCII码比小写英文字母的ASCII码小20H,如,“A”的ASCII码为41H,“a”的ASCII码为61H。 (3)数字09的ASCII码为30H39H。,1.4 习 题,1PC机和单片机都是属于微型机,它们之间有什么区别? 2简述单片机的特点及主要应用领域,并举例说明。 3MCS-51单片机的51子系列和52子系列有哪些主要区别? 4单片机系统的硬件组成由哪几部分组成?并说明各个部分的主

31、要功能。 5什么叫总线?总线可以分为哪几种? 6堆栈的操作原则是什么?如何来确定堆栈的栈底地址? 7机器语言、汇编语言和高级语言各有什么优缺点? 8在8位单片机中,有符号数的正负号如何表示? 9原码、反码、补码之间的换算关系是怎么样的? 10什么叫BCD码?BCD码和二进制码之间有何区别?,11分别求出下列各数的原码、反码和补码,分别用二进制和十六进制数表示。 (1)+37(2)-54(3)+121(4)-216 12将下列数转换成BCD码。 (1)123(2)864(3)56.75(4)349 13已知十进制数X、Y,求S=X+Y,用十六进制表示。 (1)X=45,Y=89; (2)X=-65,Y=78; (3)X=-76,Y=34。,14已知BCD码X、Y,求S=X+Y,T=X-Y。 (1)X=【0011 0100】BCD,Y=【0101 0010】BCD (2)X=【0101 0110】BCD,Y=【0010 1001】BCD (3)X=【1000 0110】BCD,Y=【0100 0010】BCD 15查表写出下列字符的ASCII码。 (1)D(2)7(3)?(4)e,

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

copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!