【51单片机】LED 点阵

0、前言

参考:普中 51 单片机开发攻略 第13章

1、硬件

在这里插入图片描述

2、软件

mian.c

#include <reg52.h>
#include <intrins.h>
#include "delayms.h"

typedef unsigned char u8;
typedef unsigned int u16;

//定义相应的IO口
#define LED_M P0//LED点阵,取0启动,取1关闭,0x00全亮
sbit RCLK_PIN = P3^5;  //存储寄存器时钟输入
sbit SRCLK = P3^6;  //移位寄存器时钟输入
sbit SER = P3^4;  //串行数据输入

u8 ledduan[]={0x38,0x7c,0x7e,0x3f,0x3f,0x7e,0x7c,0x38}; //显示“0”,类似于动态数码管的段选
u8 ledwei[]={0x01,0x02,0x04,0x08,0x10,0x20,0x40,0x80}; // 选择第几列显示,类似于动态数码管的位选

void LedMatrix(u8 line, u8 dat); //LED点阵实现显示“0”数字

void main() 
{ 
	while(1)
	{
		u8 i;
		for(i=0;i<8;i++)
		{
			LedMatrix(~ledwei[i], ledduan[i]);
			delayms(1);  //延时,产生流水灯效果,防止视觉停留过短
		}
	} 
}

void LedMatrix(u8 line, u8 dat) //LED点阵实现显示“0”数字
{
	u8 i;
	SRCLK = 1;
	RCLK_PIN = 1;
	LED_M = line;
	
	for(i=0;i<8;i++)
	{
		SER = dat>>7;  //将dat的最高位传给SER
		dat <<= 1;  //将dat的数据右移一位
		
		SRCLK = 0;  //发送时序
		_nop_();  //空函数,保证有时间发送时序
		_nop_();
		SRCLK = 1;
	}
	RCLK_PIN = 0;  //
	_nop_();  //空函数,保证有时间发送时序
	_nop_();
	RCLK_PIN = 1;	
}

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

探索创意的新境界:ComfyUI

揭秘节点流程式的革命 - ComfyUI ComfyUI&#xff0c;一款基于节点流程式的 **Stable Diffusion AI 绘图工具 **&#xff0c;为创意设计带来了革命性的变革。通过其独特的工作流程设计&#xff0c;ComfyUI 不仅能够精准定制图像&#xff0c;还能实现可靠的复现&#xff0c;打开…

AlmaLinux 8.9 安装图解

风险告知 本人及本篇博文不为任何人及任何行为的任何风险承担责任&#xff0c;图解仅供参考&#xff0c;请悉知&#xff01;本次安装图解是在一个全新的演示环境下进行的&#xff0c;演示环境中没有任何有价值的数据&#xff0c;但这并不代表摆在你面前的环境也是如此。生产环境…

【Unity学习笔记】第十二 · New Input System 及其系统结构 和 源码浅析

转载请注明出处&#xff1a;&#x1f517;https://blog.csdn.net/weixin_44013533/article/details/132534422 作者&#xff1a;CSDN|Ringleader| 主要参考&#xff1a; 官方文档&#xff1a;Unity官方Input System手册与API官方测试用例&#xff1a;Unity-Technologies/InputS…

SV学习——数据类型(1)

文章目录 1. 内建数据类型2. 用户自定义3. 枚举类型 1. 内建数据类型 SV中引入新的数据类型logic&#xff0c;SV作为侧重于验证的语言&#xff0c;并不十分关切logic对应的逻辑应该被综合位寄存器还是线网&#xff0c;因为logic被使用的场景如果是验证环境&#xff0c;那么它只…

数据分析实战:城市房价分析

流程图&#xff1a; 1.读数据表 首先&#xff0c;读取数据集。 CRIMZNINDUSCHASNOXRMAGEDISRADTAXPTRATIOBLSTATtarget0.00632182.3100.5386.57565.24.09129615.3396.94.98240.0273107.0700.4696.42178.94.9671224217.8396.99.1421.60.0272907.0700.4697.18561.14.9671224217…

MySQL UNION 操作符

昨天介绍了 MySQL 数据库使用 LIKE 子句来进行筛选查询&#xff0c;今天主要讲解下 MySQL UNION 操作符。 MySQL UNION 操作符用于连接两个以上的 SELECT 语句的结果组合到一个结果集合&#xff0c;并去除重复的行。UNION 操作符必须由两个或多个 SELECT 语句组成&#xff0c;每…

5G_射频测试_基础概念(二)

定义了测试参考点&#xff0c;不同的RRU类型 C类型传统RRU Conducted and radiated requirement reference points 4.3.1 BS type 1-C&#xff08;传统RRU一般测试点就是连接天线的射频接头&#xff09; 4.3.2 BS type 1-H&#xff08;宏站MassiveMIMO 矩阵天线&#xff…

QKCP容器平台安装qkcp paas deployment

22年底23年初做的容器云平台的项目&#xff0c;该份是当初实施部署真实生产环境的手册&#xff0c;关键ip和端口已经更改&#xff0c;现贴来给大伙参阅。 x公司qkcp容器平台安装部署手册 目录 x公司qkcp容器平台安装部署手册 1 集群基础环境 3 1.1. 集群规划信息 3 1.2. 标准…

【LeetCode: 13. 罗马数字转整数 + 模拟】

&#x1f680; 算法题 &#x1f680; &#x1f332; 算法刷题专栏 | 面试必备算法 | 面试高频算法 &#x1f340; &#x1f332; 越难的东西,越要努力坚持&#xff0c;因为它具有很高的价值&#xff0c;算法就是这样✨ &#x1f332; 作者简介&#xff1a;硕风和炜&#xff0c;…

Vagrant安装Oracle Data Guard环境示例

在Windows 11下&#xff0c;通过Vagrant安装标准的Data Guard环境&#xff08;默认为non-CDB模式&#xff09;&#xff0c;耗时约26分钟&#xff0c;共生成2台虚机。以下为安装日志&#xff1a; ...host2: Welcome to DGMGRL, type "help" for information.host2: C…

如何提升大模型的推理和规划能力:思维链 CoT + 由少至多提示 Least-to-Most Prompting

如何提升大模型的推理和规划能力 思维链 - CoT思维链改进&#xff1a;Auto-CoT 由少至多提示 - Least-to-Most Prompting 思维链 - CoT 最初的语言模型都是基于经验的&#xff0c;只能根据词汇之间的相关性输出答案&#xff0c;根本没有思考能力…… 但是从使用思维链后&…

阶段七性能测试jmeter报告图表,并发数和Locust

一级目录报告图表 1.聚合报告 重点关心的性能指标&#xff1a; 响应时间 1.观察当前的最大最小值的波动范围 2. 如果波动范围不大&#xff0c;以平均响应时间作为最终的性能响应时间结果 3.如果波动范围很大&#xff0c;以90%&#xff08;经验的响应时间作为最终性能响应时间…

Linux入门攻坚——13、实战软件安装-搭建Python3.8环境-1

到现在&#xff0c;应该可以进行软件安装的实践了。 前面学习Python时&#xff0c;就像搭建一个Linux的服务器环境&#xff0c;一直没有成功&#xff0c;现在尝试在CentOS6.10上搭建Python3.8环境。 安装软件前&#xff0c;需要的前置条件其一就是网络是连通的&#xff0c;Li…

云边协同的 RTC 如何助力即构全球实时互动业务实践

作者&#xff1a;即构科技 由 51 CTO 主办的“WOT 全球技术创新大会 2023深圳站”于 11 月 24 日 - 25 日召开&#xff0c;即构科技后台技术总监肖潇以“边缘容器在全球音视频场景的探索与实践”为主题进行分享。 边缘计算作为中心云计算的补充&#xff0c;通过边缘容器架构和…

配置DNS主从服务器,实现真反向解析

主服务器 [rootbogon ~]# systemctl stop firewalld.service #关闭防火墙 [rootbogon ~]# setenforce 0 #关闭selinux [rootbogon ~]# systemctl restart named #启动dns服务 [rootbogon ~]# vim /etc/named.conf #进入dns配置文件 options {#监听…

进程内协同:原子操作、互斥、同步和通信的原理

进程内协同&#xff0c;简单来说&#xff0c;就是在一个进程内部&#xff0c;多个执行体&#xff08;如线程、协程&#xff09;如何共享资源&#xff0c;如何协同工作以完成一项任务。这涉及到一系列的机制和技术&#xff0c;包括原子操作、互斥、同步和通信等。 那么&#xf…

微前端-无界wujie

无界微前端方案基于 webcomponent 容器 iframe 沙箱&#xff0c;能够完善的解决适配成本、样式隔离、运行性能、页面白屏、子应用通信、子应用保活、多应用激活、vite 框架支持、应用共享等用户的核心诉求。 主项目安装无界 vue2项目&#xff1a;npm i wujie-vue2 -S vue3项目…

Qt5.15.2中加入图片资源

系列文章目录 文章目录 系列文章目录前言一、加入图片资源二、代码 前言 以前用的Qt5.15.2之前的版本&#xff0c;QtCreator默认的工程文件是*.pro&#xff0c;现在用5.15.2创建工程默认的工程文件是CMameList.txt,当然在创建项目时&#xff0c;仍然可以使用pro工程文件用QtCr…

C#,入门教程(24)——类索引器(this)的基础知识

上一篇&#xff1a; C#&#xff0c;入门教程(23)——数据类型转换的一点基础知识https://blog.csdn.net/beijinghorn/article/details/124187182 工业软件首先要求高可靠性、高可维护性。 作为工业软件的开发者&#xff0c;我们对语言重载的需求是&#xff1a;“不可或缺”。 …

第6章 SpringBoot缓存管理

学习目标 了解SpringBoot的默认缓存 熟悉SpringBoot中Redis的缓存机制及实现 掌握SpringBoot整合Redis的缓存实现 缓存是分布式系统中的重要组件&#xff0c;主要解决数据库数据的高并发访问问题。在实际开发中&#xff0c;尤其是用户访问量较大的网站&#xff0c;为了提高服…