单片机
文章平均质量分 87
weixin_47207479
这个作者很懒,什么都没留下…
展开
-
单片机第四季-第二课:uCos2源码-BSP
本章节内容BSP是对外设驱动的初始化,与前边通过stm32标注库操作没有本质区别,与uCos有什么关系呢?原创 2024-03-17 15:59:44 · 966 阅读 · 0 评论 -
单片机第四季-第一课:RTOS
操作系统是什么?以人类社会类比,小公司三四个人都是干活的,大公司有几万人其中有几千人从事管理工作,他们的工作是让其他人的干活效率更高。51单片机为什么没有操作系统,因为51的性能太低,资源太少,类似一个小公司,它上面运行的每一行代码都是干活的。随着单片机性能提升,硬件更复杂,就像人类社会人越来越多,生产力不断提升,这时候就需要专门的代码管理这些资源(比如内存、flash、IO等)。类似于一个小公司只有几个人,老板可以直接管理这些人,一个几万人的公司老板是无法直接管理这么多人的,就需要设置各种中层职位来进行管原创 2024-03-16 16:16:12 · 1268 阅读 · 0 评论 -
单片机第一季:零基础7——定时器和计时器
51 单片机有两组定时器/计数器,因为既可以定时,又可以计数,故称之为定时器/计数器。定时器/计数器和单片机的CPU 是相互独立的。定时器/计数器工作的过程是自动完成的,不需要CPU 的参与。51 单片机中的定时器/计数器是根据机器内部的时钟或者是外部的脉冲信号对寄存器中的数据加1。有了定时器/计数器之后,可以增加单片机的效率,一些简单的重复加1 的工作可以交给定时器/计数器处理。CPU 转而处理一些复杂的事情。同时可以实现精确定时作用。原创 2023-07-13 22:06:58 · 2595 阅读 · 0 评论 -
单片机第一季:零基础12——I2C和EEPROM
AT24C01/02/04/08/16...是一个1K/2K/4K/8K/16K 位串行CMOS,内部含128/256/512/1024/2048 个8 位字节,AT24C01 有一个8 字节页写缓冲器,AT24C02/04/08/16 有一个16 字节页写缓冲器。该器件通过I2C 总线接口进行操作,它有一个专门的写保护功能。我们开发板上使用的是AT24C02(EEPROM)芯片,此芯片具有I2C 通信接口,芯片内保存的数据在掉电情况下都不丢失,所以通常用于存放一些比较重要的数据等。原创 2023-07-30 18:52:16 · 684 阅读 · 0 评论 -
单片机第一季:零基础11——实时时钟DS1302
DS1302 是DALLAS 公司推出的涓流充电时钟芯片,内含有一个实时时钟/日历和31 字节静态RAM,通过简单的串行接口与单片机进行通信。实时时钟/日历电路提供秒、分、时、日、周、月、年的信息,每月的天数和闰年的天数可自动调整。时钟操作可通过AM/PM 指示决定采用24 或12 小时格式。DS1302 与单片机之间能简单地采用同步串行的方式进行通信,仅需用到三根通信线:①RES复位②I/O 数据线③SCLK 串行时钟。时钟/RAM 的读/写数据以一个字节或多达31 个字节的字符组方式通信。原创 2023-07-24 17:46:42 · 1802 阅读 · 0 评论 -
单片机第一季:零基础10——串口通信和RS485
如果发生接收中断,即会进入串口中断执行,在中断程序内将接收中断标志位RI置0,读取接收寄存器内的数据,并将读取的数据发给发送寄存器,直到发送完毕,硬件将发送完成中断标志位TI置1后,通过软件再将TI置0,执行完后回到主函数内继续运行,如此循环。具体的介绍,大家可以百度串口通信了解。异步通信是以字符(构成的帧)为单位进行传输,字符与字符之间的间隙(时间间隔)是任意的,但每个字符中的各位是以固定的时间传送的,即字符之间不一定有“位间隔”的整数倍的关系,但同一字符内的各位之间的距离均为“ 位间隔”的整数倍。原创 2023-07-16 15:58:30 · 2071 阅读 · 0 评论 -
单片机第一季:零基础9——直流电机和步进电机
在非超载的情况下,电机的转速、停止的位置只取决于脉冲信号的频率和脉冲数,而不受负载变化的影响,即给电机加一个脉冲信号,电机则转过一个步距角。从上图中可以看出,该电路是独立的,芯片的输入通过J46 端子提供,芯片的输出由J47 端子引出。由于该模块电路是独立的,所以使用任意单片机管脚都可以,为了与我们例程程序配套,这里使用P1.0 管脚来控制ULN2003 输出,即将P1.0 管脚连接到J46 的IN1,直流电机的两根线接J47 端子的1、2 脚即5V 和O1。改变绕组通电的顺序,电机就会反转。原创 2023-07-15 17:30:32 · 2374 阅读 · 0 评论 -
单片机第一季:零基础8——蜂鸣器
所以我们不会直接使用IO 口驱动蜂鸣器,而是通过三极管把电流放大后再驱动蜂鸣器,这样51 单片机的IO 口只需要提供不到1mA 的电流就可控制蜂鸣器。这里说的有源和无源,并不是指电源的意思,而是指蜂鸣器内部是否含有振荡电路,有源蜂鸣器内部自带振荡电路,只需提供电源即可发声,而无源蜂鸣器则需提供一定频率的脉冲信号才能发声,频率大小通常在1.5-5KHz 之间。对于有源蜂鸣器,通常内部已经固定了频率,对于调节频率或占空比可能改变不了蜂鸣器的音调和音量,当然也有的有源蜂鸣器可以实现和无源蜂鸣器一样的效果。原创 2023-07-15 11:07:58 · 3130 阅读 · 0 评论 -
单片机第一季:零基础5——LED点阵
要想在点阵上显示数字等字符,首先要获取在LED 点阵上显示数字字符所需的数据,即一个数字字符在LED 点阵上显示,对应的每行每列都会有一些灯点亮或者熄灭,这样就会构成一组数据,也就是数字字符的显示数据,我们只要将这些数据通过74HC595 发送到点阵对应的行或列就能显示数字字符。数据通过SER按bit输入,循环8次即可将一个字节写入寄存器中,每次循环需要设置一个SRCLK上升沿,当8个移位寄存器写满后,在通过SER输入的数据,会将前边写入移位寄存器的8个bit依次通过QH'输出;QA-QH:数据输出管脚;原创 2023-07-11 14:48:20 · 737 阅读 · 0 评论 -
单片机第一季:零基础4——数码管
(1)驱动方法的差异。数码管(其实就是LED)如果按照共阳极接法则单片机可以直接驱动显示,如果按照共阴极接法则单片机不能直接驱动,因为单片机的IO口提供的电流大小不够驱动数码管内部的LED显示,需要外部电路来提供一个大电流驱动的芯片来解决(上个课程中的74HC573就是起的这个作用)。第二,微观上数码管是依次亮的,我们可以给不同的数码管送不同的段码,所以不同的数码管可以显示不同的数字。(2)显示数字(甚至文字)原理:利用内部的LED的亮和灭让外部的组成数字的笔画显示或者不显示,人看到的就是不同的数字。原创 2023-07-06 19:54:30 · 715 阅读 · 0 评论 -
单片机第一季:零基础3
12T和6T和1T的问题:典型的51单片机都是12T的,12T的意思就是51单片机内部会对外部时钟频率进行12分频后再给CPU(如果外部晶振是12MHz,则外部时钟频率就是12MHz,内部CPU的主频就是12MHz/12=1MHz),6T的含义就是CPU时钟频率=外部时钟频率/6,1T的含义就是内部CPU时钟频率=外部时钟频率/1。单片机中大部分的引脚都是IO(P开头的引脚都是IO),将来单片机内部的程序运行就会通过操作这些IO来和外部电路交互,从而实现程序目的。),这就是锁存器的作用。原创 2023-07-06 17:01:44 · 453 阅读 · 0 评论 -
单片机第一季:零基础2
51单片机发展史:51单片机由Intel公司设计诞生(1)1971年,Intel推出4位单片机Intel4004(2)1972年,Intel推出8位单片机Intel8008(3)期间还有别的公司如Motorola、Zilog等推出各自的单片机系列(4)80年代初,Intel推出MCS-51系列单片机(即Intel8051)(5)后来Intel继续做了16位8085、8086等,再后来做了32位,再后来64位···一直到现在。原创 2023-07-05 16:28:23 · 568 阅读 · 0 评论 -
单片机第一季:零基础1
单片机是全球用量最大的CPU,是物联网节点设备主控CPU,单片机是其他物联网编程技术的基础,通过学习单片机学习编程语言、调试技巧、工具使用等;51单片机最简单、最典型、用的最广、学习成本最低;51单片机的内核是免费的,典型应用如:电容触摸IC、Wifi芯片(ESP8266)、zigbee无线通信芯片;本学习过程使用的开发板为普中科技的开发板,包括LED、静态数码管、动态数码管、按键、LED点阵、蜂鸣器、电机、RS232、温度传感器、红外遥控等;原创 2023-07-02 22:36:16 · 425 阅读 · 0 评论