51单片机8*8点阵屏

8*8点阵屏

8*8点阵屏是一种LED显示屏,它由8行和8列的LED灯组成。每个LED灯的开闭状态都可以独立控制,从而可以显示出数字、字母、符号、图形等信息。

8*8点阵屏的原理是通过行列扫描的方式,控制LED灯的亮灭,从而显示出所需的图案或信息。通过逐行逐列地控制LED的亮灭,就可以在屏幕上显示出任意的数字、字母和图形。

这种点阵屏通常被广泛应用于电子钟表、计时器、温度计、电子游戏等产品中,因为它可以以较小的尺寸显示出丰富的信息,而且功耗较低、制作成本相对较低。

点阵屏理论介绍

8*8点阵屏电路图

如何赋值点亮led灯:要使用动态扫描的方式点亮led灯防止出现同时点亮的情况

74HC595芯片的工作原理

8*8点阵屏原理图

74HC595芯片使用说明

eg1:点阵屏编程实战:点亮第一个点阵
 

#include <REGX52.H>
sbit DIO = P3^4; // 串行数据口
sbit S_CLK = P3^5; //移位寄存器时钟
sbit R_CLK = P3^6; // 输出锁存器时钟void main(){// ROW : 0x80 ,COL : 0xfe 通过传入和并出的方式将数据发送出去unsigned char i,dat;dat = 0xfe;for(i = 0; i<8;i++){S_CLK = 0;R_CLK = 0;if(dat & 0x01){DIO = 1;}else{DIO = 0;}S_CLK = 1;	dat >>= 1;}dat = 0x80;for(i = 0; i<8;i++){S_CLK = 0;R_CLK = 0;if(dat & 0x01){DIO = 1;}else{DIO = 0;}S_CLK = 1;		dat >>= 1;}R_CLK = 1;while(1);}

eg2:点阵屏实战:显示汉字-->电 字符

#include <REGX52.H>
#include <INTRINS.H>sbit DIO = P3^4; // 串行数据口
sbit S_CLK = P3^5; //移位寄存器时钟
sbit R_CLK = P3^6; // 输出锁存器时钟/*取模软件生成的自形码:0xef 0x01 0x6d 0x01 0x6d 0x01 0xee 0xe0 --> 电
*/
unsigned char code table[] = {0xe0, 0xee, 0x01, 0x6d, 0x01, 0x6d, 0x01, 0xef
};void Send_Byte(unsigned char dat){unsigned char i;S_CLK = 0;R_CLK = 0;for(i = 0; i<8;i++){if(dat & 0x01){DIO = 1;}else{DIO = 0;}S_CLK = 1;	dat >>= 1;S_CLK = 0;}
}void main(){// ROW : 0x80 ,COL : 0xfe 通过传入和并出的方式将数据发送出去unsigned char j,ROW;while(1){ROW = 0X80;for(j = 0; j < 8; j++){Send_Byte(table[j]);Send_Byte(ROW);R_CLK = 1;ROW = _cror_(ROW,1); // 循环右移动R_CLK = 0;}}
}

eg3:使用点阵屏显示电子两个字

#include <REGX52.H>
#include <INTRINS.H>sbit DIO = P3^4; // 串行数据口
sbit S_CLK = P3^5; //移位寄存器时钟
sbit R_CLK = P3^6; // 输出锁存器时钟/*取模软件生成的自形码:0xef 0x01 0x6d 0x01 0x6d 0x01 0xee 0xe0 --> 电
*/
unsigned char code table[2][8] = {0xe0, 0xee, 0x01, 0x6d, 0x01, 0x6d, 0x01, 0xef,0xe7, 0xe7, 0xe7, 0xe7, 0x80, 0xf7, 0xfb, 0xc3
};void Send_Byte(unsigned char dat){unsigned char i;S_CLK = 0;R_CLK = 0;for(i = 0; i<8;i++){if(dat & 0x01){DIO = 1;}else{DIO = 0;}S_CLK = 1;	dat >>= 1;S_CLK = 0;}
}void main(){// ROW : 0x80 ,COL : 0xfe 通过传入和并出的方式将数据发送出去unsigned char j,k,ROW;unsigned int z;while(1){for(k=0;k<2;k++){for(z = 0; z <1000; z++){ROW = 0X80;for(j = 0; j < 8; j++){Send_Byte(table[k][j]);Send_Byte(ROW);R_CLK = 1;ROW = _cror_(ROW,1); // 循环右移动R_CLK = 0;}}}}}

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

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

相关文章

USRP相关报错解决办法

文章目录 前言一、本地环境二、相关报错信息二、解决办法1、更换电脑操作系统2、升级最新版固件 前言 在进行 USRP 开发时遇到了一些报错&#xff0c;这里做个记录解决问题的方法。 一、本地环境 电脑操作系统&#xff1a;Windows11MATLAB 版本&#xff1a;MATLAB 2021aUSRP …

C#,生成图片的指定尺寸缩略图的源代码

编程的时候经常用到图像的缩略图。 本文发布一个用于生成指定尺寸的缩略图的简单方法。 1 文本格式 private void button1_Click(object sender, EventArgs e) { CreateThumbnail("demo.jpg", "demo_thumb.jpg", 128, 128); } private void CreateTh…

【Web前端开发基础】CSS3之Web字体、字体图标、平面转换、渐变

CSS3之Web字体、字体图标、平面转换、渐变 目录 CSS3之Web字体、字体图标、平面转换、渐变一、Web字体1.1 Web字体概述1.2 字体文件1.3 font-face 规则 二、字体图标2.1 字体图标2.2 字体图标的优点2.3 图标库2.4 下载字体包2.5 字体图标的使用步骤2.6 字体图标使用注意点2.7 上…

Poe聊天机器人平台吸引新用户可获得最高50美元的收入

Poe聊天机器人平台正加大对创作者的奖励力度&#xff0c;机器人创建者每吸引一个新订阅者&#xff0c;最高可获得50美元&#xff08;约等于358.465人民币&#xff09;的收入。在GPTs商店上传过自定义GPT的朋友可以将自己的机器人复刻到Poe上&#xff0c;看看能不能拿到一些零食…

【Py/Java/C++三种语言详解】LeetCode每日一题240122【贪心】LeetCode670、最大交换

文章目录 题目链接题目描述解题思路为什么是贪心一个带图的例子 代码pythonjavacpp时空复杂度 华为OD算法/大厂面试高频题算法练习冲刺训练 题目链接 LeetCode670、最大交换 题目描述 给定一个非负整数数组 nums 和一个整数 k &#xff0c;你需要将这个数组分成 k 个非空的连…

vue3使用AntV G6 (图可视化引擎)历程[二]

上期回顾:历程[一]描述了基本的树状图的绘制,默认节点类型defaultNode中的type是circle,下面这篇描述的是节点抽离自定义节点并做数据静态渲染。 官网地址:https://g6-next.antv.antgroup.com/manual/introduction 一、案例效果 二、自定义节点渲染 1. 主要通过G6.register…

aop介绍

AOP&#xff08;Aspect-Oriented Programming&#xff0c;面向方面编程&#xff09;&#xff0c;可以说是OOP&#xff08;Object-Oriented Programing&#xff0c;面向对象编程&#xff09;的补充和完善。OOP引入封装、继承和多态性等概念来建立一种对象层次结构&#xff0c;用…

Spring Security架构

文章目录 过滤器回顾DelegatingFilterProxyFilterChainProxySecurityFilterChainSecurity Filters打印Security Filters将自定义过滤器添加到过滤器链 Handling Security ExceptionsSaving Requests Between AuthenticationRequestCachePrevent the Request From Being Saved R…

考研C语言刷题基础篇之分支循环结构基础(二)

目录 第一题分数求和 第二题&#xff1a;求10 个整数中最大值 第三题&#xff1a;在屏幕上输出9*9乘法口诀表 第四题&#xff1a;写一个代码&#xff1a;打印100~200之间的素数 第五题&#xff1a;求斐波那契数的第N个数 斐波那契数的概念&#xff1a;前两个数相加等于第三…

MySQL进阶45讲【4】索引原理剖析(上)

1 前言 提到数据库索引&#xff0c;想必大家并不陌生&#xff0c;在日常工作中会经常接触到。比如某一个SQL查询比较慢&#xff0c;分析完原因之后&#xff0c;就会有“给某个字段加个索引”之类的解决方案。但到底什么是索引&#xff0c;索引又是如何工作的呢&#xff1f;今天…

MySQL数据库的锁机制

目录 一、引言 二、锁的类型及作用 2.1 行级锁 2.2 间隙锁与临键锁 2.3 共享锁与排他锁 2.4 意向锁 2.5 表级锁 2.6 元数据锁 三、锁的管理与优化 3.1 合理设置事务隔离级别 3.2 避免长事务 3.3 索引优化 3.4 明确锁定范围 3.5 避免不必要的全表扫描 四、实战分…

基于Java+SpringBoot+vue+element疫情物资捐赠分配系统设计和实现

基于JavaSpringBootvueelement疫情物资捐赠分配系统设计和实现 &#x1f345; 作者主页 央顺技术团队 &#x1f345; 欢迎点赞 &#x1f44d; 收藏 ⭐留言 &#x1f4dd; &#x1f345; 文末获取源码联系方式 &#x1f4dd; &#x1f345; 查看下方微信号获取联系方式 承接各种…