单片机总结

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

一、中断 (2)

1、中断优先级控制IP (2)

2、中断请求控制标志TCON (2)

3、中断允许控制IE (3)

4、写中断函数(不用在main函数前声明): (3)

二、定时器 (4)

1、工作方式寄存器TMOD:写程序时选择定时器和工作方式(设置M0、M1)。

(4)

2、对定时器装初值: (4)

3、设置中断: (4)

4、启动定时器控制寄存器: (4)

5、写中断函数(不用再main函数前声明): (5)

6、注意:中断函数中的功能程序代码的执行时间不要超过定时时间。 (5)

三、串行接口 (6)

1、将TMOD设置成定时器1,工作方式为2 (6)

2、计算T1的初值:TH1和TL1的值相同: (6)

3、启动定时器T1(对TCON设置):TR1=1; (6)

4、确定串行口控制SCON: (6)

5、串行口工作在中断方式时,进行中断设置: (6)

6、写中断函数。 (6)

串口补充:波特率的计算: (6)

一、中断

中断涉及到的寄存器和写程序时的操作顺序:

1、中断优先级控制IP

IP的每一位需用程序置一,某个控制位置一,相应得中断源就设定为高级中断。

同一优先级中的中断申请不止一个时,则有中断优先权排队问题。同一优先级的中断优先权排队,由中断系统硬件确定的自然优先级形成,其排列如所示:

2、中断请求控制标志TCON

IT0(TCON.0),外部中断0触发方式控制位。

当IT0=0时,为电平触发方式,P3.2引脚低电平有效。

当IT0=1时,为边沿触发方式,P3.2引脚下降沿有效。

IE0(TCON.1),外部中断0中断请求标志位。单片机硬件自动置位和自动清零,不用编写在程序中。

IT1(TCON.2),外部中断1触发方式控制位。

当IT0=0时,为电平触发方式,P3.3引脚低电平有效。

当IT0=1时,为边沿触发方式,P3.3引脚下降沿有效。

IE1(TCON.3),外部中断1中断请求标志位。单片机硬件自动置位和自动清零,不用编写在程序中。

3、中断允许控制IE

每一位都需要用程序置一和清零:

置一时,相应的中断打开;

清零时,相应的中断关闭。

使用定时器、外部中断、串行口中断中的某一个或某几个时,EA都要置一。

4、写中断函数(不用在main函数前声明):

V oid 函数名()interrupt 标号(0、1、2、3、4)

{

要实现功能的程序代码;

}

二、定时器

定时器一般与中断联合使用。定时器涉及到的寄存器和写程序时的顺序:

1、工作方式寄存器TMOD:写程序时选择定时器和工作方式(设置M0、M1)。

GA TE:门控位。

GA TE=0时,只要用软件使TCON中的TR0或TR1为1,就可以启动定时/计数器工作;

GA TA=1时,要同时满足以下要求,才能启动定时/计数器工作。(一般不用)

①用软件使TR0或TR1为1,

②同时外部中断(INT0/1)引脚(P3.2;P3.3)也为高电平时

M1M0:工作方式设置位。定时/计数器有四种工作方式,由M1M0进行设置。

2、对定时器装初值:

对定时器0赋初值:TH0=(65536-X)/256;TL0=(65536-X)%256

对定时器1赋初值:TH1=(65536-X)/256;TL1=(65536-X)%256

X为所要设定的时间,最长为65.536ms。

3、设置中断:

对IE赋值,开中断:①开定时器中断(ET0=1或ET1=1);②开总中断(EA=1)。

4、启动定时器控制寄存器:

TF1和TF0由单片机硬件置一和清零,不用程序控制。

TR0(和TR1)用程序置一,启动定时器;清零后,定时器停止工作。

5、写中断函数(不用再main函数前声明):

Void函数名()interrupt1(或3)

{

TH0=(65536-X)/256;TL0=(65536-X)%256 //重装定时器初值[或TH1=(65536-X)/256;TL1=(65536-X)%256]

要实现功能的程序代码

}

6、注意:中断函数中的功能程序代码的执行时间不要超过定时时间。

三、串行接口

串行口工作方式1工作前要对其进行初始化,主要设置产生波特率的定时器1、串行口控制和中断控制。

涉及到的寄存器和程序书写顺序:

1、将TMOD设置成定时器1,工作方式为2

2、计算T1的初值:TH1和TL1的值相同:

所装值为要求的波特率计算后的值,可查表得此值。(见补充)

3、启动定时器T1(对TCON设置):TR1=1;

4、确定串行口控制SCON:

SM0和SM1为工作方式选择位,可选择四种工作方式:

允许串行口接收:REN=1

TI:发送中断标志。单片机给外部设备发送数据前需用程序清零(TI=0),发送完一侦数据后由单片机硬件置位,发送下一数据时再程序清零(TI=0)。

RI:接收中断标志。单片机接收外部设备发送的数据前须将该位清零(RI=0),接收完数据后由单片机硬件置一,接收下一数据时再用程序清零(RI=0)。

注意:计算机和一个单片机通信时SM2=0。

5、串行口工作在中断方式时,进行中断设置:

IE:ES=1;EA=1;

IP:PS=1。

单片机接收到的数据和要发送的数据都存储在SBUF中。

单片机接收到数据:a=SBUF//a可以是寄存器或I/O口,如P1=SBUF表示P1口显示接收到的数据

单片机发送数据:SBUF=a //将要发送的数据发送到a

6、写中断函数。

串口补充:波特率的计算:

在串行通信中,收发双方对发送或接收数据的速率要有约定。通过软件可对单片机串行口编程为四种工作方式,其中方式0和方式2的波特率是固定的,而方式1和方式3的波特率是

可变的,由定时器T1的溢出率来决定。

串行口的四种工作方式对应三种波特率。由于输入的移位时钟的来源不同,所以,各种方

相关文档
最新文档