单片机技术及应用ppt课件.ppt
《单片机技术及应用ppt课件.ppt》由会员分享,可在线阅读,更多相关《单片机技术及应用ppt课件.ppt(79页珍藏版)》请在三一办公上搜索。
1、,单片机技术及应用清华大学基础工业训练中心冯一兵,2022年11月20日星期日,2,第一章 单片机的基础知识 第二章 MCS-51单片机的初步认识 第三章 MCS-51的指令系统,2022年11月20日星期日,3,第四章 汇编语言程序设计 第五章 定时器/计数器 第六章 中断的基本概念 第七章 串行口的应用,2022年11月20日星期日,4,第一章 单片机的基础知识 1.1 微计算机与单片机 单片机是计算机的一种。一台完整的计算机由硬件和软件共同组成。计算机的软件由各种程序组成,包括操作系统(如windows)和各种应用程序(如word),计算机的硬件由下列几个部份构成:CPU、存储器、外部设
2、备及接口。 单片机主要用于简单的数据采集和控制,原本的意思是将CPU、存储器和外设接口(I/O)集成在一个芯片(single chip)上的处理器(Processor),后来的正式名称是微控制器(micro controller)。因此在网上查找资料时,可以使用微控制器作为关键词查找。,2022年11月20日星期日,5,单片微型计算机就是将CPU、RAM、ROM、定时/计数器和多种接口都集成到一块集成电路芯片上的微型计算机。因此,一块芯片就构成了一台计算机。它已成为工业控制领域、智能仪器仪表、尖端武器、日常生活中最广泛使用的计算机。,2022年11月20日星期日,6,CPU: CPU(cent
3、ral control unit)的全称是中央处理器。负责计算机的计算和控制计算机的运行。 存储器:存储器存放各种程序和数据。存储器分为内部存储器和外部存储器两部分。外部存储器大家都比较熟悉,如硬盘、光盘、软盘等等。内部存储器有两种:一部分称为ROM(只读存储器),存放最基本的程序,主要用于计算机启动时使用,如在PC机中存放BIOS;另一部分成为RAM,它能够随时读写。存放正在运行的程序和使用的数据。内部存储器的读写速度远远高于外部存储器,而外部存储器的容量则远远大于内部存储器。 外部输入输出设备(I/O)及接口:用于和人打交道。如显示器、键盘、鼠标等等,硬盘、光盘等也属于外部设备,2022年
4、11月20日星期日,7,1.2 MCS-51系列单片机 20世纪80年代初,Intel推出了MCS-51系列单片机,3个基本型: 8031 : 内部没有程序存储器 8051 : 内部有程序存储器(ROM 4K) 8751 : 内部有可编程可改写程序存储器(EPROM 4K) Intel 在推出MCS-51体系结构后不久,开放了8051内核技术,为 MCS-51系列单片机的发展起了很大作用。,2022年11月20日星期日,8,在Intel公司推出了MCS-51不久便实施了最彻底的技术开放政策;在众多电器商、半导体商的积极参与下,将MCS-51发展成了众多型号系列的80C51 MCU家族。MCS-
5、51经典的体系结构、极好的兼容性和Intel公司的开放政策不仅使众多厂家参与发展,也诱使半导体厂家对MCS-51实行为所欲为的改造。,2022年11月20日星期日,9,Philips公司着力发展基于51内核的控制功能及外围单元,把MCS-51迅速推进到80C51的MCU时代。 另外基于Flash ROM的在线可编程(ISP)技术,改变了单片机应用系统的结构模式和开发运行条件。P80C51 P80C52 Atmel公司推出了采用Flash ROM技术的AT89C51 AT89C52 AT89S52等,增加了一些外部接口功能。 Cygnal 公司2003年推出51内核的SOC(片上系统)型单片机,
6、C8051F系列单片机。,2022年11月20日星期日,10,1.3 计算机中常用的几个术语 1.3.1 电平(level):计算机和数字电路中常使用电平一词,用于反映信号(signal)的状态。一个信号或者作为数字电路的一个输入,或者作为数字电路的输出。通常使用+5V直流电源作为数字电路的供电电源,一个信号有2个稳定的状态,一个称为高电平,一个称为低电平。高电平是指电压在+2.7V以上、5V以下的状态,低电平是指+0.8V以下、0V以上的状态。因此,对于一个器件,输出3.1V或者输出3.8V还是输出4.3V本质上是一样的,都属于高电平状态;同样输出0.7V还是0.3V也属于同一种状态,即低电
7、平状态,也没有什么差别。 咱们这次做实验,用的是+5V直流电源。判断一个电路是否正常工作,要按上述标准进行。随着技术的快速发展,现在许多器件使用+3.3V甚至2.2V直流电源,对这些器件,高电平、低电平的定义也进行了相应修改。,2022年11月20日星期日,11,1.3.2 二进制和十六进制 由于数字电路中一个信号只有2个稳定的状态:高电平(用“1”表示)和低电平(用“0”表示),因此在计算机中,数据采用的是二进制而不是十进制。二进制数就是以2为基数,数符为0、 1,逢二进一。书写时,右边代表低位,左边代表高位。下面是二进制数的例子:(8) (4) (2) (1) 0 1 1 0 等于十进制6
8、 1 0 1 0 等于十进制10 1 1 1 1 等于十进制15,2022年11月20日星期日,12,虽然计算机中采用的是二进制,不过有时却不太方便,因此有时使用十六进制,即把二进制数中的4位作为一组一起表示。在十六进制中,数符为0、1、2、3、4、5、6、7、8、9、A、B、C、D、E、F。其中A、B、C、D、E、F分别代表十进制的10、11、12、13、14、15。如: 二进制数 01011001 表示为十六进制数59 二进制数 00111111 表示为十六进制数3F 十六进制数只是为了方便人们的阅读和书写,计算机实际处理的还是二进制数。在汇编语言和其它高级语言中,为了将二进制数、十六进制
9、数和十进制数加以区分,在二进制数后加一个后缀B,在十六进制数后加一个后缀H,十进制数后不加任何后缀。如: 01011100B 85 85H 0D3H 十六进制数如果最高位是字母,则必须前面加一个0。,2022年11月20日星期日,13,1.3.3 位(bit)、字节(byte)、字(word) 在二进制中,每一“位”叫bit,一般通俗称为位。连续的8位组织在一起称为一个字节(byte)。字节是计算机组织数据的基本单位。我们通常说一个计算机的内存多大,比如100M,指的就是它的内存是100M字节。再比如说一个硬盘是100G,也是指这个硬盘能够存储100G个字节的数据。1M等于100万,1G等于1
10、000M。 字(word)是每种特定的计算机组织数据和进行运算的单位。比如计算机做加法时能够一次做多少位二进制数的加法。每种计算机,字长差别很大,单片机字长一般是8位或者16位,而PC机字长则有64位甚至更多。我们通常说这是多少位的计算机就是指该计算机的字长是多少位。,2022年11月20日星期日,14,1.3.4 寄存器(register) CPU中有很多寄存器。所谓寄存器就是可以存放东西的地方,这些东西可以是指令、地址等,也可以是数。寄存器的长度(位数)等于计算机的字长。一个8位单片机中寄存器的长度就是8位。一个64位PC机中寄存器的位数就是64位。下面介绍一些CPU中常用的寄存器。 指令
11、寄IR(Instruction Register):存放CPU从存储器中取出的指令码。CPU对指令进行译码,产生各种控制信号,这些控制信号指挥CPU内部的各种部件完成该指令规定的动作,比如对2个数做加法、减法、逻辑与、从存储器中取一个数、向存储器中写一个数、将一个数向外部设备输出、从外部设备输入一个数等等。,2022年11月20日星期日,15,1.3.5 程序计数器PC(Program Counter): 指出程序中当前指令在存储器中的地址。程序是由一条条指令构成的,它们存放在存储器中。存放程序的存储器叫做程序存储器。存储器由许多单元组成,每个单元像个小房间,可以向里放东西,也可以从中取东西。
12、每个单元对应一个存储器地址(就像房间的房间号)。,2022年11月20日星期日,16,1.3.6 数据、地址、指令:之所以将这三者放在一起,是因为这三者的本质都是一样的数字,或者说都是一串0和1组成的序列。换言之,地址、指令也都是数据。 指令:由单片机芯片的设计者规定的一种数字,它与我们常用的指令助记符有着严格的一一对应关系,不可以由单片机的开发者更改。 地址:是寻找单片机内部、外部的存储单元、输入输出口的依据,内部单元的地址值已由芯片设计者规定好,不可更改,外部的单元可以由单片机开发者自行决定,但有一些地址单元是一定要有的(详见程序的执行过程)。 数据:这是由微处理器处理的对象,在各种不同的
13、应用电路中各不相同,,2022年11月20日星期日,17,1.3.7 总线:在计算机中,各部件是以处理器(CPU)为核心的,各部件都要与处理器相连接,各部件之间的工作必须相互协调,如果处理器和各部件间单独连线,则线的数量将多得惊人,所以在处理机中引入了总线的概念,各个部件共同享用连线,所有器件的8根数据线全部接到8根公用的线上,即相当于各个器件并联起来。但仅这样还不行,如果有两个器件同时送出数据,一个为0,一个为1,那么,接收方接收到的究竟是什么呢?这种情况是不允许的,所以要对器件进行选择和控制,使器件分时工作,任何时候只能有一个器件发送或接受数据。器件的数据线也就被称为数据总线,器件所有的控
14、制线被称为控制总线。在单片机内部或者外部存储器及其它器件中有存储单元,这些存储单元要被分配地址,才能使用,由于存储单元比较多,所以,用于地址分配的线也较多,这些线被称为地址总线。,2022年11月20日星期日,18,2022年11月20日星期日,19,1.4 程序的执行过程,2022年11月20日星期日,20,一个计算机是这样工作的。当加电之后,时钟信号产生,并且自动产生一个复位信号。复位信号将程序计数器PC复位为0;CPU以PC的值为存储器地址从存储器0单元中取出第一条指令放到指令寄存器IR中;然后CPU对IR中的指令进行译码,产生各种控制信号,这些控制信号完成该指令规定的功能;在完成该指令
15、功能的同时,程序计数器PC加1,为从存储器中取出下一条指令做准备。第一条指令执行结束以后,CPU以PC的值为存储器地址从存储器1单元中取出第2条指令放到指令寄存器IR中,一直继续下去,直到程序执行结束。 单片机在通电复位后8051内的程序计数器(PC)中的值为0000,所以程序总是从0000单元开始执行,也就是说:在MCS-51程序存储器中一定要存在0000这个单元,并且在0000单元中存放的一定是一条指令。,2022年11月20日星期日,21,1.5 单片机应用的开发过程 1、电路板的制作 2、目标文件的生成: 利用PC机上的开发软件,编写 源程 序,经汇编(或编译)后生成目标文件 (.HE
16、X). 3、 目标程序的烧写:将目标程序装入到单片机芯片 或存储器芯片中。 使用编程器或采用在系统编程(ISP)技术.,2022年11月20日星期日,22,第二章 MCS-51 单片机的初步认识 2.1 引脚功能 电源引脚 Vcc(40):电源 +5V0.5V Gnd(20):地 时钟XTAL1(19):内部振荡器输入端XTAL2(18):内部振荡器输出端,2022年11月20日星期日,23,2022年11月20日星期日,24,(a)内部时钟方式,(b)外部时钟方式,晶振6MHZ 电容5-30P,复位电路(9),电容C 22ufR2 1-2K R1 200,复位后程序计数器PC=0000H 程
17、序从0000H地址单元开始执行,复位时间大约5-10mS,RST引脚加高电平,2022年11月20日星期日,25,EA(31):输入 EA引脚接高电平时,从内部程序存储器开始,当程序超过内部程序器的容量时转到外部程序存储器取指令。 EA引脚接低电平时,单片机转到外部程序存储器中取指令(无论片内是否有程序存储器)。外部程序存储器的地址从0000H开始编址。,2022年11月20日星期日,26,2.2 实验1 指令的初步认识,2022年11月20日星期日,27,从上一节我们看到MCS-51有40个管脚,我们已经用了6个,还有34个,这34个管脚中有32个分成了4组,每组8个,分别叫做P0.0-P0
18、.7 P1.0-P1.7 P2.0-P2.7 P3.0-P3.7 分别叫做P0口、 P1口、 P2口、 P3口。这4个口都是双向(既可以输出也可以输入)口,但又有所不同, P0口、P2口、 P3口除可以用作输入输出以外还有第二功能,以后用到时再讲。我们的第一个实验是要用单片机点亮一只发光二极管LED或者同时点亮8只发光二极管。我们将这8只发光二极管接在P1.0-P1.7上(管脚1-8)。,2022年11月20日星期日,28,在这个图中如果想让某一个发光二极管(比如第1个)亮怎么办呢?当1脚是高电平时,LED不亮,只有1脚是低电平时,LED才发亮。也就是说,我们要能够让1引脚按要求变为高或低电平
19、就可以了。 我们又怎样让它变高或变低呢?计算机能听得懂的命令称之为计算机的指令。在MCS-51中,让一个引脚输出高电平或低电平的指令有两种,一种是SETB和CLR指令,这种叫做位操作指令。我们要1脚输出高电平,只要写SETB P1.0,要1脚输出低电平,只要写 CLR P1.0就可以了。还有一种就是数据传送指令,比如 MOV P1,#data。这种指令一次同时改变P1口8位的状态。我们要1脚输出高电平,只要写 MOV P1,#01H,要1脚输出低电平,只要写 MOV P1,#00H就可以了。,2022年11月20日星期日,29,我们怎样才能计算机执行这条指令呢?第一步借助计算机里的编辑软件编写
20、源程序。现在普遍使用的是Keil C51软件。计算机是看不懂SETB CLR之类的指令,所以第二步把指令翻译成计算机能懂的方式,再让计算机去读。计算机能懂什么呢?它只懂一样东西数字。因此我们得把SETB P1.0变为(D2H,90H ),把CLR P1.0变为 (C2H,90H ),至于为什么是这两个数字,这也是由51芯片的设计者-INTEL规定的,我们不去研究。这个翻译的过程在计算机术语中叫做编译。编译后生成的文件叫做目标文件。第三步就要把目标文件写入到单片机中去。有两种方法一种是要借助于一个硬件工具“编程器”。还有一种就是在线编程ISP.,2022年11月20日星期日,30,ORG 000
21、0H;存储器ROM起始地址LJMP 0100H;跳转到主程序地址ORG 0100H;主程序起始地址CLR P1.0;执行指令ENDORG 0000H;存储器ROM起始地址CLR P1.0;执行指令ENDORG 0000H;存储器ROM起始地址MOV P1,#11111110B;执行指令END,2022年11月20日星期日,31,这里ORG、END是伪指令,分号后面的是注释,这些都是不往单片机中写入的,ORG是表示从程序存储器ROM(只读存储器)的什么地址开始存储,END表示指令结束。LJMP是跳转指令,因为芯片的设计者规定,单片机ROM中的开始一些字节有专门的用途,所以我们把指令从0100H这
22、个地址开始存储。,2022年11月20日星期日,32,2022年11月20日星期日,33,2.3 单片机汇编语言程序初步认识 2.3.1 在前边的实验中我们只是点亮了一个LED,我们还可以让它闪烁。闪烁实际上就是要灯亮一段时间,再灭一段时间,也就是说要P1.0不断地输出低和高电平。但是程序是不是可以直接写入:SETB P1.0 CLR P1.0这是不行的。第一,计算机执行指令的时间很快,执行完SETB P1.0后,灯是灭了,但在极短时间(微秒级)后,计算机又执行了CLR P0.0指令,灯又亮了,所以根本看不出灯曾经灭过。第二,在执行完CLR P1.0后,不会再去执行SETB P1.0指令,以后
23、再也没有机会让LED灭了。为了解决这两个问题,我们可以做如下设想,第一,在执行完SETB P1.0后,延时一段时间(几秒或零点几秒)再执行第二条指令,就可以看出LED曾经灭过了。第二,在执行完第二条指令后,让计算机再去执行第一条指令,不断地兜圈,我们称之为循环,这样就可以完成任务了。,2022年11月20日星期日,34,2022年11月20日星期日,35,ORG 0000H ;存储器ROM起始地址 LJMP 0100H ; 跳转到主程序地址 ORG 0100H ;主程序起始地址LOOP: SETB P1.0 ;熄灭LED, LCALL DELAY ;调用延时子程序 CLR P1.0 ;点亮LE
24、D LCALL DELAY ;调用延时子程序 LJMP LOOP DELAY:MOV R7,#250 ;工作寄存器R7赋初值D1: MOV R6,#250 ;工作寄存器R6赋初值D2: DJNZ R6,D2 ;62500 DJNZ R7,D1 RET END,2022年11月20日星期日,36,由这个实验我们可能会提出这样几个问题? 1、程序中R6 R7代表什么意思? 2、程序的延迟是怎么实现的?延迟时间的长短怎 么确定? 3、什么是汇编语言,汇编语言的基本格式是怎样 的?,2022年11月20日星期日,37,2.3.2 工作寄存器什么是工作寄存器呢?计算机做运算时,为了要得到最终结果,往往要
25、有很多的中间结果,这些中间结果要有个地方才行。所以在单片机中有一个区域称为RAM(RAM随机存储器),也叫数据存储器,也就是随时可以将数据写进去,也可以在需要的时候将数据读出来。在MCS-51单片机中,片内RAM 有128个字节,其中最低的32个字节开辟为工作寄存器区。,2022年11月20日星期日,38,2022年11月20日星期日,39,2.3.3 CPU 时序的基本概念 在上面一个实验中我们知道DJNZ R6,D2这句话会被执行62500次,但是执行这么多次需要多长时间呢?是否满足我们的要求呢?在计算机中,为了便于管理,常把一条指令的执行过程划分为若干个阶段,每一阶段完成一项工作。例如,
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 单片机 技术 应用 ppt 课件
链接地址:https://www.31ppt.com/p-1407019.html