蓝桥杯51单片机练习(国信长天比赛用)

ops/2025/2/11 18:19:30/

文章目录

  • 代码实现
    • 头文件
    • 固定模板
    • 延时函数
    • HC138译码器和或非门
    • 流水灯
      • 闪烁次数(假设闪烁5次)
      • 从左向右依次亮
      • 从左向右依次灭
  • 总代码

代码实现

头文件

#include <REGX52.H>

固定模板

void main()
{
while(1)
{

}
}

延时函数

void Delay(unsigned char t)
{
while(t–);
while(t–);
}

HC138译码器和或非门

在这里插入图片描述

sbit HC138_A=P2^5;
sbit HC138_B=P2^6;
sbit HC138_C=P2^7;

//在编程中,sbit 是 Special Bit 的缩写,主要用于嵌入式系统编程,尤其是在使用 8051 单片机时。它用于定义和访问单片机中的单个位,通常用于控制寄存器或 I/O 端口的特定位。访问寄存器的特定位:8051 单片机的寄存器通常以 8 位形式存在,sbit 允许直接操作其中的某一位。控制 IO 端口:通过 sbit 可以方便地控制 IO 端口的某一位,实现输入输出操作。

流水灯

在这里插入图片描述

void LED()
{
unsigned char i;
sbit HC138_A=0;
sbit HC138_B=0;
sbit HC138_C=1;

P0=0x00;
Delay();
Delay();

P0=0xff;
Delay();
Delay();
}

闪烁次数(假设闪烁5次)

for(i=0;i<5;i++)
{
P0=0x00;
Delay();
Delay();

P0=0xff;
Delay();
Delay();
}

从左向右依次亮

for(i=1;i<=8;i++)
{
P0=0x00<<i; //右移
Delay();
Delay();;
}

从左向右依次灭

for(i=1;i<=8;i++)
{
P0=~(0x00<<); 取反
Delay();
Delay();;
}

总代码

#include <REGX52.H>

sbit HC138_A=P2^5;
sbit HC138_B=P2^6;
sbit HC138_C=P2^7;

void Delay(unsigned int t) //延时函数
{
while(t–);
while(t–);
}

void LED() //跑流水灯
{
unsigned char i;
HC138_C=1;
HC138_B=0;
HC138_A=0;

for( i=0;i<4;i++)   //亮灭循环
{
P0=0x00;
Delay(60000);
Delay(60000);
P0=0xff;
Delay(60000);
Delay(60000);
}for(i=1;i<=8;i++)	//依次亮
{P0=0xff<<i;Delay(60000);
Delay(60000);
}for(i=1;i<=8;i++)	//依次灭
{P0=~(0xff<<i);Delay(60000);
Delay(60000);
}

}

void main()
{
while(1)
{
LED();
}
}


http://www.ppmy.cn/ops/157577.html

相关文章

MySql --- 作业

一. 触发器 1建立两个表:goods(商品表)、orders(订单表) mysql> create database mydb16_tigger; Query OK, 1 row affected (0.01 sec)mysql> use mydb16_tigger; Database changed mysql> mysql> CREATE TABLE goods (-> gid CHAR(8) PRIMARY KEY,->…

spring cloud和spring boot的区别

Spring Cloud和Spring Boot在Java开发领域中都是非常重要的框架&#xff0c;但它们在目标、用途和实现方式上存在明显的区别。以下是对两者区别的详细解析&#xff1a; 1. 含义与定位 Spring Boot&#xff1a; 是一个快速开发框架&#xff0c;它简化了Spring应用的初始搭建以…

【Spring Boot】Spring 事务探秘:核心机制与应用场景解析

前言 ???本期讲解关于spring 事务介绍~~~ ??感兴趣的小伙伴看一看小编主页&#xff1a;-CSDN博客 ?? 你的点赞就是小编不断更新的最大动力 ??那么废话不多说直接开整吧~~ 目录 ???1.事务 ??1.1什么是事务 ??1.2为什么需要事务 ??1.3操作事务 ???…

【基于SprintBoot+Mybatis+Mysql】电脑商城项目之修改密码和个人资料

&#x1f9f8;安清h&#xff1a;个人主页 &#x1f3a5;个人专栏&#xff1a;【Spring篇】【计算机网络】【Mybatis篇】 &#x1f6a6;作者简介&#xff1a;一个有趣爱睡觉的intp&#xff0c;期待和更多人分享自己所学知识的真诚大学生。 目录 &#x1f383;1.修改密码 -持久…

【Ubuntu】安装和使用Ollama的报错处理集合

Ollama是一个开源的大型语言模型(LLM)推理服务器,为用户提供了灵活、安全和高性能的语言模型推理解决方案。 Ollama的主要特点是它能够运行多种类型的大型语言模型,包括但不限于Alpaca、Llama、Falcon、Mistral等,而无需将模型上传至服务器。这意味着用户可以直接在本地或…

Proxy vs DefineProperty

几年前校招面试的时候被问过一个问题&#xff0c;Vue3/Vue2 如何实现数据和UI的同步&#xff0c;其区别是什么&#xff0c;Vue3的方式优势是什么&#xff1f; 当时背了八股&#xff0c;默写了一通不知所云的代码&#xff0c;面试没过&#xff0c;再也没写过Vue。 今天拿出点时…

PromptSource官方文档翻译

目录 核心概念解析 提示模板&#xff08;Prompt Template&#xff09; P3数据集 安装指南 基础安装&#xff08;仅使用提示&#xff09; 开发环境安装&#xff08;需创建提示&#xff09; API使用详解 基本用法 子数据集处理 批量操作 提示创建流程 Web界面操作 手…

【AI-26】常见的监督学习方法集合

监督学习是机器学习中的一个重要类别&#xff0c;它基于有标签的数据进行模型训练&#xff0c;目标是让模型学会从输入数据预测对应的输出标签。以下是一些常见的监督学习方法及其通俗易懂的解释&#xff1a; 线性回归 原理&#xff1a;假设输入特征和输出标签之间存在线性关…