找回密码
 立即注册
楼主: ye_***

STC32G视频学习记录

[复制链接]
  • TA的每日心情
    开心
    11 小时前
  • 签到天数: 31 天

    [LV.5]常住居民I

    1

    主题

    33

    回帖

    195

    积分

    注册会员

    积分
    195
     楼主| 发表于 2024-3-23 23:07:20 | 显示全部楼层
    视频.14
      矩阵按键 是用n个I/o口作为 行线,m个I/o口作为列线组成的键盘。在行和列线上每个交叉点上设置一个按键,所以按键的最多个数=m*n(个)。这种形式的键盘结构能够有效地提高单片机I/o口的利用率。
    第一步:现将P0.0-P0.3输出低电平,P0.6-P0.7输出高电平,如果有按键按下,那么按下的那一列的I/o口就会变成低电平,就可以判断出哪一列按下了。
    第二步:现将P0.0-P0.3输出高电平,P0.6-P0.7输出低电平,如果有按键按下,按下的那一行的I/o口就会变成低电平,就可以判断出哪一行按下了。
    第三步:行列组合一下就可以判断出是哪个按键按下了。

    矩阵按键原理图

    矩阵按键原理图
    学无止境!
    回复 支持 反对 送花

    使用道具 举报

  • TA的每日心情
    开心
    11 小时前
  • 签到天数: 31 天

    [LV.5]常住居民I

    1

    主题

    33

    回帖

    195

    积分

    注册会员

    积分
    195
     楼主| 发表于 2024-3-23 23:49:08 | 显示全部楼层
    视频.15
          中断系统是为使 CPU 具有对外界紧急事件的实时处理能力而设置的。
          当中央处理机 CPU 正在处理某件事的时候外界发生了紧急事件请求,要求 CPU 暂停当前的工作,转而去处理这个紧急事件,处理完以后,再回到原来被中断的地方,继续原来的工作,这样的过程称为中断。实现这种功能的部件称为中断系统,请示 CPU 中断的请求源称为中断源。微型机的中断系统一般允许多个中断源,当几个中断源同时向 CPU 请求中断,要求为它服务的时候,这就存在 CPU 优先响应哪一个中断源请求的问题。通常根据中断源的轻重缓急排队,优先处理最紧急事件的中断请求源,即规定每一个中断源有一个优先级别。CPU 总是先响应优先级别最高的中断请求。
          当 CPU 正在处理一个中断源请求的时候(执行相应的中断服务程序),发生了另外一个优先级比它还高的中断源请求。如果 CPU 能够暂停对原来中断源的服务程序,转而去处理优先级更高的中断请求源,处理完以后,再回到原低级中断服务程序,这样的过程称为中断嵌套。这样的中断系统称为多级中断系统,没有中断嵌套功能的中断系统称为单级中断系统。
         用户可以用关总中断允许位(EAIE.7)或相应中断的允许位屏蔽相应的中断请求,也可以用打开相应的中断允许位来使 CPU 响应相应的中断申请,每一个中断源可以用软件独立地控制为开中断或关中断状态,部分中断的优先级别均可用软件设置。高优先级的中断请求可以打断低优先级的中断反之,低优先级的中断请求不可以打断高优先级的中断。当两个相同优先级的中断同时产生时,将由查询次序来决定系统先响应哪个中断。
        外部中断就是在单片机的一个引脚上,由于外部因素导致了一个电平的变化(比如由高变低),而通过捕获这个变化,单片机内部自主运行的程序就会被暂时打断,转而去执行相应的中断处理程序,执行完后又回到原来中断的地方继续执行原来的程序。

         
    截图202403232327527107.jpg
    截图202403232328358466.jpg
    学无止境!
    回复 支持 反对 送花

    使用道具 举报

  • TA的每日心情
    开心
    11 小时前
  • 签到天数: 31 天

    [LV.5]常住居民I

    1

    主题

    33

    回帖

    195

    积分

    注册会员

    积分
    195
     楼主| 发表于 2024-3-24 02:02:51 | 显示全部楼层
    视频.16
       中断优先级的处理原则:
    1.不同级的中断源同时中请中断时,先处理高优先级,后处理低优先级。
    2.处理低级中断又收到高级中断请求时,停止处理低优先级转而处理高优先级。
    3.正在处理高级中断却收到低级中断请求时,不理睬低优先级。
    4.同一级的中断源同时申请中断时,通过内部查询按自然优先级顺序确定响应哪个中断请求。

    STC32G 系列支持所有的 IO 中断,且支持4种中断模式:下降沿中断、上升沿中断、低电平中断、高电平中断。每组 I/O 口都有独立的中断入口地址,且每个I/ O 可独立设置中断模式。
    注:STC32G12K128 版芯片的普通 I0 口下降沿中断和上升沿中断暂时不要使用
      void P3Exit Init(void)
    {
          P3IMO= 0X00;
          P3IM1 = OXFF;     //选择低电平中断
          P3INTE = 0X20;   //  p35中断  0010 0000=0x20
    }
    void P3Exit_Isr(void) interrupt 40
    {
          u8 intf;
          intf = P3INTF;      //读取中断标志
          if (intf)
          {
              P3INTF =0;       //清空中断标志位,必须软件清空
              if( intf & 0x20)   ///p35按下 0010 0000
          {
                 SEG0 ++;
                 if(SEG0 >9)
                    SEG0 = 0;
               }
          }
    }



    中断使能寄存器

    中断使能寄存器

    中断标志寄存器

    中断标志寄存器

    中断模式

    中断模式

    中断优先级

    中断优先级

    掉电唤醒使能寄存器

    掉电唤醒使能寄存器
    学无止境!
    回复 支持 反对 送花

    使用道具 举报

    该用户从未签到

    16

    主题

    155

    回帖

    1355

    积分

    版主

    积分
    1355
    发表于 2024-3-25 13:41:25 | 显示全部楼层
    本帖最后由 芯LYS 于 2024-3-25 15:24 编辑

    努力认真打卡的伙伴,今天安排送您STC32G12K128实验箱一套,免费+包邮送。也期待您后续更多的测试经验分享,共同进步



    【免费+包邮】 送/申样热线:0513-55012928、0513-55012929、0513-55012966
    工作时间:  8:30-12:00  13:00-17:30(周一 到 周五, 法定节假日除外)
    STC华南区客服刘经理QQ: 3398500488 ;微信:18106296592
    STC华南区客服曹经理QQ:1933892258 ;微信:18106296595
    STC华东区客服聂经理QQ:2593903262;微信:18106296598
    STC西北区客服孙经理QQ: 1347154513 ;微信:18106296593
    STC华北区客服石经理QQ: 1638975601 ;微信:19952583876
    STC华中区客服唐经理QQ:2571301708 ;微信:18106296589
    STC东北区客服张经理QQ:3141888640 ;微信:19952583265

    QQ:3398500488
    微信号:18106296592(小刘)
    回复 支持 反对 送花

    使用道具 举报

  • TA的每日心情
    开心
    11 小时前
  • 签到天数: 31 天

    [LV.5]常住居民I

    1

    主题

    33

    回帖

    195

    积分

    注册会员

    积分
    195
     楼主| 发表于 2024-3-25 14:19:00 | 显示全部楼层
    芯LYS 发表于 2024-3-25 13:41
    努力认真打卡的伙伴,今天安排送您STC32G12K128实验箱一套,免费+包邮送。也期待您后续更多的测试经验分享 ...

    感谢平台的支持!非常期待!
    学无止境!
    回复 支持 反对 送花

    使用道具 举报

    您需要登录后才可以回帖 登录 | 立即注册

    本版积分规则

    QQ|手机版|深圳国芯人工智能有限公司 ( 粤ICP备2022108929号-2 )

    GMT+8, 2024-4-27 20:45 , Processed in 0.060713 second(s), 45 queries .

    Powered by Discuz! X3.5

    © 2001-2024 Discuz! Team.

    快速回复 返回顶部 返回列表