当前位置: 首页 > article >正文

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

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


http://www.kler.cn/a/544617.html

相关文章:

  • 6.appender
  • Python(下)
  • sqlilabs--小实验
  • 深度学习框架探秘|TensorFlow vs PyTorch:AI 框架的巅峰对决
  • 2025年02月10日Github流行趋势
  • C语言——排序(冒泡,选择,插入)
  • 【Elasticsearch】内置分析器概述
  • Air724 DTU数据上报json到v1/gateway/telemetry
  • 2D小游戏-创新设计——《弹射挑战》
  • 伯克利 CS61A 课堂笔记 08 —— Strings and Dictionaries
  • 解析 JavaScript 面试题:`index | 0` 确保数组索引为整数
  • 数据库安全、分布式数据库、反规范化等新技术(高软19)
  • 连锁收银系统的核心架构与技术选型
  • 51c自动驾驶~合集50
  • Tweak Power:高效电脑系统优化利器
  • ubuntu 实时系统安装Nvidia驱动
  • 小米红米手机澎湃2.0解锁BL 绕澎湃社区验证 救砖以及9008授权
  • 优雅的git log输出内容更加醒目
  • 【愚公系列】《Python网络爬虫从入门到精通》007-请求模块requests高级应用(Reguests-HTML)
  • Kubernetes部署OwnCloud网盘服务