前言
本人曾在第十三届蓝桥杯大赛单片机组中获得国一,以下是我在准备比赛过程中的一些记录,希望能给大家带来帮助
本人持续分享更多关于嵌入式和单片机的知识,如果大家喜欢,别忘点个赞加个关注哦,让我们一起共同进步~
中断是单片机中非常重要的一部分,在蓝桥杯竞赛中也是必考所需掌握的。
1.中断

2.中断的使用

3.中断服务函数的编写


我们再看一下上一节的代码,对中断部分是不是理解了呢?
# include "reg52.h"
sbit HC136_A = P2^5;
sbit HC136_B = P2^6;
sbit HC136_C = P2^7;
sbit LED1 = P0^0;
sbit LED2 = P0^1;
void InitHC138(unsigned char n)
{
switch(n)
{
case 4 :
HC136_A = 0;
HC136_B = 0;
HC136_C = 1;
break;
}
}
void init_time0(){
TMOD = 0x01;
TH0 = (65536 - 50000) /256;
TL0 = (65536 - 50000) %256;
ET0 = 1 ; // 使能中断
EA = 1; // 开启总中断
TR0 = 1;
}
unsigned char count = 0;
void SeviceTimer0() interrupt 1 // 中断服务函数
{
TH0 = (65536 - 50000) /256;
TL0 = (65536 - 50000) %256;
count ++;
if(count ==20){
LED1 = ~LED1;
count = 0;
}
}
void main(){
InitHC138(4);
init_time0();
while (1);
}
最后也欢迎大家访问菜鸡博客
更多相关资源
【全套完结】蓝桥杯单片机— 从省赛到国赛
https://blog.csdn.net/amimax/article/details/128749109?spm=1001.2014.3001.5501
本文介绍了单片机中断系统的基本概念及其在蓝桥杯竞赛中的重要性。通过示例代码展示了如何配置中断服务函数,特别是定时器中断服务函数,用于周期性控制LED灯闪烁。代码中初始化了定时器,并在中断服务函数中更新计数器,当达到一定阈值时切换LED状态。此外,还提供了初始化函数用于设置HC136编码器。博客最后邀请读者访问作者的个人博客获取更多资源。

2267

被折叠的 条评论
为什么被折叠?



