资源预览内容
第1页 / 共84页
第2页 / 共84页
第3页 / 共84页
第4页 / 共84页
第5页 / 共84页
第6页 / 共84页
第7页 / 共84页
第8页 / 共84页
第9页 / 共84页
第10页 / 共84页
亲,该文档总共84页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述
一、单片机概论一、单片机概论单片微型计算机简称单片机单片微型计算机简称单片机,它是把组成微型计算它是把组成微型计算机的各个部件机的各个部件:中央处理器,储存器中央处理器,储存器,输入输出接输入输出接口电路口电路,定时器定时器/计算器等计算器等,制作在一块集成电路中制作在一块集成电路中,构成一个完整的微型计算机构成一个完整的微型计算机.8位单片机占整个单片机市场的位单片机占整个单片机市场的60%以上以上,8位单片位单片机的旧的机种正在被淘汰机的旧的机种正在被淘汰,新的机型不断涌现新的机型不断涌现.8位位单片机以其功能强单片机以其功能强,品种多品种多,正广泛应用于各个领正广泛应用于各个领域域,是单片机的主流机种是单片机的主流机种.随着集成电路工艺的不随着集成电路工艺的不断改进断改进,8位单片机的价格也在不断降低位单片机的价格也在不断降低.单片机的发展趋势是单片机的发展趋势是: 增加存储器容量增加存储器容量,片内片内EPROM转变为转变为FLASH,存储器编程可不同级别加存储器编程可不同级别加密密,片内片内I/O管脚多功能化管脚多功能化.开发板学习最新课件单片机的应用领域单片机的应用领域工业方面工业方面: 电机控制电机控制,工业机器人工业机器人,过程控制过程控制,数数字控制字控制仪器仪表方面仪器仪表方面: 智能仪器智能仪器,医疗器械医疗器械,色谱仪色谱仪,示示 波器波器民用方面民用方面: 电子玩具电子玩具,高级电视游戏机高级电视游戏机,录像录像机机,激光盘驱动激光盘驱动电讯方面电讯方面: 调制解调器调制解调器,智能线路运行控制智能线路运行控制.导航与控制导航与控制: 导弹控制导弹控制,智能武器装置智能武器装置数据处理数据处理: 图形终端图形终端,磁带机磁带机,打印机打印机汽车方面汽车方面: 点火控制点火控制,变速器控制变速器控制,排气控制排气控制开发板学习最新课件第一章第一章 89S52单片机的结构单片机的结构一、内部结构和主要功能一、内部结构和主要功能二、引脚功能说明二、引脚功能说明三、时钟、复位电路三、时钟、复位电路四、四、I/O端口端口五、存储器配置五、存储器配置六、最小系统六、最小系统七、七、CPU时序时序开发板学习最新课件89S52结构示意图结构示意图开发板学习最新课件主要性能:主要性能:片内存储器包含片内存储器包含8KB的的FLASH,可在线编程,檫写次数不少,可在线编程,檫写次数不少于于1000次次256字节片内数据字节片内数据RAM32根可编程根可编程I/0口线口线8个中断源、个中断源、6个中断矢量、两个优先权的中断结构个中断矢量、两个优先权的中断结构1个可编程全双工串行接口个可编程全双工串行接口3个可编程定时个可编程定时/计数器计数器两种低功耗模式分别是空闲模式和掉电模式两种低功耗模式分别是空闲模式和掉电模式具有具有3级程序锁定位级程序锁定位含有一个看门狗定时器含有一个看门狗定时器具有断电标志具有断电标志POF全静态工作频率全静态工作频率033MHz完全兼容完全兼容MCS51产品产品开发板学习最新课件89S52引脚功能介绍引脚功能介绍VCC +5VGND 地地ALE 地址锁存允许地址锁存允许/PSEN 程序存储器允许程序存储器允许EA/VPP为为0访问外部程序存储器访问外部程序存储器为为1访问内部程序存储器访问内部程序存储器RST复位信号输入复位信号输入XTAL1、XTAL2 外部晶振外部晶振P0.0P0.7 I/O端口(端口(P0口)口)P1.0P1.7 I/O端口(端口(P1口)口)P2.0P2.7 I/O端口(端口(P2口)口)P3.0P3.7 I/O端口(端口(P3口)口) 开发板学习最新课件89S52引脚图引脚图开发板学习最新课件时钟、复位电路时钟、复位电路时钟电路:时钟电路:复位电路:复位电路:开发板学习最新课件I/O端口端口P0口口1P0端口端口总线总线IO端口,双向,开漏,数据地址分端口,双向,开漏,数据地址分时复用,该端口除用于数据的输入输出时复用,该端口除用于数据的输入输出外,在外,在89S52单片机外接程序存储器时,还单片机外接程序存储器时,还分时地输出输入地址指令。由分时地输出输入地址指令。由P0端口端口输出的信号无锁存,输入的信息有读端口输出的信号无锁存,输入的信息有读端口引脚和读端口锁存器之分引脚和读端口锁存器之分 开发板学习最新课件P0端口结构端口结构开发板学习最新课件P1端口结构端口结构开发板学习最新课件P2端口结构端口结构开发板学习最新课件I/O端口端口P3口(双功能口)口(双功能口)P3.0 RXD 串行接口串行接口P3.1 TXDP3.2 /INT0 外部中断输入外部中断输入P3.3 /INT1P3.4 T0 定时定时/计数器输入计数器输入P3.5 T1P3.6 /WR 外部数据读、写外部数据读、写P3.7 /RD开发板学习最新课件I/O端口端口P3口(双功能口)口(双功能口)开发板学习最新课件P3端口结构端口结构开发板学习最新课件SFR寄存器(寄存器(1)特殊功能特殊功能功能名称功能名称地址地址复位后复位后 寄存器寄存器的状态的状态B*通用寄存器通用寄存器F0H 00HA *累加器累加器E0H 00HPSW *程序状态寄存器程序状态寄存器 D0H 00HIP*中断优先寄存器中断优先寄存器 B8H00HP3*P3口数据寄存器口数据寄存器 B0HFFHIE*中断允许寄存器中断允许寄存器 A8H00HP2*P2口数据寄存器口数据寄存器 A0H FFHSBUF 串行口发送串行口发送/接收缓冲器接收缓冲器 99H 不定不定SCON*串行口控制寄存器串行口控制寄存器 98H 00HP1*P1口数据寄存器口数据寄存器 90H FFH开发板学习最新课件SFR寄存器(寄存器(2)特殊功能特殊功能 功能名称功能名称 地址地址 复位后复位后 寄存器寄存器 的状态的状态TH1T1计数器高计数器高8位位 8DH 00HTH0 T0计数器高计数器高8位位 8CH 00HTL1 T1计数器低计数器低8位位 8BH 00HTL0 T0 计数器低计数器低8位位 8AH 00HTMOD 定时定时/计数器方式字寄存器计数器方式字寄存器 89H 00HTCON*定时控制寄存器定时控制寄存器 88H 00HPCON 波特率选择寄存器波特率选择寄存器 87H 00HDPH地址寄存器高地址寄存器高8位位 83H 00HDPL地址寄存器低地址寄存器低8位位 82H 00HSP堆栈指示器堆栈指示器 81H 07HP0*P0口数据寄存器口数据寄存器 80H FFH开发板学习最新课件CPU时序外部程序存储器读时序外部程序存储器读开发板学习最新课件CPU时序外部数据存储器读写时序外部数据存储器读写开发板学习最新课件第二章第二章 89S52单片机开发入门单片机开发入门一、开发流程一、开发流程二、开发工具二、开发工具三、集成开发环境三、集成开发环境四、举例四、举例开发板学习最新课件Keil C51开发流程根据任务选择根据任务选择MC型号型号设置工程参数,如频率,优化级别等设置工程参数,如频率,优化级别等加入适当的包含文件加入适当的包含文件#include “reg51.h”编写源代码编写源代码调试与仿真调试与仿真生成生成HEX文件文件烧写烧写开发板学习最新课件二、开发工具二、开发工具89S52开发板开发板集成开发环境集成开发环境下载线软件下载线软件常用仪器(万用表常用仪器(万用表,示波器等)示波器等)开发板学习最新课件下载线软件开发板学习最新课件编程软件开发板学习最新课件三、集成开发环境三、集成开发环境Keil Software Inc.的的uVision2,集成开发环集成开发环境或者境或者WAVE编译环境编译环境集成集成C和汇编语言源代码编写和汇编语言源代码编写.编译连接编译连接,模拟仿真模拟仿真,输出输出hex文件文件.支持连接仿真器进行在线仿真支持连接仿真器进行在线仿真.标准标准C语言支持语言支持.支持多级优化支持多级优化支持数百种器件支持数百种器件.开发板学习最新课件Keil C51 uVision2开发板学习最新课件第三章第三章 指令系统及汇编语言指令系统及汇编语言一、指令系统概述一、指令系统概述二、二、51单片机指令系统单片机指令系统三、汇编语言程序设计举例三、汇编语言程序设计举例四、四、C51程序设计举例程序设计举例开发板学习最新课件一、指令系统概述一、指令系统概述MCS-51系列单片机共有系列单片机共有111条指令条指令按功能可分成按功能可分成5类指令类指令:数据传送指令(数据传送指令(29条)条)算术运算指令(算术运算指令(24条)条)逻辑运算指令(逻辑运算指令(24条)条)控制转移指令(控制转移指令(17条)条)位操作类指令(位操作类指令(17条)条)开发板学习最新课件1. 指令执行时间快指令执行时间快 单周期指令单周期指令65条条 (1us, 12MHz晶振) 双周期指令双周期指令44条条 (2us , 12MHz晶振) 四周期指令四周期指令2条条 (4us , 12MHz晶振) 2. 指令短指令短单字节指令单字节指令49条条 双字节指令双字节指令46条条 三字节指令三字节指令 16条条 3. 单指令实现字节相乘或相除运算单指令实现字节相乘或相除运算4. 具有丰富的位操作类指令具有丰富的位操作类指令1、AT89系列指令系统特点系列指令系统特点开发板学习最新课件2、寻址方式7种寻址方式:种寻址方式:立即寻址立即寻址直接寻址直接寻址寄存器寻址寄存器寻址寄存器间接寻址寄存器间接寻址相对寻址相对寻址变址寻址变址寻址位寻址位寻址开发板学习最新课件二、二、51单片机指令系统单片机指令系统1、指令中常用符号说明、指令中常用符号说明2、数据传送指令、数据传送指令3、算术运算指令、算术运算指令4、逻辑运算指令、逻辑运算指令5、控制转移指令、控制转移指令6、位操作类指令、位操作类指令开发板学习最新课件1、指令中常用符号说明、指令中常用符号说明Rn 当前寄存器区的当前寄存器区的RoR7(其中其中n07)Ri 当前寄存器区中的当前寄存器区中的R0和和R1(其中其中i0,1) direct 8位直接字节地址位直接字节地址(片内片内RAM和和SFR空间空间) #data 8位立即数。位立即数。#data16 16位立即数。位立即数。addr1616位地址值。位地址值。Addr11 11位地址值。位地址值。rel8位带符号地址偏移量位带符号地址偏移量(128127) bit片内片内RAM和和SFR中的可直接寻址位中的可直接寻址位 间接寻址寄存器或基址寄存器的前缀间接寻址寄存器或基址寄存器的前缀 ( ) 表示括号中的内容表示括号中的内容( ) 表示间址寻址的内容表示间址寻址的内容开发板学习最新课件2、数据传送指令、数据传送指令(1)MOVA, RnMOVA, directMOVA, RiMOVA, #dataMOVRn, AMOVRn, directMOVRn, #dataMOV direct, AMOVdirect, RnMOVdirect, directMOVdirect, RiMOV direct, #dataMOV Ri, AMOVRi, direct开发板学习最新课件数据传送指令数据传送指令(2) MOVDPTR, #data16MOVCA, A+DPTRMOVCA, A+PCMOVXA, RiMOVXA, DPTRMOVXRi, AMOVX DPTR, APUSHdirectPOPdirectXCHA, RnXCHA, directXCHA, RiXCHDA, RiSWAPA开发板学习最新课件3、算术运算指令、算术运算指令(1)ADDA, RnADDA, directADDA, RiADDA, #dataADDCA, RnADDCA, directADDCA, RiADDCA, #dataSUBBA, RnSUBBA, directSUBBA, RiSUBBA, #data开发板学习最新课件算术运算指令算术运算指令(2)INCAINCRnINCRiDECADECRnDECdirectDECRiINCDPTRMULABDIVABDAA开发板学习最新课件4、逻辑运算指令、逻辑运算指令(1)ANLA, RnANLA, directANLA, RiANLA, #dataANLdirect, AANLdirect, #dataORLA, RnORLA, directORLA, RiORLA, #dataORLdirect, AORLdirect, #data开发板学习最新课件逻辑运算指令逻辑运算指令(2)XRLA, RnXRLA, RiXRLA, #dataXRLdirect, AXRLdirect, #dataCLRACPLARLARLCARRARRCA开发板学习最新课件5、控制转移指令、控制转移指令ACALLaddr11LCALL addr16RETRETIAJMPaddr11LJMPaddr16SJMPrelJMPA+DPTRJZrelJNZrelCJNEA, direct, relCJNEA, #data, relCJNERi, #data, relDJNZRn, relDJNZdirect, relNOP开发板学习最新课件6、位操作类指令、位操作类指令CLRCCLRbitSETBCSETBbitCPLCCPLbitANLC, bitANLC, /bitORLC, bitORLC, /bitMOVC, bitMOVbit, CJCrelJNCrelJBbit, relJNBbit, relJBCbit, rel开发板学习最新课件三、汇编语言程序设计应用举例三、汇编语言程序设计应用举例举例:举例:设计一个指示器,要求当指示设计一个指示器,要求当指示按键按下后,指示灯发光。按键按下后,指示灯发光。设设P1.0口驱动指示灯,口驱动指示灯,P1.1口作为指示按键输入。口作为指示按键输入。电路设计见图电路设计见图开发板学习最新课件ORG00LJMPSTARTORG0100HSTART:JBP1.1, $JNBP1.1, $SETB P1.0SJMPLOOP1SOUND: MOVR7, #5SETBP1.0MOVR0, #10LCALL DELAYCLRP1.0MOVR0, #20LCALL DELAYDJNZR7, SOUND1RET开发板学习最新课件DELAY:MOV R1,#100 ;100msDELAY1:MOV R2,#200 ;1msDELAY2:NOPNOPNOPDJNZR2, DELAY2DJNZR1, DELAY1DJNZR0, DELAYRET开发板学习最新课件#include “reg51.h”#define uchar unsigned charsbit pinSW=P12;sbit pinBell=P10;sbit pinLed=P11;void Delay_1ms(uint S_DelayTime)uchar S_j; while (S_DelayTime!=0) S_DelayTime-; for(S_j=0;S_j115;S_j+) void main(void)int Delay=0;pinLed=1;pinBell=1;while(1)if(!pinSW)Delay_1ms(2);开发板学习最新课件 开发板学习最新课件第四章第四章 51单片机的功能单元介绍单片机的功能单元介绍一、定时一、定时/计数器计数器二、串行接口二、串行接口三、中断系统三、中断系统开发板学习最新课件一、定时一、定时/计数器计数器定时器计数器简称定时器,其作用主要包括产生定时器计数器简称定时器,其作用主要包括产生各种时标间隔、记录外部事件的数量等,是微机中最常各种时标间隔、记录外部事件的数量等,是微机中最常用、最基本的部件之一。用、最基本的部件之一。803l单片机有单片机有2个个16位的定时器计数器:位的定时器计数器: 定时器定时器0(T0)和定时器和定时器1(T1)。T0由由2个定时寄存器个定时寄存器TH0和和TL0构成,构成,T1则由则由TH1和和TL1构成,它们都分别映射构成,它们都分别映射在特殊功能寄存器中,从而可以通过对特殊功能寄存器在特殊功能寄存器中,从而可以通过对特殊功能寄存器中这些寄存器的读写来实现对这两个定时器的操作。中这些寄存器的读写来实现对这两个定时器的操作。用于定时器工作时,每一个机器周期定时寄存器自用于定时器工作时,每一个机器周期定时寄存器自动加动加l,所以定时器也可看作是计量机器周期的计数器。,所以定时器也可看作是计量机器周期的计数器。由于每个机器周期为由于每个机器周期为12个时钟振荡周期,所以定时的分个时钟振荡周期,所以定时的分辨率是时钟振荡频率的辨率是时钟振荡频率的112。用于计数器工作时,只要在单片机外部引脚用于计数器工作时,只要在单片机外部引脚T0(或或T1)有从有从1到到0电平的负跳变,计数器就自动加电平的负跳变,计数器就自动加1。计数的。计数的最高频率一般为振荡频率的最高频率一般为振荡频率的l24 开发板学习最新课件1、控制字、控制字TF 中断请求标志中断请求标志(T0、T1),高电平有效,高电平有效M0M1C/TGATEM0M1C/TGATET1 T0GATE 1打开打开 0关闭关闭C/T 1计数状态计数状态 0定时状态定时状态 M1、M0 工作方式设置工作方式设置 00方式方式0 01方式方式1 10方式方式2 11方式方式3IT0IE0IT1IE1TR0TF0TR1TF1TCON控制字控制字TR 定时定时/计数器计数器(T0、T1)运行控制位,高电平有效运行控制位,高电平有效 IT 外部中断(外部中断(INT0、INT1)触发方式触发方式 1下降沿引起下降沿引起 0低电平引起低电平引起IE 外部中断请求标志(外部中断请求标志(INT0、INT1),高电平有效,高电平有效TMOD控制字控制字开发板学习最新课件2、方式、方式013位方式,由位方式,由TL1的低的低5位和位和TH1的的8位构成位构成13位计数器(位计数器(TL1的高的高3位无效)位无效)开发板学习最新课件3、方式、方式116位方式,由位方式,由TL1的的8位和位和TH1的的8位位构成构成16位计数器位计数器开发板学习最新课件4、方式、方式2 8位自动装入时间常数方式。由位自动装入时间常数方式。由TL1构成构成8位计数器,位计数器,THl仅用来存放时间常数。启动仅用来存放时间常数。启动T1前,前,TL1和和TH1装装入相同的时间常数,当入相同的时间常数,当TL1计满后,除定时器回零标计满后,除定时器回零标志志TF1置位,具有向置位,具有向CPU请求中断的条件外,请求中断的条件外,TH1中中的时间常数还会自动地装入的时间常数还会自动地装入TL1,并重新开始定时或,并重新开始定时或计数计数 开发板学习最新课件5、方式、方式32个个8位方式。工作方式位方式。工作方式3只适用于定时只适用于定时器器0。如果使定时器。如果使定时器1为工作方式为工作方式3,则定时器,则定时器1将处于关闭状态。将处于关闭状态。 开发板学习最新课件6、汇编编程举例、汇编编程举例利用定时器/计数器每隔1ms控制产生宽度为2个机器周期的负脉冲,由P1.0送出,设时钟频率为12MHzORG 0000HAJMPMAINORG000BHAJMPT0INTORG100HMAIN:MOV TH0,#0DDHMOV TL0,#18HSETBTROLOOP: SJMPLOOPORG200HT0INT: CLRP1.0SETBP1.0 MOVTH0,#0DDHMOVTL0,#18HRETI 开发板学习最新课件7、C51编程举例编程举例#include sbit pinPulse=P10;void T0Int(void);void T0Int(void) interrupt 1pinPulse=0;pinPulse=1;TH0=0xdd;TL0=0x18;void main(void)TH0=0xdd;TL0=0x18;ET0=1;EA=1;TR0=1;while(1);开发板学习最新课件二、串行接口二、串行接口 MCS51单片机具有一个采用通用异单片机具有一个采用通用异步接收器发送器步接收器发送器(UART)工作方式的全双工作方式的全双工串行通信接口,可以同时发送、接收数工串行通信接口,可以同时发送、接收数据。它具有两个相互独立的接收、发送缓据。它具有两个相互独立的接收、发送缓冲器,两个缓冲器共用一个地址冲器,两个缓冲器共用一个地址(99H),发,发送缓冲器只能写入,不能读出,接收缓冲送缓冲器只能写入,不能读出,接收缓冲器只能读出,不能写入。同时,该串行接器只能读出,不能写入。同时,该串行接口也可作为同步移位寄存器使用,其中帧口也可作为同步移位寄存器使用,其中帧格式可有格式可有8位、位、10位和位和11位,并能置成多种位,并能置成多种波特率。波特率。开发板学习最新课件1、异步通信格式、异步通信格式波特率波特率(Baud Rate)波特率,即数据传送速率,表示每秒钟传送二进制代波特率,即数据传送速率,表示每秒钟传送二进制代码的位数,它的单位是位秒。举例:数据传送的速率每秒码的位数,它的单位是位秒。举例:数据传送的速率每秒为为120个字符,每个字符包含个字符,每个字符包含10个代码位个代码位(一个起始位、一个一个起始位、一个停止位、停止位、8个数据位个数据位),这时,传送的波特率为:,这时,传送的波特率为:10120位秒位秒1200波特波特(bps) 开发板学习最新课件 RI TI RB8 TB8 REN SM2 SM1SM0D7 D6 D5 D4 D3 D2 D1 D0SM0 SM1 工作方式工作方式 说明说明 波特率波特率 0 0 0 同步移位寄存器同步移位寄存器 fosc/120 1 1 10位异步收发位异步收发 可变可变 1 0 2 11位异步收发位异步收发 fosc/32 或或fosc/641 1 3 10位异步收发位异步收发 可变可变.REN: 允许接收控制位,用软件置允许接收控制位,用软件置1或清或清0 TI: 发送中断标志位,软件清发送中断标志位,软件清0 RI: 接收中断标志位,软件清接收中断标志位,软件清0 TB8: 准备发送的第准备发送的第9位数据位,软件置位数据位,软件置1或或0 RB8: 接收到的第接收到的第9位数据位数据 SM2: 用于主用于主从式多机通信的控制位。若从式多机通信的控制位。若SM21,则允许多机通信,则允许多机通信 2、串行口控制寄存器、串行口控制寄存器SCON (98H)开发板学习最新课件4、关于多机通信、关于多机通信 SM2SM2:在工作方式:在工作方式2 2和工作方式和工作方式3 3中,用于主中,用于主从式多机通从式多机通信的控制位。若信的控制位。若SM2SM21 1,则允许多机通信。多机通信规定,则允许多机通信。多机通信规定,第第9 9位数据位数据(D8)(D8)为为l l,说明本帧为地址;若第,说明本帧为地址;若第9 9位数据为位数据为0 0,则,则本帧为数据,当一个本帧为数据,当一个MCS51(MCS51(主机主机) )与多个与多个MCS51(MCS51(从机从机) )通通信时,所有从机的信时,所有从机的SM2SM2都置为都置为1 1。主机首先发送一帧地址,即。主机首先发送一帧地址,即某从机地址编号,其中第某从机地址编号,其中第9 9位为位为1 1,被寻址的某个从机收到地,被寻址的某个从机收到地址信息后,将其中的第址信息后,将其中的第9 9位装入位装入RB8RB8。从机依据。从机依据RB8RB8的值来决的值来决定从机是否再接收主机的信息。若定从机是否再接收主机的信息。若RB8RB80 0,说明是数据帧,说明是数据帧,则使接收中断标志位则使接收中断标志位RIRI0 0,信息丢失;若,信息丢失;若RB8RB81 1,说明是,说明是地址帧,数据装入接收发送缓冲器,并置中断标志地址帧,数据装入接收发送缓冲器,并置中断标志RIRI1 1,中断所有从机,被寻址的目标从机使,中断所有从机,被寻址的目标从机使SM2SM20 0,以接收主机,以接收主机发来的一帧数据,其它从机仍然保持发来的一帧数据,其它从机仍然保持SM2SM21 1。若。若SM2SM20 0,则,则不属于多机通信情况,接收到一帧数据后,无论第不属于多机通信情况,接收到一帧数据后,无论第9 9位是位是0 0还还是是1 1,都置中断标志,都置中断标志RIRI1 1,接收到的数据装入接收发送缓,接收到的数据装入接收发送缓冲器中。工作方式冲器中。工作方式1 1时,若时,若SM2SM21 1,则只有接收到有效停止,则只有接收到有效停止位时,中断标志位时,中断标志RIRI才置才置1 1,以便接收下一帧数据。在工作方,以便接收下一帧数据。在工作方式式0 0时,时,SM2SM2应为应为0 0。 开发板学习最新课件三、中断系统三、中断系统1、中断结构图、中断结构图2、中断控制寄存器、中断控制寄存器3、中断响应条件、中断响应条件4、中断响应过程、中断响应过程5、中断响应示意图、中断响应示意图6、汇编编程举例、汇编编程举例7、C51编程举例编程举例开发板学习最新课件1、中断结构图、中断结构图开发板学习最新课件2、中断控制寄存器、中断控制寄存器 同级内部优先级同级内部优先级外部中断外部中断0 最高最高定时器定时器0 外部中断外部中断1 定时器定时器1 串行口串行口 最低最低开发板学习最新课件开发板学习最新课件3、中断的响应条件、中断的响应条件 中断源有请求,中断源有请求,CPU允许所有中断源请求允许所有中断源请求(EA1),中断允许寄存器,中断允许寄存器IE相应位置相应位置1。这样,在每个机。这样,在每个机器周期内,单片机对所有中断源都进行顺序检测,器周期内,单片机对所有中断源都进行顺序检测,并可在任一个周期的并可在任一个周期的S6期间,找到所有有效的中断期间,找到所有有效的中断请求,并对其优先级排队,只要满足下列条件:请求,并对其优先级排队,只要满足下列条件:1. 无同级或高级中断正在服务;无同级或高级中断正在服务;2. 现行指令执行到最后一个机器周期且已结束;现行指令执行到最后一个机器周期且已结束;3. 若现行指令为若现行指令为RETI或需访问特殊功能寄存器或需访问特殊功能寄存器IE或或IP的指令时,执行完该指令且紧随其后的另一条的指令时,执行完该指令且紧随其后的另一条指令也已执行完。指令也已执行完。单片机便在紧接着的下一个机器周期单片机便在紧接着的下一个机器周期S1期间响应期间响应中断,否则将丢弃中断查询的结果。中断,否则将丢弃中断查询的结果。开发板学习最新课件4、中断响应过程、中断响应过程单片机一旦响应中断,首先置位响应的单片机一旦响应中断,首先置位响应的优先级有效触发器,然后执行一个硬件子优先级有效触发器,然后执行一个硬件子程序调用,把断点地址压入堆栈保护,然程序调用,把断点地址压入堆栈保护,然后将对应的中断入口地址值装入程序计数后将对应的中断入口地址值装入程序计数器器PC,使程序转向该中断人口地址,以执,使程序转向该中断人口地址,以执行中断服务程序。行中断服务程序。单片机响应中断后,只保护断点而不保单片机响应中断后,只保护断点而不保护现场护现场(如累加器如累加器A、程序状态字寄存器、程序状态字寄存器PSW的内容的内容),且不能清除串行口中断标志,且不能清除串行口中断标志TI和和RI,也无法清除外部中断请求信号,也无法清除外部中断请求信号INT0和和INT1。故用户在编制程序时应予以。故用户在编制程序时应予以考虑。考虑。开发板学习最新课件5、中断响应示意图、中断响应示意图特定程序入口地址:特定程序入口地址: 0000H 复位复位 中断向量地址中断向量地址 中断源中断源0003H 外部中断外部中断0 000BH 定时器定时器0 0013H 外部中断外部中断1 001BH 定时器定时器1 0023H 串行口串行口开发板学习最新课件6、汇编编程举例、汇编编程举例 利用定时器利用定时器T0定时,在定时,在P1.0端口输出周期性的方波信号,端口输出周期性的方波信号,方波周期为方波周期为2ms,已知晶振频率为,已知晶振频率为6MHz 。ORG0000HLJMPSTARTORG000BHLJMPCTC0ORG0100HSTART: MOVTMOD,#01HMOVTL0,#18HMOVTH0,#0FCHSETBEASETBET0HERE: SJMPHERECTC0: MOVTL0,#18HMOVTH0,#0FCHCPLP1.0RETI开发板学习最新课件7、C51编程举例编程举例#include sbit pinPulse=P10void T0Int(void) interrupt 1TL0=0x18;TH0=0xfc;pinPulse=pinPulse;void main(void)TMOD=0x01;TL0=0x18;TH0=0xfc;EA=1;ET0=1;while(1);开发板学习最新课件第五章第五章 51单片机的扩展应用单片机的扩展应用一、并行扩展设计一、并行扩展设计二、串行扩展设计二、串行扩展设计三、键盘及显示接口设计三、键盘及显示接口设计四、四、A/D、D/A接口设计接口设计五、五、LED、LCD接口设计接口设计开发板学习最新课件一一、串行扩展、串行扩展I/O口举例口举例开发板学习最新课件三、键盘及显示接口设计三、键盘及显示接口设计1、键盘接口电路举例、键盘接口电路举例2、LED显示接口电路举例显示接口电路举例3、LCD显示接口电路举例显示接口电路举例开发板学习最新课件1、键盘接口电路举例、键盘接口电路举例(2)矩阵式键盘)矩阵式键盘(1)独立式键盘)独立式键盘 开发板学习最新课件(1)独立独立式键盘式键盘开发板学习最新课件(2)矩阵式键盘)矩阵式键盘开发板学习最新课件LED数码管数码管开发板学习最新课件88点阵模块(点阵模块(1)开发板学习最新课件88点阵模块(2)开发板学习最新课件点阵的基本连接方式开发板学习最新课件显示图像的基本原理如下图所示,假设显示数字“0” 1 2 3 4 5 6 7 8 00 00 3E 41 41 41 3E 00 因此,形成的列代码为00H,00H,3EH,41H,41H,3EH,00H,00H;只要把这些代码分别送到相应的列线上面,即可实现“0”的数字显示。开发板学习最新课件LCD显示接口电路举例显示接口电路举例开发板学习最新课件基本特性基本特性1602的屏一般为标准屏,接口定义基本一样,但由于厂家的差异,默认对比度不完全相同,请读者在对比度调节端子自行加装电位器调节。内侧16引脚的座子为1602的插座。下图是1602液晶屏的实物图片,货物以实物为准。屏的引脚处标有引脚数。部分屏标有定义(视厂家而定)。本款配屏的引脚定义如下:开发板学习最新课件数据端口数据端口GND(地)(地)VCC(电源正极(电源正极5V)V0(对比度调节端,通常直接接地)(对比度调节端,通常直接接地)RS(读控制)(读控制)RW(写控制)(写控制)E(使能端)(使能端)开发板学习最新课件数据端口数据端口DB0(数据端口最低端)(数据端口最低端)DB1DB2DB3DB4DB5DB6DB7(数据端口最高端数据端口最高端)BLA(背光正极)(背光正极)BLK(背光负极)(背光负极)开发板学习最新课件ADC0809的原理的原理 ADC0809是带有8位A/D转换器、8路多路开关以及微处理机兼容的控制逻辑的CMOS组件。它是逐次逼近式A/D转换器,可以和单片机直接接口。开发板学习最新课件 ADC0809原理图原理图开发板学习最新课件
收藏 下载该资源
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号