历史上的今天
今天是:2025年03月31日(星期一)
2020年03月31日 | 74HC595在【8x8LED点阵】中的使用
2020-03-31 来源:eefocus
前几天学了点阵的显示,今天按自己的思路来总结一下。
首先介绍一下点阵的显示原理。点阵的电路图和之前学过的矩阵按键的电路图是相似的。
每个灯就相当于坐标图中的一个点,具有唯一独特的坐标位置,这样就可以通过引脚的信号来控制每个灯的关和开
col管脚连接的是P0的八个引脚,row管脚连接的是595的八位并行输出端。
实验中采取的是逐列显示,通过P0控制八列每列逐列显示,其间通过595位移缓存器控制每列要亮的led灯。

74HC595是串入并出带有锁存功能移位寄存器.如图:
形象来说,14引脚是搬运工,11是进厂守门员,12是出厂守门员,
11出现上升沿时,从14引脚输入一位数据,一共重复八次
12引脚上升沿时,将之前进来的八位数据分别从1到7引脚输出
OE为使能端,低电平时使输出有效,所以实验的时候接GND就行
10为主复位,低电平时有效,实验时让它为高

附74HC595真值表

用笔对着点阵描摹的爱心,然后一列一列转成二进制码
爱心点阵,亲测有效。

#include "reg51.h"
#include typedef unsigned int u16; typedef unsigned char u8; sbit SRCLK=P3^6; sbit RCLK=P3^5; sbit SER=P3^4; u8 ledduan[]={0x38,0x44,0x42,0x21,0x42,0x44,0x38,0x00}; u8 ledwei[]={0x7f ,0xbf,0xdf,0xef,0xf7,0xfb,0xfd,0xfe}; void delay(u16 i) { while(i--); } void Hc595SendByte(u8 dat) { u8 a; SRCLK=0; RCLK=0; for(a=0;a<8;a++) { SER=dat>>7; dat<<=1; SRCLK=1; _nop_(); _nop_(); SRCLK=0; } RCLK=1; _nop_(); _nop_(); RCLK=0; } void main() { u8 i; while(1) { P0=0x7f; for(i=0;i<8;i++) { P0=ledwei[i]; //位选 Hc595SendByte(ledduan[i]); //发送段选数据 delay(100); //延时 Hc595SendByte(0x00); //消隐 } } }
史海拾趣
|
就是关于用vhdl做的一个数字密码锁。。具体要求如下: 1.4位密码十进制数(0-9) 2.密码设置键 开锁键 清屏键 3.显示:4位密码led(开锁时可见。密码设置为x),锁状态1红(lock)1绿(open)密码错误1红(闪烁) 4.密码错误,报警(声音) 5. ...… 查看全部问答> |
|
GPIO_InitStructure.GPIO_Pin = GPIO_Pin_14; GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AF_PP; GPIO_InitStructure.GPIO_Speed =&n ...… 查看全部问答> |
|
UM0721(USBOTGFSlibrary)提供的源码有问题? UM0721文档里说,打开Project\\RVMDK\\下的keil工程后是这样: 下载 (10.29 KB) 2010-7-8 21:03 下载的um0721.zip解压缩后的确也有这些文件,但是用Keil4那个Uv2工程文件打开却是这样的: 下载 (2.53 ...… 查看全部问答> |
|
最近在淘宝上买到了几片STM32F103VET6的片子,焊在板子上后发现PD8脚作为GPIO的上拉输入无效,读取电平总是高电平,换了另一片后任然是这个问题,换上STM32F103VCT6是没问题的,然后怀疑是这批片子是翻新的,它的外观也和以前买到的ST的ARM不 ...… 查看全部问答> |
|
1. 简单介绍下1602 1602液晶也叫1602字符型液晶它是一种专门用来显示字母、数字、符号等的点阵型液晶模块它有若干个5X7或者5X11等点阵字符位组成,每个点阵字符位都可以显示一个字符。每位之间有一个点距的间隔每行 ...… 查看全部问答> |




