历史上的今天
今天是:2025年03月12日(星期三)
2020年03月12日 | 单片机控制4个8X8点阵拼接成的16X16的点阵滚动显示汉字
2020-03-12 来源:eefocus
题目要求:
控制16X16大点阵滚动显示:中国加油!
仿真电路图:

仿真效果:

电路关键元件介绍:
74LS138:

================================================================
引脚说明:
A0~A2:地址输入端
STA(E1):选通端
/STB(/E2)、/STC(/E3):选通端(低电平有效)
/Y0~/Y7:输出端(低电平有效)
VCC:电源正
GND:地
================================================================
功能说明:
①当一个选通端(E1)为高电平,另两个选通端((/E2))和(/E3))为低电平时,可将地址端(A0、A1、A2)的二进制编码在Y0至Y7对应的输出端以低电平译出。(即输
出为Y0至Y7的非)比如:A2A1A0=110时,则Y6输出端输出低电平信号。
②利用 E1、E2和E3可级联扩展成 24 线译码器;若外接一个反相器还可级联扩展成 32 线译码器。
③若将选通端中的一个作为数据输入端时,74LS138还可作数据分配器。
④可用在8086的译码电路中,扩展内存。
================================================================
74HC595:

74HC595是一个8位串行输入、并行输出的位移缓存器:并行输出为三态输出。在SCK 的上升沿,串行数据由SER输入到内部的8位位移缓存器,并由Q7’输出,而并行输出则是在LCK的上升沿将在8位位移缓存器的数据存入到8位并行输出缓存器。当串行数据输入端OE的控制信号为低使能时,并行输出端的输出值等于并行输出缓存器所存储的值。而当OE为高电位,也就是输出关闭时,并行输出端会维持在高阻抗状态。
符号--------------------------------引脚 ----------------------------描述
Q0–Q7---------------------第15脚,第1-7脚--------------8位并行数据输出,
GND----------------------------- 第8脚 ----------------------地
Q7’ ------------------------------- 第9脚---------------------- 串行数据输出
MR------------------------------- 第10脚--------------------- 主复位(低电平)
SHCP ----------------------------第11脚---------------------- 数据输入时钟线
STCP---------------------------- 第12脚--------------------- 输出存储器锁存时钟线
OE --------------------------------第13脚 ---------------------输出有效(低电平)
DS --------------------------------第14脚--------------------- 串行数据输入
VCC------------------------------ 第16脚 ---------------------电源


关于级联可以参考这篇文章:74HC595级联介绍
C语言程序代码:
#include "reg51.h"
#define uchar unsigned char
#define uint unsigned int
#define Lie P1
sbit SHCP = P2^0;
sbit DS = P2^1;
sbit STCP = P2^2;
uchar code led[ ] ={
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0xF8,0x03,0x08,0x01,0x08,0x01,0x08,0x01,0x08,0x01,0x08,0x01,0xFF,0xFF,
0x08,0x01,0x08,0x01,0x08,0x01,0x08,0x01,0x08,0x01,0xF8,0x03,0x00,0x00,0x00,0x00,
0x00,0x00,0xFE,0xFF,0x02,0x40,0x0A,0x50,0x8A,0x50,0x8A,0x50,0x8A,0x50,0xFA,0x5F,
0x8A,0x50,0x8A,0x56,0x8A,0x54,0x0A,0x50,0x02,0x40,0xFE,0xFF,0x00,0x00,0x00,0x00,
0x10,0x40,0x10,0x20,0x10,0x10,0xFF,0x0F,0x10,0x20,0x10,0x40,0xF0,0x3F,0x00,0x00,
0x00,0x00,0xF8,0x7F,0x08,0x20,0x08,0x20,0x08,0x20,0xF8,0x7F,0x00,0x00,0x00,0x00,
0x10,0x04,0x62,0x04,0x44,0xFE,0x08,0x01,0x00,0x00,0xF0,0xFF,0x10,0x42,0x10,0x42,
0x10,0x42,0xFF,0x7F,0x10,0x42,0x10,0x42,0x10,0x42,0xF0,0xFF,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x30,0x00,0x78,0x00,0x78,0x80,0x33,0xE0,0x03,
0xF8,0x01,0xFE,0x00,0x7F,0x00,0x1F,0x00,0x07,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
};
//uchar led[]={}
void shift16bit(uchar dat1,uchar dat2) //595??16???
{
uchar i;
STCP=0;
for(i=0;i<8;i++)
{
SHCP=0;
if(dat1 & 0x80) DS=1;
else DS=0;
dat1<<=1;
SHCP=1;
}
for(i=0;i<8;i++)
{
SHCP=0;
if(dat2 &0x80) DS=1;
else DS=0;
dat2<<=1;
SHCP=1;
}
STCP=1;
}
void delay(uint x)
{
uint i;
for(i=0;i void main() { uchar i,x=0; uint n; while(1) { for(n=0;n<5;n++) //控制滚动速度 for(i=0;i<16;i++)//控制字形代码共16列 { Lie=i; shift16bit(led[2*i+2*x+1],led[2*i+2*x]);//取出每一列的数据 delay(100); } x++; if(x==96) x=0; } }
史海拾趣
|
如想参与本帖子讨论,请点以下链接:https://bbs.eeworld.com.cn/viewthread.php?tid=64508&extra=page%3D1&frombbs=1 尊敬的大学老师/业界同仁: 您好! 为了提高国内网络交换及信息安全的教学和科研水平,配合高校教学改革 ...… 查看全部问答> |
|
电容器是一种储能元件,具有“隔直通交,阴低频通高频”的特性,人们为了认识和鉴别不同电路中的电容器,根据其在线路中的作用而给它起了许多名称,了解这些名称和作用,对读图是垫脚有帮助的。下面介绍一些常用名称的含义。 1、滤波电容 它并接 ...… 查看全部问答> |
|
目前使用ARM9 S3C2410开发板在做实验 想请问下S3C2410芯片和GPRS模块的工作过程 两者之间是如何进行访问以及控制的 简单说就是想了解两者之间的关联和工作原理之类的,在线等解答,先谢谢了… 查看全部问答> |
|
我是初学者,看DS1302的资料也很多了,也看了别人的程序,怎么自己动手就这么难呢~~~~ 还是希望有高人给我指点一下~~~这个账号新注册的,没有分啊~给不了大家分数了~~~ 下面是我的程序,我现在手上还没有足够的器材,我想先学会使用DS1302,所 ...… 查看全部问答> |
|
我想在wince 注册表中设置系统时间并且生成NK,这样档NK重新烧写后,显示为设置的值,而不是一个随机的值。 请问什么键可以更改系统时间?… 查看全部问答> |
|
高手麻烦赐教,我有几个SOT23封装的管子,不知道型号是什么的,我把这几个管子的光刻发上来,麻烦有谁知道的回复,谢谢了WZE、WZS、WZP、3VW、WTZ、9EW、3NW这7个管子我量不像是三极管,倒是像稳压管 本文来自电子工程师之家:http://www.eehome.cn/ ...… 查看全部问答> |
|
MAX1640到底烧没烧,现在我是说不清楚了。 一直以为是两个MOS管的问题。 昨晚我用指针表测量了一下,发现她们俩都很正常。 至少G D和G S之间是绝缘的,然后D S之间只有一个方向有阻值,那也是正常的,谁让它加装了一个保护二极管。 然后,对于5 ...… 查看全部问答> |
|
我想用STM32F103ZE的TIM2定时器做基本的定时器用,产生4ms左右的中断。定时器的初始化程序如下: void TIM2_Configuration(void) { TIM_TimeBaseInitTypeDef TIM_TimeBaseStructure; /* Time base con ...… 查看全部问答> |
|
DSP和FPGA的板子,需要3.3V,1.8V和1.5V三种电源,为节约成本,决定不用PT69xx的电源芯片,请问高手,可以使用什么样的芯片呢,使用TPS56xxx系列的LDO,看Datasheet觉得好复杂,需要加MOS管在里面吗?谢谢… 查看全部问答> |




