蓝桥杯单片机大模板(西风)
- 电脑硬件
- 2025-09-06 11:27:02

#include <REGX52.H> #include "Key.h" #include "Seg.h"
//变量声明区 unsigned char Key_Val,Key_Down,Key_Old;//按键扫描专用变量 unsigned char Key_Slow_Down;//按键减速专用变量 10ms unsigned int Seg_Slow_Down;//按键扫描专用变量 500ms unsigned char Seg_Pos;//数码管扫描变量 unsigned char Seg_Buf[6]={1,2,3,4,5,6};//数码管显示数据存放数组
//按键处理函数 void Key_Proc() { if(Key_Slow_Down)return ; Key_Slow_Down=1;//按键减速程序 Key_Val=Key_Read();//读取按键的键码值 Key_Down=Key_Val&(Key_Val^Key_Old);//捕捉下降沿 Key_Old=Key_Val;//辅助扫描 switch(Key_Down) { } }
//信息处理函数,显示信息 void Seg_Proc() { if(Seg_Slow_Down)return ; Seg_Slow_Down=1;//数码管减速程序
}
//其他显示函数 void Led_Proc() {
}
//定时器0初始化函数 void Timer0Init(void) //1毫秒@12.000MHz { //AUXR &= 0x7F; //定时器时钟12T模式 TMOD &= 0xF0; //设置定时器模式 TMOD |= 0x01; //设置定时器模式 TL0 = 0x18; //设置定时初值 TH0 = 0xFC; //设置定时初值 TF0 = 0; //清除TF0标志 TR0 = 1; //定时器0开始计时 ET0=1; EA=1; }
//定时器0中断服务函数,名字可以随便取 void Timer0Server() interrupt 1 { TL0 = 0x18; //设置定时初值 TH0 = 0xFC; //设置定时初值 if(++Key_Slow_Down==10)Key_Slow_Down=0; if(++Seg_Slow_Down==500)Seg_Slow_Down=0;
if(++Seg_Pos==6)Seg_Pos=0; Seg_Disp(Seg_Pos,Seg_Buf[Seg_Pos]; }
//main函数 void main() { Timer0Init(); while(1) { Key_Proc(); Seg_Proc(); Led_Proc(); } }
蓝桥杯单片机大模板(西风)由讯客互联电脑硬件栏目发布,感谢您对讯客互联的认可,以及对我们原创作品以及文章的青睐,非常欢迎各位朋友分享到个人网站或者朋友圈,但转载请说明文章出处“蓝桥杯单片机大模板(西风)”
下一篇
Java实现简单动态字符串