ye_feng 发表于 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口就会变成低电平,就可以判断出哪一行按下了。
第三步:行列组合一下就可以判断出是哪个按键按下了。

ye_feng 发表于 2024-3-23 23:49:08

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

   

ye_feng 发表于 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;
         }
      }
}



芯LYS 发表于 2024-3-25 13:41:25

本帖最后由 芯LYS 于 2024-3-25 15:24 编辑

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



【免费+包邮】 送/申样热线:0513-55012928、0513-55012929、0513-55012966工作时间:8:30-12:0013: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

ye_feng 发表于 2024-3-25 14:19:00

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

{:smile:}感谢平台的支持!非常期待!
页: 1 2 [3]
查看完整版本: STC32G视频学习记录