51單片機總結

1、单片机就是在一个半导体硅片上,集成了中央处理单元CPU),存储器(RAMROM )、并行口、串行口、定时/计数器、中断系统、系统时钟电路及系统总线,用于

测控领域的单片微型计算机,简称单片机P1

  1. 单片机与普通微型计算机的不同之处在于其将 CPU、存储器IO口三部分,通过内部系統线连接在一起,集成于一个芯片上P11
  2. P0口是漏极开路的双向 I / O 口。当AT89S51单片机扩展外部 RAM 及 I / O 接口芯片时, PO 口作为地址总线(低8位)数据总线分时复用口。 PO 口也可作为通用 I / O 口使用,但需加上拉电阻,这时为准双向口。 PO 口可驱动8个 LS 型 TTL 负载,

p0与p1 p2 p3 相比多了一个高阻输入的悬浮态

  1. P1口是准双向 I / O 口,具有内部上拉电阻,可驱动4个 LS 型 TTL 负载。P1口是完全可提供给用户使用的准双向 I / O 口。 MOSI /P1.5、 MISO /P1.6和 SCK /P17可用于对内部 Flash 存储器的串行编程和校验,它们分别是串行数据输入、串行数据输出和移位脉冲引脚
  2. P2口是准双向 I / O 口,具有内部上拉电阻,可驱动4个 LS 型 TTL 负载。当AT89S51单片机扩展外部 RAM 及 I / O 接口芯片时,P2口作为高8位地址总线使用,输出高8位地址也可作为通用 I / O 口使用
  3. P3口是准双向 I / O 口,具有内部上拉电阻。P3口可作为通用 I / O 口使用,可驱动4个LS型 TTL 负载
  4. P3口的第二功能定义

引脚

第二功能

说明

P3.0

RXD

串行数据输入

P3.1

TXD

串行数据输出

P3.2

INT0

外部中断0输入

P3.3

INT1

外部中断1输入

P3.4

T0

定时/计数器 T0 外部计数输入

P3.5

T1

定时/计数器 T1 外部计数输入

P3.6

WR

外部数据存储器的写选通控制

P3.7

RD

外部数据存储器的读选通控制

  1. AT89S51单片机内部程序存储器为4KB Flash 存储器,地址范围为0000H~ 0FFFH

AT89S51单地址总线,可外扩的程序存储器空间最大为64KB,地址范围为0000H~ FFFFH

地址空间最低位的位地址与其字地址相同,其地址字节的末位为0H或8H

  1. 64k程序存储器空间有5个特殊单元分别对应于5个中断源的中断服务子程序的中断入口

中断源

入口地址

外部中断0(INT0)

0003H

定时/计数器T0

000BH

外部中断1(INT1)

0013H

定时/计数器T1

001BH

串行口

0023H

  1. 堆栈主要是为子程序调用中断操作而设立的,具体功能有两个,保护断点和现场保护
  2. 机器周期、指令周期与指令时序

时钟周期是单片机时钟控制信号的基本时间单位。若时钟晶体的振荡频率为 fose ,则时钟周期 Tosc =1/fosc。例如, fosc =6MHz, Tosc =166.7ns

CPU 完成一个基本操作所需要的时间称为机器周期。单片机常把执行一条指令的过程分为几个机器周期。每个机器周期完成一个基本操作,如取指令、读数据或写数据等。AT89S51单片机的每12个时钟周期为一个机器周期,即 Tov =12/fosc。例如, fosc =6MHz, Tey =2us; fose =12MHz, Tcy = l μ s

指令周期P28

  1. 复位操作单片机复位时PC初始值为0000H,复位时,SP=07H
  2. 在AT89S51单片机中,若采用6MHz晶振,则一个机器周期2us
  3. 一个机器周期为12个时钟周期
  4. AT89S51单片机特殊寄存器(SFR)占内部RAM的部分地址
  5. 数组

字符数组用单撇号

Char a [10]={a, c, x, z, a, .....};

字符串数组用双撇号

Char a[11]={ dfhjdf};

字符/字符串数组结束皆为‘\0’

17.

数码管显示实例

数值0亮为abcdef 对应二进制时从gf~a读

共阴极时为:  0 0 1 1  1 1 1 1 对应16进制为0x3FH

共阳极时为:1 1 0 0  0 0 0 0 对于16进制为0xC0H

循环移位函数的头文件是<intrins.h>

18.5个中断请求源的中断请求标志分别由特殊功能寄存器TCON和SCON相应位锁存P159

19.关于各中断源的中断优先级关系,可归纳为下面两条基本规则:

①低优先级可被高优先级中断,高优先级不能被低优先级中断。

②任何一种中断源(不管是高优先级还是低优先级)一旦得到响应,不会再被它的同级中断源所中断。如果某个中断源被设置为高优先级,在执行该中断源的中断服务程序时,不能被任何其他中断源的中断请求所中断

20.

中断源

中断级别

地址

中断号N

中断向量

外部中断0(INT0)      PX0

最高

B8H

0

0003H

定时/计数器T0          PT0

B9H

1

000BH

外部中断1(INT1)      PX1

BAH

2

0013H

定时/计数器T1          PT1

BBH

3

001BH

串行口                 PS

最低

BCH

4

0023H

以上 中断线排列设置为1(高优先级)后排列设置为0(低优先级)

实例:PT0=1,PS=1则优先级由高到低为:PT0 > PS > PX0 > PX1 > PT1

21.响应中断请求的条件

一个中断源的中断请求要得到响应,必须满足以下必要条件:

  • 总中断允许开关接通,即IE寄存器中的中断允许总开关控制位 EA =1。
  • 该中断源发出了中断请求,即该中断源对应的中断请求标志位为1。
  • 该中断被允许,即该中断源的中断允许控制位为1。
  • 无相同优先级或更高优先级的中断正在被服务

断允许寄存器IE的作用,是控制所有中断源的开放或禁止,以及每个中断源是否被允许。寄存器IE的位格式如下:

EX0:外部中断0允许位。EX0=1,允许外部中断0中断;EX0=0,禁止外部中断0中断。

ET0:T0溢出中断允许位。ET0=1,允许T0中断;ET0=0,禁止T0中断。

EX1:外部中断1允许位。EX1=1,允许外部中断1中断;EX1=0,禁止外部中断1中断。

ET1:T1溢出中断允许位。ET1=1,允许T1中断;ET1=0,禁止T1中断。

ES:串行中断允许位。ES=1,允许串行口中断;ES=0,禁止串行口中断。EA:中断总允许位。EA=1,CPU开放中断;EA=0,CPU禁止所有的中断请求。总允许EA好比一个总开关

22.P164

1.定时/计数器中断请求的撤销

定时/计数器中断请求被响应后,硬件会自动把中断请求标志位( TFO 或TF1)清0.定时/计数器中断请求是自动撤销的。

外部中断请求的撤销﹣-

①跳沿触发方式外部中断请求的撤销。包括两项内容:中断请求标志位清0和外部中信号的撤销。其中,中断请求标志位( IEO 或IE1)清0是在中断响应后由硬件自动完成击而由于跳沿信号过后也就消失了,所以跳沿方式的外部中断请求也是自动撤销的

23.P167大题

   

24 IP寄存器的内容为0001 0100B则优先级最高者为外部中断1 最低优先级为定時器T1

P170   P188思考题1

25. 下列说法正确的是

 A 同一级别的中断请求按时间的先后顺序响应

 B 同一时 同一级别的多中断请求,将形成阻塞,系统无法响应

 C 低优先级中断请求不能中断高优先级中断请求,但是高优先级中断请求中断

 D 同级中断请求不能嵌套

  1. T0、T1都具有定时器和计数器两种工作模式,不论是工作在定时器模式下还是计数器模式下,实质都是对脉冲信号进行计数,只不过计数信号的来源不同。计数器模式对加在 TO (P3.4)和T1(P3.5)两个引脚上的外部脉冲信号进行计数(见图7-1);而定时器模式对单片机的系统时钟经内部12分频后的内部脉冲信号(脉冲信号周期=机器周期)计数。由于系统时钟频率是定值,所以可根据计数值计算出准确的定时时间。两个定时/计数器都属于增1计数器,即每对一个脉冲计一次数,则计数器增1。P171

  1. 方式3只适用于定时/计数器 TO ,而定时/计数器T1不能工作于方式3

28定时/计数器控制寄存器TCON怎么配置?四种方式

TMOD 寄存器的字节地址为89H,不能位寻址。其格式如图7-2所示。

其8位分为两组,高4位控制T1工作方式,低4位控制 TO 工作方式。其各位的功能说

明如下

 TGATE : 门控位。 GATE =0, 定时/计数器是否计数, 仅由运行控制位 TRx( x =0,1)来控制; GATE =1, 定时/计数器是否计数,要由外部中断引脚( INT0 或INT1)上的电平与 TRx

的状态这两个条件共同控制

TMOD

D7

D6

D5

D4

D3

D2

D1

D0

89H

GATE

C/`T

M1

M0

GAT`E

C/`T

M1

M0

T1工作方式字段

T0工作方式字段

四种方式

M1

MO

工作方式

0

0

方式0,为13位定时/计数器

0

1

方式1,为16位定时/计数器

1

0

方式2,为8位的初值自动装入定时/计数器

1

1

方式3,仅适用T0此时T0分成2个8位计数器,T1停止计数

TCON 寄存器的字节地址为88H,可位寻址,位地址为88H~8FH

TCON

D7

D6

D5

D4

D3

D2

D1

D0

88H

TF1

TR1

TF0

TR0

IE1

IT0

IE0

IT0

要使定时器/计数器停止运行,也必须通过设置TCON中的某些位来实现。当定时器/计数器计满溢出,或有外部中断请求时,TCON能标明溢出和中断情况。下面介绍控制寄存器TCON每位的含义:

TF1:定时器T1溢出标志位。当定时器T1溢出时,由硬件自动使TF1置1,并向CPU申请中断。CPU响应中断后,自动对TF1清零。TF1也可以用软件清零。
TR1:定时器T 1运行控制位。可由软件置1(或清零)来启动(或关闭)定时器T1,使定时器T1开始计数。用指令SETB TR1(或CLR TR1)使TR1置1(或清零)。
TF0:定时器T0溢出标志位。其功能与TF1相同。
TR0:定时器T0运行控制位。其功能与TR1相同。
IE1:外部中断1请求标志位。
IT1:外部中断1触发方式控制位。
IE0:外部中断0请求标志位。
IT0:外部中断0触发方式控制位。
IE1、IT1、IE0、IT0这4位将在第3节讲述。
控制寄存器TCON的位地址是88H,可以对它进行位寻址。

其低4位功能与外部中断有关,已在第6章中断系统中介绍过。这里仅介绍与定时/计数器相关的高4位功能。

①TF1、 TFO :计数溢出标志位。当计数器计数溢出时,该位置1。使用查询方式时,此位可供 CPU 查询,但应注意查询后,应使用软件及时将该位清0。使用中断方式时,此位作为中断请求标志位,进入中断服务程序后由硬件自动清0。

②TR1、 TRO :计数运行控制位。TR1(或 TRO )=1,启动定时/计数器计数的必要条件:TR1(或TR0)=0,停止定时/计数器计数。该位可由软件置1或清0。

27. SBUF 只能读出不能写入,两个数据缓冲器公用一个特殊功能寄存器字节地址(99H)

  1. 串行口的四种方式:

SMO      SM1 

方式

功能说明

0           0

方式0

同步移位寄存器输入/输出方式(用于扩展 IO 口)

0 1

方式1

8位异步收发,波特率可变(由定时/计数器控制)

1 0

方式2

9位异步收发,波特率为 fosc /64或 fosc /32

1 1

方式3

9位异步收发,波特率可变(由定时/计数器控制)

SM2:多机通信控制位。多机通信是在方式2和方式3下进行的,因此SM2位主要用于方式2或方式3

28.串行口的方式0为同步移位寄存器输入/输出方式。这种方式并不是用于两个AT89S51单片机之间的异步通信,而是用于外接移位寄存器,用来扩展并行 I/O 口

  1. P177

  • 16
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值