【单片机学习笔记】(9):三种存储空间、IO口输出读取高低电平原理、三极管、中断操作

/ 51单片机的三个存储空间 /

程序存储(code):0000H~FFFFH, 共64KB     这里的数据是只读的(把数组放这里边可以节省内部数据存储的资源)

内部数据存储(data):00H~FFH,共256B

外部数据存储(xdata):0000H~ffffH,共64KB,与上面一个不是同一个地址

/ 51单片机输出高低电平原理 /

P1、P2、P3内部具有上拉电阻;而P0口是漏极开路,内部无上拉电阻。如要P0口进行高低电平输出,需要加外部上拉电阻。

单片机IO口默认高电平。

内部输出1,经过非门变成0,三极管 低电平,上下两引脚不导通,单片机IO口输出高电平。

内部输出0,经过非门变成1,三极管高电平,上下两引脚导通,IO口输出低电平。

内部输入可读取单盘片机IO处的电平高低。

/ 矩阵按键 /

使用按键矩阵有两种方式,线翻转法行列扫描检测法。

线翻转法

逐行扫描法

/ 51单片机中断/

中断优先级

中断源

中断标志

中断程序入口

优先级

外部中断(INT 0 上划线)

IE0

0003H

从高

定时/计数器0(T0)

TF0

000BH

外部中断1(INT 1 上划线 )

IE1

0013H

定时器/计数器(T1)

TF1

001BH

串行口

RI或TI

0023H

到低

/ 中断号 /

中断源符号

名称

引起的原因

中断号

/INT0

外部中断0

P3^2引脚低电平或下降沿信号

0

T0

定时器0中断

定时/计数器0计数回0溢出

1

/INT1

外部中断1

P3^3引脚低电平或下降沿信号

2

T1

定时器1中断

定时/计数器1计数回0溢出

3

TI/RI

串行口中断

串行通信完成一帧数据发送或接收

4

外部中断控制位有IT (TCON 0)、IT 1(TCON 1),置0则是引脚低电平触发置1则是下降沿信号触发

中断响应条件(必要条件)

中断源有中断请求

次中断源的中断允许位为1

CPU开中断(即EA= 1)

开外部中断0

EA = 1;    //打开总中断开关

EX0 = 1;  //打开外部中断0

IT0 = 0/1;  // 设置外部中断的触发方式

中断服务函数

Void  int0 ( )  interrupt 0

{

//编写功能代码

}

中断实操

独立按键可以把对应单片机的IO口电平被拉低,即产生一个下降沿的过程,所以把外部中断设置成下降沿触发(如IT0 = 0),即可发出中断请求。

 

上面的代码只能用外部中断0,因为外部中断1的中断标志是2

只要把interrupt 1改成interrupt 2即可达到预期效果

PX1 = 1;//设置外部中断1为高优先级

PX0 = 0; //设置外部中断0为低优先级

  • 4
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值