ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

初学者能看懂的51单片机(大神勿喷)

2021-09-14 21:01:13  阅读:154  来源: 互联网

标签:复位 消抖 51 单片机 初学者 按键 CPU


开天辟地

第一章说一些最基础的知识吧,说说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

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有