推荐阅读最新更新时间:2024-10-26 13:13
蓝桥杯STC15单片机复习——外部中断
前言 终于到外部中断了,其实从往届赛题来看,外部中断的使用比较少(也可能是我太菜了),不过咱得秉着宁错勿漏的精神来复习才行。 如上图所示,STC15的单片机的外部中断分别位于P32、P33(EX0、EX1),其中,外部中断0的中断号为0,外部中断1的中断号为2. 1、通过外部中断0控制LED亮灭 /* 彭某的蓝桥杯复习——外部中断 1、外部中断按键控制LED亮灭 */ #include STC15F2K60S2.h #define uint unsigned int #define uchar unsigned char void ALL_Init(); void EX0_Init(); void
[单片机]
【蓝桥杯单片机组】外部中断
需要操作的寄存器TCON: ITx EXx 编程步骤: (1)选触发方式 (2)开外部中断 (3)开总中断 IT0=1; //IT0=1,下降沿触发外部中断0,IT0=0边沿触发 EX0=1;//使用外部中断0 EA=1; 外部中断引脚如上图,对应独立按键S5 S4,外部中断号:0(EX0)/2(EX1) 附:init.c void cls_buzz(void) { P2 = (P2&0x1F|0xA0); P0 = 0x00; P2 &= 0x1F; } void ex0_init() { IT0=1; //IT0=1,下降沿触发外部中断0,IT0=0边沿触发 EX0=1;//使用
[单片机]
CT107D蓝桥杯外部中断
//外部中断 //程序说明:1.使用程序前,将跳线J2调整为BTN模式 //2.按下P3.2-INT0引脚对应的按键S5,LED1状态反转 //3.按下P3.3-INT1引脚对应的按键S4, LED2状态反转 void wzd() { EX0 = 1; IT0 = 1; //边沿触发方式(下降沿) EX1 = 1; IT1 = 1; //边沿触发方式(下降沿) EA = 1; //开启总中断 } //外部中断0函数 void isr_intr_0(void) interrupt 0 { // } //外部中断1中断服务函数 void isr_in
[单片机]
蓝桥杯STC15单片机复习——IO口的使用
前言 引脚图 点灯测试 由引脚图可以看出,STC15的外设资源与51单片机基本一致,常用的也是三组四组IO口(P0、P1、P2、P3),由于板子的电路设计,通过74LS138译码器进行P0的外挂模块的选择。 其中当P25 = 0、P26=0、P27=1;即选通Y4时,外挂的模块为LED灯,下面就开始点几个灯玩玩吧。 /* 彭某的蓝桥杯复习——LED 1、点亮一盏LED并闪烁 */ #include STC15F2K60S2.h #define uint unsigned int #define uchar unsigned char void ALL_Init(); void delay_
[单片机]
蓝桥杯STC15单片机复习——数码管的使用
前言 下面进行数码管的使用复习 主要分为静态显示与动态显示 静态显示 当我们对数码管的显示需求仅为一位时,可以直接通过数码管的静态显示实现,即将对应的位选选通,随后直接向段选输入段码信号即可。 国信长天的板子的数码管模块的原理图如上图所示,该数码管为共阳数码管,其位选通过74LS138控制为Y6通道,即当P25 = 0;P26 = 1;P27 = 1;时,P0口为数码管位选;其段选为74LS138的Y7通道,即当P25 = 1;P26 = 0;P27 = 1;时,P0口为数码管段选。 1、数码管静态显示 #include STC15F2K60S2.h #include intrins.h #define uint
[单片机]
蓝桥杯STC15单片机复习——矩阵按键使用
前言 矩阵按键原理图: 前面说过,国信长天的板子的按键模块由CON3控制,当2脚与3脚(GND)相连时为独立按键模式,即只有P30~P33按键有效,当2脚与1脚相连时,为矩阵按键模式,十六个按键通过公共端连接的方式引出了8个引脚,因此,我们可以以下方法进行矩阵按键的检测。 横列扫描原理 1、我们首先让矩阵按键的高四位或者第四位全部为低电平,即P3 = 0x0F/P3 = 0xF0。 2、随后当有任何一个按键按下时,将会改变P3的电平状态。也就是存在任一按键按下时,我们可以通过读取P3口的电平状态并处理即可判断具体按下的按键在哪一行哪一列。 3、读取到改变后的P3口状态时,我们将高低位电平进行对调,即原先是0xF0,则对P3
[单片机]
蓝桥杯STC15单片机复习——DS18B20
前言 温度检测也是蓝桥杯的常考点,有时候需要显示小数点后一到两位,有时候只需要显示整数位(一般是要显示的东西太多了小数放不下了)。由于比赛的时候官方直接给出看底层的驱动,就不再去纠结底层实现的原理和方法了,只需要针对数据手册分析温度解析与获取部分即可。 实现 国信长天的开发板上的DS18B20接线如上图所示,其实官方给的底层驱动已经定义好了引脚,当然看原理图检查也是不可或缺的一步。 根据数据手册写出,在每次对DS18B20操作之前,我们都需要对其进行一个初始化,初始化时序如上图所示。 相关命令翻译已经给出,简而言之就是:使用18B20获取温度,我们需要启动其温度转换(0x44单个温度转换),然后才能使用读取命
[单片机]
蓝桥杯STC15单片机复习——DS1302
前言 本次实验测试STC15的定时计数器,,STC15F2K60S2单片机共有三个定时计数器,我们比较常用的只是定时器0和定时器1.所谓计数器,就是计算定时计数器对应引脚的脉冲,对于国信长天的板子,上面搭载有NE555的谐振电路,可以输出频率可调的方波,本此实验通过计数器采集其输出的方波并计算显示其大致频率。 1、计数器 首先配置定时计数器0为计数器模式,用于采集NE555的信号输出。 #include STC15F2K60S2.h #define uint unsigned int #define uchar unsigned char void ALL_Init(); void delay_ms(uint
[单片机]