51单片机入门学习笔记(下)

笔记整理自B站UP主江科大自化协教程《51单片机入门教程-2020版 程序全程纯手打 从零开始入门》

所用单片机为普中51 STC89C52单片机2022新款,文中所提到的调试现象及结果也都基于此款单片机。

存储器介绍

SRAM:Static Random Access Memory 静态RAM

内部存储结构:锁存器、触发器

是所有存储器中速度最快的,定义的变量存储在SRAM中,容量相对较少,成本较高

应用:电脑CPU高速缓存,特殊功能寄存器

DRAM:Dynamic Random Access Memory 动态RAM

电容充放电来存储数据,但电容集成度很高,存在漏电现象,所以要配一个扫描电路,每隔一段时间读取数据并补电,刷新一下,补上因为漏电现象所丢失的电能,相比于SRAM成本更低,容量更大

应用:电脑内存条,手机运行内存

开漏输出

定时器扫描按键

之前的思路:检测到按键按下,延时一段时间,把抖动滤掉,检测松手,再延时一段时间

那这样存在的问题就是检测松手的while循环中可能会卡很长时间,对主循环不利

现在的思路:每隔20ms读取一下按键值,这样得到的数据直上直下,不可能20ms都在抖动之间,跳变只有一下。

如何判断按键是按下还是松开呢?

如果上一个状态是1,当前的状态是0,则按键为从松开到按下;

如果上一个状态是0,当前的状态是1,则按键为从按下到松开。

这样就算按键一直按着不放,也不会影响主函数

定时器扫描数码管

按照之前的思路,如果主循环中有长时间的Delay,那么会影响数码管的显示,如何让数码管不受主循环的影响?定时器扫描数码管

定时器使用时一定要注意:定时器中断所调用的函数或其内部一定不要有Delay,否则就会乱套!!!

单总线注意问题

在应用单总线时,如果还要用定时器,那会出问题,因为单总线它延时几微秒时序是非常严格的,不能被打断,可以考虑在配置单总线的函数中停止总中断(EA = 0),执行完后再打开总中断(EA = 1),但这样对定时器也会有不小的影响,这也是单总线在应用时的一个弊端。

也告诉我们在综合模块时,需要注意各个模块的衔接,有的可能优先级比较高,如果有两个优先级都比较高,可以考虑外挂模块,比如说数码管和DS18B20都想要正常显示,不闪烁,可以独立扫描数码管。

对比I2C:单总线使用绝对的时间,I2C有单独的时钟线,不怕进中断,即使I2C执行到一半被终止了,时钟和数据同时停止,时钟只要不工作,主机和从机都不动。

LED呼吸灯程序分析

如果呼吸灯的程序写在主循环中,那么主循环是无法做其他事的。

通常可以把PWM写在定时器中,更高级一点的单片机STC12系列,STC15系列有硬件的PWM,STM32也有硬件的PWM

不断翻转IO是一种比较简单但也比较占用CPU的操作,通常会用硬件来实现。

定时器产生PWM

用来驱动电机的话频率大概在10K~20KHz

有源蜂鸣器和无源蜂鸣器

蜂鸣器是一种将电信号转换为声音信号的器件,常用来产生设备的按键音、报警音等提示信号

蜂鸣器按驱动方式可分为有源蜂鸣器和无源蜂鸣器

有源蜂鸣器:内部自带振荡源,将正负极接上直流电压即可持续发声,频率固定

无源蜂鸣器:内部不带振荡源,需要控制器提供振荡脉冲才可发声,调整提供振荡脉冲的频率,可发出不同频率的声音

我们这款开发板上是无源蜂鸣器,无源蜂鸣器不能一直通电,内部是一个线圈(电阻较小),必须给交流振荡才能发声,一直通电很容易造成蜂鸣器的烧毁,但我们这款开发板上IO口一上电默认是高电平,ULN2003内部有一个反相器,所以输出低电平,蜂鸣器就接通了,因为接了限流电阻,所以也不会烧(其实不太合理)

正负极判断

新的蜂鸣器引脚没有剪的话长脚是正极

原理图引脚

我们这款开发板引脚和视频教程中不一样,这里接的是P25引脚

感谢抽出宝贵时间阅读的各位小读者们,创作不易,如果感觉有帮助的话,帮忙点个赞再走吧!你的支持是我创作的动力,希望能带给大家更多优质的文章。

  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

AoXin_TechJZ.

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值