51单片机笔记《三》
【摘要】
用8*8点阵显示爱心
LED点阵屏介绍:
LED点阵屏通过LED(发光二极管)组成,以灯珠量灭来显示文字、字母、动画、视频等。LED点阵显示屏制作简单,安装方便,被广泛应用于各种公共场合,如汽车报战器...
用8*8点阵显示爱心
LED点阵屏介绍:
LED点阵屏通过LED(发光二极管)组成,以灯珠量灭来显示文字、字母、动画、视频等。LED点阵显示屏制作简单,安装方便,被广泛应用于各种公共场合,如汽车报战器、广告牌、银行窗口屏、叫好屏以及停车场系统等等。
LED点阵屏展示:
74HC595芯片
74HC595芯片是一种串入并出的芯片,在电子显示屏制作当中有广泛的应用。它是8位串行输入/输出或者并行输出移位寄存器。如果没有该芯片那么对于8*8点阵则需要64个IO口。而加上两块74HC595芯片以后则需要3个IO口。
所以加上74HC595以后的点阵屏:
这样各个引脚的作用是:
#include <reg52.h>
#include <intrins.h>
sbit DIO = P3^4;//串行数据接口
sbit S_CLK = P3^5;//移位寄存器时钟
sbit R_CLK = P3^6;//移除锁存器时钟
//0x3E,0x2A,0xFF,0xAA,0xBE,0xC0,0x00,0x00//
unsigned char a[10]={0x7F,0xBF,0xDF,0xE0,0xDF,0xBF,0x7F,0xFF};
void sent(unsigned char dat)
{
unsigned char i;
S_CLK=0;
R_CLK=0;
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;//右移移位
}
S_CLK=0;//产生下降沿
}
void main()
{
//ROW 0X80,COL 0XFE
unsigned char j,temp;
while(1)
{
temp=0x80;
for(j=0;j<8;j++)
{
sent(a[j]);
sent(temp);
R_CLK=1;
R_CLK=0;
temp=_cror_(temp,1);
}
}
}
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
- 24
- 25
- 26
- 27
- 28
- 29
- 30
- 31
- 32
- 33
- 34
- 35
- 36
- 37
- 38
- 39
- 40
- 41
- 42
文章来源: wlybsy.blog.csdn.net,作者:万里羊,版权归原作者所有,如需转载,请联系作者。
原文链接:wlybsy.blog.csdn.net/article/details/89716944
【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱:
cloudbbs@huaweicloud.com
- 点赞
- 收藏
- 关注作者
评论(0)