初学者能看懂的51单片机(大神勿喷)
作者:互联网
开天辟地
第一章说一些最基础的知识吧,说说51单片机的最小系统
组成:
- 电源:通常使用5V或者3.3V的供电电源,我们平时买的51单片机的开发板通过USB数据线(USB转TTL接口)接到电脑上的供电量一般就是这个大小,所以新手开始学的时候直接将开发板回到电脑上即可,不需要特意去找什么变压器之类的。
- 晶振:很多小伙伴对这个小东西非常的不理解,不知道这个东西是干什么用的,他的全称叫晶体振荡器,主要作用是为电路提供基准时钟信号。通常我们接18号,19号引脚
- 复位电路:简言之就是重置按键,比如说你的计算器,算完一组数据后需要重新归零之后进行下一步计算,复位电路有三种上电复位,手动复位,程序复位,字面意思,相信只要是聪明人都知道舍意思吧!
接下来呢我们说说I/O口:数据的输入输出口
51单片机内包含有四个并行的I/O接口,分别是:P0,P1,P2,P3,这四个接口均有一个锁存器(永凯存放输入的数据),和输入缓冲器(对输入的数据进行缓存)。
注:P0口内无上拉电阻,执行输出功能时外部必须要接上拉电阻
P1~P3口内有上拉电阻,所以这两各就无须接上拉电阻
下面说说按键消抖:
简言之就是你在按下一个开关时,他的触发过程会收到自身结构以及受力的影响,导致信号发生异常;下面我们就说说常用的消抖方式吧!
- 硬件消抖:利用电容充放电的特性来对抖动产生的一些电压毛刺来进行平滑处理。
- 软件消抖:其原理是检测到按键变化后会先的等待一个10ms左右的时间,让抖动消失后再进行检测
使用函数:
void keypros()
{
if (k1 == 0) //检测K1是否按下
{
dely(1000) //消除抖动,大约用10ms
if(K1 == 0) //再次判断
{
led = 0; //点亮LED灯
}
while(!k1) //检测按键是否松开
}
}
最后呢我们说说中断系统
打个比方,CPU在处理A时,发生另一件事B,此时呢这个B威胁CPU停下来先去处理一下它,CPU没办法就只能停下手中的工作转身去处理B去了,等处理完了B ,再回来从刚才中断的地方接着处理A。
(下一章呢我会配一些图片上来,便于大家理解,谢谢支持)
标签:复位,消抖,51,单片机,初学者,按键,CPU 来源: https://blog.csdn.net/m0_47661559/article/details/120295652