找回密码
 立即注册

QQ登录

只需一步,快速开始

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

单片机控制12864循环显示

[复制链接]
跳转到指定楼层
楼主
ID:125275 发表于 2016-9-1 14:12 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
程序100%可以运行
拿走用不谢
#include<reg51.h>
#include<intrins.h>
#include<stdlib.h>
#define uchar unsigned char
#define uint unsigned int
#define LCD_DB P0
uchar num,m;
sbit RS=P2^2;
sbit RW=P2^1;
sbit EN=P2^0;
sbit CS1=P2^4;
sbit CS2=P2^3;
unsigned char code bai[]=
{0x00,0x00,0xE0,0x20,0x30,0x28,0x26,0x22,0x10,0x10,0x10,0xF0,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x1F,0x09,0x09,0x09,0x09,0x09,0x08,0x30,0x0F,0x00,0x00,0x00,0x00};


unsigned char code ri[]=
{0x00,0x00,0x00,0x00,0xF8,0x88,0x88,0x44,0x44,0x04,0xFC,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x0F,0x08,0x04,0x04,0x04,0x08,0x0F,0x00,0x00,0x00,0x00,0x00};


unsigned char code yi[]=
{0x80,0x40,0xF0,0x0E,0x00,0x10,0x90,0x50,0xB2,0x14,0x88,0x48,0x08,0x00,0x00,0x00,
0x00,0x00,0x3F,0x04,0x02,0x01,0x3F,0x10,0x08,0x01,0x02,0x04,0x0C,0x08,0x08,0x00};


unsigned char code shan[]=
{0x00,0x00,0x80,0x00,0x00,0x00,0x00,0xFE,0x00,0x00,0x00,0x00,0xC0,0x00,0x00,0x00,
0x00,0x00,0x1F,0x10,0x08,0x08,0x08,0x07,0x04,0x04,0x04,0x04,0x1F,0x00,0x00,0x00};


unsigned char code jin[]=
{0x00,0x00,0x00,0xC0,0x3C,0x12,0x32,0x52,0x92,0x0E,0x00,0x00,0x00,0x00,0x00,0x00,
0x08,0x04,0x03,0x00,0x00,0x11,0x22,0x64,0x00,0x01,0x01,0x03,0x02,0x02,0x02,0x00};


unsigned char code dou[]=
{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x2C,0x1C,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00};


unsigned char code huang[]=
{0x40,0x40,0x40,0x40,0x48,0xBE,0xA8,0xE8,0xB8,0xA7,0xA4,0x24,0x20,0x20,0x20,0x00,
0x00,0x00,0x40,0x40,0x2F,0x18,0x0A,0x0F,0x0A,0x14,0x27,0x60,0x00,0x00,0x00,0x00};


unsigned char code he[]=
{0x00,0x10,0x20,0x02,0x04,0xC8,0x48,0x28,0xE8,0x08,0x08,0xFC,0x04,0x04,0x04,0x00,
0x00,0x00,0x1C,0x03,0x00,0x00,0x01,0x01,0x01,0x00,0x10,0x3F,0x00,0x00,0x00,0x00};


unsigned char code ru[]=
{0x00,0x00,0x00,0x00,0x08,0xC8,0x30,0x60,0x80,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x10,0x08,0x04,0x02,0x01,0x00,0x00,0x00,0x01,0x02,0x04,0x08,0x18,0x10,0x10,0x00};


unsigned char code hai[]=
{0x00,0x20,0x44,0x08,0x00,0x10,0xE8,0x2F,0xE8,0xA4,0x94,0xF4,0x80,0x80,0x80,0x00,
0x00,0x18,0x06,0x01,0x01,0x0D,0x0B,0x09,0x2B,0x48,0x38,0x0F,0x08,0x08,0x00,0x00};


unsigned char code liu[]=
{0x00,0x20,0x44,0x08,0x00,0x10,0xD0,0xB0,0x51,0x4A,0x68,0x48,0x08,0x00,0x00,0x00,
0x00,0x00,0x18,0x07,0x20,0x18,0x06,0x00,0x1F,0x00,0x0F,0x10,0x10,0x10,0x1C,0x00};


unsigned char code ju[]=
{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x18,0x24,0x24,0x18,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00};


unsigned char code yu[]=
{0x00,0x20,0x10,0xCC,0x30,0x40,0x84,0x48,0x20,0x98,0x16,0x50,0x30,0x00,0x00,0x00,
0x04,0x02,0x1D,0x12,0x12,0x0E,0x10,0x08,0x04,0x03,0x02,0x04,0x08,0x10,0x10,0x00};


unsigned char code qiong[]=
{0x00,0x30,0x18,0x48,0x28,0x18,0xC9,0x0A,0x14,0x34,0x24,0x04,0x1C,0x00,0x00,0x00,
0x00,0x20,0x20,0x12,0x0A,0x06,0x03,0x11,0x21,0x19,0x07,0x00,0x00,0x00,0x00,0x00};


unsigned char code qian[]=
{0x00,0x40,0x40,0x40,0x48,0x48,0x44,0xFC,0x22,0x23,0x20,0x20,0x20,0x20,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x7F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00};


unsigned char code li[]=
{0x00,0x00,0x00,0x7C,0x84,0xA4,0xFC,0x54,0x52,0x42,0x72,0x0E,0x00,0x00,0x00,0x00,
0x00,0x20,0x20,0x20,0x24,0x24,0x1F,0x12,0x12,0x12,0x10,0x10,0x10,0x10,0x00,0x00};


unsigned char code mu[]=
{0x00,0x00,0x00,0x00,0xFC,0xA4,0xA4,0xA4,0x02,0x02,0xFE,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x1F,0x04,0x04,0x04,0x04,0x08,0x1F,0x00,0x00,0x00,0x00,0x00};




unsigned char code geng[]=
{0x00,0x00,0x00,0x00,0xF0,0x12,0x52,0xFE,0xA9,0xA9,0xC9,0x38,0x00,0x00,0x00,0x00,
0x00,0x20,0x20,0x22,0x12,0x0D,0x05,0x0B,0x10,0x10,0x20,0x20,0x20,0x20,0x20,0x00};


unsigned char code shang[]=
{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFE,0x40,0x40,0x20,0x20,0x00,0x00,0x00,0x00,
0x00,0x20,0x20,0x20,0x20,0x20,0x20,0x1F,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x00};


unsigned char code yi1[]=
{0x00,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x40,0x40,0x40,0x40,0xC0,0x80,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00};


unsigned char code ceng[]=
{0x00,0x00,0x00,0x00,0xFC,0x14,0x94,0x92,0x52,0x4A,0x4A,0x46,0x00,0x00,0x00,0x00,
0x10,0x08,0x04,0x03,0x22,0x32,0x1A,0x16,0x11,0x11,0x15,0x19,0x31,0x01,0x01,0x00};


unsigned char code lou[]=
{0x00,0x40,0x40,0xFE,0xA0,0x00,0xA0,0x68,0x10,0xFE,0x30,0x54,0x90,0x80,0x00,0x00,
0x04,0x02,0x01,0x3F,0x00,0x05,0x24,0x2C,0x1B,0x0A,0x16,0x12,0x22,0x02,0x02,0x00};


unsigned char code juhao[]=
{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x18,0x24,0x24,0x18,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00};
void Read_busy()
{
P0=0;
RS=0;
RW=0;
EN=1;
while(P0&0x80);
EN=0;
}
void write_LCD_command(uchar cmd)
{
Read_busy();
RS=0;
RW=0;
LCD_DB=cmd;
EN=1;
_nop_();
_nop_();
EN=0;
}
void write_LCD_data(uchar dat)
{
Read_busy();
RS=1;
RW=0;
LCD_DB=dat;
EN=1;
_nop_();
_nop_();
EN=0;
}
void Set_page(uchar page)
{
page=0xb8|page;
write_LCD_command(page);
}
void Set_line(uchar startline)
{
startline=0xc0|startline;
write_LCD_command(startline);
}
void Set_column(uchar column)
{
column=column&0x3f;
column=0x40|column;
write_LCD_command(column);
}
void Setonoff(uchar onoff)
{
onoff=0x3e|onoff;
write_LCD_command(onoff);
}
void SelectScreen(uchar screen)
{
switch(screen)
{
case 0: CS1=0;CS2=0;break;
case 1: CS1=0;CS2=1;break;
case 2: CS1=1;CS2=0;break;
default:break;
}
}
void ClearScreen(uchar screen)
{
uchar i,j;
SelectScreen(screen);
for(i=0;i<8;i++)
{
Set_page(i);
Set_column(0);
for(j=0;j<64;j++)
{
write_LCD_data(0x00);//??0,??????1
}
}
}
void InitLCD()
{
Read_busy();
SelectScreen(0);
Setonoff(0);
SelectScreen(0);
Setonoff(1);
SelectScreen(0);
ClearScreen(0);
Set_line(0);
}
void Display(uchar ss,uchar page,uchar column,uchar *p)
{
uchar i;
SelectScreen(ss);
Set_page(page); //????
Set_column(column);
for(i=0;i<16;i++)
{
write_LCD_data(p[i]);//??????
}
Set_page(page+1);//????
Set_column(column);
for(i=0;i<16;i++)
{
write_LCD_data(p[i+16]);//??????
}
}
void main()
{
InitLCD();
ClearScreen(0);
        while(1)
        {
Set_line(m);//?????
Display(1,0,1*16,bai);
Display(1,0,2*16,ri);
Display(1,0,3*16,yi);
Set_line(m);//?????
Display(2,0,4*16,shan);
Display(2,0,5*16,jin);
Display(2,0,6*16,dou);
Display(1,2,1*16,huang);
Display(1,2,2*16,he);
Display(1,2,3*16,ru);
Display(2,2,4*16,hai);
Display(2,2,5*16,liu);
Display(2,2,6*16,ju);
Display(1,4,1*16,yu);
Display(1,4,2*16,qiong);
Display(1,4,3*16,qian);
Display(2,4,4*16,li);
Display(2,4,5*16,mu);
Display(2,4,6*16,dou);
Display(1,6,1*16,geng);
Display(1,6,2*16,shang);
Display(1,6,3*16,yi1);
Display(2,6,4*16,ceng);
Display(2,6,5*16,lou);
Display(2,6,6*16,ju);
m++;
if(m==63)
        m=0;
}
}


评分

参与人数 1黑币 +50 收起 理由
admin + 50 共享资料的黑币奖励!

查看全部评分

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

使用道具 举报

沙发
ID:65232 发表于 2016-9-2 14:26 | 只看该作者
我是来学习的,并且非要谢咋办呢。
回复

使用道具 举报

板凳
ID:255579 发表于 2017-11-30 10:37 | 只看该作者
后面的拼音不是可以直接用汉字的么
回复

使用道具 举报

地板
ID:135835 发表于 2017-11-30 12:29 | 只看该作者
数组里的词句用字符串表示会比较直观
回复

使用道具 举报

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

本版积分规则

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

Powered by 单片机教程网

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