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

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

}

}

相关推荐
小李独爱秋19 小时前
“bootmgr is compressed”错误:根源、笔记本与台式机差异化解决方案深度指南
运维·stm32·单片机·嵌入式硬件·文件系统·电脑故障
梁洪飞21 小时前
内核的schedule和SMP多核处理器启动协议
linux·arm开发·嵌入式硬件·arm
进击的小头21 小时前
实战案例:51单片机低功耗场景下的简易滤波实现
c语言·单片机·算法·51单片机
宵时待雨1 天前
STM32笔记归纳8:时钟
笔记·stm32·单片机·嵌入式硬件
JJRainbow1 天前
SN75176 芯片设计RS-232 转 RS-485 通信模块设计原理图
stm32·单片机·嵌入式硬件·fpga开发·硬件工程
花月mmc1 天前
CanMV K230 波形识别——整体部署(4)
人工智能·python·嵌入式硬件·深度学习·信号处理
宁静致远20211 天前
STM32模拟IIC读取PCF8563
stm32·单片机·嵌入式硬件
三佛科技-134163842121 天前
宠物洗澡打泡机方案,宠物泡泡机MCU方案开发设计分享
单片机·嵌入式硬件·物联网·智能家居·pcb工艺·宠物
芯岭技术1 天前
低成本315/433M接收芯片 XL420 SOP8封装,支持 1527 等常见 OOK编码
单片机·嵌入式硬件
Wangshanjie_981 天前
【通讯协议】-01、Modbus协议
单片机·信息与通信