【原创自制】蓝桥杯单片机万用解题模板

刚从6月10日的国赛解脱不久,介绍一下我自己的蓝桥杯单片机万用解题模板,该模板经过累月的打磨,我自己使用它解决过很多省赛国赛的往届题目,该写法同时驱动了许多模块,包括超声波测距、DS18B20测温、PCF8591ADC,DAC、矩阵按键、串口通信、数码管显示、DS1302时钟芯片、AT24C02存储芯片,并且能够做到毫不冲突!

注释也是非常的多,基本解决了很多问题,也有许多注释告诫预防许多问题

知识宝贵,这是我这俩月来蓝桥杯单片机做题方面研究出来的一个十分成熟好用的模板,因为极其好用,所以在国赛之前一直不舍得发出来,现在也是在犹豫是否需要发表,但又不甘心知识就这么简单潦草地给了别人~~~

下面仅仅展示其中的部分,有需要的校友可联系我,电气院的除外!

校友电气院的自行离开,你们有自己的实验室,你们有自己的老师,不要来CSDN看我一个计算机学院菜菜的博客!也请收到这份礼物的校友不要给电气院的提供这份代码,不要给电气院的提供这份代码!请自觉遵守

【原创自制】蓝桥杯单片机万用解题模板_第1张图片

【原创自制】蓝桥杯单片机万用解题模板_第2张图片

【原创自制】蓝桥杯单片机万用解题模板_第3张图片

【原创自制】蓝桥杯单片机万用解题模板_第4张图片

//所有函数声明: 这相当于是目录,想修改哪个函数就右键定位
//函数排列的顺序与 此 目录保持一致
//特用函数的声明会被注释掉
//常调用的不会被注释

void Task_Clock();                                   //时序决定函数 ————决定各个模块运转时序 的函数
void give_nr();                                      //数码管打印值赋值函数
void inint_all_modes();                              //初始化所有模块函数
void inint_port(u8 select);                          //74HC138\74hc573芯片片选	函数
//void Delay250us();                                 //@12.000MHz  数码管函数 必要的250us打印延时
void smg_display(u8 nr1,nr2,nr3,nr4,nr5,nr6,nr7,nr8);//数码管打印函数
void Timer0Init(void);                               //定时器0 初始化函数 1毫秒@12.000MHz
//void TIMER0_serv();                                //定时器0中断服务函数
void UartInit(void);                                 //USB串口 串口1初始化函数
/*//这俩函数本体在 #include "stdio.h"
    重定向 putchar 以便 使用printf()函数作串口打印
    void send_date(unsigned char date);
    char putchar  (char ch);                         */
void Uart_Sendstring(unsigned char *pucStr);         //串口 发送字符串函数
//void SendData(unsigned char dat);                  //串口 发送一个字节//被注释掉了,定位不到!
void handle_uart();                                  //串口 命令 接收处理按键函数
//void Uart_1_serv();                                //串口1  中断服务函数
//void Delay12ms();		                               //@12.000MHz 按键函数必要的12ms延时消抖
//void key_scan_inint(u8 n);                         //按键 扫描初始化函数 
//u8 key_return();                                   //按键 返回键值函数
void handle_keyreturn();                             //按键 短按键值接收处理按键函数
void inint_ds1302();                                 //ds1302 初始化写入ds1302的数据
void clear_time();                                   //清零ds1302的时、分、秒
void write_ds1302_wei(u8 add);                       //ds1302 时间选位修改函数
void read_DS1302_Timer();                            //ds1302 读取当前时钟数据函数
void handle_Timer();                                 //ds1302 时间标志位 处理函数
unsigned long Temp_get(void);                        //温度 读取函数
void handle_temperature();                           //温度 标志位 处理函数
void Timer1Init(void);                               //超声波 定时器1初始化函数
//void Delay10us();                                  //超声波 发送信号必要的10us延时
//void Send_Wave();                                  //超声波 产生8个40KHx启动信号
u8 get_distance();                                   //超声波收发计算距离函数
void handle_LCM();                                   //超声波 标志接收处理函数
//void Delay5ms();                                   //AT24C02读写所必要的5ms延时
void AT24C02_WRITE(unsigned char  addr,unsigned char  Data);//AT24C02写入函数:
unsigned char AT24C02_READ(unsigned char  addr);     //AT24C02读取函数:
void inint_AT24C02data();                            //从AT24C02读取温度、距离数据 并用串口发送出去
void handle_AT24C02();                               //处理AT24C02的存储请求
unsigned char AD_read(unsigned char add);            // ADC读取函数
void AD_write(unsigned char dat);                    // DAC输出函数
void handle_PCF8591();                               // 响应ADC DAC 标志位
void handle_uart_send();                             //串口统一发送数据

你可能感兴趣的:(蓝桥杯单片机备赛,蓝桥杯,单片机,笔记,学习)