51单片机学习笔记——第九天:LED点阵显示数字与取模软件的使用

2023-05-16

大家好!今天是学习51单片机的第九天,昨天介绍了74hc595,今天继续学习74HC595。学习笔记如下:

之前我们学习了如何在LED点阵上显示一个点,现在使用LED点阵显示数字;

回顾一下显示点的方法;

 

 将LED点阵左边第一列设置为0,即LED阴极为低电平,其余列为1,即高电平,即P0=0x7f。并且第一行A1需要设置成高电平,那么SER=0x80。

同理,我们要显示第二行第二列的点我们就需要设置:P0=0xbf;SER=0x40。

那么如果我们要两个点共同显示,要如何做呢?

原理就是和数码管共同显示的原理一样,视觉停留!只要我们在显示一个点后迅速显示另一个,然后不断交换,在我们看来就会觉得是两个点同时显示。

然后我们假如要显示数字0,这时我们需要用到文字取模软件,网上流行的取模软件有很多,介绍一下我用的PCtoLCD2002:

 第一步:单击基本操作>>新建图像,设置宽度和高度这里我们设置8*8。这时中间就会出现8*8的白格。

第二步:单击模拟动画>>放大格点,可以放大个点,进行取模。

 

第三步:参数设计>>其他选项,出现下面的选项框。

 

我们一般设置:纵向取模,字节倒序

第四步:取模方式>>C51格式,即可

0x00,0x7C,0x82,0x82,0x7c,0x00,0x00.

需要注意的是:这里是纵向取模,横向我们设置的是0xfe,0xfd,0xfb,0xf7,0xef,0xdf,0xbf,0x7f

代码如下:

实验现象:下载程序后,8*8LED点阵显示数字0

#include "reg51.h"

typedef unsigned int u16;    //对系统默认数据类型进行重定义
typedef unsigned char u8;

//定义74HC595控制管脚
sbit SRCLK=P3^6;    //移位寄存器时钟输入
sbit RCLK=P3^5;        //存储寄存器时钟输入
sbit SER=P3^4;         //串行数据输入

#define LEDDZ_COL_PORT    P0    //点阵列控制端口

u8 gled_row[8]={0x00,0x7C,0x82,0x82,0x82,0x7C,0x00,0x00};//LED点阵显示数字0的行数据
u8 gled_col[8]={0x7f,0xbf,0xdf,0xef,0xf7,0xfb,0xfd,0xfe};//LED点阵显示数字0的列数据

void delay_10us(u16 ten_us)
{
    while(ten_us--);    
}

void hc595_write_data(u8 dat)
{
    u8 i=0;
    
    for(i=0;i<8;i++)//循环8次即可将一个字节写入寄存器中
    {
        SER=dat>>7;//优先传输一个字节中的高位
        dat<<=1;//将低位移动到高位
        SRCLK=0;
        delay_10us(1);
        SRCLK=1;
        delay_10us(1);//移位寄存器时钟上升沿将端口数据送入寄存器中    
    }
    RCLK=0;
    delay_10us(1);
    RCLK=1;//存储寄存器时钟上升沿将前面写入到寄存器的数据输出    
}

void main()
{    
    u8 i=0;

    while(1)
    {            
        for(i=0;i<8;i++)//循环8次扫描8行、列
        {
            LEDDZ_COL_PORT=gled_col[i];//传送列选数据
            hc595_write_data(gled_row[i]);//传送行选数据
            delay_10us(1000);//延时一段时间,等待显示稳定
            hc595_write_data(0x00);//消影    
        }                                
    }        
}

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

51单片机学习笔记——第九天:LED点阵显示数字与取模软件的使用 的相关文章

  • 牛客网刷题记录 || 结构体和类

    这是牛客网刷题记录专栏第五篇博文 xff0c 先给大家简单介绍一下牛客网 xff0c 牛客网是一个集笔面试系统 题库 课程教育 社群交流 招聘内推于一体的优质网站 xff0c 牛客网题库中包含几万道题目 xff0c 注重通过边学边练的模式揽
  • 牛客网刷题记录 || 运算符与分支

    这是牛客网刷题记录专栏第六篇博文 xff0c 先给大家简单介绍一下牛客网 xff0c 牛客网是一个集笔面试系统 题库 课程教育 社群交流 招聘内推于一体的优质网站 xff0c 牛客网题库中包含几万道题目 xff0c 注重通过边学边练的模式揽
  • 牛客网刷题记录 || 循环

    这是牛客网刷题记录专栏第七篇博文 xff0c 先给大家简单介绍一下牛客网 xff0c 牛客网是一个集笔面试系统 题库 课程教育 社群交流 招聘内推于一体的优质网站 xff0c 牛客网题库中包含几万道题目 xff0c 注重通过边学边练的模式揽
  • 2021年互联网大厂的中秋仪式感

    中秋节快到了 xff0c 就想起来去年互联网大厂的月饼礼盒大比拼 xff0c 来给大家盘点一下2021年互联网大厂的中秋礼盒 xff0c 等今年礼盒出了再一起看看 xff0c 咱吃不到 xff0c 就多看看 xff0c 提前祝大家中秋节快乐
  • Git从入门到项目实战,一篇文章吃透Git

    博主今天刚学完Git就来总结笔记了 xff0c Git好强大 xff0c 不愧是目前世界上最先进的分布式版本控制系统 即使再小的帆也能远航 目录 x1f50e Git版本控制 x1f525 常见版本控制工具 x1f525 版本控制分类 x1
  • Linux gzip gunzip(压缩与解压缩)命令

    gzip xff1a 压缩命令 格式 xff1a gzip 源文件 xff08 不保留源文件 xff09 例 xff1a 格式 xff1a gzip r 目录 xff08 只能压缩目录下的文件 xff0c 不能压缩目录 xff09 例 xf
  • 猿创征文|Spring5梦开始的地方:入门必看

    x1f6d2 本文收录与专栏 xff1a Spring5 专栏 x1f4e2 专栏目的是记录学习攻克难点 xff0c 与各位一路同行 xff0c 会持续输出 xff0c 欢迎免费订阅 xff01 xff01 阅己 xff0c 越己 xff0
  • 2022年互联网大厂的中秋仪式感

    续上篇2021年互联网大厂的中秋仪式感 xff0c 最新的2022年互联网大厂中秋仪式感来了 目录 中秋礼盒 x1f96e 创新乐知阿里巴巴腾讯字节跳动京东网易百度新浪美团哔哩哔哩小红书华为小米大疆知乎快手 中秋礼盒 x1f96e 创新乐知
  • 结构体的冒泡排序

    C 数组允许定义可存储相同类型数据项的变量 xff0c 结构是 C 编程中另一种用户自定义的可用的数据类型 xff0c 它允许您存储不同类型的数据项 首先要先定义结构体类型 xff0c 再定义相应的结构体变量 xff0c 定义结构体类型的一
  • ftp外网访问小知识

    ftp是一种处于应用层的用于文件传输的协议 是基于TCP协议的应用层协议 xff0c 用于在网络上传输文件 ftp协议较其他网络协议更为复杂 xff0c 与一般的C S应用不同点在于 xff1a 一般的C S应用程序只会建立一个Socket
  • Mybatis_plus使用自定义sql 查询并分页时,sql后自己添加LIMIT ? OFFSET?

    64 Select IPage lt Map gt select String batchId String type String tableName Page lt T gt page Page lt DLGMetaDataField
  • C语言程序设计课后习题:利润问题

    题目 xff1a 使用switch 或者 if 语句完成 注 xff1b 此代码没有问题但在qinglen下不会通过 企业发放的奖金根据利润提成 利润 I 低于或等于100000元时 奖金可提10 xff1b 利润高于100000元 低于2
  • Ubuntu显示lines 1-14/14(end)

    Ubuntu下载MySQL xff0c 运行MySQL时 xff0c 终端显示这个 xff0c 一直退出不了 xff0c 我查了之后以为是要你输入密码 xff0c 结果不行 xff0c 然后搜到按q键退出 xff0c md
  • 3Dslicer在windows下源码编译源码并打包程序亲测可用

    对于医疗图像数据可视化有一些比较成熟的开源软件库 xff0c 其中包括volview 2011年已经停止维护和更新 xff0c MITK xff08 德国非中科大版 xff09 xff0c 3Dslicer和ITK SNAP 3Dslice
  • mysql 8.0以上重置密码

    命令行都要以管理员运行 1 xff1a net stop mysql 停止mysql服务 2 xff1a mysqld console skip grant tables shared memory 启动MySQL服务的时候跳过权限表认证
  • 硬件iic与软件iic的正确使用

    MCU中常见的通讯方式 xff1a USART SPI CAN 485 Bluetooth WIFI 4G xff0c 而IIC是除这些外另一种通讯方式 对于STC的MCU只能用软件IIC xff0c 对于stm8和stm32的MCU可以用
  • Linux连接外网

    1 右键虚拟机 xff0c 选择设置 2 点击网络适配器 xff0c 选择NAT模式 xff0c 点击确认 xff0c 返回 3 点击右上角区域 xff0c 点击小圆圈有钳子样的图标 xff0c 进入设置界面 xff0c 点击网络并打开 4
  • C基础 输入一个日期判断是否为闰年 并计算是这一年的第几天

    1 首先要搞清闰年的判断方法 闰年 xff1a xff08 1 xff09 如果year能够被4整除 xff0c 但是不能被100整除 xff0c 则year是闰年 xff08 2 xff09 如果year能够被400整除 xff0c 则y
  • C语言经典题目50题

    程序1 题目 xff1a 有1 2 3 4个数字 xff0c 能组成多少个互不相同且无重复数字的三位数 xff1f 都是多少 xff1f 1 程序分析 xff1a 可填在百位 十位 个位的数字都是1 2 3 4 组成所有的排列后再去 掉不满
  • 用c语言多种实现快速排序(有完整代码带注释)

    快速排序是一种把大问题分成小问题的算法 它的目的是把一个无序的数组变成有序的数组 它的思想如下 xff1a 首先选择数组的第一个数作为 中间值 然后把数组分成两半 xff0c 左边的数都比中间值小 xff0c 右边的数都比中间值大 对左边和

随机推荐

  • MySQL 8.0.29 设置和修改默认密码

    MySQL 8 0 29 设置和修改默认密码 修改密码 xff1a 登录时因为你没设置root的初始密码 xff0c 导致报错 密码以加密的形式存储在mysql数据库中的user表中的authentication string字段中 参考链
  • Manjaro Linux / Arch Linux 换源命令

    span class token function sudo span pacman mirrors i c China m rank 输入密码 xff0c 选择最快的源
  • C语言中形参和实参对类型的要求

    实参 xff1a 常量 变量 表达式 函数等任意类型 形参 xff1a 变量 xff0c 在被定义的函数中 xff0c 必须指定形参的类型 形式参数就是定义函数名和函数体时需要用的参数 xff0c 目的是用来接收调用该函数时传递的参数 实际
  • 位操作符【左移、右移、按位取反、按位与、按位或、按位异或】【详解】

    本期介绍 x1f356 主要介绍 xff1a 位操作符有哪些 xff0c 位操作符操作的对象 xff0c 整数在内存中是如何存放的 xff0c 有哪些位操作符 xff0c 各自又都具备何种功能 x1f440 文章目录 一 前言二 整数在内存
  • ceph (cephadm)集群部署

    ceph 集群部署 cephadm 方法1 xff1a ansible ceph ansible使用Ansible部署和管理Ceph集群 xff08 1 xff09 ceph ansible被广泛部署 xff08 2 xff09 ceph
  • Maven项目中pom.xml文件被Ignored(忽略)的解决办法问题

    出现的原因 xff1a 新创建的Maven项目与之前被删除的Maven项目重名了 xff1b 由于相同名称的Module在之前被创建过 xff0c 因此在IDEA中留有痕迹 重新创建一个新的同名Module会让IDEA误以为是之前被Disa
  • OpenFeign如何实现微服务之间的调用(简单易学)

    Feign已经断更 xff0c 所以Spring官方也推荐使用OpenFeign 这里就不浪费时间介绍什么是Feign了 xff0c 自行百度 xff01 使用方法 xff1a 一 pom引入依懒 lt dependency gt lt g
  • 熔断 所有的配置说明

    以下代码主要是对 64 HystrixCommand注解中的commandProperties属性说明 64 HystrixCommand fallbackMethod 61 34 fallbackMethod 34 groupKey 61
  • IDEA项目Application没有变绿叶小图标解决方法

    IDEA有时候会抽风 xff0c 就算是新建的项目也会出现这种情况 xff0c 下面就教大家如何解决这种情况 xff01 虽然没什么太大的影响 xff0c 但不好看 啊 xff01 而且没有代码提示也是让人用着不爽 一 找到File Pro
  • 配置中心报:reject HostKey: github.com

    spring cloud config配置中心获取github上文件时 xff0c 报错 xff1a reject HostKey github com 解决方法 xff1a 将SSH调用 xff1a git 64 github com X
  • Vscode安装C环境之中文编码问题

    目录 前言 一 解决代码区内中文乱码问题 二 解决代码编译时由于中文而导致的报错信息 三 解决命令终端的中文乱码问题 总结 前言 1 网络教程有新旧 xff0c 本文预测自发布日起前后6个月均有参考价值 因为涉及插件 IDE 编译器等的更新
  • 沙拉查词配置浏览器外翻译(为你的电脑配置一个随时翻译器吧!)

    目录 前言 一 插件安装 以安装用户可跳转至步骤二 二 配置桌面翻译 三 使用方法及分析 四 适用场景 插件级翻译的优势 总结 前言 1 撰写本篇文章旨在提供一种轻量级 插件级 的桌面翻译的解决方案 xff0c 当然选择直接安装PC端翻译软
  • C语言试题系列-第一章

    目录 前言 一 输出简单字符串 二 三个整数之和 三 求三个数中最大的数 四 实验1 C程序的运行环境和运行C程序的方法 实验报告见资源下载 五 求国民生产总值与现在相比增长百分比 六 实验2 数据类型 运算符和简单的输入输出 实验报告见资
  • C语言试题系列-第六章(数组)

    目录 前言 一 选择法从大到小排序 二 实验6 数组 实验报告见资源下载 三 编写程序 xff0c 输入4个字符串 xff0c 找出其中最大者 四 实验7 字符串及字符数组 实验报告见资源下载 五 将数组中的数逆序存放 六 输出冒泡法排序某
  • C语言试题系列-第七章(函数)

    目录 前言 一 用函数的方式完成判别合数并求一个区间内的合数之和 二 实验8 函数 xff08 一 xff09 实验报告见资源下载 三 使用全局变量及函数求最大公约数和最小公倍数 四 实验9 变量的作用域与生存期 实验报告见资源下载 五 输
  • 树莓派图形界面xrdp方式登录

    1 安装xrdp sudo apt get install xrdp 2 用windows自带软件 远程桌面连接 登录 输入账号 密码登陆后界面如下 在此界面上的操作就和ubantu一样 3 注意事项 xrdp每次开关机都要重新启动才能连上
  • (全网首发)-Vm虚拟机KaliLinux2023/KaliLinuxPurple未能执行文件传输问题解决

    目录 前言 一 环境及问题描述 二 问题分析及问题解决 总结 前言 1 网络教程具有时效性 xff0c 注意区分和甄别 2 本文咨询相关大佬及个人本地多次测试 xff0c 至发表日起未在国内外相关网络环境找到解决方案 xff0c 故称全网首
  • 如何免费将PDF文档压缩到最小?

    为了文件能够更快的传输 xff0c 一般会把pdf文件进行压缩 xff0c 因为压缩后的文件可以减少文件的字节总数 xff0c 也能够减少文件的磁盘占用空间 xff0c 下面就是pdf文件压缩的方法了 首先打开浏览器搜索speedpdf就能
  • Linux搭建Discuz论坛

    一 安装LAMP环境 xff08 Linux 43 apache 43 MySQL 43 PHP xff09 Linux安装apache xff08 CentOS7 yum安装和编译安装 xff09 清城旧忆的博客 CSDN博客 Linux
  • 51单片机学习笔记——第九天:LED点阵显示数字与取模软件的使用

    大家好 xff01 今天是学习51单片机的第九天 xff0c 昨天介绍了74hc595 xff0c 今天继续学习74HC595 学习笔记如下 xff1a 之前我们学习了如何在LED点阵上显示一个点 xff0c 现在使用LED点阵显示数字 x