51单片机的硬件结构

本文集下的内容主要介绍stc89c51系列单片的基础知识(初学者看会感到乏味,建议培养兴趣爱好之后再来看)

本文主要讲解51单片机的硬件结构,而且只介绍重点知识。

51单片机的硬件结构主要包括以下部分:

1.51单片机的内部结构

  • 这个图片看不懂没关系,不必掌握,可以在学完之后再来看,会有一个比较系统的了解


    51单片机内部基本结构(来自教科书)

2.微处理器

由上图可以看出,51单片机组成结构包括以下几个部分:

  • 运算器(Arithmetic and Logic Unit)

作用:
可完成二进制的加,减,乘,除,加一,减一及BCD加法的十进制调整等算术运算;
还能对8位数据进行逻辑‘与’,‘或’,‘异或’,循环移位,求补,清零等逻辑运算;
并具有数据传输,程序转移等功能。

  • 控制器

包括以下器件:
定时和控制电路,指令寄存器,译码器等。


时序信号:一类用于片内各功能的部件的控制,另一类用于片外存储器或IO端口的控制(这个对用户来说是比较重要的,在定时器部分会讲)

这里要弄清的四个概念是:
震荡周期:这个取决于晶体振荡器的频率,他等于晶体振荡器频率的倒数,12M的晶振时,震荡周期为1/12 us;
状态周期:震荡周期经过2分频后形成状态周期信号,一个状态周期信号分为两个节拍P1P2,P1期间:通常完成算术逻辑操作;P2期间:通常进行内部寄存器间的传输;
机器周期:是完成一个基本操作所需要的时间,机器周期是震荡周期的12倍,12M的晶振时,机器周期为1 us;
指令周期:执行一条指令所花费的时间,单片机的指令中有1个指令周期的,2个指令周期的,4个指令周期的(乘除法指令MUL A,B;DIV A,B),12M的晶振时,1个指令周期的语句执行一遍就要花费1 us(如:INC A),以此类推。

51单片机内部时序信号产生逻辑图
51单片机内部时钟

PSW程序状态字(地址:D0H)(可位寻址)

位序号 PSW.7 PSW.6 PSW.5 PSW.4 PSW.3 PSW.2 PSW.1 PSW.0
位符号 CY AC F0 RS1 RS0 OV P --

CY:进位标志。有进、借位,CY=1;无进、借位,CY=0
AC:辅助进、借位(高半字节与低半字节间的进、借位)。
F0:用户标志位,由用户(编程人员)决定什么时候用,什么时候不用。

RS1、RS0:工作寄存器组选择位

RS1 RS0 当前使用的工作寄存器区R0~R7
0 0 0区(00~07H)
0 1 1区(08~0FH)
1 0 2区(10~17H)
1 1 3区(18~1FH)

通过修改PSW中的RS1、RS0两位的状态,就能任选一个工作寄存器区。这个特点提高了MCS-51现场保护和现场恢复的速度。对于提高CPU的工作效率和响应中断的速度是很有利的。若在一个实际的应用系统中,不需要四组工作寄存器,那么这个区域中多余单元可以作为一般的数据缓冲器使用。

3.存储器

51单片机的程序就存在程序存储器中(可由ROM或EPROM组成),寻址程序存储器的唯一方式是通过PC(程序计数器:用于存放要执行的指令地址,每取出指令的一个字节后,其内容自动加一,指向下一字节地址);由于51单片机 PC 为16位,因此,可寻址空间为64KB。

按存储结构可分为二类:一类是哈佛结构,另一类是普林斯顿结构。
①哈佛结构
哈佛结构是程序存储器地址空间与数据存储器地址空间分开的单片机结构,如80C51单片机采用哈佛结构,所以80C51单片机的程序存储器地址空间与数据存储器地址空间是分开的,各有64K存储空间。

②普林斯顿结构
普林斯顿结构是程序存储器地址空间与数据存储器地址空间合并的单片机结构,如MCS-96单片机采用普林斯顿结构,所以MCS-96单片机的程序存储器地址空间与数据存储器地址空间是合并的,共有64K存储空间。

4.并行输入输出接口

Port SFR

P0.0 ~ P0.7(39 ~ 32脚):可做地址总线,也可做数据总线。
P1.0 ~ P1.7(1 ~ 8脚):8位数据输入/输出线。
P2.0 ~ P2.7(21 ~ 28脚):无外部扩展时(包括存储器和IO扩展),作输入/输出线;当外部扩展空间大于等于256字节时,P2口作为系统高8位地址总线。
P3.0 ~ P3.7(10 ~ 17脚):8位数据输入/输出线。

P3口还有第二功能,表如下:


P3口第二功能

5.定时器/计数器

  • 51单片机的定时/计数器可用于定时,也可用于计数,一般用来定时的多,很少会用来计数。
  • 定时和计数值都是可变的,这取决于计数器的位数。
  • 在到达设定的计数值时,会产生溢出中断请求,我们可以在这个中断服务函数写我们需要让单片机做的事情。

51定时器0原理图
下面是定时器必须用到的几个寄存器:

1.TMOD模式寄存器(地址:89H)(不可位寻址)

位序号 D7 D6 D5 D4 D3 D2 D1 D0
位符号 GATE C/T M1 M0 GATE C/T M1 M0
定时器 T1 T1 T1 T1 T0 T0 T0 T0

GATE——门控制:
GATE=1时:
当INT0=1且TR0=1;启动定时器T0;
当INT1=1且TR1=1;启动定时器T1。
GATE=0时:
当TR0=1,启动定时器T0。
当TR1=1,启动定时器T1。

C/T——功能选择位
C/T=0时为定时功能: 加1计数器对脉冲f进行计数,每来一个脉冲,计数器加1,直到计时器TFx满溢出;
C/T=1时为计数功能: 加1计数器对来自输入引脚T0(P3.4)和T1(P3.5)的外信号脉冲进行计数,每来一个脉冲,计数器加1,直到计时器TFx满溢出;

M0、M1——方式选择功能

M1 M0 工作方式 功能说明
0 0 方式0 13位定时器/计数器
0 1 方式1 16位定时器/计数器
1 0 方式2 自动重载8位定时器/计数器
1 1 方式3 T0分为2个8位独立计数器,T1无方式3

2.TCON寄存器(地址:88H)(可位寻址)

位序号 D7 D6 D5 D4 D3 D2 D1 D0
位符号 TF1 TR1 TF0 TR0 IE1 IT1 IE0 IT0
位地址 8FH 8EH 8DH 8CH 8BH 8AH 89H 88H

TF1:定时器T1溢出标志,可由程序查询和清零,TF1也是中断请求源,当CPU响应T1中断时由硬件清零。
TF0:定时器T0溢出标志,可由程序查询和清零,TF0也是中断请求源,当CPU响应T0中断时由硬件清零。

TR1:T1充许计数控制位,为1时允许T1计数。
TR0:T0充许计数控制位,为1时允许T0计数。

IE1:外部中断1请示源(INT1,P3.3)标志。IE1=1,外部中断1正在向CPU请求中断,当CPU响应该中断时由硬件清“0”IE1(边沿触发方式)。
IE0:外部中断0请示源(INT0,P3.2)标志。IE0=1,外部中断1正在向CPU请求中断,当CPU响应该中断时由硬件清“0”IE0(边沿触发方式)。

IT1:外部中断源1触发方式控制位。IT1=0,外部中断1程控为电平触发方式,当INT1(P3.3)输入低电平时,置位IE1。
IT0:外部中断源0触发方式控制位。IT0=0,外部中断1程控为电平触发方式,当INT0(P3.2)输入低电平时,置位IE0。


3.IE中断允许寄存器(地址:A8H)(可位寻址)

位序号 D7 D6 D5 D4 D3 D2 D1 D0
位符号 EA -- ET2 ES ET1 EX1 ET0 EX0

EA (IE.7):EA=0时,所有中断禁止(即不产生中断);EA=1时,各中断的产生由个别的允许位决定
-- (IE.6):保留
ET2(IE.5):定时2溢出中断充许(8052用)
ES (IE.4):串行口中断充许(ES=1充许,ES=0禁止)
ET1(IE.3):定时1中断充许
EX1(IE.2):外中断INT1中断充许
ET0(IE.1):定时器0中断充许
EX0(IE.0):外部中断INT0的中断允许


4.IP中断优先级控制寄存器(地址:B8H)(可位寻址)

位序号 D7 D6 D5 D4 D3 D2 D1 D0
位符号 -- -- 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的中断优先


定时器的功能很强大,掌握定时器能让我们更灵活地使用单片机。


6.串行输入输出口


1.SCON 串行通信控制寄存器(地址:98H)(可位寻址)

位序号 D7 D6 D5 D4 D3 D2 D1 D0
位符号 SM0 SM1 SM2 REN TB8 RB8 TI RI
位地址 9FH 9EH 9DH 9CH 9BH 9AH 99H 98H

(1)SM0、SM1:串行口工作方式控制位。

SM0 SM1 工作方式 说明
0 0 方式0 波特率由振荡器频率决定:振荡器频率/12
0 1 方式1 波特率由定时器T1或T2的溢出率和SMOD所定:2SMOD ×(T1溢出率)/32
1 0 方式2 波特率由振荡器频率和SMOD所定:2SMOD ×振荡器频率/64
1 1 方式3 波特率由定时器T1或T2的溢出率和SMOD所定:2SMOD ×(T1溢出率)/32

(2)SM2:多机通信控制位。< br> 多机通信是工作于方式2和方式3,SM2位主要用于方式2和方式3。接收状态,当串行口工作于方式2或3,以及SM2=1时,只有当接收到第9位数据(RB8)为1时,才把接收到的前8位数据送入SBUF,且置位RI发出中断申请,否则会将接受到的数据放弃。当SM2=0时,就不管第位数据是0还是1,都难得数据送入SBUF,并发出中断申请。
工作于方式0时,SM2必须为0。

(3)REN:允许接收位。REN用于控制数据接收的允许和禁止,REN=1时,允许接收,REN=0时,禁止接收。

(4)TB8:发送接收数据位8。< br> 在方式2和方式3中,TB8是要发送的——即第9位数据位。在多机通信中同样亦要传输这一位,并且它代表传输的地址还是数据,TB8=0为数据,TB8=1时为地址。

(5)RB8:接收数据位8。
在方式2和方式3中,RB8存放接收到的第9位数据,用以识别接收到的数据特征。

(6)TI:发送中断标志位。
可寻址标志位。方式0时,发送完第8位数据后,由硬件置位,其它方式下,在发送或停止位之前由硬件置位,因此,TI=1表示帧发送结束,TI可由软件清“0”。

(7)RI:接收中断标志位。
可寻址标志位。接收完第8位数据后,该位由硬件置位,在其他工作方式下,该位由硬件置位,RI=1表示帧接收完成。


若TI 或 RI 被置位,必须用软件清零,硬件不能将其清零。


7.中断系统


中断入口地址

中断源 入口地址 中断号
外部中断0 0003H 0
定时/计数器0 000BH 1
外部中断1 0013H 2
定时/计数器1 001BH 3
串口中断 0023H 4

在不设置IP优先级寄存器的话,单片机内部会按这个默认顺序优先级去响应各个中断。

CPU响应中断条件:
1、有中断源发出的中断请求;
2、中断总允许位EA=1,即CPU开中断;
3、申请中断的中断源的中断允许位为1,即中断没有被屏蔽;
4、无同级或更高级中断正在被服务;
5、当前的指令周期已经结束;
6、若现行指令为RETI或是访问IE或IP指令时,该指令以及紧接着的另一条指令已经执行完。

8.复位状态及复位电路


单片机复位后各寄存器的状态

寄存器 复位状态 寄存器 复位状态
PC 0000H TCON 00H
A 00H T2CON 00H
B 00H TH0 00H
PSW 00H TL0 00H
SP 07H TH1 00H
DPTR 0000H TL1 00H
P0 ~ P3 FFH SCON 00H

上电复位后除端口锁存器,堆栈指针,SBUF外,单片机内部的复位电路向所有的特殊功能寄存器写入00H。SBUF的值是不能确定的。
复位还使ALE和PSEN信号变为无效(高电平),而内部RAM不受影响。但由于VCC上电复位后,RAM内容不定,除非是退回低功耗方式的复位。

1.从表中可以看出,只有SP寄存器是特别的,复位后堆栈在片内RAM的08H单元建立。
2.PSW也为0,由于RS1(PSW.4) = 0,RS2(PSW.3) = 0,复位后单片机默认选中工作寄存器第0组。
3.单片机IO口默认全为高电平。

单片机上电复位所需的最短时间是“震荡建立时间 + 两个机器周期”。

  • 51是高电平复位,所以对应的复位电路如下


    51复位电路
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 203,547评论 6 477
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 85,399评论 2 381
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 150,428评论 0 337
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,599评论 1 274
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,612评论 5 365
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,577评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 37,941评论 3 395
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,603评论 0 258
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,852评论 1 297
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,605评论 2 321
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,693评论 1 329
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,375评论 4 318
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,955评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,936评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,172评论 1 259
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 43,970评论 2 349
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,414评论 2 342

推荐阅读更多精彩内容

  • 国家电网公司企业标准(Q/GDW)- 面向对象的用电信息数据交换协议 - 报批稿:20170802 前言: 排版 ...
    庭说阅读 10,852评论 6 13
  • 一、概要 1、数据的表示:数制及其转换、原码、反码、补码、移码、浮点数、溢出、算...
    _Jason___阅读 3,088评论 0 5
  • 其实,家乡很美,你们有注意过自己家乡细小的风景吗? 其实,家乡也很美!
    温暖春晖阅读 204评论 1 4
  • 雨,淅淅沥沥没完没了地下着,令浮躁的人心情很平稳。 懒散的坐在长途客运汽车上,透过窗子,用心的欣赏着这此刻的清新。...
    Y咫尺天涯Y阅读 247评论 0 0
  • http://www.jianshu.com/p/0342ef655813tableView的delegate
    吃货_X阅读 104评论 0 0