当前位置: 首页 > news >正文

(基于江协科技)51单片机入门:7.LED点阵屏

LED点阵屏

                LED点阵屏就是不同的排列方式的数码管

                由于我们不能随意控制电子屏出现图片,所以我们要和动态数码管一般利用人眼是视觉暂留, 一行一行的亮灯 或者 一列一列的亮灯,就能看到完整的图像

74HC595

                OE要给低电频,才能输出所以 跳线帽要接GND

                SRCLR 串型清零端,会将内部数据清空

我们只需8个银脚,所以 QH' 脚不用管它,它是用来叠加另一个输出缓存时用的

                SER 用来数据输入(一格就一个bit位)

                将值赋给 SER 后 SERCLK(高电频) 来一个上升延,SER赋值给第一格,一直循环

                直到移步寄存器存满一个字节数据,RCLK(高低电频),将移步寄存器的数据,转入输出缓存中

和74H138译码器完全不同,74H138译码器只能在8个位中选择一位,而74H595可以直接进行输出,想选那个选那个

sfr 和 sbit 关键词 

                 sfr:特殊功能寄存器声明

                例:sfr P0 = 0x80;

                声明 P0 口寄存器,物理地址为 0x80

                sbit:特殊位声明               

                例:sbit P0_1 = 0x81;    sbit P0_1 = P0^1;

                声明P0寄存器的第一位

74HC595 移位寄存器操作函数:

void _74HC595(unsigned char num)
{int i = 0;for(i = 0; i < 8; i++){SER = num&(0x80>>i);SRCLK = 1;SRCLK = 0;}_RCLK = 1;_RCLK = 0;
}

指定列亮什么的函数:

void LED_8x8(unsigned char col , num)
{_74HC595(num);P0 &= ~(0x80>>col);}

                这里说明下,当 P0 = 0x00 ,_74HC595函数 输入0xAA ,点阵屏亮1 3 5 7行亮

                P0 = 0xFF ,_74HC595函数 输入0xAA ,一行不亮

                所以只有P0^N = 0时,_74HC595 输入0x80(1000 0000),那列第1个才亮

1.显示笑脸代码

#include <REGX52.H>
#include "Delay.h"sbit _RCLK = P3^5;
sbit SRCLK = P3^6;
sbit SER = P3^4;void _74HC595(unsigned char num)                 
{                int i = 0;for(i = 0; i < 8; i++){SER = num&(0x80>>i);SRCLK = 1;SRCLK = 0;}_RCLK = 1;_RCLK = 0;
}void LED_8x8(unsigned char col , num)
{_74HC595(num);P0 &= ~(0x80>>col);Delay(1);P0 = 0xFF;
}int main()	
{_RCLK=0;            // 初始化SRCLK=0;    P0=0xFF;                                while(1){LED_8x8(0,0x3C);LED_8x8(1,0x42);LED_8x8(2,0xA9);LED_8x8(3,0x85);LED_8x8(4,0x85);LED_8x8(5,0xA9);LED_8x8(6,0x42);LED_8x8(7,0x3C);}return 0;
}

利用工具得到动画显示数组

                我们是左右移动,所以高度为8,宽度根据动画内容输入

                主要注意 取模方式,和字节倒序,其余不用理会

                为了动画的连贯性可以在画面前后加上一组空画面

                

2. hello 流动动画代码:

#include <REGX52.H>
#include "Delay.h"unsigned char ch[] = {0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFF,0x08,0x08,0x08,0xFF,0x00,0x0E,0x15,0x15,0x15,0x08,0x00,0x3F,0x01,0x03,0x00,0x3F,0x01,0x03,0x00,0x0E,0x11,0x11,0x0E,0x00,0x00,0x7D,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00
};sbit _RCLK = P3^5;
sbit SRCLK = P3^6;
sbit SER = P3^4;void _74HC595(unsigned char num)
{int i = 0;for(i = 0; i < 8; i++){SER = num&(0x80>>i);SRCLK = 1;SRCLK = 0;}_RCLK = 1;_RCLK = 0;
}void LED_8x8(unsigned char col , num)
{_74HC595(num);P0 &= ~(0x80>>col);Delay(1);P0 = 0xFF;
}int main()	
{int i = 0;int set = 0;int count = 0;P0=0xFF;while(1){for(i = 0; i < 8 ; i++){LED_8x8(i,ch[i+set]);}count++;if(count>10){count = 0;set++;if(set>32+8){set = 0;}}}return 0;
}

3.笑脸动画代码:

#include <REGX52.H>
#include "Delay.h"unsigned char code ch[] = {     // Flash 空间存储关键词 code    0xFF,0xA1,0xA9,0x85,0x85,0xA9,0xA1,0xFF,0xFF,0xA1,0xA5,0x85,0x85,0xA5,0xA1,0xFF,0xFF,0xA1,0xA5,0x89,0x89,0xA5,0xA1,0xFF,
};sbit _RCLK = P3^5;
sbit SRCLK = P3^6;
sbit SER = P3^4;void _74HC595(unsigned char num)
{int i = 0;for(i = 0; i < 8; i++){SER = num&(0x80>>i);SRCLK = 1;SRCLK = 0;}_RCLK = 1;_RCLK = 0;
}void LED_8x8(unsigned char col , num)
{_74HC595(num);P0 &= ~(0x80>>col);Delay(1);P0 = 0xFF;
}int main()	
{int i = 0;int set = 0;int count = 0;P0=0xFF;while(1){for(i = 0; i < 8 ; i++){LED_8x8(i,ch[i+set]);}count++;if(count>100){count = 0;set+=8;if(set>16){set = 0;}}}return 0;
}

            

                

http://www.dtcms.com/a/427622.html

相关文章:

  • 江协科技 CAN总线入门课程(错误处理)
  • 网站的建设与规划方案企业网站建设要素
  • antdv- Tooltip 文字提示组件
  • 算法题(222):摆花
  • 如何向alexa提交网站wordpress custom login
  • SpringCloud电商微服务项目衣拉客搭建指南
  • dev c++工具下载 dev c++安装包下载 dev c++软件网盘资源分享
  • 如何去掉Excel多余空行
  • 房地产网站欣赏万网空间管理
  • 做多语言网站多少钱免费网站安全软件大全下载安装
  • 【密码学实战】openHiTLS X509命令行工具: 数字证书生成与转换
  • 从“减塑”到“降碳”新天力“2R”模式推动行业低碳转型
  • AFSim雷达显控一体化
  • 网站建设类型智盈中心网站建设
  • 零基础从头教学Linux(Day 45)
  • 网站策划方案论文wordpress软件网站模板下载
  • 大数据变长存储算法
  • Ubuntu22.04安装Samba服务器
  • NACHI那智焊接机器人智能气阀
  • 网站怎么申请怎么注册交友软件网站建设
  • 网站建设官网多少钱设计公司名字logo
  • 安卓开发---通信录的UI实例
  • 35互联做的网站效果图制作教程
  • Gitee - IDEA 主支 master 和分支 dev 的使用
  • grep 命令处理文件差集
  • MySQL终极备份指南:用Percona XtraBackup实现零数据丢失!
  • FPGA实现SRIO图像视频传输,基于Serial Rapidlo Gen2,提供6套工程源码和技术支持
  • 网站推广渠道有哪些加盟编程教育哪家好
  • GitOps实战:Helm一键部署ArgoCD
  • 聊城冠县网站建设无锡seo公司哪家好