51单片机点阵

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档

文章目录

  • 前言
  • 一、点阵是什么?
    • 1.点阵的原理
    • 2. 3*3 点阵显示原理
    • 3. 8*8点阵实物图
    • 4. 8*8点阵内部原理图
    • 5. 16*16点阵实物图,显示原理
  • 二、使用步骤
    • 1.先看原理图,确定点阵是8*8 16*16 ,共阴,共阳?
    • 2.写代码
    • 核心问题,段码怎么来?
  • 三、实物操作
    • 1.原理图
    • 2.编程思路
    • 四、 书上的代码讲解
  • 总结


前言


学习了数码管的静态和动态显示,利用动态数码管显示的原理,搞定点阵。


一、点阵是什么?

1.点阵的原理

在这里插入图片描述

2. 3*3 点阵显示原理

在这里插入图片描述

3. 8*8点阵实物图

在这里插入图片描述

4. 8*8点阵内部原理图

在这里插入图片描述

5. 16*16点阵实物图,显示原理

在这里插入图片描述

二、使用步骤

1.先看原理图,确定点阵是88 1616 ,共阴,共阳?

代码如下(示例):

取段码:用专门的软件。

2.写代码

代码如下(示例):


逐行:第一行
1.先给段码
P0=0X?
P2=0X?
P1=0X00;第一行
1.先给段码
P0=0X?
P2=0X?
P1=0X01;0000~1111   0-15for(i=0;i<16;i++)
{P0=0X?P2=0X?P1=i;delay(?);P0=0X00;P2=0X00;}

核心问题,段码怎么来?

在这里插入图片描述
在这里插入图片描述

三、实物操作

1.原理图

在这里插入图片描述

2.编程思路

  1. 段码 P0=0X?
  2. 位选
    P35 pclk
    P36 srclk
    P34 SER

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

J24 接 GND

P35_RCLK

P34_data

P36_SRCLK


一次移位
P34_data=1;
P36_SRCLK=0;
P36_SRCLK=1;八次移位:
最简单的方法将上面的代码赋值八次
P34_data=;  // 是0 给00,是1给1
P36_SRCLK=0;
P36_SRCLK=1;
........P35_RCLK=0;
P35_RCLK=1//发送  x =0x01   第一行// 0000 0001
// 1000 0000
&
//=  0000 0000//x =x<<1;// 0000 0010for(i=0;i<8;i++)
{if((x&0x80)==0){P34_data=0;  // 是0 给00,是1给1}esle{P34_data=1;  // 是0 给00,是1给1}P36_SRCLK=0;P36_SRCLK=1;x=x<<1;}
P35_RCLK=0;
P35_RCLK=1;P36_SRCLK=0;
P35_RCLK=0//发送0x02   第二行 for(i=0;i<8;i++)
{P34_data=;  // 是0 给00,是1给1P36_SRCLK=0;P36_SRCLK=1;}
P35_RCLK=0;
P35_RCLK=1;P36_SRCLK=0;
P35_RCLK=0

简化的方法:


// 1000 0000
// 1 000  0000 0for(i=0;i<8;i++)
{X=X<<1;P34_data=CY;  // 是0 给00,是1给1P36_SRCLK=0;P36_SRCLK=1;}
P35_RCLK=0;
P35_RCLK=1;P36_SRCLK=0;
P35_RCLK=0

P0=0X?
HC595(0X01)temp=0x01;
for(i=0;i<8;i++)
{P0=0X?HC595(temp)  //0x01temp=temp<<1;delay();P0=0X?//,灭
}

四、 书上的代码讲解

在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

改变j显示不同的汉字,改变i显示不同行的段码;

n的讲解
在这里插入图片描述

总结

利用动态数码管显示的原理,用点阵显示字符。

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

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

相关文章

PostgreSQL | CTE | 使用with子句的通用表达式

CTE&#xff08;Common Table Expressions&#xff09; 简单讲&#xff0c;CTE就是日常SQL中出现的with语句&#xff0c;其原理就是通过提前将数据查询出来后作为临时结果集使用&#xff0c;可以与SELECT \ INSERT \ UPDATE \ DELETE的SQL连用。 优点 可读性强 CTE 允许你将…

老卫带你学---leetcode刷题(122. 买卖股票的最佳时机 II)

122. 买卖股票的最佳时机 II 问题 给你一个整数数组 prices &#xff0c;其中 prices[i] 表示某支股票第 i 天的价格。 在每一天&#xff0c;你可以决定是否购买和/或出售股票。你在任何时候 最多 只能持有 一股 股票。你也可以先购买&#xff0c;然后在 同一天 出售。 返回…

【vim 学习系列文章 8 -- vim中 has 函数和 let g:介绍】

文章目录 1.1 vim has 函数1.2 vim let g: 介绍 1.1 vim has 函数 在 Vim 中&#xff0c;has 是一个内置的函数&#xff0c;用于检查 Vim 是否支持某个特定的特性或者是否包含某个特定的扩展。 此函数的基本语法是&#xff1a; if has(feature)其中&#xff0c;‘feature’ …

数据结构与算法--其他算法

数据结构与算法--其他算法 1 汉诺塔问题 2 字符串的全部子序列 3 字符串的全排列 4 纸牌问题 5 逆序栈问题 6 数字和字符串转换问题 7 背包问题 8 N皇后问题 暴力递归就是尝试 1&#xff0c;把问题转化为规模缩小了的同类问题的子问题 2&#xff0c;有明确的不需要继续…

设计模式之是简单工厂模式

分类 设计模式一般分为三大类&#xff1a;创建型模式、结构型模式、行为型模式。 创建型模式&#xff1a;用于创建对象&#xff0c;共五种&#xff0c;包括单例模式、简单工厂模式、工厂方法模式、抽象工厂模式、建造者模式、原型模式。结构型模式&#xff1a;用于处理类或对…

超火爆的6 个必学持续集成工具,测试人的福音

开发人员喜欢把写的代码当成自己的孩子&#xff0c;他们会被当成艺术品一样呵护。作为家长&#xff0c;总是会认为自己的孩子是最好的&#xff0c;也会尽全力给自己的孩子最好的&#xff0c;就算有时候会超出自己的能力范围。 最终&#xff0c;孩子会走出去&#xff0c;和其他…

2023自动驾驶 车道线检测数据集

目录 2023自动驾驶 车道线检测关键数据集 下载链接 labelme标注制作数据: 可视化tusimple数据集 车道线分割项目记录-tusimple数据集处理 2023自动驾驶 车道线检测关键数据集 下载链接<

android studio检测不到真机

我的情况是&#xff1a; 以前能检测到&#xff0c;有一天我使用无线调试&#xff0c;发现调试有问题&#xff0c;想改为USB调试&#xff0c;但是半天没反应&#xff0c;我就点了手机上的撤销USB调试授权&#xff0c;然后就G了。 解决办法&#xff1a; 我这个情况比较简单&…

Redission 使用Jackson处理LocalDateTime的一些坑

(redis) 文章目录 Redission 使用Jackson处理LocalDateTime的一些坑不支持jsr310的问题&#xff08;浅坑&#xff09;准备问题解决 读取 LocalDateTime类型的值的问题&#xff08;深坑&#xff09;准备问题解决 总结 Redission 使用Jackson处理LocalDateTime的一些坑 当我们想…

TypeScript 类型兼容性

TypeScript 类型兼容性 在前端开发中&#xff0c;使用 TypeScript 可以提供更强大的类型检查和类型安全。然而&#xff0c;了解 TypeScript 中的类型兼容性是至关重要的&#xff0c;因为它涉及如何处理不同类型之间的关系&#xff0c;以及在这些类型之间进行无缝的交互。本文将…

Leetcode刷题笔记--Hot61-70

1--课程表&#xff08;207&#xff09; 主要思路&#xff1a; 用 in 记录每一门课程剩余的先修课程个数&#xff0c;当剩余先修课程个数为0时&#xff0c;将该课程加入到队列q中。 每修队列q中的课程&#xff0c;以该课程作为先修课程的所有课程&#xff0c;其剩余先修课程个数…

Kubernetes实战(三)-k8s节点设置cpu高于多少就不调度

1 k8s节点设置的概念和原理 k8s是Google开源的容器集群管理系统&#xff0c;用于自动化部署、扩展和管理容器化应用程序。在k8s中&#xff0c;Node是指容器运行的物理或虚拟机器。Node可以是一个物理机或一个虚拟机器&#xff0c;k8s通过其调度器将Pod调度到每个Node上。对于一…

人机环境系统中的“人”、“机”、“环境”

人机环境系统中的“人”、“机”、“环境”是指在一个系统中&#xff0c;人、机和环境三者的相互作用和影响&#xff0c;三者之间的相互作用和影响非常复杂&#xff0c;需要进行有效的协调和管理才能实现系统的高效运转或预期的目标。因此&#xff0c;人机环境系统的设计和优化…

vue elementui的select组件实现滑到底部分页请求后端接口

vue elementui的select组件实现滑到底部分页请求后端接口 1.实现效果2.实现原理 1.实现效果 老规矩&#xff0c;直接上最后的实现效果 2.实现原理 直接上代码 <el-form-item class"diagmosisItem" label"诊断" v-scroll"handleScroll">…

✔ ★【备战实习(面经+项目+算法)】 10.15学习时间表

✔ ★【备战实习&#xff08;面经项目算法&#xff09;】 坚持完成每天必做如何找到好工作1. 科学的学习方法&#xff08;专注&#xff01;效率&#xff01;记忆&#xff01;心流&#xff01;&#xff09;2. 每天认真完成必做项&#xff0c;踏实学习技术 认真完成每天必做&…

【微信小程序开发】基础语法篇

&#x1f973;&#x1f973;Welcome Huihuis Code World ! !&#x1f973;&#x1f973; 接下来看看由辉辉所写的关于小程序的相关操作吧 目录 &#x1f973;&#x1f973;Welcome Huihuis Code World ! !&#x1f973;&#x1f973; 一.视图层 1.数据绑定 wxml js 2 .列…

Python学习六

前言&#xff1a;相信看到这篇文章的小伙伴都或多或少有一些编程基础&#xff0c;懂得一些linux的基本命令了吧&#xff0c;本篇文章将带领大家服务器如何部署一个使用django框架开发的一个网站进行云服务器端的部署。 文章使用到的的工具 Python&#xff1a;一种编程语言&…

前端工程化知识系列(4)

目录 31. 你是否了解前端性能优化的指标&#xff0c;例如首次内容绘制&#xff08;FCP&#xff09;、最大内容绘制&#xff08;LCP&#xff09;和累计布局位移&#xff08;CLS&#xff09;&#xff1f;如何针对这些指标进行优化&#xff1f;32. 你有没有经验使用服务端渲染&…

Yum安装JDK11

一、安装命令 &#xff1a; yum install java-11-openjdk二、执行以下命令来查看 JDK 11 的安装信息&#xff1a; yum list installed | grep java-11-openjdk三、找到 JDK 11 的软件包名称&#xff08;使用以下命令来查询软件包的安装位置&#xff09;&#xff1a; rpm -ql…

AnolisOS升级SSH,不升级SSL

由于ssh有漏洞需要升级&#xff0c;但是为了最小化升级不影响ssl&#xff0c;因为ssl里面带了加密库&#xff0c;系统中很多核心服务的加密都是用ssl进行加密的&#xff08;像网络服务&#xff0c;系统用户登录等&#xff09;&#xff0c;如果ssl升级出现不兼容&#xff0c;就可…