主页 > 电脑硬件  > 

蓝桥杯单片机大模板(西风)

蓝桥杯单片机大模板(西风)

#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();     } }

标签:

蓝桥杯单片机大模板(西风)由讯客互联电脑硬件栏目发布,感谢您对讯客互联的认可,以及对我们原创作品以及文章的青睐,非常欢迎各位朋友分享到个人网站或者朋友圈,但转载请说明文章出处“蓝桥杯单片机大模板(西风)