gentleman 发表于 2023-9-3 11:58:19

2023/08/23 第十八集
         STC8H8K64U
         4个串口全双工 支持DMA
            
         两个SBUF独立


         SFR


      

      SCON
      

       常用模式1 3

    工作模式1示意图
      
      

    可以由定时器作为波特率发生器
   
   



   

gentleman 发表于 2023-9-3 12:09:11

2023/08/28 第十九集

       使用定时器作为波特率发生器时要 TR1/TR2=1
       中断不用开

   

   常用stc-isp 工具计算定时器初值

    实时任务需要 中断

   编程要点
         SCON 设置
         TMOD/SMOD 设置
         ES/EA 设置
         data -> SBUF
          清TR/RI 编程序

          其他串口类似,注意寄存器不同

    流程图

      发送
      


       接收

      
   


      注意波特率要相同,才能进行通信

多机通信

                SM2 标志位区分

   流程图
         

      注意TB8=1   发地址
         发完清TB8

   

   
         
      

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
          两组可以实现按键同时按下。
            
页: 1 2 [3] 4
查看完整版本: 【实验箱已收到】陈老师《单片机原理及应用-STC8H8K64U》打卡 | 实验箱已收到