一、独立按键的使用
main.c
key.c
key.h
二、中断处理
2.1 定义
中断系统是为使CPU具有对外界紧急事件的实时处理能力而设置的。
当CPU正在处理某件事的时候外界发生了紧急事件请求,要求CPU暂停当前的工作,转而去处理这个紧急事件,处理完以后,再回到原来被中断的地方,继续原来的工作,这样的过程称为 ++中断 ;++
实现这种功能的部件称为++中断系统++
请示CPU中断的请求源称为++中断源++
51单片机中嵌套优先级最多两层;若中断优先级相同,中断号越小,越先响应;
中断执行流程:
- 中断源发出中断请求;
- CPU检查是否响应中断及该中断源是否屏蔽;
- 检查中断优先级;
- 保护现场;
- 执行中断服务函数;
- 恢复现场;
中断向量表:一个指针的数组,其中保存中断服务函数的入口地址;
51中的中断向量:
中断设置:中断方式、中断允许;
中断和轮询之间的区别
- 中断时,设备会通知CPU引起注意;而在轮询中,CPU会稳定地检查设备是否需要注意。
- 中断不是协议,而是一种硬件机制;轮询反之。
- 在中断中,该设备由中断处理程序提供服务;轮询时,该设备由CPU维修。
- 中断可以随时发生;轮询时,CPU会以固定的间隔稳定地对设备进行投票。
- 在中断中,中断请求线用作指示设备需要维修的指示;在轮询时,命令就绪位用作指示,表明设备需要维修。
- 在中断中,一旦任何设备将其中断,处理器就会受到干扰;在轮询中,处理器通过重复检查每个设备的命令就绪位来浪费无数的处理器周期。
2.2 外部中断使用方法
2.2.1 IE寄存器
2.2.2 IPH与IP寄存器


2.2.3 TCON寄存器
下降沿触发:从高电平到低电平的过程;
低电平触发:电平一直为低电平;
三、定时器/计数器
定时器的工作原理:
定时器的原理是一个加法器,通过晶振分之一开始加,直到溢出,发生中断;
定时器的功能:
LED点亮、数码管显示及模拟PWM功能
3.1 TCON寄存器


3.2 TMOD寄存器


四、PWM(脉冲宽度调制)及 蜂鸣器
PWM:一种通过数字信号控制模拟电路的技术;
指标:占空比、周期
蜂鸣器:分为有源和无源,源不是指电源而是指震荡源
通过按键实现蜂鸣器发出响声:
main.c :