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

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

}

}

相关推荐
一川月白70929 分钟前
51单片机---硬件学习(跑马灯、数码管、外部中断、按键、蜂鸣器)
单片机·学习·51单片机·外部中断·蜂鸣器·数码管·跑马灯
月阳羊34 分钟前
【硬件-笔试面试题-69】硬件/电子工程师,笔试面试题(知识点:电机驱动电路的反馈电路)
java·经验分享·嵌入式硬件·面试
aaaweiaaaaaa2 小时前
c++基础学习(学习蓝桥杯 ros2有C基础可看)
c++·学习·蓝桥杯·lambda·ros2·智能指针·c++类
weixin_468466853 小时前
树莓派32位与64位系统安装teamviewer远程软件
linux·单片机·自动化·树莓派·远程控制·vnc·teamviewer
汉克老师3 小时前
第十四届蓝桥杯青少组C++选拔赛[2023.2.12]第二部分编程题(4、最大空白区)
c++·算法·蓝桥杯·蓝桥杯c++·c++蓝桥杯
沐欣工作室_lvyiyi4 小时前
2025-2026单片机物联网毕业设计题目推荐(定稿付款)
单片机·物联网·课程设计
曙曙学编程4 小时前
stm32——独立看门狗,RTC
c语言·c++·stm32·单片机·嵌入式硬件
sheepwjl5 小时前
《嵌入式硬件(四):温度传感器DS1820》
单片机·嵌入式硬件
三之又三5 小时前
PowerPMAC配置EtherCAT设备
嵌入式硬件·cnc·powerpmac
朝颜_祝余6 小时前
在电路浪涌测试中,TVS(瞬态电压抑制二极管)的防护效果确实会受到陪测设备中去耦网络(Decoupling Network,DN)的显著影响
单片机·嵌入式硬件