8051是MCS-51系列单片机的典型产品,其特性与我们实验的STC89C52RC完全相同,这里以8051为例简介一下单片机的基本知识。
8051单片机包含中央处理器、程序存储器(ROM)、数据存储器(RAM)、定时/计数器、并行接口、串行接口和中断系统等几大单元及数据总线、地址总线和控制总线等三大总线,现在我们分别加以说明:
中央处理器:
中央处理器(CPU)是整个单片机的核心部件,是8位数据宽度的处理器,能处理8位二进制数据或代码,CPU负责控制、指挥和调度整个单元系统协调的工作,完成运算和控制输入输出功能等操作。
图1
数据存储器(RAM):
8051内部有128个8位用户数据存储单元和128个专用寄存器单元,它们是统一编址的,专用寄存器只能用于存放控制指令数据,用户只能访问,而不能用于存放用户数据,所以,用户能使用的的RAM只有128个,可存放读写的数据,运算的中间结果或用户定义的字型表。
程序存储器(ROM):
8051共有4096个8位掩膜ROM,用于存放用户程序,原始数据或表格。
定时/计数器(ROM):
8051有两个16位的可编程定时/计数器,以实现定时或计数产生中断用于控制程序转向。
并行输入输出(I/O)口:
8051共有4组8位I/O口(P0、 P1、P2或P3),用于对外部数据的传输。
全双工串行口:
8051内置一个全双工串行通信口,用于与其它设备间的串行数据传送,该串行口既可以用作异步通信收发器,也可以当同步移位器使用。
中断系统:
8051具备较完善的中断功能,有两个外中断、两个定时/计数器中断和一个串行中断,可满足不同的控制要求,并具有2级的优先级别选择。
时钟电路:
8051内置最高频率达12MHz的时钟电路,用于产生整个单片机运行的脉冲时序,但8051单片机需外置振荡电容。
单片机的结构有两种类型,一种是程序存储器和数据存储器分开的形式,即哈佛(Harvard)结构,另一种是采用通用计算机广泛使用的程序存储器与 数据存储器合二为一的结构,即普林斯顿(Princeton)结构。INTEL的MCS-51系列单片机采用的是哈佛结构的形式,而后续产品16位的 MCS-96系列单片机则采用普林斯顿结构。
下图是MCS-51系列单片机的内部结构示意图。
图2
MCS-51的引脚说明:
MCS-51系列单片机中的8031、8051及8751均采用40Pin封装的双列直接DIP结构,右图是它们的引脚配置,40个引脚中,正电源 和地线两根,外置石英振荡器的时钟线两根,4组8位共32个I/O口,中断口线与P3口线复用。现在我们对这些引脚的功能加以说明:
图3
·Pin20:接地脚。
·Pin40:正电源脚,正常工作或对片内EPROM烧写程序时,接+5V电源。
·Pin19:时钟XTAL1脚,片内振荡电路的输入端。
·Pin18:时钟XTAL2脚,片内振荡电路的输出端。
8051的时钟有两种方式,一种是片内时钟振荡方式,但需在18和19脚外接石英晶体(2-12MHz)和振荡电容,振荡电容的值一般取10p-30p。另外一种是外部时钟方式,即将XTAL1接地,外部时钟信号从XTAL2脚输入。
图4
·输入输出(I/O)引脚:
Pin39-Pin32为P0.0-P0.7输入输出脚,Pin1-Pin1为P1.0-P1.7输入输出脚,Pin21-Pin28为P2.0-P2.7输入输出脚,Pin10-Pin17为P3.0-P3.7输入输出脚,这些输入输出脚的功能说明将在以下内容阐述。
·Pin9:RESET/Vpd复位信号复用脚:
当8051通电,时钟电路开始工作,在RESET引脚上出现24个时钟周期以上的高电平,系统即初始复位。初始化后,程序计数器PC指向 0000H,P0-P3输出口全部为高电平,堆栈指钟写入07H,其它专用寄存器被清“0”。RESET由高电平下降为低电平后,系统即从0000H地址 开始执行程序。然而,初始复位不改变RAM(包括工作寄存器R0-R7)的状态,8051的初始态如下表:
8051的复位方式可以是自动复位,也可以是手动复位,见下图。此外,RESET/Vpd还是一复用脚,Vcc掉电其间,此脚可接上备用电源,以保证单片机内部RAM的数据不丢失。
图5
图6
·Pin30:ALE/nPROG当访问外部程序器时,ALE(地址锁存)的输出用于锁存地址的低位字节。而访问内部程序存储器时,ALE端将有一 个1/6时钟频率的正脉冲信号,这个信号可以用于识别单片机是否工作,也可以当作一个时钟向外输出。更有一个特点,当访问外部程序存储器,ALE会跳过一 个脉冲。
如果单片机是EPROM,在编程其间,将用于输入编程脉冲。
·Pin29:nPESN当访问外部程序存储器时,此脚输出负脉冲选通信号,PC的16位地址数据将出现在P0和P2口上,外部程序存储器则把指令数据放到P0口上,由CPU读入并执行。
·Pin31:EA/Vpp程序存储器的内外部选通线,8051和8751单片机,内置有4kB的程序存储器,当EA为高电平并且程序地址小于 4kB时,读取内部程序存储器指令数据,而超过4kB地址则读取外部指令数据。如EA为低电平,则不管地址大小,一律读取外部程序存储器指令。显然,对内部无程序存储器的8031,EA端必须接地。
在编程时,EA/Vpp脚还需加上21V的编程电压。
上一篇:74HC595与AT89C2051单片机接口的显示电路
下一篇:AT89S51单片机计数器的设计
推荐阅读最新更新时间:2024-11-12 11:13
推荐帖子
- ccs3.3中出现找不到regither.h源文件怎么办
- ccs3.3中出现找不到regither.h源文件怎么办,,,是否可以需要去下载什么东西才能解决?ccs3.3中出现找不到regither.h源文件怎么办这个应该是你移植文件中的头文件吧?把它放到include路径下即可楼上的是一种可能,还有一种可能,就是确实找不到。
- uygu DSP 与 ARM 处理器
- WINCE IST数据如何给应用程序共享啊?
- 请问下WINCEIST数据如何给应用程序共享啊?之前我是通过deviceiocontrol,这是可以的。但是现在我的SPI驱动通过中断的方式读取数据,应用程序想要得到这块数据,怎么给啊?例子下:g_Data是个全局变量。DWORDSPI_IST(void*pDataForIST){DATAFORIST*pLocal_data=(DATAFORIST*)pDataForIST;while(1){WaitForSingleOb
- lixingwenedu WindowsCE
- 关于API绘制控件
- 复杂控件如:progressbar等如果不做处理,其显示效果是系统自己绘制(灰色的底色,蓝色的进度),现在项目要求按美工设计的效果自己用API绘制,不知道该怎么解决,上网查了很多资料均只是谈到用法,而很少涉及绘制。请各位大侠帮忙,提示一下关于API绘制控件直接用API绘制?你们老板没问题吧?那也要看绘制什么级别的?通常都是用贴图作的对,就是调用wince下的API,利用位图等资源,实现美工设计的效果图。应该怎么做,各位兄弟指点一下啊应该可以通过重载DrawItem来实现想要的效果
- bayasina 嵌入式系统
- 分享下资料!
- 资料来于网络,希望大家多多分享下自己的收藏!!分享下资料!恩。不错。我也是这么想的。谢谢提供LED电源
- mayiking 电源技术
- 二极管是如何分类的
- 二极管常听到的有:快速恢复二极管、整流二极管、开关二极管、稳压二极管、肖特基二极管等等名称。那么这些二极管是如何区分的。都有什么用处,如何选择呢二极管是如何分类的下载中心应该有二极管的结构分类应用的资料还有检波二极管和变容二极管这是按二极管的用途来分的。从字面上你就能看到大概的作用是什么了。具体的话要看你自己具体的需求了。像你在电路设计中现在需要一款二极管,作用是整流用的。那你就去找相关的整流二极管,根据通过的电流电压要求等,去datasheet中心查一查有没有满足需求
- bigbat 模拟电子
- 【极海APM32F407 Tiny Board】 5.基于LWIP的IAP升级
- #1LWIP##1.1LWIP简介LwIP是一款轻量化的TCP/IP协议,是瑞典计算机科学院(SICS)的AdamDunkels开发的一个小型开源的TCP/IP协议栈。在保持TCP协议主要功能的基础上减少对资源的占用。此外LwIP既可以移植到操作系统上运行,也可以在无操作系统的情况下独立运行。可以在网页http://savannah.nongnu.org/projects/lwip/,下载获取到LwIP的各个版本的源代码包和对应的contri
- zght 单片机