找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 3732|回复: 13
收起左侧

理工男的浪漫,12864液晶表白

  [复制链接]
ID:247090 发表于 2017-12-5 21:11 | 显示全部楼层 |阅读模式
#include<reg51.h>
#include<intrins.h>
#include<stdlib.h>
#define uchar unsigned char
#define uint unsigned int
/*端口定义*/
#define data P0
sbit rw=P2^5;
sbit rs=P2^6;
sbit en=P2^7;
sbit psb=P3^7;
uchar dis1[]={"520 1314"};
uchar dis2[]={"孙家欣"};
uchar dis3[]={"I LOVE YOU"};
uchar dis4[]={"    --齐秋阳"};
void delayms(uint xms)
{
uint i,j;
for(i=xms;i>0;i--)
        for(j=110;j>0;j--);
}
/*写指令函数*/
/*rs=l,rw=l,en=高脉冲,D0-D7=指令码。*/
void write_cmd(uchar cmd)
{
        rs=0;
        rw=0;
        en=0;
        P0=cmd;
        delayms(5);
        en=1;
        delayms(5);
        en=0;
}
/*写显示数据*/
/*rs=h,rw=l,*/
void write_dat(uchar dat)
{
rs=1;
rw=0;
en=0;
P0=dat;
delayms(5);
en=1;
delayms(5);
en=0;
}
/*设定显示位置*/
void lcd_pos(uchar X,uchar Y)
{
uchar pos;
if(X==0)
        {X=0x80;}
else if(X==1)
        {X=0x90;}
else if(X==2)
        {X=0x88;}
else if(X==3)
        {X=0x98;}
pos=X+Y;
write_cmd(pos);                                //显示地址
}
//void makerand()
//{
// uint ran;
// ran=rand();
// dis1[0]=ran/10000+0x30;
// dis1[1]=ran%10000+0x30;
// dis1[2]=ran%1000/100+0x30;
// dis1[3]=ran%100/10+0x30;
// dis1[4]=ran%10+0x30;
//
// ran=rand();
// dis1[5]=ran/10000+0x30;
// dis1[6]=ran%10000+0x30;
// dis1[7]=ran%1000/100+0x30;
// dis1[8]=ran%100/10+0x30;
// dis1[9]=ran%10+0x30;
//}
/*初始化*/
void init()
{
        psb=1;                  //并口方式
        write_cmd(0x30);                //基本指令操作
        delayms(5);
        write_cmd(0x0c);                //显示开,关光标
        delayms(5);
        write_cmd(0x01);                //清除显示内容
        delayms(5);
}
void main()
{
uchar i;
delayms(10);
init();
  lcd_pos(0,0);                                                           //第二行第一个字符
i=0;
while(dis1[i]!='\0')
{
  write_dat(dis1[i]);
  i++;
}
lcd_pos(1,0);                                                           //第二行第一个字符
i=0;
while(dis2[i]!='\0')
{
  write_dat(dis2[i]);
  i++;
}
lcd_pos(2,0);                                                        //第三行第一个字符
i=0;
while(dis3[i]!='\0')
{
  write_dat(dis3[i]);
  i++;
}                                  
  lcd_pos(3,0);                                                        //第三行第一个字符
i=0;
while(dis4[i]!='\0')
{
  write_dat(dis4[i]);
  i++;
}
}

评分

参与人数 2黑币 +53 收起 理由
qjzyx + 3 赞一个!
admin + 50 共享资料的黑币奖励!

查看全部评分

回复

使用道具 举报

ID:251178 发表于 2017-12-6 01:03 | 显示全部楼层
挺不错的。谢谢分享、
回复

使用道具 举报

ID:247090 发表于 2017-12-17 19:58 | 显示全部楼层
7562750 发表于 2017-12-6 01:03
挺不错的。谢谢分享、

哈哈,一般啦,还是刚学液晶时写的呢,哈哈
回复

使用道具 举报

ID:261274 发表于 2017-12-17 20:41 | 显示全部楼层
看着挺不错
回复

使用道具 举报

ID:247090 发表于 2018-2-2 20:33 | 显示全部楼层

刚学习51时写着玩的
回复

使用道具 举报

ID:281882 发表于 2018-2-3 12:28 | 显示全部楼层
楼主很强大,学习了
回复

使用道具 举报

ID:266116 发表于 2018-2-3 13:18 | 显示全部楼层
谢谢分享
回复

使用道具 举报

ID:247090 发表于 2018-2-4 18:53 | 显示全部楼层
weikai1994 发表于 2018-2-3 12:28
楼主很强大,学习了

嘿嘿,一般啦,服务人民吗
回复

使用道具 举报

ID:247090 发表于 2018-2-4 18:54 | 显示全部楼层

应该的应该的
回复

使用道具 举报

ID:282207 发表于 2018-2-5 15:02 | 显示全部楼层
很好,非常不错,谢谢。
回复

使用道具 举报

ID:236699 发表于 2018-2-5 21:09 | 显示全部楼层
挺不错的。谢谢分享
回复

使用道具 举报

ID:743228 发表于 2020-8-13 14:13 | 显示全部楼层
有仿真图吗,大佬,我链接出来不亮,初学者
回复

使用道具 举报

ID:813417 发表于 2020-8-14 09:52 | 显示全部楼层
学废了,学废了,哈哈哈哈
回复

使用道具 举报

ID:814569 发表于 2020-8-16 09:50 | 显示全部楼层
没仿真,链接出来也不亮
回复

使用道具 举报

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

本版积分规则

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

Powered by 单片机教程网

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