蓝桥杯单片机之模块代码《多样点灯方式》

news2024/11/16 19:38:21

过往历程

历程1:秒表

历程2:按键显示时钟

历程3:列矩阵按键显示时钟

历程4:行矩阵按键显示时钟

历程5:新DS1302

历程6:小数点精确后两位ds18b20

历程7:35定时器测量频率

历程8:AT24C02

历程9:AT24C02秒表

历程10:AD

历程11:超声波


文章目录

  • 过往历程
  • 前期准备
  • 原理图
  • 总代码
  • 省赛代码传送门


前期准备

1:本文使用的头文件是由stc生成
在这里插入图片描述
点击保存文件之后,保存至自己文件目录下方即可
在这里插入图片描述
2:本文使用的都是官方提供的底层驱动代码
在这里插入图片描述

原理图

在这里插入图片描述

总代码

#include<stc15f2k.h>
#include<intrins.h>
sbit s7=P3^0;
sbit s6=P3^1;
sbit s5=P3^2;
sbit s4=P3^3;
char dula[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90,0xbf,0xff};
char disdula[]={0,0,0,0,0,0,0,0};

int a;
void buzz()
{
	P2=((P2&0X1F)|0XA0);
	P0=0X00;
	P2&=0X1F;
	
	P2=((P2&0X1F)|0X80);
	P0=0XFF;
	P2&=0X1F;
}

void delay(int x)
{
	int i;
	while(x--)
		for(i=0;i<5*123;i++);
}

void led(int i)
{
	P2=((P2&0x1f)|0x80);
	P0=i;
	P2&=0x1f;
}

void led_mode()
{
	int x;
	static int i=0,mode=0,xx=0x7e,yy=0xe7;
	switch(mode)
	{
		case 0:
			x=~(0x01<<i);
			led(x);
			delay(400);
		if(++i>=8)
		{
			i=0;
			mode=1;
		}
		break;
		case 1:
			x=~(0x80>>i);
			led(x);
			delay(400);
		if(++i>=8)
		{
			i=0;
			mode=2;
		}
			break;
		
			case 2:
			x=~((0x01<<i)|(0x80>>i));
			led(x);
			delay(400);
		if(++i>=4)
		{
			i=0;
			mode=3;
		}
			break;
		
		case 3:
			x=~((0x10<<i)|(0x08>>i));
			led(x);
			delay(400);
		if(++i>=4)
		{
			i=0;
			mode=4;
		}
			break;
		
		case 4:
			
			x=(xx<<i)&0x0f|(xx>>i&0xf0);
			led(x);
			delay(400);
		if(++i>=4)
		{
			i=0;
			mode=5;
		}
			break;
		
			case 5:
			
			x=(yy&0xf0)<<i|(yy&0x0f)>>i;
			led(x);
			delay(400);
		if(++i>=4)
		{
			i=0;
			mode=0;
		}
			break;
		
	}
}

void main()
{
	buzz();
	while(1)
	{
		led_mode();
	}
}

省赛代码传送门

第三届蓝桥杯单片机省赛
第四届蓝桥杯单片机省赛
第五届蓝桥杯单片机省赛
第六届蓝桥杯单片机省赛
第七届蓝桥杯单片机省赛
第八届蓝桥杯单片机省赛
第九届蓝桥杯单片机省赛
第十届蓝桥杯单片机省赛
第十一届蓝桥杯单片机省赛

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1665508.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

docker部署minio和业务服务因变更minio密码导致访问不到图片的问题

问题起因 业务application和minio都是docker部署。按部署规则minio的环境变量中设置了MINIO_ROOT_USER和MINIO_ROOT_PASSWORD。这样就可以用这套用户名密码登录minio了。而我的application中是通过api访问minio获取资源URL&#xff0c;提供给前端的。所以在application的环境变…

SVN 合并到 Git 时有文件大于 100 M 被限制 Push

如果有文件大小大于 100M&#xff0c;GitHub 是会被限制推送到仓库中的&#xff0c;大概率情况会显示下面的错误&#xff1a; remote: Resolving deltas: 100% (3601/3601), done. remote: error: Trace: aea1f450da6f2ef7bfce457c715d0fbb9b0f6d428fdca80233aff34b601ff59b re…

【知识碎片】2024_05_11

本篇记录了两个代码&#xff0c;【图片整理】是一个数组排序题&#xff0c;【寻找数组的中心下标】看起来很适合用双指针&#xff0c;但是细节多&#xff0c;最后还是没通过全部用例&#xff0c;看了题解写出来的。 C语言部分是两个知道错了之后恍然大悟的选择题。 每日代码 图…

iOS Xcode Debug View Hierarchy 查看视图层级结构

前言 我们难免会遇到接手别人项目的情况&#xff0c;让你去改他遗留的问题&#xff0c;想想都头大&#xff0c;&#x1f602;可是也不得不面对。作为开发者只要让我们找到出问题的代码文件&#xff0c;我们就总有办法去解决它&#xff0c;那么如何快速定位问题对应的代码文件呢…

原创未发表!24年新算法SBOA优化TVFEMD实现分解+四种熵值+频谱图+参数变化图+相关系数图!

声明&#xff1a;文章是从本人公众号中复制而来&#xff0c;因此&#xff0c;想最新最快了解各类智能优化算法及其改进的朋友&#xff0c;可关注我的公众号&#xff1a;强盛机器学习&#xff0c;不定期会有很多免费代码分享~ 目录 数据介绍 优化流程 创新点 使用TVFEMD的创…

哪里有高清视频素材库?哪里有视频素材免费提供?

随着数字媒体和内容创作的不断演进&#xff0c;高效且创意的视频素材变得日益重要。以下列举的视频素材网站&#xff0c;无论是国内还是国际&#xff0c;都能为您的项目提供宝贵的资源。 1. 蛙学府 不断扩展其视频库&#xff0c;提供从经典剪辑到现代影视制作所需的素材。除了…

01、什么是ip、协议、端口号知道吗?计算机网络通信的组成是什么?

声明&#xff1a;本教程不收取任何费用&#xff0c;欢迎转载&#xff0c;尊重作者劳动成果&#xff0c;不得用于商业用途&#xff0c;侵权必究&#xff01;&#xff01;&#xff01; 目录 前言 计算机网络 网络ip地址 网络协议 网络端口号 前言 最近有个项目要用到相关文章…

【回溯 网格 状态压缩】52. N 皇后 II

本文涉及知识点 回溯 网格 状态压缩 LeetCode52. N 皇后 II n 皇后问题 研究的是如何将 n 个皇后放置在 n n 的棋盘上&#xff0c;并且使皇后彼此之间不能相互攻击。 给你一个整数 n &#xff0c;返回 n 皇后问题 不同的解决方案的数量。 示例 1&#xff1a; 输入&#x…

Mysql数据库的基础学习

为什么使用数据库&#xff1f; 1.持久化&#xff1a;将数据保存到可掉电式存储设备中以供使用。 数据库相关概念&#xff1a; DB:数据库&#xff08;Databass&#xff09;即存储数据的仓库&#xff0c;本质是一个文件系统&#xff0c;保存了一系列有组织的数据DBMS:数据库管…

RustGUI学习(iced)之小部件(十二):如何使用rule分割线部件来分割UI?

前言 本专栏是学习Rust的GUI库iced的合集,将介绍iced涉及的各个小部件分别介绍,最后会汇总为一个总的程序。 iced是RustGUI中比较强大的一个,目前处于发展中(即版本可能会改变),本专栏基于版本0.12.1. 概述 这是本专栏的第十二篇,主要讲述rule分割线部件的使用,会结合…

ShellCode详解一

首先&#xff0c;感谢imbyter的教程&#xff0c;我也是从他的教程中一步一步的了解了shellcode的原理和各种知识。 原理 shellcode仅是一段可执行代码&#xff0c;不需要入口函数。理解shellcode加载原理之前需要理解PE文件在系统中的执行原理&#xff0c;即代码在内存中的执…

数据结构与算法学习笔记三---循环队列的表示和实现(C语言)

目录 前言 1.为啥要使用循环队列 2.队列的顺序表示和实现 1.定义 2.初始化 3.销毁 4.清空 5.空队列 6.队列长度 7.获取队头 8.入队 9.出队 10.遍历队列 11.完整代码 前言 本篇博客介绍栈和队列的表示和实现。 1.为啥要使用循环队列 上篇文章中我们知道了顺序队列…

docker安装时报错:Error: Nothing to do

安装docker时报以下错误 解决方法&#xff1a; 1.下载关于docker的相关依赖环境 yum -y install yum-utils device-mapper-persistent-data lvm22.设置下载Docker的镜像源 yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo3…

分层存储无法拯救 Kafka

01 引言 Apache Kafka 自诞生之日起&#xff0c;就以其卓越的设计和强大的功能&#xff0c;成为了流处理领域的标杆。它不仅定义了现代流处理架构&#xff0c;更以其独特的分布式日志抽象&#xff0c;为实时数据流的处理和分析提供了前所未有的能力。Kafka 的成功&#xff0…

Docker搭建ctfd平台

安装docker和docker-compose &#xff08;1&#xff09;安装docker&#xff1a; curl -fsSL https://get.docker.com | bash -s docker --mirror Aliyun&#xff08;2&#xff09;安装 Docker Compose&#xff1a; yum install docker-compose安装失败参考下面文章 https:/…

【Linux】环境变量是什么?如何配置?详解

&#x1f490; &#x1f338; &#x1f337; &#x1f340; &#x1f339; &#x1f33b; &#x1f33a; &#x1f341; &#x1f343; &#x1f342; &#x1f33f; &#x1f344;&#x1f35d; &#x1f35b; &#x1f364; &#x1f4c3;个人主页 &#xff1a;阿然成长日记 …

Electron学习笔记(四)

文章目录 相关笔记笔记说明 六、数据1、使用本地文件持久化数据(1) 用户数据目录(2) 读写本地文件(3) 第三方库 2、读写受限访问的 Cookie3、清空浏览器缓存 相关笔记 Electron学习笔记&#xff08;一&#xff09;Electron学习笔记&#xff08;二&#xff09;Electron学习笔记…

主机和ubuntu连接

在这里插入图片描述 提示&#xff1a;文章 文章目录 前言一、背景二、 2.1 2.2 总结 前言 前期疑问&#xff1a; 本文目标&#xff1a; 一、背景 最近在hw使用Clion连接服务器&#xff0c;就想把自己的电脑配置好&#xff0c;翻出来正点原子的教程&#xff0c;【正点原子】…

Echart.js绘制时间线并绑定事件

<template><div id"app"><!-- 定义一个具有指定宽高的容器&#xff0c;用于渲染图表 --><div ref"timeline" style"width: 800px; height: 600px;"></div></div> </template><script> import *…

IP证书签发申请

IP证书签发申请 IP证书的全称是IP SSL证书&#xff0c;其主要的作用是为IP实现https访问&#xff0c;且IP SSL证书可以完美的解决企业对于IP地址实现https加密需求。 这种类型的证书特别适合于那些没有域名只有公网IP或者不方便使用域名的企业或个人。证书允许通过特定的IP地…