找回密码
 立即注册

QQ登录

只需一步,快速开始

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

请问下led显示 实现滚动汉字的程序怎么写 。下面是我的程序怎么实现滚动

[复制链接]
跳转到指定楼层
楼主
ID:57112 发表于 2013-12-7 14:56 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
#include<reg51.h>
#include <intrins.h>

unsigned char code FONT16x16[3][32]={                
{ 0x12, 0x48, 0x12, 0x48, 0x13, 0xC8, 0x12, 0x48, 0x10, 0x08, 0x10, 0x08, 0x10, 0x28, 0x10, 0x10,0x08, 0x00, 0x08, 0x04, 0x0F, 0xFE, 0x10, 0x08, 0x10, 0x48, 0x33, 0xE8, 0x52, 0x48, 0x92, 0x48},//何
{ 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x05, 0x00, 0x02, 0x00,0x02, 0x00, 0x01, 0x00, 0x7F, 0xFE, 0x40, 0x02, 0x80, 0x04, 0x00, 0x00, 0xFF, 0xFE, 0x01, 0x00},//宁
{ 0x14, 0x08, 0x25, 0x10, 0xE4, 0xA0, 0x24, 0x40, 0x28, 0xA0, 0x29, 0x10, 0x32, 0x0E, 0x24, 0x04,0x00, 0x40, 0x40, 0x40, 0x30, 0x40, 0x17, 0xFC, 0x04, 0x44, 0x84, 0x48, 0x44, 0x40, 0x0F, 0xF8,
}};//波       

sbit SDI=P2^1;
sbit SRCLK=P2^0;
sbit RCLK=P2^2;

#define LineCtrl P1

void delay(unsigned int us)
{
        while(us--);
}


void SendByte(unsigned char dat)
{
        unsigned char i;
        for(i=0;i<8;i++)
        {
                SRCLK=0;
                if(dat&0x80)
                SDI=1;
                else
                SDI=0;
                SRCLK=1;
                dat=dat<<1;               
        }
}

void Display(unsigned char *dat1,unsigned char *dat2,unsigned char *dat3)
{
        unsigned char i;
        for(i=0;i<16;i++)
        {                       
                SendByte(dat3[2*i+1]);  SendByte(dat3[2*i]);
                SendByte(dat2[2*i+1]);  SendByte(dat2[2*i]);
                SendByte(dat1[2*i+1]); SendByte(dat1[2*i]);
                RCLK=0;
                _nop_();
                _nop_();
                _nop_();
                _nop_();
                LineCtrl=i;
                RCLK=1;
                delay(100);
        }
}
void main(void)
{ while(1)
        Display(FONT16x16[0],FONT16x16[1],FONT16x16[2]);
}

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

使用道具 举报

沙发
ID:1 发表于 2013-12-7 16:43 | 只看该作者
数码管滚动显示的程序我早就发布过了:http://www.51hei.com/bbs/dpj-4002-1.html
回复

使用道具 举报

板凳
ID:7485 发表于 2013-12-9 13:02 | 只看该作者
本帖最后由 ahshmj 于 2013-12-9 13:04 编辑

要在LCD上左右滚动汉字,如果是一个字一个字的滚动,并不难。严格说来,这样不叫做滚动,应叫做“跳动”。
如果平滑的向左或右移动(每个16*16点阵的汉字移动16次,每次移动一列)还是比较复杂的,当然也不能算“难”。这样的项目在一般的开发板上不太容易做。特别是滚动的信息中有实时更新的内容时。一般需要有外扩的RAM。我在19264lcd做过一个,按我的方案,需要有外挂汉字库、外挂RAM、外扩I/O(P0、P2不可再做I/O,加上12887、19264LCD、加上键盘,本身的I/O肯定不够用)


这个项目,我曾在本论坛发表过。
回复

使用道具 举报

地板
ID:1 发表于 2013-12-19 03:08 | 只看该作者
搜索 ahshmj 大侠以前的帖子即可找到
回复

使用道具 举报

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

本版积分规则

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

Powered by 单片机教程网

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