玩转LED点阵之一:16X64单红点阵静态显示

发布者:大头玩家最新更新时间:2015-07-02 来源: 51hei关键字:LED点阵  16X64  静态显示  STC89C52 手机看文章 扫描二维码
随时随地手机看文章
//单片机:STC89C52

//晶振:22.1184M
//显示屏:HUB08接口16X64单红点阵
//显示方式:静态16X16汉字
//作者:huqin
//QQ: 1766135164
//网址:http://www.51hei.com
//时间:2013-05-13
#include
#include"zimo.h"
sbit SDAR1=P0^4; //红色数据1
sbit SDAR2=P3^3; //红色数据2
sbit SDAG1=P3^4; //绿色数据1
sbit SDAG2=P3^5; //绿色数据2
sbit CLK=P0^7;   //74HC595的时钟
sbit STB=P0^6;   //输出锁存
sbit OE=P0^5;    //74HC138的使能

 //74HC595串行数据输入
void SendDate(unsigned char DataR1,unsigned char DataG1,unsigned char DataR2,unsigned char DataG2)
{
 unsigned char i;
 for(i = 0; i < 8; i++)
 {
  SDAR1=DataR1 & 0x01;
  SDAG1=DataG1 & 0x01;
  SDAR2=DataR2 & 0x01;
  SDAG2=DataG2 & 0x01;
  CLK = 0;
  CLK = 1;
  DataR1 >>= 1;
  DataG1 >>= 1;
  DataR2 >>= 1;
  DataG2 >>= 1;
 }
}

//主函数入口
void main()
{
 unsigned int num;
 SDAR1=0;
 SDAR2=0;
 SDAG1=0;
 SDAG2=0;

 while(1)
 
  for(num=0;num<16;num++)
  {
   SendDate(~Table[num*2+0],~0X00,~0x00,~0X00);
   SendDate(~Table[num*2+1],~0X00,~0x00,~0X00);
   SendDate(~Table[num*2+0+32],~0X00,~0x00,~0X00);
   SendDate(~Table[num*2+1+32],~0X00,~0x00,~0X00);
   
   SendDate(~Table[num*2+0+64],~0X00,~0x00,~0X00);
   SendDate(~Table[num*2+1+64],~0X00,~0x00,~0X00);
   SendDate(~Table[num*2+0+96],~0X00,~0x00,~0X00);
   SendDate(~Table[num*2+1+96],~0X00,~0x00,~0X00);
   OE=1;    
   STB=1;     //输出锁存
   STB=0;
   P0=num;    //16位行选
   OE=0;
  }
 }

zimo.h

unsigned char code Table[]={ //取模宋体
0x08,0x00,
0xC8,0x7F,
0x48,0x00,
0x7F,0x00,
0x48,0x3F,
0x68,0x00,
0xD8,0x7F,
0x48,0x03,
0x4C,0x25,
0x4B,0x65,
0x48,0x19,
0x48,0x11,
0x28,0x11,
0x28,0x65,
0x1A,0x23,
0x04,0x01,

0xFC,0x1F,
0x00,0x0C,
0x60,0x03,
0x80,0x00,
0xFC,0x1F,
0x84,0x10,
0x84,0x10,
0xFC,0x1F,
0x84,0x10,
0x84,0x10,
0xFC,0x1F,
0x84,0x10,
0x84,0x10,
0x84,0x10,
0x84,0x14,
0x04,0x08,

0x80,0x00,
0x80,0x00,
0x80,0x00,
0xFC,0x1F,
0x84,0x10,
0x84,0x10,
0xFC,0x1F,
0x84,0x10,
0x84,0x10,
0x84,0x10,
0xFC,0x1F,
0x84,0x10,
0x80,0x40,
0x80,0x40,
0x00,0x7F,
0x00,0x00,

0x00,0x00,
0xFC,0x0F,
0x00,0x04,
0x00,0x02,
0x00,0x01,
0x80,0x00,
0x80,0x00,
0x80,0x20,
0xFF,0x7F,
0x80,0x00,
0x80,0x00,
0x80,0x00,
0x80,0x00,
0x80,0x00,
0xA0,0x00,
0x40,0x00,
};

 

实际效果:

关键字:LED点阵  16X64  静态显示  STC89C52 引用地址:玩转LED点阵之一:16X64单红点阵静态显示

上一篇:8位共阴极数码管动态驱动程序
下一篇:51单片机+315M无线射频模块接受程序

推荐阅读最新更新时间:2024-03-16 14:23

基于GSM大棚微喷灌溉控制系统设计
0 引言 我国是一个水资源极为短缺的国家,根据水利部、中国工程院等部门的预测,我国农业用水必须维持零增长或负增长,才能保证我国用水安全和生态安全,缓解水资源供需矛盾的重要途径之一是发展先进节水灌溉技术。直至今日,灌溉技术日趋先进,但多数的灌溉还停留在按键控制微喷灌溉或半自动手动灌溉,自动控制设备几乎是空白。针对传统的灌溉控制器布线多、施工难,且采用RS485与计算机通信时距离受限、以及手机的普及等问题,因此,提出了一种基于GSM大棚微喷灌溉控制系统设计,随时随地通过手持设备完成对农作物的微喷灌溉控制。本系统通过AM2301温湿度传感器采集大棚温湿度信息,经由GSM网络的传送指令,以单片机为信息处理中心,输出信号至电磁继电器,控制微喷
[单片机]
基于GSM大棚微喷灌溉控制系统设计
51单片机STC89C52控制LED跑马灯左移(使用C51自带库_crol_()实现)
/*-----------------------包含头文件区域-------------------------*/ #include reg52.h //单片机头文件 #include intrins.h //C51自带库头文件 /*-----------------------函数声明区域---------------------------*/ void delay(unsigned int xms);//延时函数声明 /*-----------------------主函数区域-----------------------------*/ void main() { unsigned char i;/
[单片机]
基于C语言STC89C52单片机电子密码锁的设计与仿真
摘要:介绍一种通过Protues软件成功仿真的电子密码锁的实现过程。它采用高可靠性的STC89C52单片机来实现开锁和密码的识别,采用具备I2C总线接口的E2PROM芯片来完成密码的存储,通过1602液晶显示器提示程序运行状态和使用步骤,利用蜂鸣器模拟报警,发光二极管模拟锁的开关。该系统用C语言编写程序,与汇编语言相比具备更好的移植性和可读性,便于修改和增减功能。 关键词:Protues;密码锁;单片机;C语言 O 引言 电子密码锁是现代生活中常用的加密工具。它克服了机械式密码锁密码量少、安全性能差的缺点,尤其是微控制器的智能电子密码锁,不仅具有电子密码锁的功能,还可引入智能化管理功能,从而使密码锁具有更高的安全性和可靠性。
[单片机]
基于C语言<font color='red'>STC89C52</font>单片机电子密码锁的设计与仿真
16*16LED点阵显示汉字C51程序
此程序硬件为两片164控制行,两片595控制列. //***************************作者:Undertaker QQ:1205946980*********************// #include reg52.h #include intrins.h #define uchar unsigned char #define uint unsigned int code uchar TAB ={ {0x00,0x80,0x00,0x80,0xFC,0x80,0x05,0xFE, 0x85,0x04,0x4A,0x48,0x28,0x40,0x10,0x40, 0x
[单片机]
51单片机实验8:led点阵(1):点亮一个点
开发板led点阵模块电路图如下: 74HC595:74HC595是一个8位串行输入、并行输出的位移缓存器。芯片第11角为数据输入时钟线,上升沿有效。芯片第12脚为输出存储器锁存时钟线,上升沿有效。芯片第13脚为输出有效(低电平)。芯片第14脚为串行数据输入。 为表示出输入74HC595的8位二进制数,开发板加入了led模块(图一中绿色所示)。若要使led发光,则需将JP595接vcc。 OE为输出有效控制端,低电平有效,所以务必将JOE短接片短接到GND端。 _nop_();函数为延时一个机器周期,所对应头文件为intrins.h #include reg52.h #include intrins.h #
[单片机]
51单片机实验8:<font color='red'>led点阵</font>(1):点亮一个点
51单片机之静态数码管显示
数码管的物理实物图: 不管将几位数码管连在一起,数码管的显示原理都是一样的,都是靠点亮内部的发光二极管来发光,下面就来我们讲解一个数码管是如何亮起来的。数码管内部电路如下图所示,从右图可看出,一位数码管的引脚是10个,显示一个8字需要7个小段,另外还有一个小数点,所以其内部一共有8个小的发光二极管,最后还有一个公共端,生产商为了封装统一,单位数码管都封装10个引脚,其中第3和第8引脚是连接在一起的。而它们的公共端又可分为共阳极和共阴极,中间图为共阳极内部原理图,右图为共阴极内部原理图。 上图展出了常用的两种数码管的引脚排列和内部结构。总所周知,点亮发光二极管就是要给予它足够大的正向压降。所以点亮数码管其实也就是给它内部相应
[单片机]
51单片机之<font color='red'>静态</font>数码管<font color='red'>显示</font>
51单片机——数码管静态显示
1、由原理图找到对应控制端口 这次是想要在数码管上显示出数值。同样的,先在开发板原理图中找到数码管对应的控制端口 发现要让数码管起作用的话,LEDS0要为低电平,则在74LS138译码器中,输入A2A1A0的值分别为000。而P0口可以控制数码管的显示。 2、程序部分 需要用到的对应控制端口找完,开始写程序。先写个简单一点数码管静态显示。 程序如下: #include reg52.h sbit ADDR0=P1^0; sbit ADDR1=P1^1; sbit ADDR2=P1^2; sbit ADDR3=P1^3; sbit ENLED=P1^4; void delay(
[单片机]
51单片机——数码管<font color='red'>静态</font><font color='red'>显示</font>
小广播
添点儿料...
无论热点新闻、行业分析、技术干货……
设计资源 培训 开发板 精华推荐

最新单片机文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件
随便看看
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved