第2章AT89C51单片机结构和原理
- 格式:ppt
- 大小:747.50 KB
- 文档页数:49


0
000AT89C51单片机的主要工作特性: ·内含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. 中央处理器 1.单片机的中央处理器(CPU)是单片机的核心,完成运算和操作控制,主要包括运算器和控制器两部分。 振荡器和时钟电路 数据存储器 128字节 程序存储器 14KB
CPU 两个16位定时器 计数器
中断 控制 总线扩展控制器 并行可编程 I/O口 可编程 串行口 内部总线
外部中断 扩展控制 P0 P1 P2 P3 RXD TXD
B寄存AC
暂存器2 暂存器1
PSW ALU 片内ROM 地址寄存器
PC增量器
程序计数器
指令寄存器 指令译码器 定时及 控制 PSEN ALE EA RST 0
000 (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单片机中,PC是一个16位的计数器,可对64KB程序存储器进行寻址。复位时PC的内容是0000H. (3)存储器 单片机内部的存储器分为程序存储器和数据存储器。AT89C51单片机的程序存储器采用4KB的快速擦写存储器Flash Memory,编程和擦除完全是电器实现。 (4)外围接口电路 AT89C51单片机的外围接口电路主要包括:4个可编程并行I/O口,1个可编程串行口,2个16位的可编程定时器以及中断系统等。 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负载。 ·P1口 8位、准双向I/O口,具有内部上拉电阻。 P1口是为用户准备的I/O双向口。在编程和校验时,可用作输入低8位地址。用作输入时,应先将输出锁存器置1。P1口可驱动4个TTL负载。 ·P2 8位、准双向I/O口,具有内部上拉电阻。 当使用外存储器或外扩I/O口时,P2口输出高8位地址。在编程和校验时,P2口接收高字节地址和某些控制信号。 ·P3 8位、准双向I/O口,具有内部上拉电阻。 P3口可作为普通I/O口。用作输入时,应先将输出锁存器置1。在编程/校验时,P3口接收某些控制信号。它可驱动4个TTL负载。 (2)控制信号线
基于AT89C51单片机的最小系统设计
组员:田竹、王维、袁倍明
摘要:
本次实验课题为设计一个基于AT89C51单片机的最小系统。用P1口设计流水灯,用P2口和P0口分别作段选和位选设计了六位数码管的静动态显示和简易的电子钟,用P3口设计了一个4*4的矩阵键盘,并用蜂鸣器实现了唱歌功能和键盘按下的声响,用62256扩展内部RAM,还扩展并实现了LCD1602的静动态显示,最后通过ADC0809和 DAC0832分别实现了A/D、D/A转换功能。
一、系统电源
用MC7805集成稳压器将输入电压转为+5V稳压给系统供电。
二、晶振(12MHZ)及复位电路
采用12MHz的外部晶振,给系统提供时钟信号。并采用了按键复位电路。
三、流水灯
功能描述:让8个led灯循环闪烁
源程序:
流水灯
ORG 0000H
LJMP MAIN
ORG 0100H
MAIN:MOV A,#11111110B
LOOP:MOV P1,A;给P1口送值
LCALL DLY
RL A ;循环左移
LJMP LOOP
DLY:MOV R7,#250 ;延时子程序
DLY1: MOV R6,#200
DJNZ R6,$
DJNZ R7,DLY1
RET
END
四、 数码管
功能描述:数码管动态显示1~6
源程序:
ORG 0000H
LJMP START
ORG 0100H
START:
MOV P0,#0
MOV P2,#0F9H
SETB P0.0
LCALL DELAY
CLR P0.0
MOV P2,#0C4H SETB P0.1
AT89C51单片机的组成
1. 引言
单片机是一种功能强大且易于使用的集成电路,其中AT89C51是一款经典的8位单片机。本文将深入探讨AT89C51单片机的组成,包括其内部结构、特性以及应用。
2. AT89C51单片机的内部结构
AT89C51单片机的内部结构是其功能和性能的基础。该单片机主要由以下几个部分组成:
2.1 CPU核心
AT89C51单片机的CPU核心使用的是8位8051架构,包括ALU(算术逻辑单元)、寄存器、高速时钟等。它是控制和执行指令的核心部分,提供高性能和高效率的运算能力。
2.2 存储器
AT89C51单片机具有丰富的存储器资源,包括片内ROM和RAM。它的片内ROM大小为4KB,用于存储程序指令;片内RAM大小为128字节,用于存储数据。
2.3 输入/输出端口
AT89C51单片机提供多个输入/输出端口,用于与外部设备进行信息的输入和输出。它具有四个8位I/O口,可用于连接外部开关、LED、显示屏等设备。
2.4 串口通信
AT89C51单片机还配备了一个可编程的串行通信接口(UART),可与其他设备进行串行通信。这为单片机与计算机、传感器等设备之间的数据传输提供了便利。 2.5 定时/计数器
AT89C51单片机内置多个定时/计数器,用于计时和计数操作。它们可以用于生成精确的时间延迟、脉冲宽度调制等功能,极大地增强了单片机的灵活性和可扩展性。
3. AT89C51单片机的特性
AT89C51单片机具有许多独特的特性,使其成为广泛应用于各个领域的首选之一。
3.1 高性能
AT89C51单片机采用优化的架构和高速时钟,能够以高效率执行指令,提供出色的性能。这使得它适用于对计算能力要求较高的应用场景。
3.2 低功耗
AT89C51单片机在工作时能够以低功耗运行,这使得它非常适合移动设备和电池供电的应用。它的低功耗特性延长了电池寿命,提供了更长的使用时间。
3.3 强大的外设支持
基于AT89C51单片机的计数器设计
计数器是一种电子电路,能够在不需要外部干扰的情况下,在其输入端接收脉冲信号,并进行计数操作。基于AT89C51单片机的计数器设计,是一种常用的计数器电路,该设计具有简单、可靠、灵活性高等优点。
设计原理:
AT89C51单片机是一种8位微控制器,具有大容量的程序存储器和数据存储器。其具有高度集成的特点,使得它成为一种非常适合计数器设计的芯片。本设计把AT89C51单片机作为核心器件,利用其内部计时器的计数功能,实现脉冲计数操作。
设计步骤:
1. 硬件设计:硬件包括AT89C51单片机芯片、LCD1602液晶显示屏、按键、发光二极管等。该电路中,AT89C51单片机通过引脚接收外部脉冲信号,从而实现计数功能。液晶显示屏用于显示计数结果。按键用于清零计数器。发光二极管是用来指示计数器是否工作的状态。
2. 软件设计:软件设计采用汇编语言。主要包括两个部分,一是初始化程序,二是计数程序。初始化程序用于初始化AT89C51单片机和液晶显示屏,包括设置计数器、串口等参数。计数程序用于计算脉冲信号的个数,并将结果显示到液晶屏上。同时,还需要加入按键扫描程序,用于清零计数器。
设计实现:
AT89C51单片机的计数器设计中,先通过初始化程序,对AT89C51单片机和液晶显示屏进行初始化设置。然后在计数程序中,通过中断方式去检测外部脉冲信号,并将计数器值累加。
同时,加入按键扫描程序,用于清零计数器。当按下清零按键时,程序将计数器清零,并将结果重新显示到液晶屏上。如果设计一个自动清零计数器的功能,可以在程序中加入一个预设值,到达该预设值时自动清零计数器。
总结: