- Date:2023-05-22

  • Time:22:17
  • Subject: 自动化
  • Tags: #51 单片机
    [[2023-05]]

直流电机介绍

  1. 直流电机是一种将电能转换为机械能的装置。一般的直流电机有两个电极,当电极正接时,电机正转,当电极反接时,电机反转
  2. 直流电机主要由永磁体(定子)、线圈(转子)和换向器组成
  3. 除直流电机外,常见的电机还有步进电机、舵机、无刷电机、空心杯电机等

电机驱动电路

  1. 大功率直接驱动
    1. Pasted image 20230521222110|500
    2. Pasted image 20230521222117|500
  2. H 桥驱动
    1. Pasted image 20230521222246|500
    2. 可以正反转动

PWM

  1. PWM(Pulse Width Modulation)即脉冲宽度调制,在具有惯性的系统中,可以通过对一系列脉冲的宽度进行调制,来等效地获得所需要的模拟参量,常应用于电机控速、开关电源等领域
  2. PWM 重要参数:
    1. 频率 = 1 / TS            占空比 = TON(打开的时间) / TS(总时间)           精度 = 占空比变化步距(一格一格的调整,格子越小月细致)
    2. Pasted image 20230521222713|500
    3. 紫线为等效的线
  3. 产生 pwm 方法
    1. 模型结构
      1. Pasted image 20230521224437|500
    2. 波形
      1. Pasted image 20230521224452|500

- Date:2023-04-29

  • Time:12:52
  • Subject: 自动化
  • Tags: #51 单片机
    [[2023-04]]

51 自带 uart(Universal Asynchronous Receiver Transmitter,通用异步收发器)

电平标准

电平标准是数据 1 和数据 0 的表达方式,是传输线缆中人为规定的电压与数据的对应关系,串口常用的电平标准有如下三种:
TTL 电平:+5V 表示 1,0V 表示 0
RS232 电平:-3~-15V 表示 1,+3~+15V 表示 0
RS485 电平:两线压差+2~+6V 表示 1,-2~-6V 表示 0(差分信号)

电路

  1. 两端的设备的 TXD(发送)和 RXD(接受)交叉连接,单向可以一条,vcc,gnd 必须接
  2. 点平标准不一样的时候要加转换芯片

通信接口比较

  1. Pasted image 20230429110126|500

相关术语

全双工:通信双方可以在同一时刻互相传输数据
半双工:通信双方可以互相传输数据,但必须分时复用一根数据线
单工:通信只能有一方发送到另一方,不能反向传输
异步:通信双方各自约定通信速率
同步:通信双方靠一根时钟线来约定通信速率,有时钟线
总线:连接各个设备的数据传输线路(类似于一条马路,把路边各住户连接起来,使住户可以相互交流)

51 单片机的 uart

  1. 我们的低端单片机只能一个
  2. 四个工作模式
    1. 模式 0:同步移位寄存器
    2. 模式 1:8 位 UART,波特率可变(常用)
    3. 模式 2:9 位 UART,波特率固定
    4. 模式 3:9 位 UART,波特率可变
  3. 串口模式图
    1. Pasted image 20230429124914|400
    2. SBUF:串口数据缓存寄存器,物理上是两个独立的寄存器,但占用相同的地址。写操作时,写入的是发送寄存器,读操作时,读出的是接收寄存器
  4. 相关寄存器
    1. Pasted image 20230429125026|400

- Date:2023-04-29

  • Time:12:52
  • Subject: 自动化
  • Tags: #51 单片机
    [[2023-04]]

介绍

单片机,英文 Micro Controller Unit,简称 MCU
里面有电脑的各个组成部分,有 CPU、RAM、ROM、定时器、中断系统、通讯接口,可以构成一个计算机系统,一个袖珍计算机,但是它小,功能实现比较完整
Pasted image 20230423211439|500
其可以完成的任务:信息采集(依靠传感器)、处理(依靠 CPU)和硬件设备(例如电机,LED 等)的控制,在我们比赛的时候处处都快体现(如机械臂,麦克纳姆轮)
我当前学的用的是 51 单片机,也就是 stc51 单片机,stc 是公司,
stm32 单片机 比赛用的

常见术语

  1. LED 灯
  2. 引脚 P1_0 P1 gnd vcc 对应有功能
  3. 串口 与电脑进行通讯,电脑也参与到工作来
  4. 定时器,用于计时系统,隔一段时间进行操作
    1. 中断系统:为了应急事件设计的,先处理应急的,暂停其他的,再回来
    2. 寄存器:连接软硬件的媒介,单片机的放在 ram,然后 ram 后面接着导线,寄存器相当于一个复杂机器的“操作按钮”,软件上设置了,实际的硬件电路能发生相应的功能
  5. keil4 keil5 用来写代码的平台
  6. c 语言,单片机的程序语言

- Date:2023-04-29

  • Time:12:51
  • Subject: 自动化
  • Tags: #51 单片机
    [[2023-04]]

定时器框架

时钟(提供计数单元的时钟脉冲)-> 计数单元(时钟计数)->中断系统(产生中断,执行定时任务)

工作模式

  1. 模式 0:13 位定时器
    Pasted image 20230423155323|500
    相当于一个计数器
  2. 模式 1:16 位定时器/计数器(常用)
    1. sysclk :系统时钟,也就是晶振周期,
    2. 12T 12 分频,1 微秒,这样记一次数
    3. 6T 类似
    4. C/T=0 count 选择上下的模式

中断系统

  1. 发生紧急事情,先暂停其他处理紧急,然后再回去,cpu 优先相依那个中断源请求问题,所以中断源就有优先级别
  2. Pasted image 20230423161243|500
  3. 相当于可以同时进行两个任务(断点)

定时器相关寄存器

  1. 定时器/计数器 0 和 1 的相关寄存器
    1. 特殊的 ram 存储器,每个寄存器连着导线,控制电路连接的方式
    2. 可位寻址,可以单独设置;
    3. 不可位寻址,统一设置;

设置

Pasted image 20230521224952|500

驱动电路

  1. Pasted image 20230501103127|500

ULN2003

  1. Pasted image 20230501103255|500
  2. 增大驱动能力
  3. 与门 或门 非门 ,如下:Pasted image 20230501103511|500

乐理部分

- Date:2023-05-18

  • Time:23:53
  • Subject: 自动化
  • Tags: #51 单片机
    [[2023-05]]

AT24C02

  1. AT24C02 是一种可以实现掉电不丢失的存储器,可用于保存单片机运行时想要永久保存的数据信息
  2. 存储介质:E2PROM

内部结构框图

Pasted image 20230519000430|500

  1. eeprom 的左边 x DEC 就是 decoder 编码器;下面就是输出端;上面用于擦除
  2. data word 地址寄存器

I2C 总线(i 方 c)

  1. 两根通信线:SCL(Serial Clock)、SDA(Serial Data)半双工通信
  2. 同步 半双工 带数据应答
  3. 通用的 I2C 总线,可以使各种设备的通信标准统一
  4. I2C 总线(Inter IC BUS)是由 Philips 公司开发的一种通用数据总线

I2C 电路规范

  1. Pasted image 20230519224809|500
  2. Pasted image 20230519224814|500
  3. 所有 I2C 设备的 SCL 连在一起,SDA 连在一起
  4. 设备的 SCL 和 SDA 均要配置成开漏输出模式
  5. SCL 和 SDA 各添加一个上拉电阻,阻值一般为 4.7KΩ 左右
  6. 开漏输出和上拉电阻的共同作用实现了“线与”的功能,此设计主要是为了解决多机通信互相干扰的问题

I2C 时序结构

  1. 起始条件:SCL 高电平期间,SDA 从高电平切换到低电平
    1. Pasted image 20230519230113|500
  2. 终止条件:SCL 高电平期间,SDA 从低电平切换到高电平
    1. Pasted image 20230519230123|500
  3. 发送一个字节:SCL 低电平期间,主机将数据位依次放到 SDA 线上(高位在前),然后拉高 SCL,从机将在 SCL 高电平期间读取数据位(读取 b7 下面的两个脉冲),所以 SCL 高电平期间 SDA 不允许有数据变化(方框内的下面两个脉冲得保持不变),依次循环上述过程 8 次(b7-b0),即可发送一个字节
    1. Pasted image 20230519230412|500
  4. 接收一个字节:SCL 低电平期间,从机将数据位依次放到 SDA 线上(高位在前),然后拉高 SCL,主机将在 SCL 高电平期间读取数据位,所以 SCL 高电平期间 SDA 不允许有数据变化,依次循环上述过程 8 次,即可接收一个字节(主机在接收之前,需要释放 SDA,把控制权交给从机)紫色是从机控制的时候
    1. Pasted image 20230519233248|500
  5. 发送应答(SA):在接收完一个字节之后,主机在下一个时钟发送一位数据,数据 0 表示应答,数据 1 表示非应答(ACK 就是应答)
  6. 接收应答(RA):在发送完一个字节之后,主机在下一个时钟接收一位数据,判断从机是否应答,数据 0 表示应答,数据 1 表示非应答(主机在接收之前,需要释放 SDA,也就是 sda 置高电平,控制权交给从机
    1. Pasted image 20230519233803|500

I2C 数据帧

  1. 发送一帧数据
    1. Pasted image 20230519234146|500
    2. a6-3 在这个芯片规定为 1010 无法改变(相当于身份)后三位可以见到在原理图,都是接地的,为 0,最后一位决定功能,带横线接 gnd 起作用
    3. 向谁发什么
  2. 接受一帧数据
    1. Pasted image 20230519235731|500
    2. 向谁收什么
  3. 先发送再接收数据帧(复合格式)
    1. Pasted image 20230519235841|500
    2. 先说(发)再收取数据,对于传感器来说不必要,但是对于其他的,主机给了什么指令,就让从机回复些什么东西;实现的是 向谁收指定的什么
  4. 字节写
    1. Pasted image 20230520000310|500
    2. 在 WORD ADDRESS(字地址)处写入数据 DATA
    3. Pasted image 20230520000838|500
    4. 手册上的时序,可以参照思考对照一下,下面也是
  5. 随机读
    1. Pasted image 20230520000337|500
    2. 读出在 WORD ADDRESS 处的数据 DATA
    3. Pasted image 20230520000827|500
  6. :AT24C02 的固定地址为 1010,可配置地址本开发板上为 000(原理图中的 a0-a2),所以 SLAVE ADDRESS+W 为 0xA0 (Write 接地起作用),SLAVE ADDRESS+R 为 0xA1(Read 接高电平起作用)

- Date:2023-04-29

  • Time:17:43
  • Subject: 自动化
  • Tags: #51 单片机
    [[2023-04]]

RTC(Real Time Clock):实时时钟,是一种集成电路,通常称为时钟芯片

电路

Pasted image 20230429203500|500
Pasted image 20230429203524|500

寄存器

Pasted image 20230429204346|500

  1. 前两列命令字的结果,命令是什么,就是上面的功能
  2. Pasted image 20230429205534|500

时序定义

  1. Pasted image 20230429210957|500
  2. 第一位读取 write 还是 read,要是 read,则就把后面的那一段作为读取,从时钟芯片读取,write 就是下面的第二段,把它写入到里面去
  3. 一个时钟周期是一系列的上升沿伴随下降沿.要输入数据在时钟的上升沿数据必须有效,而 且在下降沿要输出数据位.如果 CE 输入为低电平,则所有数据传输终止,并且 I/O 口成高阻 抗状态.图 4 显示了数据传输. 在上电时, CE 必须为逻辑 0 直到 VCC 大于 2v,同样,SCLK 必须为逻辑 0 当 CE 变成逻辑 1 状态.

bcd 码

  1. 用 4 位二进制数来表示 1 位十进制数
  2. BCD 码转十进制:DEC=BCD/16 * 10+BCD%16; (2 位 BCD)
  3. 十进制转 BCD 码:BCD=DEC/10 * 16+DEC%10; (2 位 BCD)
  4. 在十六进制中的体现:0x13 表示 13,0x85 表示 85,0x1A 不合法

- Date:2023-04-29

  • Time:14:34
  • Subject: 自动化
  • Tags: #51 单片机
    [[2023-04]]

  1. 显示原理
    Pasted image 20230429143429|500

74HC595

  1. 74HC595 是串行输入并行输出的移位寄存器,可用 3 根线输入串行数据,8 根线输出并行数据,多片级联后,可输出 16 位、24 位、32 位等,常用于 IO 口扩展。
  2. Pasted image 20230429145026|500
  3. SER: 输入数据,serclk:移动位置,一层层往下,上面补充
  4. 先最上面 1 下一格子,然后最上面 0,现在 1 在第二行,然后两个再下沿,补第一层
  5. qh‘ 放到下一个芯片的寄存器里面(当 8 位满了之后)
  6. 低电平工作

srf sbit

  1. sfr(special function register):
    1. 特殊功能寄存器声明 例:sfr P0 = 0x80; 声明 P0 口寄存器,物理地址为 0x80
  2. sbit(special bit): 2. 特殊位声明例:sbit P0_1 = 0x81;    或     sbit P0_1 = P0^1; 声明 P0 寄存器的第 1 位
  3. 可位寻址/不可位寻址:在单片机系统中,操作任意寄存器或者某一位的数据时,必须给出其物理地址,又因为一个寄存器里有 8 位,所以位的数量是寄存器数量的 8 倍,单片机无法对所有位进行编码,故每 8 个寄存器中,只有一个是可以位寻址的。对不可位寻址的寄存器,若要只操作其中一位而不影响其它位时,可用“&=”、“|=”、“^=”的方法进行位操作

代码习惯

  1. 函数和变量命名建议小写开头,结构体建议大写开头,常量建议全大写

术语

Pasted image 20230429175356|500

  1. 首先要知道这个: 加横线一般表示这个接口低电平工作
  2. OE:
    open enable 直译(打开使能)
    说人话(打开此芯片的开关)
    带上横线的意思用人话说就是(输入低电平这个芯片才能工作)
  3. SRCLR:
    serial clear 直译(连续清零/串行清零)
    说人话(这个芯片数据清空)
    带上横线的意思用人话说就是(输入低电平这个芯片里面的数据清空)
    所以说你要用的话得接个高电平才能工作(毕竟你不能让芯片一直清空你准备的数据信号是不是)
  4. SER: serial 直译(连续/串行)
    说人话解释(这个接口就是商场大门,排成一条长队的数据就从这个接口进)
    这个接数据输入的 IO 口
  5. SRCLK : serial clock 直译(连续时钟/串行时钟)
    说人话解释(这个就是可以通行的绿色标志,数据从 SER 口排着队,这里大喊一声(具体操作就是给他一个高点平),贵客一位! 然后数据就从这里进一位)
    感觉和水龙头也挺像的,开一下关一下,水和数据似得.打开走一点,打开走一点,打开走一点…
    要用的话就是 给高电平一下 走一个位(bit) 给高电平一下走一个位(bit)
  6. RCLK: receive clock 直译(接收时钟)
    说人话解释(连着上面的说了啊,一个一个顾客进来凑够了一桌子 8 个人,不能让他们站着啊,你得让他们坐下来,这个就是请坐,你们一块坐下吧)
    诶,这就输出了这个接口就是把当前的 8 个位,一块儿给输出的 要用的话就是给 给高电平一下,输出存的那几个位
  7. QA-QH:
    就是桌子旁边的座位,这是输出口 最后进来的位在最前面 QA 座位 第二个进来位在第二个 QB 座位