gentleman
发表于 2023-9-4 08:54:56
留一层,备用
gentleman
发表于 2023-9-4 09:10:56
本帖最后由 gentleman 于 2023-9-11 10:42 编辑
2023/08/30第二十集
SPI 结构
常用于 存储器 a/dd/a ledlcd通信
分主从
SPDAT 相当于串口的SBUF
从机不能主动发送时钟
时钟由主机系统时钟分频形成
SPR0 SPR1 控制
SPEN 控制开关
SSIG 是否忽略ss
CPHA/CPOL 相位/极性
SPIF/WCOL状态
主从选择
注意WCOL 写1清0 可能是飞利浦搞错啦,还不承认
时序图
CPOL 决定 高/低电平空闲还是激活状态
CPHA前后沿
具体的看图,时序图描述的很清晰
gentleman
发表于 2023-9-4 09:25:30
本帖最后由 gentleman 于 2023-9-11 10:42 编辑
2023/08/30 第二十一集
硬件spi就这几个寄存器
SPCTL
.7 SSIG1忽略ss
.6 SPEN1使能
.5 DORD 1先传低位
.4 MSTR主从选择结合SSIG
.3 CPOL 1 SCK=1空闲 前沿下降沿
0 SCK=0空闲 上升沿
.2 CPHA,时钟选择
.1.0联合控制时钟速率
SPSTAT
SPIF/WOCL标志位写1清理0
SPDAT
数据
后面的例子是个驱动LCD 屏幕的
注意这是个慢速设备
时序图
大家课后可以尝试一下 试验箱的SPI FLASH 的驱动 和 oled12864 的驱动
可能实用性更大一些,当然LCD 屏幕由于屏幕较大,也有许多适合使用的场景.
我在论坛也写了一篇关于spi 驱动oled 屏幕的文章
https://www.stcaimcu.com/forum.php?mod=viewthread&tid=4022
gentleman
发表于 2023-9-11 11:01:46
2023/09/04 第二十二集
I2C简单 有效
时序很重要
有主从机
可多主机
仲裁/同步
I2C 工作原理
同一时钟
两个线 sdascl (其实还有GND)
sda scl 要上拉
开漏模式
时序
每个器件唯一地址
写指令
字节写
注意R/#WD 位置在地址后 应答前
页面写
发首地址,写多个
再停止
gentleman
发表于 2023-9-11 11:21:05
2023/09/04 第二十三集
STC8H 的i2c寄存器
比spi 要多一点
ENI2C 关闭可以复位
建立时间与保持时间/速度 通过MSSPEED 设置
课上讲的例程是使用24c02的存储器
程序要点
设计程序时可以在头部宏定义 地址,方便以后修改
使用sbit 定义一些 引脚,虽然没用,但便于阅读。(曾经有个小白,改了这里的引脚定义,发现并没用,当时还困扰了好久)
配置好相关寄存器
start -设备地址 W- 存储器地址- 数据-停止命令
start -设备地址 W- 存储器地址- start - 设备地址R- 读数据发ACK-停止命令
gentleman
发表于 2023-9-11 11:21:06
2023/09/04 第二十三集
STC8H 的i2c寄存器
比spi 要多一点
ENI2C 关闭可以复位
建立时间与保持时间/速度 通过MSSPEED 设置
课上讲的例程是使用24c02的存储器
程序要点
设计程序时可以在头部宏定义 地址,方便以后修改
使用sbit 定义一些 引脚,虽然没用,但便于阅读。(曾经有个小白,改了这里的引脚定义,发现并没用,当时还困扰了好久)
配置好相关寄存器
start -设备地址 W- 存储器地址- 数据-停止命令
start -设备地址 W- 存储器地址- start - 设备地址R- 读数据发ACK-停止命令
gentleman
发表于 2023-9-17 08:16:33
2023/09/06 第二十四集
模拟量转数字量
逐次逼近
原理类似杆秤
分辨率 8位 5V19.5mv
810121416常见位数
stc15通道 1个公共adc
存在转换时间 采样保持时间
内部结构
寄存器ADC_CONTRADCCFG
记得设置io高阻模式
ADC_RES,ADC_RESL放高低位数据
ADCTIM 时序控制
ADCEXCFG转换次数
gentleman
发表于 2023-9-17 08:28:27
2023/09/07 第二十五集
计算公式
转换公式 4096 xvin/vref
还可以反推输入电压
编程步骤
实例是ntc测温
ADC_CONTR &=~0x20;
这条语句可以思考一下
好用的清0写法
ADCRES要强制转换u16
得到结果查表
后面讲了下硬件调试, 很直观,很好用。
另一个应用 ad按键
节省io
两组可以实现按键同时按下。
gentleman
发表于 2023-9-17 09:23:28
2023/09/11期 第二十六集
PWM 脉宽调制技术
数电控制模电
占空比t/T
控制舵机转角
不同占空比 对应不同的转角
具体看舵机手册
推导出全桥控制电机
T内平均电压 = 占空比x脉冲电压幅度
BTN7971 半桥驱动芯片
gentleman
发表于 2023-9-17 10:07:02
2023/09/11 第二十七集
stc8h pwm 8通道16位
PWMA 与PWMB
互补 死区控制 适合 驱动电机
P 对应N 不能同时独立输出
1P 1N 不能同时输出
可以单独2P 3P
也可以单独2N 3N
16位 向上向下 自动装载
性能
六步pwm输出 是指驱动无刷电机
每60度一个转角
时钟
使能ARPE自动重载 在UEV 送到影子
禁止ARPE 立即写入影子
UEV:向上/向下计数器溢出
软件 置位UG
时钟/触发控制器触发事件
PWMA_CNTRH 先读
分频 PWMA_PSCR
向上计数 PWMA_ARR
中间对齐
这节课有点抽象了。
看来试验箱还缺个无刷电机/舵机。