找回密码
 立即注册
楼主: assass123

打卡学习视频教学《USB型 1T 8051 单片机原理及应用-8H8K64U》

[复制链接]
  • 打卡等级:常住居民III
  • 打卡总天数:158
  • 最近打卡:2025-06-14 14:45:28

8

主题

209

回帖

969

积分

高级会员

积分
969
发表于 2025-5-17 10:56:55 | 显示全部楼层
打卡学习 第十四集 中断原理及工作机制二


INT0 中断(上升沿和下降沿),可同时支持上升沿和下降沿

#include "stc8h.h"
#include "intrins.h"
void INT0_Isr() interrupt 0
{
if (P32) //判断上升沿和下降沿
{
P10 = !P10; //测试端口
}
else
{
P11 = !P11; //测试端口
}
}
void main()
{
P_SW2 |= 0x80; //使能访问 XFR,没有冲突不用关闭
P0M0 = 0x00;
P0M1 = 0x00;
P1M0 = 0x00;
P1M1 = 0x00;
P2M0 = 0x00;
P2M1 = 0x00;
P3M0 = 0x00;
P3M1 = 0x00;
P4M0 = 0x00;
P4M1 = 0x00;
P5M0 = 0x00;
P5M1 = 0x00;
IT0 = 0; //使能 INT0 上升沿和下降沿中断
EX0 = 1; //使能 INT0 中断
EA = 1;
while (1);
}

截图202505171056488282.jpg
截图202505171058272989.jpg
截图202505171059338260.jpg
截图202505171100239365.jpg
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:常住居民III
  • 打卡总天数:158
  • 最近打卡:2025-06-14 14:45:28

8

主题

209

回帖

969

积分

高级会员

积分
969
发表于 2025-5-17 11:02:06 | 显示全部楼层
中断处理过程


多级流水线内核的中断响应
   STC 的增强型 8051(例如:STC8G/STC8H 系列)和 32 位 8051(例如:STC32G 系列)
的 MCU 内核为多级流水线设计,在中断响应方面的设计和传统的 8051(例如:STC89C52
系列)略有差异。
对于传统的 8051(例如:STC89C52 系列)
如果当前正在执行的指令是中断返回指令 RETI 或者是访问中断使能寄存器、中断请求寄存器或者中
断优先级寄存器的特殊指令时,CPU 等当前的这条特殊的指令执行完,再执行一条指令才能响应中断请
求;
  如果当前正在执行的指令不是上面所指的特殊指令,则等当前指令执行完成后就立即响应中断请求
对于 STC 的增强型 8051 单片机(例如:STC8G/STC8H 系列),由于是多级流水线设计,响应中断上

会比传统的 8051(例如:STC89C52 系列)再多执行一条语句
  如果当前正在执行的指令是中断返回指令 RETI 或者是访问中断使能寄存器、中断请求寄存器或者中
断优先级寄存器的特殊指令时,CPU 等当前的这条特殊的指令执行完,同时解码下一条指令,直到下一
条指令不是特殊指令,则等下一条指令执行完成才能响应中断请求;
如果当前正在执行的指令不是上面所指的特殊指令,则等当前指令执行完成后,同时会解码下一条
指令,如果下一条也不是特殊指令,则会等下一条指令执行完成后再立即响应中断请求.

截图202505171102058651.jpg
截图202505171106411175.jpg
截图202505171126123224.jpg
截图202505171129043651.jpg
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:常住居民III
  • 打卡总天数:158
  • 最近打卡:2025-06-14 14:45:28

8

主题

209

回帖

969

积分

高级会员

积分
969
发表于 2025-5-17 11:41:20 | 显示全部楼层
打卡 第十五集 定时器原理及STC拓展


  STC8H 系列单片机内部设置了 5 16 位定时器/计数器。5 16 位定时器 T0T1T2T3 T4
都具有计数方式和定时方式两种工作方式。对定时器/计数器 T0 T1,用它们在特殊功能寄存器 TMOD
中相对应的控制位 C/T 来选择 T0 T1 为定时器还是计数器。对定时器/计数器 T2,用特殊功能寄存器
AUXR 中的控制位 T2_C/T 来选择 T2 为定时器还是计数器。对定时器/计数器 T3,用特殊功能寄存器
T4T3M 中的控制位 T3_C/T 来选择 T3 为定时器还是计数器。对定时器/计数器 T4,用特殊功能寄存器
T4T3M 中的控制位 T4_C/T 来选择 T4 为定时器还是计数器。定时器/计数器的核心部件是一个加法计数
器,其本质是对脉冲进行计数。只是计数脉冲来源不同:如果计数脉冲来自系统时钟,则为定时方式,
  此时定时器/计数器每 12 个时钟或者每 1 个时钟得到一个计数脉冲,计数值加 1;如果计数脉冲来自单片
机外部引脚,则为计数方式,每来一个脉冲加 1
  当定时器/计数器 T0T1 T2 工作在定时模式时,特殊功能寄存器 AUXR 中的 T0x12T1x12
T2x12 分别决定是系统时钟/12 还是系统时钟/1(不分频)后让 T0T1 T2 进行计数。当定时器/计数
T3 T4 工作在定时模式时,特殊功能寄存器 T4T3M 中的 T3x12 T4x12 分别决定是系统时钟/12
还是系统时钟/1(不分频)后让 T3 T4 进行计数。当定时器/计数器工作在计数模式时,对外部脉冲计
数不分频。
  定时器/计数器 0 4 种工作模式:模式 016 位自动重装载模式),模式 116 位不可重装载模式),
模式 28 位自动重装模式),模式 3(不可屏蔽中断的 16 位自动重装载模式)。定时器/计数器 1 除模
3 外,其他工作模式与定时器/计数器 0 相同。T1 在模式 3 时无效,停止计数。定时器 T2 的工作模式
固定为 16 位自动重装载模式T2 可以当定时器使用,也可以当串口的波特率发生器和可编程时钟输出。
定时器 3、定时器 4 与定时器 T2 一样,它们的工作模式固定为 16 位自动重装载模式T3/T4 可以当定
时器使用,也可以当串口的波特率发生器和可编程时钟输出。


截图202505171140499475.jpg
截图202505171142341091.jpg
截图202505171144155719.jpg
截图202505171144331654.jpg
截图202505171146189073.jpg
截图202505171148599660.jpg
截图202505171149236770.jpg
截图202505171212562466.jpg
回复 支持 反对

使用道具 举报 送花

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

本版积分规则

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

GMT+8, 2025-6-16 13:13 , Processed in 0.955366 second(s), 57 queries .

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

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