蓝桥杯
蓝桥杯备赛
谏书稀
这个作者很懒,什么都没留下…
展开
-
蓝桥杯单片机第九届国赛程序设计题--多功能测量仪表【国赛】
#include <STC15F2K60S2.H>#include <ONEWIRE.H>#include <IIC.H>sbit s7=P3^0;sbit s6=P3^1;sbit s5=P3^2;sbit s4=P3^3;sbit l1=P0^0;sbit l2=P0^1;sbit l3=P0^2;sbit l8=P0^7;unsigned char table[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x8...原创 2021-06-02 15:37:26 · 667 阅读 · 0 评论 -
蓝桥杯单片机第十一届国赛程序设计题--温度时钟【国赛】
#include <STC15F2K60S2.H>#include <ds1302.h>#include <IIC.h>#include <onewire.h>sbit r1=P3^0;sbit r2=P3^1;sbit r3=P3^2;sbit r4=P3^3;sbit c1=P3^4;sbit c2=P3^5;sbit c3=P4^2;sbit c4=P4^4;sbit l1=P0^0;sbit l2=P0^1;s...原创 2021-05-24 20:58:56 · 1112 阅读 · 4 评论 -
第十一届省赛程序设计题--电压测量【蓝桥杯真题—07】
#include <STC15F2K60S2.H>#include <IIC.H> sbit r1=P3^0;sbit r2=P3^1;sbit r3=P3^2;sbit r4=P3^3;sbit c1=P3^4;sbit c2=P3^5;sbit c3=P4^2;sbit c4=P4^4;sbit L1=P0^0;sbit L2=P0^1;sbit L3=P0^2;void led_run();unsigned char tab...原创 2021-04-13 19:36:59 · 404 阅读 · 2 评论 -
第十一届省赛程序设计题--温度测试【蓝桥杯真题—06】
实现代码#include <STC15F2K60S2.H>#include <onewire.h>#include <iic.h>sbit s7=P3^0;sbit s6=P3^1;sbit s5=P3^2;sbit s4=P3^3; //unsigned char SMGNoDot_CA[10]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90}; //无小数点//unsign...原创 2021-04-08 15:46:20 · 368 阅读 · 0 评论 -
第六届省赛程序设计题--温度记录仪【蓝桥杯真题—05】
#include <STC15F2K60S2.H>#include <DS1302.H>#include <onewire.h>sbit s7=P3^0;sbit s6=P3^1;sbit s5=P3^2;sbit s4=P3^3;sbit L1=P0^0;unsigned char table[18] = {0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90, 0x88,0x80,0xc..原创 2021-04-05 15:52:33 · 597 阅读 · 1 评论 -
第七届省赛程序设计题--模拟风扇控制系统【蓝桥杯真题—04】
#include <STC15F2K60S2.H>#include <intrins.h>#include <onewire.h>sbit s7=P3^0;sbit s6=P3^1;sbit s5=P3^2;sbit s4=P3^3;unsigned char table[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90,0xbf,0x7f};unsigned char mode=1; //睡眠风.原创 2021-03-21 16:52:18 · 542 阅读 · 0 评论 -
第八届省赛程序设计题--电子钟程序设计【蓝桥杯真题—03】
初始化关闭蜂鸣器、继电器等无关外设;设备初始化时钟为 23 时 59 分 50 秒,闹钟提醒时间 0 时 0 分 0 秒。显示功能时间显示格式温度显示格式按键功能按键 S7 定义为“时钟设置”按键,通过该按键可切换选择待调整的时、分、秒,当前选择的显示单元以 1 秒为间隔亮灭,时、分、秒的调整需注意数据边界属性。按键 S6 定义为“闹钟设置”按键,通过该按键可进入闹钟时间设置功能,数码管显示当前设定的闹钟时间。按键 S5 定义为“加”按键,在“时钟设原创 2021-03-14 15:26:31 · 1279 阅读 · 2 评论 -
第十届省赛程序设计题--电压频率测量【蓝桥杯真题—01】
【题目要求】【实现代码】原创 2021-03-08 11:06:28 · 727 阅读 · 2 评论 -
第九届省赛程序设计题--彩灯控制器【蓝桥杯真题—02】
【题目要求】1.基本功能描述通过单片机控制8个LED指示灯按照特定的顺序(工作模式)亮灭;指示灯的流转间隔可通过按键调整,亮度可由电位器RB2进行控制;各工作模式的流转间隔时间需在E2PROM中保存,并可在硬件重新上电后,自动载入。2.设计说明<1> 关闭蜂鸣器、继电器等与本试题程序设计无关的外设资源。<2> 设备上电后默认数码管、LED指示灯均为熄灭状态。<3> 流转间隔可调整范围为400ms-1200ms。<4> 设备固定安照模式1、模式2原创 2021-03-03 17:14:17 · 2842 阅读 · 0 评论 -
【蓝桥杯】单片机精确延时——软件延时
在编写单片机程序经常会用到延时,做到精确延时的方法有两种:软件延时(采用循环体实现)和硬件延时(定时器/计数器实现)。补充_nop_()函数C语言中没有_nop_()函数,该函数是在51单片机中用的延时函数,延时一个指令周期。在单片机c语言中直接调用库函数即可:#include<intrins.h> // 声明了void nop(void);编写延时函数的时候,要注意,在调用此函数时,需要一个调用指令,即LCALL指令消耗两个周期(2us),延时函数执行完后要返回主调函数,需要一个.原创 2021-01-29 19:24:16 · 3213 阅读 · 3 评论 -
【蓝桥杯】——数码管显示
静态显示#include <STC15F2K60S2.H>#include<intrins.h>#define uchar unsigned char //typedef unsigned char uchar;#define uint unsigned int //typedef unsigned int uint;void Delay1s();uchar table[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x.原创 2021-01-30 20:06:54 · 445 阅读 · 0 评论 -
【蓝桥杯01】——流水灯
#include <STC15F2K60S2.H>#define uchar unsigned char#define uint unsigned intvoid delay(int n);void show();sbit beer=P0^6;int i;uchar table[]={0x01,0x02,0x04,0x08,0x10,0x20,0x40,0x80};void main(){ P2=0xA0;beer=0;P2=0x00;//上电电位不稳,先关闭蜂鸣器 P0原创 2021-01-31 21:40:11 · 162 阅读 · 0 评论 -
【蓝桥杯02】——矩阵键盘
矩阵键盘的判断,可以先将一行置为0,然后扫描每一列,以此类推进行扫描,就可以确定按键位置。#include <STC15F2K60S2.H>//IAP单片机与51的区别 P36被替换成了P42,P37替换成了P44void selectHC573(unsigned choose);void show(unsigned char num);void keyscan();unsigned char leddata[]={0xC0,0xF9,0xA4,0xB0,0x99,0x.原创 2021-02-04 20:37:24 · 289 阅读 · 0 评论 -
【蓝桥杯03】——外部中断
一般来说,51单片机有5个中断源(忽略定时/计数器2),分2个优先级,这个5个中断源按照自然优先级从高到低依次为:外部中断0:INT0 ——中断号:0定时/计数器0:TF0 ——中断号:1外部中断1:INT1 ——中断号:2定时/计数器1:TF1 ——中断号:3串口中断:RI/TI ——中断号:4在CT107D单片机综合训练平台,使用独立按键,由原理图可知,S5按键接到P32/INT0,S4按键接到P33/INT1。编程实现,函数working()使L1闪烁,使用外.原创 2021-02-05 22:15:15 · 763 阅读 · 0 评论 -
【蓝桥杯04】——定时器
在定时/计数器的程序设计中,通常有两个函数:初始化函数和中断服务函数。在初始化函数中,一般需要进行以下几个配置:(1) 配置工作模式,即对TMOD寄存器编程。(2)计算技术初值,即对THx和TLx寄存器进行赋值。(3) 使能定时/计数器中断,即ET0或ET1置1。(4)打开总中断,即EA =1。(5)启动定时器,即TR0或TR1置1。在中断服务函数中,一般需要进行以下的编程:(1) 如果不是自动重装模式,需要对THx和TLx重新赋值。(2) 进行间隔定时到达的逻辑处理(越少越好)。原创 2021-02-07 11:42:43 · 889 阅读 · 1 评论 -
【蓝桥杯05】——PWM脉宽调制信号
利用PWM脉宽信号实现独立按键S7控制对L1指示灯亮度变化的控制。PWM脉宽信号的频率为100HZ系统上电后L1处于熄灭状态L1上电有四种亮度模式,分别是完全熄灭、10%亮度、50%亮度、90%亮度按下S7按键,循环切换L1指示灯的四种亮度模式。#include <STC15F2K60S2.H>void selectHC(unsigned char n);void rtemer0();void delay(unsigned int i);void keyscan();.原创 2021-02-08 21:49:24 · 503 阅读 · 0 评论 -
【蓝桥杯06】——串行通信
基本概念(1) 串行通信是指数据一位接一位地顺序发送或接收。(2) 串行通信有SPI、IIC、UART等多种,最常见最通用的是指UART。(3) 串行通信的制式有:单工、半双工、全双工三种。(4) 波特率:每秒钟传输的位数,9600波特率就是指每秒钟传输9600位。(5)注意:在51单片机中需要使用定时器1来产生波特率,因此,如果使用串口通信,则定时器1就不能做其他用途,在初始化串行接口模块的时候,除了要配置SCON寄存器之外,还有根据波特率参数设置定时器1的技术初值。对于传统的51单片机,与.原创 2021-02-09 20:57:09 · 808 阅读 · 0 评论 -
【蓝桥杯07】——存储器映射扩展技术应用
分别用IO扩展方式与存储器扩展方式,对LED灯和数码管进行基本的控制。首先点亮LED灯的低四位,关闭高四位,延时片刻,点亮指示灯的高四位,关闭低四位,延时片刻,关闭所有LED灯。然后依次逐个点亮数码管的所有段码,每次只点亮一个数码管。循环执行上述功能。外部资源的地址映射关系0X8000:LED指示灯;0Xa000:蜂鸣器与继电器0Xc000:数码管位选0Xe000:数码管段选进行存储器映射扩展,需要将J13的1,2脚短接。引入absacc.h头文件,通过XBYTE关键字来直接.原创 2021-02-13 12:33:42 · 439 阅读 · 0 评论 -
【蓝桥杯08】——工厂灯光控制系统
设计程序,用于本地和远程控制现场灯光的开关,并能通过串口远程读取工厂的系统运行时间。设计系统初始化函数,关闭蜂鸣器和继电器等无关设备。设计设备检测函数,首先检测LED指示灯,从L1~L8依次逐个点亮,再依次逐个熄灭;然后检查数码管,从左到右依次点亮数码管的所有段码,再依次从左到右熄灭。系统从上电开始显示系统运行时间。从00时00分00秒开始,显示格式:八个LED指示灯分为2组:L1L4为远程控制组,L7L8为本地控制组。远程控制组的指示灯由上位机通过串口发送命令控制开关,本地控制组的指示灯由独立.原创 2021-02-15 21:57:58 · 958 阅读 · 0 评论 -
【蓝桥杯09】——DS18B20温度传感器
DS18B20的温度转换与读取流程DS18B20复位写入字节0xcc,跳过ROM指令写入字节0x44,开始温度转换延时700~900msDS18B20复位写入字节0xcc,跳过ROM指令写入字节0xbe,读取高速暂存器读取暂存器的第0字节,即温度数据的LSB读取暂存器的第1字节,即温度数据的MSBDS18B20复位。表示读取数据结束IAP15F2K60S2的运算速度比51要快12倍,给的底层驱动代码一般是51的,使用发现温度不准,只需要把onewire.c驱动代码中的延时增大10原创 2021-02-16 21:43:59 · 486 阅读 · 0 评论 -
【蓝桥杯10】——DS1302时钟
使用DS1302编写时钟程序主程序使用IO扩展方式#include <STC15F2K60S2.H>#include <ds1302.h>#include <absacc.h>void DS1302_Config();void Read_DS1302_Timer();void show(unsigned char w,unsigned char n);void show_Timer();void show_Calnedar();void dela..原创 2021-02-19 18:48:11 · 277 阅读 · 0 评论 -
【蓝桥杯11】——555定时器与频率测量
在蓝桥杯板子上,555定时器是一个信号发生器,通过电位器Rb3(与单片机P34相连)可改变输出信号的频率利用NE555产生方波信号并测量其频率。上电开机运行时,关闭蜂鸣器、继电器和8个LED灯。用短路帽将J3中的NAL与P34短接,NE555发生的信号输入到单片机的P34引脚。单片机测量信号频率,并显示在数码管中,频率数据显示用5位数码管,单位是Hz,当显示长度不足5位时,未使用到的数码管熄灭,在最左边的1位数码管用“F”作为提示符。#include <STC15F2K60S2.H&原创 2021-02-20 21:30:23 · 2793 阅读 · 6 评论 -
【蓝桥杯12】——IIC协议_PCF8591与A/D转换_24C02存储器
IIC总线IIC总线是由数据线SDA和时钟SCL构成的串行总线,可发送和接收数据。IIC通信多用于板内通信。PCF8591与A/D转换PCF8591是具有IIC接口的8位A/D和D/A转换芯片,具有4路模拟输入、一路DAC输出和一个IIC总线接口。其主要的功能特性如下:单电源供电,典型值为5V。通过3个硬件地址引脚编址。8位逐次逼近式A/D转换。片上跟踪与保持电路,采样速率取决与IIC总线速度。4路模拟输入可编程为单端输入或查分输入。自动增量通道选择。带一个模拟输出的乘法DAC。蓝原创 2021-02-22 15:46:02 · 891 阅读 · 1 评论 -
【蓝桥杯13】——PCF8591的应用(AD转换)
功能概述PCF8591是具有IIC接口的8位A/D和D/A转换芯片如果硬件地址引脚A0、A1、A2均接地,那么,PCF8591的设备的读操作地址为:0x91;而写操作地址则为:0x90。蓝桥杯单片机设计与开发赛项使用的CT107D单片机开发平台中,PCF8591的三个硬件引脚地址均接地,两路模拟信号均为单端输入,分别是:光敏传感器接到AIN1,通道1;控制寄存器应写入:0x01。电位器Rb2接到AIN3,通道3;控制寄存器应写入:0x03。A/D转换应用开发流程一个A/D转换的原创 2021-02-23 15:39:32 · 2883 阅读 · 0 评论 -
【蓝桥杯14】——24C02存储器的应用
功能概述24C02是一个2K Bit的串行EEPROM存储器,内部含有256个字节。在24C02里面有一个8字节的页写缓冲器。该设备的工作电压为1.8V到6.0V,芯片的第7引脚WP为写保护引脚,将该引脚接地允许正常的读写。在IIC总线协议中,设备地址是起始信号后第一个发送的字节。如果硬件地址引脚A0、A1、A2均接地,那么,24C02的设备的读操作地址为:0xA1;而写操作地址则为:0xA0。字节写操作24C02接收完设备地址后,产生应答信号;然后接收8位内存字节地址,产生应答信号,接着接收一原创 2021-02-23 17:48:07 · 1273 阅读 · 0 评论 -
【蓝桥杯15】——PCF8591与24C02综合应用:智能照明自动控制器
智能照明自动控制器在蓝桥杯大赛“单片机设计与开发”的在CT107D综合训练平台上,利用竞赛提供的IIC底层驱动代码,设计程序,实现以下的功能:系统上电后,通过采样PCF8591通道1中光敏电阻RD1的实时数据,并根据该数据控制8个LED灯的亮灭情况。灯光的控制分为5个等级:等级1:255 <= 光照数据 < 200,L1点亮。等级2:200 <= 光照数据 < 150,L1~L2点亮。等级3:150 <= 光照数据 < 100,L1~L4点亮。等级4原创 2021-02-24 15:43:21 · 548 阅读 · 0 评论 -
【蓝桥杯16】——超声波测距
测距原理超声波发射模块向某一方向发射超声波,在发射时刻的同时开始计时,超声波在空气中传播,途中碰到障碍物就立即返回来,超声波接收器收到反射波就立即停止计时。计算公式距离 = 声速 × 发出超声波到接收返回的时间/2因为超声波在空气中的传播速度受温度影响。声波在空气中的传播速度与温度的关系是:在20摄氏度时,声速V = 332 + 0.607t (m/s)利用超声波进行距离测量,要求精度一般都不高,取20摄氏度时候的声速344M/S进行计算,再进行适当的补偿就可以。所以,其计算公式为:距原创 2021-02-25 16:29:23 · 6652 阅读 · 6 评论