AT89C51单片机中断系统

合集下载

(完整)AT89C51单片机的概述

(完整)AT89C51单片机的概述

AT89C51单片机的概述(1)AT89C51单片机的结构AT89C51单片机是美国Atmel公司生产低电压,高性能CMOS 8位单片机,片内含4k bytes的可反复擦写的只读程序存储器(EPROM)和128 bytes的随机存取数据存储器(RAM),器件采用Atmel公司的高密度、非易失性存取技术生产,兼容标准MCS-51指令系统,片内置通用8位中央处理器(CPU)和Flash 存储单元,功能强大[3]。

AT89C51单片机可提供许多高性价比的应用场合,可灵活应用于各种控制领域。

上图为AT89C51单片机的基本组成功能方块图.由图可见,在这一块芯片上,集成了一台微型计算机的主要组成部分,其中包括CPU、存储器、可编程I/O口、定时器/计数器、串行口等,各部分通过内部总线相连。

下面介绍几个主要部分。

外时钟源外部事件计数外中断控制并行口串行通信AT89C51 功能方块图(2)AT89C51的管脚说明ATMEL公司的AT89C51是一种高效微控制器.采用40引脚双列直插封装形式。

AT89C51单片机是高性能单片机,因为受引脚数目的限制,所以有不少引脚具有第二功能。

VCC:供电电压.GND:接地.P0口:P0口为一个8位漏级开路双向I/O口,每脚可吸收8TTL门电流。

当P1口的管脚第一次写1时,被定义为高阻输入.P0能够用于外部程序数据存储器,它可以被定义为数据/地址的第八位。

在FLASH编程时,P0 口作为原码输入口,当FLASH进行校验时,P0输出原码,此时P0外部必须被拉高.P1口:P1口是一个内部提供上拉电阻的8位双向I/O口,P1口缓冲器能接收输出4TTL门电流。

P1口管脚写入1后,被内部上拉为高,可用作输入,P1口被外部下拉为低电平时,将输出电流,这是由于内部上拉的缘故.在FLASH编程和校验时,P1口作为第八位地址接收。

P2口:P2口为一个内部上拉电阻的8位双向I/O口,P2口缓冲器可接收,输出4个TTL门电流,当P2口被写1时,其管脚被内部上拉电阻拉高,且作为输入。

AT89C51单片机说明

AT89C51单片机说明
此外,在将程序代码烧录至 8751 内部 EPROM、89C51 内部 FALSH 时,可以利用此引 脚来输入提供编程电压(8751 为 2lV、AT89C51 为 12V、8051 是由生产厂方一次性加工好)。
PSEN 此为"Program Store Enable"的缩写。访问外部程序存储器选通信号,低电平有效。在访
(60KB)
0FFFFH
1000H
外部 程序 存储器
0FFFH
EA=0 (4KB)
0000H
0FFFFH
外 部 数 据 存 储 器
(64KB)
0000H
图 2-2 只读程序存储器
图 2-3 外部数据存储器
直接地址
2FH 7F 7E 7D 7C 7B 7A 79 78 2EH 77 76 75 74 73 72 71 70 2DH 6F 6E 6D 6C 6B 6A 69 68 2CH 67 66 65 64 63 62 61 60 2BH 5F 5E 5D 5C 5B 5A 59 58 2AH 57 56 55 54 53 52 51 50 29H 4F 4E 4D 4C 4B 4A 49 48 28H 47 46 45 44 43 42 41 40 位寻址区 27H 3F 3E 3D 3B 3C 3A 39 38 26H 37 36 35 34 33 32 31 30 25H 2F 2E 2D 2B 2C 2A 29 28 24H 27 26 25 24 23 22 21 20 23H 1F 1E 1D 1C 1B 1A 19 18 22H 17 16 15 14 13 12 11 10 21H 0F 0E 0D 0C 0B 0A 09 08 20H 07 06 05 04 03 02 01 00 1FH

AT89C51单片机简单介绍

AT89C51单片机简单介绍
• Flash存储器编程时,该引脚加上+12V的编 程允许电源Vpp,当然这必须是该器件是使 用12V编程电压Vpp。
简单的程序
• LOOP: SETB P10; 让P10灯灭 LCALL DELAY; //长跳转指令 (当遇到RET,则回到此下行程
序) CLR P10; //让灯P10亮 LCALL DELAY; AJMP LOOP; //绝对跳转到LOOP
AT89C51
AT89C51是美国ATMEL公司生产的低 电压,高性能CMOS8位单片机,片内含4K bytes的可反复擦写的只读程序存储器和 128bytes的随机存取数据存储器(RAM), 器件采用ATMEL公司的高密度、非易失性 存储技术生产,兼容标准MCS-51指令系统, 片内置通用8位中央处理器(CPU)和flash 存储单元。
FLASH编程和校验时,P1口作为第八位地址接收。
P2口
• P2口:P2口为一个内部上拉电阻的8位双向I/O口, P2口缓冲器可接收,输出4个TTL门电流,当P2 口被写“1”时,其管脚被内部上拉电阻拉高,且 作为输入。并因此作为输入时,P2口的管脚被外 部拉低,将输出电流。这是由于内部上拉的缘故。 P2口当用于外部程序存储器或16位地址外部数据 存储器进行存取时,P2口输出地址的高八位。在 给出地址“1”时,它利用内部上拉优势,当对外 部八位地址数据存储器进行读写时,P2口输出其 特殊功能寄存器的内容。P2口在FLASH编程和校 验时接收高八位地址信号和控制信号。
放大器的输入和输出。该反向放大
器可以配置为片内振荡器。石晶振
荡和陶瓷振荡均可采用。如采用外
部时钟源驱动器件,XTAL2应不接。
有余输入至内部时钟信号要通过一
个二分频触发器,因此对外部时钟

AT89C51系列单片机介绍

AT89C51系列单片机介绍

3.1 AT89C51系列单片机介绍3.1.1 AT89C51系列基本组成及特性AT89C51是一种带4k字节闪烁可编程可擦除只读存储器的低电压,高性能CMOS8位微处理器,俗称单片机。

而在众多的51系列单片机中,要算 ATMEL 公司的AT89C51更实用,也是一种高效微控制器,因为它不但和8051指令、管脚完全兼容,而且其片内的4K程序存储器是FLASH工艺的,这种工艺的存储器,用户可以用电的方式达到瞬间擦除、改写。

而这种单片机对开发设备的要求很低,开发时间也大大缩短。

AT89C51基本功能描述如下:AT89C51是一种低损耗、高性能、CMOS八位微处理器,而且在其片种还有4k字节的在线可重复编程快擦快写程序存储器,能重复写入/擦除1000次,数据保存时间为十年。

它与MCS-51系列单片机在指令系统和引脚上完全兼容,不仅可完全代替MCS-51系列单片机,而且能使系统具有许多MCS-51系列产品没有的功能。

AT89C51可构成真正的单片机最小应用系统,缩小系统体积, 增加系统的可靠性,降低了系统成本。

只要程序长度小于4k, 四个I/O口全部提供给用户。

可用5V电压编程,而且写入时间仅10毫秒, 仅为8751/87C51 的擦除时间的百分之一,与8751/87C51的12V电压擦写相比, 不易损坏器件, 没有两种电源的要求,改写时不拔下芯片,适合许多嵌入式控制领域。

AT89C51 芯片提供三级程序存储器锁定加密,提供了方便灵活而可靠的硬加密手段, 能完全保证程序或系统不被仿制。

另外,AT89C51 还具有MCS-51系列单片机的所有优点。

128×8 位内部RAM, 32 位双向输入输出线, 两个十六位定时器/计时器, 5个中断源, 两级中断优先级, 一个全双工异步串行口及时钟发生器等。

AT89C51有间歇、掉电两种工作模式。

间歇模式是由软件来设置的, 当外围器件仍然处于工作状态时, CPU可根据工作情况适时地进入睡眠状态, 内部RAM和所有特殊的寄存器值将保持不变。

单片机AT89C51应用及结构功能

单片机AT89C51应用及结构功能

AT89C51单片机功能及应用和来源参考主要性能参数:与MCS-51产品指令系统完全兼容4K字节可重檫写Flash闪速存储器1000次檫写周期全静态操作:0HZ-24MHZ三级加密程序存储器128*8字节内部RAM32个可编程I/O口线2个16位定时/记数器6个中断源可编程串行UART通道低功耗空闲和掉电模式功能特性概述:AT89C51提供以下标准功能:4K字节Flash闪速存储器,128字节内部RAM,32个I/O口线,两个16位定时/记数器,一个5向量两级中断结构,一个全双工串行通信口,片内振荡器及时钟电路。

同时,AT89C51可降至0HZ的静态逻辑操作,并支持两种软件可选的节电工作模式。

空闲方式停止CPU的工作,但允许RAM,定时/记数器,串行通信口及中断系统继续工作。

掉电方式保存RAM中的内容,但振荡器停止工作直到下一个硬件复位。

AT89C51是美国ATMEL公司生产的低电压,高性能CMOS8位单片机,片内含4k bytes的可反复擦写的只读程序存储器(PEROM)和128 bytes的随机存取数据存储器(RAM),器件采用ATMEL公司的高密度、非易失性存储技术生产,兼容标准MCS-51指令系统,片内置通用8位中央处理器(CPU)和Flash存储单元,功能强大AT89C51单片机可为您提供许多高性价比的应用场合,可灵活应用于各种控制领域。

AT89C51方框图引脚功能说明·Vcc:电源电压·GND:地·P0 口:P0 口是一组8 位漏极开路型双向I/O 口,也即地址/数据总线复用口。

作为输出口用时,每位能吸收电流的方式驱动8个TTL逻辑门电路,对端口写“1”可作为高阻抗输入端用。

在访问外部数据存储器或程序存储器时,这组口线分时转换地址(低8位)和数据总线复用,在访问期间激活内部上拉电阻。

在FIash 编程时,P0口接收指令字节,而在程序校验时,输出指令字节,校验时,要求外接上拉电阻。

AT89C51单片机的基本结构和工作原理

AT89C51单片机的基本结构和工作原理

A T89C51单片机的主要工作特性:·内含4KB的FLASH存储器,擦写次数1000次;·内含28字节的RAM;·具有32根可编程I/O线;·具有2个16位可编程定时器;·具有6个中断源、5个中断矢量、2级优先权的中断结构;·具有1个全双工的可编程串行通信接口;·具有一个数据指针DPTR;·两种低功耗工作模式,即空闲模式和掉电模式;·具有可编程的3级程序锁定定位;AT89C51的工作电源电压为5(1±0.2)V且典型值为5V,最高工作频率为24MHz.AT89C51各部分的组成及功能:1.单片机的中央处理器(CPU)是单片机的核心,完成运算和操作控制,主要包括运算器和(1)运算器运算器主要用来实现算术、逻辑运算和位操作。

其中包括算术和逻辑运算单元ALU、累加器ACC、B寄存器、程序状态字PSW和两个暂存器等。

ALU是运算电路的核心,实质上是一个全加器,完成基本的算术和逻辑运算。

算术运算包括加、减、乘、除、增量、减量、BCD码运算;逻辑运算包括“与”、“或”、“异或”、左移位、右移位和半字节交换,以及位操作中的位置位、位复位等。

暂存器1和暂存器2是ALU的两个输入,用于暂存参与运算的数据。

ALU的输出也是两个:一个是累加器,数据经运算后,其结果又通过内部总线返回到累加器;另一个是程序状态字PSW,用于存储运算和操作结果的状态。

累加器是CPU使用最频繁的一个寄存器。

ACC既是ALU处理数据的来源,又是ALU运算结果的存放单元。

单片机与片外RAM或I/O扩展口进行数据交换必须通过ACC来进行。

B寄存器在乘法和除法指令中作为ALU的输入之一,另一个输入来自ACC。

运算结果存于AB寄存器中。

(2)控制器控制器是识别指令并根据指令性质协调计算机内各组成单元进行工作的部件,主要包括程序计数器PC、PC增量器、指令寄存器、指令译码器、定时及控制逻辑电路等,其功能是控制指令的读入、译码和执行,并对指令执行过程进行定时和逻辑控制。

AT89C51单片机说明

AT89C51单片机说明

EA A8H AF
ET2 ES
ET1 EX1 ET0 EX0
AD AC AB AA A9 A8 IE
A0H A7 A6 A5 A4 A3 A2 A1 A0 P2
SM0 SM1 SM2 REN TB8 RB8 TI
RI
98H 9F 9E 9D 9C 9B 9A 99 98 SCON
90H 97 96 95 94 93 92 91 90 P1
工作寄存器组3 18H
17H 工作寄存器组2
10H
0FH 工作寄存器组1
08H
07H 工作寄存器组0
00H
图 2-4 内部低 128 个字节地址 RAM 空间
第 3 页 共 9页
附录
AT89C51 单片机说明
寄存器符号 ACC B PSW SP
DPTR
P0 P1 P2 P3 IP IE TMOD TCON TH0 TL0 TH1 TL1 SCON SBUF PCON
IP 中断优先次序寄存器
位地址 - - BD BC BB BA B9 B8
符号
- - PT2 PS PT1 PX1 PT0 PX0
-(IP.7) :保留位,无定义。 -(IP.6) :保留位,无定义。 PT2(IP.5) :设定计时器 2 的优先次序(8052 使用)。 PS(IP.4) :设定串行端口的中断优先次序。 PT1(IP.3) :设定时/计时器 1 的优先次序。 PX1(IP.2) :设定外部中断 INT1 的优先次序。 PT0(IP.1) :设定计时器 0 的优先次序。 PX0(IP.0) :设定外部中断 INT0 的优先次序。
(60KB)
0FFFFH
1000H
外部 程序 存储器

单片机AT89C51

单片机AT89C51

AT89C51是一种带4K字节闪烁可编程可擦除只读存储器(FPEROM—Falsh Programmable and Erasable Read Only Memory)的低电压,高性能CMOS8位微处理器,俗称单片机。

该器件采用ATMEL高密度非易失存储器制造技术制造,与工业标准的MCS-51指令集和输出管脚相兼容。

由于将多功能8位CPU和闪烁存储器组合在单个芯片中,ATMEL的AT89C51是一种高效微控制器,为很多嵌入式控制系统提供了一种灵活性高且价廉的方案。

1.主要特性:·8031 CPU与MCS-51 兼容· 4K字节可编程FLASH存储器(寿命:1000写/擦循环)· 全静态工作:0Hz-24KHz· 三级程序存储器保密锁定· 128*8位内部RAM· 32条可编程I/O线· 两个16位定时器/计数器·6个中断源· 可编程串行通道· 低功耗的闲置和掉电模式· 片内振荡器和时钟电路2.管脚说明:VCC:供电电压。

GND:接地。

P0口:P0口为一个8位漏级开路双向I/O口,每脚可吸收8TTL门电流。

当P1口的管脚第一次写1时,被定义为高阻输入。

P0能够用于外部程序数据存储器,它可以被定义为数据/地址的第八位。

在FIASH 编程时,P0 口作为原码输入口,当FIASH进行校验时,P0输出原码,此时P0外部必须被拉高。

P1口:P1口是一个内部提供上拉电阻的8位双向I/O口,P1口缓冲器能接收输出4TTL门电流。

P1口管脚写入1后,被内部上拉为高,可用作输入,P1口被外部下拉为低电平时,将输出电流,这是由于内部上拉的缘故。

在FLASH编程和校验时,P1口作为第八位地址接收。

P2口:P2口为一个内部上拉电阻的8位双向I/O口,P2口缓冲器可接收,输出4个TTL门电流,当P2口被写“1”时,其管脚被内部上拉电阻拉高,且作为输入。

AT89C51单片机的基本结构

AT89C51单片机的基本结构
(3)存储器
单片机内部的存储器分为程序存储器和数据存储器。AT89C51单片机的程序存储器采用4KB的快速擦写存储器Flash Memory,编程和擦除完全是电器实现。
(4)外围接口电路
AT89C51单片机的外围接口电路主要包括:4个可编程并行I/O口,1个可编程串行口,2个16位的可编程定时器以及中断系统等。
当EA信号接地时,对ROM的读操作限定在外部程序存储器,地址为0000H-FFFFH;当EA接VCC时,对ROM的读操作从内部程序存储器开始,并可延续至外部程序存储器。在编程时,该引脚可接编程电压5V或12V。在编程校验时,该引脚可接VCC。
·PSEN 片外程序存储器读选通信号PSEN,低电平有效。在片外程序存储器取指期间,当PSEN有效时,程序存储器的内容被送至P0口;在访问外部RAM时,PSEN 无效。
(2)振荡电路的接法
AT89C51的工作原理:
1.引脚排列及功能
AT89C51的封装形式有PDIP,TQFP,PLCC等,现以PDIP为例。
(1)I/O口线
·P0口 8位、漏极开路的双向I/O口。
当使用片外存储器及外扩I/O口时,P0口作为低字节地址/数据复用线。在编程时,P0口可用于接收指令代码字节;程序校验时,可输出指令字节。P0口也可做通用I/O口使用,但需加上拉电阻。作为普通输入时,应输出锁存器配置1。P0口可驱动8个TTL负载。
ALU是运算电路的核心,实质上是一个全加器,完成基本的算术和逻辑运算。算术运算包括加、减、乘、除、增量、减量、BCD码运算;逻辑运算包括“与”、“或”、“异或”、左移位、右移位和半字节交换,以及位操作中的位置位、位复位等。
暂存器1和暂存器2是ALU的两个输入,用于暂存参与运算的数据。ALU的输出也是两个:一个是累加器,数据经运算后,其结果又通过内部总线返回到累加器;另一个是程序状态字PSW,用于存储运算和操作结果的状态。

89C51中断控制寄存器

89C51中断控制寄存器

89C51中断寄存器详情中断系统:AT89C51单片机的中断系统由中断源、与中断控制有关的特殊功能寄存器、中断入口、顺序查询逻辑电路等组成,包括5个中断请求源、4个与中断控制有关的寄存器(IE、IP、TCON、SCON)、两个中断优先级及顺序查询逻辑电路。

1.中断源:中断源是指能引起中断、发出中断请求的装置或事件。

AT89C51有5个中断源○1外中断0(INT0):中断请求信号从单片机的P3.2脚输入○2外中断1(INT1):中断请求信号从单片机的P3.3脚输入○3内定时器/计数器0(T0):溢出中断○4内定时器/计数器1(T1):溢出中断○5串行口中断:包括串行收中断RI和串行发中断TI2.中断入口地址及内部优先权寄存器3.IE结构及各位名称、地址⑴EA是CPU中断总允许位。

EA=1,CPU开放中断;EA=0,CPU屏蔽所有的中断请求。

⑵ES是串行中断允许控制位。

ES=1,允许串行口中断;ES=0,禁止串行口中断。

⑶ET1是定时器/计数器1中断允许控制位。

ET1=1时允许定时器/计数器1中断;反之禁止。

⑷EX1是外部中断INT1中断允许位。

EX1=1时,允许外部中断1中断;反之依然。

⑸ET0是定时计数器T0的溢出中断允许位。

ET1=1时允许定时器/计数器0中断;反之禁止。

⑹EX0是外部中断INT0允许位。

EX1=1时,允许外部中断0中断;反之禁止。

89C51系统复位后,IE中各位均被清0,即禁止所有中断。

4.TCON(定时器/计数器和外中断控制寄存器):TCON的字节地址为88H,是可位寻址的特殊功能寄存器,其地址有低到高依次是88H ~ 8FH。

TCON结构及位名称、位地址TF1:T1溢出中断请求标志。

当定时器/计数器T1溢出时,由硬件置“1”,请求中断。

TF0:T0溢出中断请求标志。

当定时器/计数器T0溢出时,由硬件置“1”,请求中断。

IE1:外中断1中断请求标志。

当INT1引脚(P3.3)上出现有效的外部中断信号时,由硬件置“1”,请求中断。

AT89C51单片机的中断系统

AT89C51单片机的中断系统

(3)IE1—外部中断请求1的中断请求标志位。 IE1=0,无中断请求。 IE1=1,外部中断1有中断请求。当CPU响应该中断,转向中 断服务程序时,由硬件清“0”IE1。
• 程序如下: L0: MOV DX,PST

IN AL,DX
D0

TEST AL,01H; 00000001 判D0

JZ L0 ;D0为1下走,为0→L0

MOV AL,BL;

MOV DX,PDATA

OUT DX,AL;DX←数据
5.2 AT89C51单片机中断系统的结构
有5个中断请求源,两个中断优先级,可两级嵌套。
图5-1所示。对事件的整个处理过程,称为中断处 理(或中断服务)。
图5-1 中断响应和处理过程
能够实现中断处理功能的部件称为中断系统;产生中断的 请求源称为中断请求源。 中断源向CPU提出的处理请求,称为中断请求(或中断申请)。 进入中断→保护现场→中断处理恢复现场→中断返回 优点:大大地提高了CPU的工作效率。
第5章 AT89C51单片机的中断系统
实时测控,单片机能及时地响应和处理单片机外部事件或 内部事件所提出的中断请求。
5.1 中断的概念
CPU正在执行程序时,单片机外部或内部发生的某一事件, 请求CPU迅速去处理。
CPU暂时中止当前的工作,转到中断服务处理程序处理所 发生的事件。处理完该事件后,再回到原来被中止的地方, 继续原来的工作,这称为中断。 CPU处理事件的过程,称为CPU的中断响应过程。
D7~D0
DB
AB M/IO CPU
WR
RD
端口 译码器
输出 锁存器
74LS373
往输出 设备

单片机AT89C51简介

单片机AT89C51简介
单片机原理及应用回目录上一页下一页结束21at89c51单片机的结构时序和振荡电路时序和振荡电路程序存储器程序存储器rom数据存储器ram2个16位定时计数器cpu内部8位数据总线中断系统中断系统并行io口并行io口串行io口串行io口内部中断外部中断p0p1p2p3rxdtxd时钟源外部事件图21at89c51单片机内部结构框图单片机原理及应用回目录上一页下一页结束ram128bram地址寄存器p3口p1口p2口p0口锁存器锁存器锁存器锁存器中断定时计数器串行口中断定时计数器串行口spbbacc暂存器1暂存器2psw指令寄存器ir指令译码器iddpl缓冲器程序计数器pcpc增量器地址寄存器ar定时与控制4krom4kromaludph器运算器运算器器控制器控制器器存储器存储器io接口图22at89c51单片机的内部结构示意单片机原理及应用回目录上一页下一页结束211中央处理器cpucpu是单片机内部的核心部件是一个8位二进制数的中央处理单元主要由cpu是单片机内部的核心部件是一个8位二进制数的中央处理单元主要由运算器控制器和寄存器阵列构成
回目录 上一页 下一页 结 束
11
单片机原理及应用
温故知新检测
8号题
单片机CPU运算器的核心 部件是什么? 其主要功能有哪些?
回目录 上一页 下一页 结 束
12
单片机原理及应用
温故知新检测
9号题
AT89C51单片机内部 有多少字节的RAM和 FlashROM?
回目录 上一页 下一页 结 束
13
单片机原理及应用
P1.2 3 P1.3 4 P1.4 5 P1.5 6 P1.6 7 P1.7 8 RST 9 (RXD)P3.0 10 (TXD)P3.1 11 (TNT0)P3.2 12 (TNT1)P3.3 13 (T0)P3.4 14 (T1)P3.5 15 (WR)P3.6 16 (RD)P3.7 17 XTAL2 18 XTAL1 19 GND 20

单片机原理及接口技术张毅刚课后习题答案

单片机原理及接口技术张毅刚课后习题答案

第1章单片机概述1.除了单片机这一名称之外,单片机还可称为和。

答:微控制器,嵌入式控制器。

2.单片机与普通微型计算机的不同之处在于其将、、和3部分集成于一块芯片上。

答:CPU、存储器、I/O口。

3.8051与8751的区别是。

A.内部数据存储单元数目不同B.内部数据存储器的类型不同C.内部程序存储器的类型不同D.内部寄存器的数目不同答:C。

4.在家用电器中使用单片机应属于微计算机的。

A.辅助设计应用;B.测量、控制应用;C.数值计算应用;D.数据处理应用答:B。

5.微处理器、微计算机、微处理机、CPU、单片机它们之间有何区别?答:微处理器、微处理机和CPU都是中央处理器的不同称谓;而微计算机、单片机都是一个完整的计算机系统,单片机特指集成在一个芯片上的用于测控目的的单片微计算机。

6.MCS-51系列单片机的基本型芯片分别为哪几种?它们的差别是什么?答:MCS-51系列单片机的基本型芯片分别是8031、8051和8751。

它们的差别是在片内程序存储器上。

8031无片内程序存储器,8051片内有4KB的程序存储器ROM,而8751片内集成有4KB的程序存储器EPROM。

7.为什么不应当把51系列单片机称为MCS-51系列单片机?答:因为MCS-51系列单片机中的“MCS”是Intel公司生产的单片机的系列符号,而51系列单片机是指世界各个厂家生产的所有与8051的内核结构、指令系统兼容的单片机。

8.AT89C51单片机相当于MCS-51系列单片机中的哪一种型号的产品?答:相当于MCS-51系列中的87C51,只不过是AT89C51芯片内的4KB Flash 存储器取代了87C51片内的4KB的EPROM。

第2章 AT89C51单片机片内硬件结构1.在AT89C51单片机中,如果采用6MHz晶振,一个机器周期为。

答:2µs2.AT89C51单片机的机器周期等于个时钟振荡周期。

答:12。

3.内部RAM中,位地址为40H、88H的位,该位所在字节的字节地址分别为和。

单片机简介 AT89C51中文资料

单片机简介 AT89C51中文资料

4.1 单片机介绍:单片机是指一个集成在一块芯片上的完整计算机系统。

尽管他的大部分功能集成在一块小芯片上,但是它具有一个完整计算机所需要的大部分部件:CPU、内存、内部和外部总线系统,目前大部分还会具有外存。

同时集成诸如通讯接口、定时器,实时时钟等外围设备。

而现在最强大的单片机系统甚至可以将声音、图像、网络、复杂的输入输出系统集成在一块芯片上。

单片机也被称为微控制器(Microcontroler),是因为它最早被用在工业控制领域。

单片机由芯片内仅有CPU的专用处理器发展而来。

最早的设计理念是通过将大量外围设备和CPU集成在一个芯片中,使计算机系统更小,更容易集成进复杂的而对提及要求严格的控制设备当中。

INTEL的Z80是最早按照这种思想设计出的处理器,从此以后,单片机和专用处理器的发展便分道扬镳。

早期的单片机都是8位或4位的。

其中最成功的是INTEL的8031,因为简单可靠而性能不错获得了很大的好评。

此后在8031上发展出了MCS51系列单片机系统。

基于这一系统的单片机系统直到现在还在广泛使用。

随着工业控制领域要求的提高,开始出现了16位单片机,但因为性价比不理想并未得到很广泛的应用。

90年代后随着消费电子产品大发展,单片机技术得到了巨大的提高。

随着INTEL i960系列特别是后来的ARM系列的广泛应用,32位单片机迅速取代16位单片机的高端地位,并且进入主流市场。

而传统的8位单片机的性能也得到了飞速提高,处理能力比起80年代提高了数百倍。

目前,高端的32位单片机主频已经超过300MHz,性能直追90年代中期的专用处理器,而普通的型号出厂价格跌落至1美元,最高端的型号也只有10美元。

当代单片机系统已经不再只在裸机环境下开发和使用,大量专用的嵌入式操作系统被广泛应用在全系列的单片机上。

而在作为掌上电脑和手机核心处理的高端单片机甚至可以直接使用专用的Windows和Linux操作系统。

单片机比专用处理器更适合应用于嵌入式系统,因此它得到了最多的应用。

4 中断系统

4 中断系统
28
DELAY:MOV
D1:MOV D2:MOV DJNZ DJNZ
R5,#40
R6,#20 R7,#248 R7,$ R6,D2
;延时0.2秒子程序
DJNZ
RET END
R5,D1
29
【例】利用中断设计一个应用系统,实时显示 P3.2引脚上出现的负跳变脉冲的个数。设此脉 冲数为0~999999个,以压缩BCD码从低位到高 位依次存入3AH、3BH、3CH。 分析:解此题利用中断系统,主程序对中断系 统进行初始化以及实时显示脉冲个数;利用 P3.2引脚上出现的负跳变信号作为中断请求信 号,每中断一次,将3AH~3BH单元内容按 BCD码加1。
;主程序 ;外部中断0中断入口
;初始化 ;INT0为边沿触发 ;开放中断
27
X0:PUSH ACC ;中断服务程序 PUSH PSW ;保护现场 SETB RS0 ;使用工作寄存器组1 CLR RS1 MOV R2,#10 ;闪烁5次(亮、灭10次) MOV A,#00H ;使LED全亮的数据 LP:MOV P1,A LCALL DELAY CPL A DJNZ R2,LP POP PSW POP ACC ;恢复现场 MOV P1,A RETI ;中断返回
;中断返回
33
MOV
MOV MOV
3AH,#0
3BH,#0 3CH,#0 ;计数单元置初值
31
LP:LCALL CZ SJMP X0:PUSH LP
;调用拆字子程序 ;循环显示
LCALL DISP 调用显示子程序 ACC ;中断服务程序,从0003H转来
PUSH
MOV ADD DA
PSW ;保护现场
A,3AH ;取计数值的个位、十位 A,#1 A

AT89C51简介(晶振为11.0592M 和12M)

AT89C51简介(晶振为11.0592M 和12M)

AT89C51简介AT89C51是一种带4K字节闪烁可编程可擦除只读存储器(FPEROM—Falsh Programmable and Erasable Read Only Memory)的低电压,高性能CMOS8位微处理器,俗称单片机。

AT89C2051是一种带2K字节闪烁可编程可擦除只读存储器的单片机。

单片机的可擦除只读存储器可以反复擦除100次。

该器件采用ATMEL高密度非易失存储器制造技术制造,与工业标准的MCS-51指令集和输出管脚相兼容。

由于将多功能8位CPU和闪烁存储器组合在单个芯片中,ATMEL的AT89C51是一种高效微控制器,AT89C2051是它的一种精简版本。

AT89C单片机为很多嵌入式控制系统提供了一种灵活性高且价廉的方案。

外形及引脚排列如图所示主要特性:·与MCS-51 兼容·4K字节可编程闪烁存储器·寿命:1000写/擦循环·数据保留时间:10年·全静态工作:0Hz-24Hz·三级程序存储器锁定·128×8位内部RAM·32可编程I/O线·两个16位定时器/计数器·5个中断源·可编程串行通道·低功耗的闲置和掉电模式·片内振荡器和时钟电路管脚说明:VCC:供电电压。

GND:接地。

P0口:P0口为一个8位漏级开路双向I/O口,每脚可吸收8TTL门电流。

当P1口的管脚第一次写1时,被定义为高阻输入。

P0能够用于外部程序数据存储器,它可以被定义为数据/地址的第八位。

在FIASH编程时,P0 口作为原码输入口,当FIASH进行校验时,P0输出原码,此时P0外部必须被拉高。

P1口:P1口是一个内部提供上拉电阻的8位双向I/O口,P1口缓冲器能接收输出4TTL门电流。

P1口管脚写入1后,被内部上拉为高,可用作输入,P1口被外部下拉为低电平时,将输出电流,这是由于内部上拉的缘故。

AT89C51单片机详解

AT89C51单片机详解

AT89C51是一种带4K字节闪烁可编程可擦除只读存储器(FPEROM—Falsh Pr ogrammable and Erasable Read Only Memory)的低电压,高性能CMOS8位微处理器,俗称单片机。

该器件采用ATMEL高密度非易失存储器制造技术制造,与工业标准的MCS-51指令集和输出管脚相兼容。

由于将多功能8位CPU和闪烁存储器组合在单个芯片中,ATMEL的AT89C51是一种高效微控制器,为很多嵌入式控制系统提供了一种灵活性高且价廉的方案。

1.主要特性:·与MCS-51 兼容·4K字节可编程闪烁存储器寿命:1000写/擦循环数据保留时间:10年·全静态工作:0Hz-24Hz·三级程序存储器锁定·128*8位内部RAM·32可编程I/O线·两个16位定时器/计数器·5个中断源·可编程串行通道·低功耗的闲置和掉电模式·片内振荡器和时钟电路2.管脚说明:VCC:供电电压。

GND:接地。

P0口:P0口为一个8位漏级开路双向I/O口,每脚可吸收8TTL门电流。

当P1口的管脚第一次写1时,被定义为高阻输入。

P0能够用于外部程序数据存储器,它可以被定义为数据/地址的第八位。

在FIASH编程时,P0 口作为原码输入口,当FIASH进行校验时,P0输出原码,此时P0外部必须被拉高。

P1口:P1口是一个内部提供上拉电阻的8位双向I/O口,P1口缓冲器能接收输出4TTL门电流。

P1口管脚写入1后,被内部上拉为高,可用作输入,P1口被外部下拉为低电平时,将输出电流,这是由于内部上拉的缘故。

在FLASH编程和校验时,P1口作为第八位地址接收。

P2口:P2口为一个内部上拉电阻的8位双向I/O口,P2口缓冲器可接收,输出4个TTL门电流,当P2口被写“1”时,其管脚被内部上拉电阻拉高,且作为输入。

第六章 AT89C51中断系统与定时

第六章 AT89C51中断系统与定时

1 0 1 0
T1 TX RX
PS ES EA
1 0
自 然 优 先 级
中断 矢量地址 硬件查询 源允许
低 级 中 断 请 求
各中断 总允许 源允许
优先级
PC
1.中断源(5个) 向CPU发出中断请求的来源,或引起中断的原因称为中断源。 (1). 外部中断类 外部中断是由外部原因(如打印机、键盘、控制开关、外部故障)引起的, 可以通过两个固定引脚来输入到单片机内的信号,即外部中0(INT0)和外 部中断1(INT1)。 外部中断0(INT0)请求信号输入引脚为P3.2。当CPU检测到P3.2引脚上 出现有效的中断信号时,向CPU申请中断。 外部中断1(INT1)请求信号输入引脚为P3.3 。当CPU 检测到P3.3 引脚上出现有效的中断信号时,向CPU申请中断。 (2). 定时中断类 定时中断是由内部定时(或计数)溢出或外部定时(或计数)溢出引起的, 即定时器0(T0)中断和定时器1(T1)中断。 当定时器对单片机内部定时脉冲进行计数而发生计数溢出时,即表明定 时时间到,申请中断;或者当定时器对单片机外部计数脉冲进行计数而 发生计数溢出时,即表明计数次数到,申请中断。 片内定时/计数器T0溢出中断(TF0):当定时/计数器T0发生溢出时, 置位TF0,并向CPU申请中断。 片内定时/计数器T1溢出中断(TF1):当定时/计数器T1发生溢出时, 置位TF1,并向CPU申请中断。 (3). 串行口中断类 串行口中断是为接收或发送串行数据而设置的。 串行接口中断,包括RI 或TI。当发送或接收完一帧数据时,向CPU 申请中断。
D7 EA
D6 -
D5 -
D4 ES
D3 ET1
D2 EX1
D1 D0 ET0 EX0

第3章AT89C51的指令系统

第3章AT89C51的指令系统
址寄存器加变址寄存器间接寻址方式。 (1) MOVC A,@A+PC
以PC作基址寄存器,A的内容作为无符号整数和PC中的内容 (下一条指令的起始地址)相加后得到一个16位的地址, 该地址指出的程序存储单元的内容送到累加器A。
注意:PSEN*信号有效。
例如: (A)=30H,执行地址1000H处的指令 1000H: MOVC A,@A+PC
(2)特殊功能寄存器中的可寻址位 在指令中有4种表示方法: a. 直接使用位地址。例如PSW.5的位地址为0D5H。 b. 位名称的表示方法。例如:PSW.5是F0标志位,可使用F0表
示该位。 c.单元地址加位数的表示方法。例如 :(0D0H).5。 d.特殊功能寄存器符号加位数的表示方法。例如:PSW.5。
(2)双字节指令:操作码+操作数。 (3)三字节指令:操作码+操作数+操作数。
3.3 指令系统的寻址方式 寻址方式就是在指令中说明操作数所在地址的方法。 共7种寻址方式。
1.寄存器寻址方式 操作数在寄存器中
MOV A,Rn ;(Rn)→A,n=0~7 表示把寄存器Rn的内容传送给累加器A
寻址范围: (1)4组通用工作寄存区共32个工作寄存器。 (2)部分特殊功能寄存器,例如A、B 以及数据指针寄存器
7.相对寻址方式 在相对寻址的转移指令中,给出了地址偏移量,以“rel”表示,
即把PC的当前值加上偏移量就构成了程序转移的目的地址: 目的地址=转移指令所在的地址 + 转移指令的字节数 + rel
偏移量rel是一带符号的8位二进制数补码数。 范围是:–128 - +127
向地址增加方向最大可转移(127+转移指令字节)个单元地 址,向地址减少方向最大可转移(128-转移指令字节)个 单元地址。
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

AT89C51单片机中断系统5.1 中断的基本概念在CPU 与外设交换信息时,存在着一个快速的CPU 与慢速的外设之间的矛盾。

为解决这个问题,发展了中断的概念。

单片机在某一时刻只能处理一个任务,当多个任务同时要求单片机处理时,这一要求应该怎么实现呢?通过中断可以实现多个任务的资源共享。

中断现象在现实生活中也会经常遇到,例如,你在看书——手机响了——你在书上作个记号——你接通电话和对方聊天——谈话结束——从书上的记号处继续看书。

这就是一个中断过程。

通过中断,你一个人在一特定的时刻,同时完成了看书和打电话两件事情。

用计算机语言来描述,所谓的中断就是,当CPU 正在处理某项事务的时候,如果外界或者内部发生了紧急事件,要求CPU 暂停正在处理工作而去处理这个紧急事件,待处理完后,再回到原来中断的地方,继续执行原来被中断的程序,这个过程称作中断。

从中断的定义我们可以看到中断应具备中断源、中断响应、中断返回这样三个要素。

中断源发出中断请求,单片机对中断请求进行响应,当中断响应完成后应进行中断返回,返回被中断的地方继续执行原来被中断的程序。

5.2 MCS-51单片机的中断系统5.2.1 MCS-51单片机的中断源MCS-51单片机的中断源共有两类,它们分别是:外部中断和内部中断1. 外部中断源●外部中断0():来自P3.2引脚,采集到低电平或者下降沿时,产生中断请求。

●外部中断1():来自P3.3引脚,采集到低电平或者下降沿时,产生中断请求。

2. 内部中断源●定时器∕计数器0(T):定时功能时,计数脉冲来自片内;计数功能时,计数脉冲来自片外P3.4引脚。

发生溢出时,产生中断请求。

●定时器∕计数器1(T):定时功能时,计数脉冲来自片内;计数功能时,计数1脉冲来自片外P3.5引脚。

发生溢出时,产生中断请求。

●串行口:为完成串行数据传送而设置。

单片机完成接受或发送一组数据时,产生中断请求。

5.2.2 中断控制的专用寄存器MCS-51单片机为用户提供了四个专用寄存器,来控制单片机的中断系统。

1.定时器控制寄存器(TCON)该寄存器用于保存外部中断请求以及定时器的计数溢出。

进行字节操作时,寄存器地址为88H。

按位操作时,各位的地址为88H~8FH。

寄存器的内容及位地址表示如下:位地址8FH8EH 8DH8CH8BH8AH89H88H位符号TF1 TR1 TF0TRIE1IT1IE0IT0●IT0 和IT1——外部中断请求触发方式控制位IT0(IT1)=1 脉冲触发方式,下降沿有效IT0(IT1)=0 电平触发方式,低电平有效●IE0和IE1——外中断请求标志位当CPU采样到(或)端出现有效中断请求时,IE0(IE1)位由硬件置“1”。

当中断响应完成转向中断服务程序时,由硬件把IE(或IE)清零。

●TR0和TR1——定时器运行控制位TR0(TR1)=0 定时器/计数器不工作TR0(TR1)=1 定时器/计数器开始工作●TF0和TF1——计数溢出标志位当计数器产生计数溢出时,相应的溢出标志位由硬件置“1”。

当转向中断服务时,再由硬件自动清“0”。

计数溢出标志位的使用有两种情况:采用中断方式时,作中断请求标志位来使用;采用查询方式时,作查询状态位来使用。

2. 串行口控制寄存器(SCON)进行字节操作时,寄存器地址为98H。

按位操作时,各位的地址为98H~9FH。

寄存器位地址9FH9EH 9DH 9CH 9BH 9AH 99H 98H位符号SM0SM1SM2R EN TB8RB8TI RI其中与中断有关的控制位共2位:●TI——串行口发送中断请求标志位当发送完一帧串行数据后,由硬件置“1”;在转向中断服务程序后,用软件清“0”。

●RI——串行口接收中断请求标志位当接收完一帧串行数据后,由硬件置“1”;在转向中断服务程序后,用软件清“0”。

串行中断请求由TI和RI的逻辑或得到。

就是说,无论是发送标志还是接收标志,都会产生串行中断请求。

3. 中断允许控制寄存器(IE)进行字节操作时,寄存器地址为0A8H。

按位操作时,各位的地址为0A8H~0AFH。

寄存器的内容及位地址表示如下:位地址0AFH 0AEH0ADH 0ACH 0ABH 0AAH 0A9H 0A8H位符号EA / / ES ET1EX1ET0EX0其中与中断有关的控制位共6位:●EA——中断允许总控制位EA=0 中断总禁止,禁止所有中断EA=1 中断总允许,总允许后中断的禁止或允许由各中断源的中断允许控制位进行设置。

●EX0和EX1——外部中断允许控制位EX0(EX1)=0 禁止外部中断EX0(EX1)=1 允许外部中断●ET0和ET1——定时器/计数器中断允许控制位ET0(ET1)=0 禁止定时器/计数器中断ET0(ET1)=0 允许定时器/计数器中断●ES——串行中断允许控制位ES=0 禁止串行中断ES=1 允许串行中断可见,MCS-51单片机通过中断允许控制寄存器对中断的允许(开放)实行两级控制。

即以EA位作为总控制位,以各中断源的中断允许位作为分控制位。

当总控制位为禁止时,关闭整个中断系统,不管分控制为状态如何,整个中断系统为禁止状态;当总控制位为允许时,开放中断系统,这时才能由各分控制位设置各自中断的允许与禁止。

MCS-51单片机复位后(IE)=00H,因此中断系统处于禁止状态。

单片机在中断响应后不会自动关闭中断。

因此在转中断服务程序后,应根据需要使用有关指令禁止中断,即以软件方式关闭中断。

4. 中断优先级控制寄存器(IP)MCS-51单片机的中断优先级控制比较简单,因为系统只定义了高、低2个优先级。

高优先级用“1”表示,低优先级用“0”表示。

各中断源的优先级由中断优先级寄存器(IP)进行设定。

IP其中:PX0——外部中断0优先级设定位;PT0——定时中断0优先级设定位;PX1——外部中断1优先级设定位;PT1——定时中断1优先级设定位;PS——串行中断优先级设定位。

以上各位设置为“0”时,则相应的中断源为低优先级;设置为“1”时,则相应的中断源为高优先级。

优先级的控制原则是:●低优先级中断请求不能打断高优先级的中断服务;但高优先级中断请求可以打断低优先级的中断服务,从而实现中断嵌套。

●如果一个中断请求已被响应,则同级的其它中断服务将被禁止。

即同级不能嵌套。

●如果同级的多个中断同时出现,则按CPU查询次序确定哪个中断请求被响应。

其查询次序为:外部中断0→定时中断→外部中断→定时中断→串行中断。

中断优先级控制,除了中断优先级控制寄存器之外,还有两个不可寻址的优先级状态触发器。

其中一个用于指示某一高优先级中断正在进行服务,从而屏蔽其它高优先级中断;另一个用于指示某一低优先级中断正在进行服务,从而屏蔽其它低优先级中断,但不能屏蔽高优先级的中断。

此外,对于同级的多个中断请求查询的次序安排,也是通过专门的内部逻辑实现的。

上述四个专用寄存器的用途可以用图5.1说明。

图5.1 MCS-51中断系统5.2.4 中断响应过程中断响应过程为,中断源发出中断请求→对中断请求进行响应→执行中断服务程序→返回主程序。

这个过程可分为三个阶段来完成。

1.中断采样对于外部中断请求,中断请求信号来自于单片机外部,计算机要想知道有没有中断请求发生,必须对信号进行采样。

①电平触发方式的外中断请求(IT0/IT1=0)采样到高电平时,表明没有中断请求,IE0或IE1继续为“0”。

采样到低电平时,IE0/IE1由硬件自动置“1”,表明有外中断请求发生。

②脉冲触发式的外中断请求(IT0/IT1=1)在相邻的机器周期采样到的电平由高电平变为低电平时,则IE0/IE1由硬件自动置“1”,否则为“0”。

2. 中断查询由CPU测试TCON和SCON中的各个中断标志位的状态,确定有那个中断源发生请求,查询时按优先级顺序进行查询,即先查询高优先级再查询低优先级。

如果同级,按以下顺序查询:→→→→S如果查询到有标志位为“1”,表明有中断请求发生,接着就从相邻的下一机器周期开始进行中断响应。

3.中断响应当CPU查询到中断请求时,由硬件自动产生一条LCALL指令,LCALL指令执行时,首先将PC内容压入堆栈进行断点保护,再把中断入口地址装入PC,使程序转向相应的中断区入口地址。

LCALL指令的形式如下:LCALL addr16 ;addr16:中断入口地址入口地址已由系统设定,如下:中断源入口地址0003HT0000BH0013HT1001BHS 0023H从表中可以看出,每个中断区只有8个单元,很难安排下一个中断程序,一般是在中断入口地址处加一条跳转指令,跳转到用户的服务程序入口。

编写中断服务程序的格式一般如下:ORG 0000HSJMP MAINORG 0003HAJMP 1NJERRVPMAIN:···HERE:SJMP HERE1NJERRVP:···;中断响应程序RETI并不是所有的请求都被响应,当遇到下列情况之一时不响应这些中断请求:(1)CPU正在处理一个同级或者高级的中断服务(2)当前指令还没有执行完毕(3)当前指令是RET、RETI或者是访问IP、IE的指令,执行完这些指令后,还必须再执行一条指令,才响应中断请求。

注意:MCS-51单片机对中断查询结果不作记忆,当有新的查询结果出现时,因为以上原因而被拖延的查询结果将不复存在,其中断请求也就不能再被响应了。

5.2.5 中断请求的撤销中断响应后,TCON和SCON的中断请求标志位应及时撤销。

否则意味着中断请求仍然存在,有可能造成中断的重复查询和响应,因此需要在中断响应完成后,撤销其中断标志。

1. 定时中断请求的撤销硬件自动把TF0(TF1)清0,不需要用户参与。

2. 串行中断请求的撤销需要软件清零。

3. 外部中断请求的撤销(1)脉冲触发方式的外中断请求撤销中断标志位的清零是自动的,脉冲信号过后就不存在了,因此其撤销是自动的。

(2)电平触发方式的外中断请求撤销中断标志位的清零是自动的,但是如果低电平持续存在,在以后的机器周期采样时,又/IE1)置位。

为此,需要外加电路,把中断请求信号从低电平强会把中断请求标志位(IE制为高电平。

电路如图5.2所示:图5.2 电平触发方式的外中断请求撤销通过直接置位端使中断请求信号强制从低电平变为高电平,要实现此功能需要在中断入口地址处加入如下两条指令:ORL P1, #01HANL P1, #0FEH5.2.6 MCS-51单步执行工作方式所谓单步执行就是按一次键,CPU执行一条指令。

假设利用外部中断0实现。

需要做两项准备工作。

(1)建立单步执行的外部电路,不按键时产生低电平,按键时产生高电平。

(2)设置为电平触发方式。

相关文档
最新文档