找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 1914|回复: 0
打印 上一主题 下一主题
收起左侧

8x8滚动显示

[复制链接]
跳转到指定楼层
楼主
ID:103224 发表于 2016-1-15 10:48 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
#include <reg52.h>
#include "74HC595.H"

unsigned char  i;
unsigned int  m,n;


/*--------------------------------------------------------------*/
//代码库           
#define  num  sizeof(table)        //代码长度
unsigned char code aa[]={0xfe,0xfd,0xfb,0xf7,0xef,0xdf,0xbf,0x7f};
unsigned char code table[]= {
//取模方式 阴码 列扫描 逆向              
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,/*" ",0*/
0x00,0x7F,0x7F,0x39,0x6F,0x46,0x00,0x00,/*"R",1*/
0x00,0x41,0x7F,0x7F,0x41,0x00,0x00,0x00,/*"I",2*/
0x00,0x3E,0x7F,0x41,0x63,0x22,0x00,0x00,/*"C",3*/
0x00,0x7F,0x7F,0x08,0x7F,0x7F,0x00,0x00,/*"H",4*/
0x00,0x7F,0x7F,0x06,0x7F,0x7F,0x00,0x00,/*"M",5*/
0x00,0x3E,0x7F,0x41,0x63,0x22,0x00,0x00,/*"C",6*/
0x00,0x3F,0x7F,0x40,0x7F,0x3F,0x00,0x00,/*"U",7*/
0x00,0x36,0x7F,0x49,0x7F,0x36,0x00,0x00,/*"8",9*/
0x00,0x63,0x7F,0x1C,0x7F,0x63,0x00,0x00,/*"X",10*/
0x00,0x36,0x7F,0x49,0x7F,0x36,0x00,0x00,/*"8",11*/
0x00,0x01,0x7F,0x7F,0x01,0x01,0x00,0x00,/*"T",13*/
0x00,0x7F,0x7F,0x49,0x49,0x41,0x00,0x00,/*"E",14*/
0x00,0x26,0x6F,0x49,0x7B,0x32,0x00,0x00,/*"S",15*/
0x00,0x01,0x7F,0x7F,0x01,0x01,0x00,0x00,/*"T",16*/
0x00,0x7F,0x7F,0x39,0x6F,0x46,0x00,0x00,/*"R",18*/
0x00,0x61,0x79,0x5D,0x4F,0x43,0x00,0x00,/*"Z",19*/
0x00,0x08,0x08,0x08,0x08,0x08,0x00,0x00,/*"-",20*/
0x00,0x62,0x73,0x59,0x4F,0x46,0x00,0x00,/*"2",21*/
0x00,0x3E,0x7F,0x41,0x7F,0x3E,0x00,0x00,/*"0",22*/
0x00,0x3E,0x7F,0x41,0x7F,0x3E,0x00,0x00,/*"0",23*/
0x00,0x26,0x6F,0x49,0x7F,0x3E,0x00,0x00,/*"9",24*/
0x00,0x7F,0x7F,0x41,0x7F,0x3E,0x00,0x00,/*"D",26*/
0x00,0x7F,0x7F,0x49,0x49,0x41,0x00,0x00,/*"E",27*/
0x00,0x7F,0x7F,0x06,0x7F,0x7F,0x00,0x00,/*"M",28*/
0x00,0x7F,0x7F,0x41,0x7F,0x7F,0x00,0x00,/*"O",29*/
0x00,0x26,0x6F,0x49,0x7B,0x32,0x00,0x00,/*"S",31*/
0x03,0x07,0x7C,0x7C,0x07,0x03,0x00,0x00,/*"Y",32*/
0x00,0x26,0x6F,0x49,0x7B,0x32,0x00,0x00,/*"S",33*/
0x00,0x01,0x7F,0x7F,0x01,0x01,0x00,0x00,/*"T",34*/
0x00,0x7F,0x7F,0x49,0x49,0x41,0x00,0x00,/*"E",35*/
0x00,0x7F,0x7F,0x06,0x7F,0x7F,0x00,0x00,/*"M",36*/
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,/*" ",37*/


};


/*--------------------------------------------------------------*/
//显示函数      
void Display(void)

{               
Ser_IN((aa[i])); //列扫描数据
Ser_IN(table[i + n]);                                //查表取出行扫描数据
        Par_OUT();                                                        //输出显示       
        i++; if(i == 8) i = 0;                                //循环扫描
        m++; if(m == 500) {m = 0; n++;}                //滚动速度控制
        if(n == num-7) n = 0;                                //循环显示
}


/*--------------------------------------------------------------*/
//定时器初始化
void T0_init(void)
{
    TMOD = 0xf8;
    TH0  = 0xcc;                //5000us
    TL0  = 0x00;
    IE   = 0x82;
    TR0  = 1;
}


/*--------------------------------------------------------------*/
//定时器中断服务            
void T0_intservice(void) interrupt 1 using 0
{
    TH0 = 0xf8;
    TL0 = 0xcc;
        Display();
}


/*--------------------------------------------------------------*/
//主函数         
void main (void)
{
        T0_init();
        while(1);               
}


分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖 顶 踩
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表