12864液晶并行方式显示

12864液晶并行方式显示

大家好,又见面了,我是全栈君,祝每个程序员都可以多学几门语言。

12864液晶使用的16*16点阵、128个字符(8*16点阵)及64*256点阵显示RAM(GDRAM).与外部CPU接口採用并行或串行两种控制方式。

12864液晶并行方式显示
在12864上显示0-9的随机数 第二行显示www.csdn.blog

第三行显示“求是07的博客”

第四行显示“欢迎光临”


下面是基本的代码

#include <reg52.h>
#include <intrins.h>
#include <stdlib.h>
#define uchar unsigned char
#define uint unsigned int
#define LCD_data=P0;
sbit rs=P3^5;
sbit wr=P3^6;
sbit en=P3^4;
sbit rd=P3^7;
sbit wela=P2^6;
sbit dula=P2^7;
uchar display1[10];
uchar code display2[]={“www.csdn.blog.com”};
uchar code display3[]={“求是07的博客”};
uchar code display4[]={“欢迎光临”};
void delay_1ms(uint x)
{
uint i,j;
for(i=0;i<x;i++)
for(j=0;j<100;j++);
}

void write_cmd(uchar cmd)
{
rs=0;
wr=0;
en=0;
P0=cmd;
delay_1ms(5);
en=1;
delay_1ms(5);
en=0;
}

void write_data(uchar dat)
{
rs=1;
wr=0;
en=0;
P0=dat;
delay_1ms(5);
en=1;
delay_1ms(5);
en=0;
}

void lcd_pos(uchar X,uchar Y)
{
uchar pos;
if(X==0)
{X=0x80;}
if(X==1)
{
X=0x90;
}
if(X==2)
{
X=0x88;
}
if(X==3)
{
X=0x98;
}
pos=X+Y;
write_cmd(pos);
}

void makerand() //随机函数
{
uint ran;
ran=rand();
display1[0]=ran/10000+0x30;
display1[1]=ran%10000/1000+0x30;
display1[2]=ran%1000/100+0x30;
display1[3]=ran%100/10+0x30;
display1[4]=ran%10+0x30;
ran=rand();
display1[5]=ran/10000+0x30;
display1[6]=ran%10000/1000+0x30;
display1[7]=ran%1000/100+0x30;
display1[8]=ran%100/10+0x30;
display1[9]=ran%10+0x30;
}

void lcd_init()
{
rd=1; //设置 并口方式
write_cmd(0x30);//这里设置基本指令动作
delay_1ms(5);
write_cmd(0x0C);//显示开,光光标
delay_1ms(5);
write_cmd(0x01);//清屏
delay_1ms(5);
}
main()
{
uchar i;
wela=0;
dula=0;
delay_1ms(5);
lcd_init();
lcd_pos(1,0);
i=0;
while(display2[i]!=’\0′)
{
write_data(display2[i]);
i++;
}
lcd_pos(2,0);
i=0;
while(display3[i]!=’\0′)
{
write_data(display3[i]);
i++;
}
lcd_pos(3,0);
i=0;
while(display4[i]!=’\0′)
{
write_data(display4[i]);
i++;
}
while(1)
{
lcd_pos(0,0);
makerand();
for(i=0;i<10;i++)
{
write_data(display1[i]);
}
}
}

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/118780.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 快速搭建一个自己的服务器详解(java环境)「建议收藏」

    快速搭建一个自己的服务器详解(java环境)「建议收藏」一.服务器的购买1.我选择的是阿里云的服务器,学生价9.5元一个月,百度直接搜索阿里云,然后点击右上角登录,推荐大家用支付宝扫码登录,方便快捷。阿里云官网的东西比较多,登录后我找了很久也没有找到学生服务器在哪里卖,最后在咨询里找到了这个网址,https://promotion.aliyun.com/ntms/campus2017.html,购买的时候需要进行学生认证,按照他的要求一步步…

    2022年6月11日
    25
  • 查看webpack版本命令_webpack阮一峰

    查看webpack版本命令_webpack阮一峰想着搞一下webpack的构建优化,网上看到一些方法说是要webpack4及以上的才能用。然后就要看看是啥版本来着——查看当前项目的webpack版本1.命令行执行npxwebpack-v(最方便啦)因为webpack是局部安装,要进入依赖包执行webpack的命令才有效,直接webpack-v会被认为命令无效。使用npm包执行器npx可以自动找到对应的包执行命令(一般安装了npm会自动安装npx)2.在package.json添加script命

    2022年8月10日
    47
  • 本工作站与主域失去信任_电脑加域后无管理员

    本工作站与主域失去信任_电脑加域后无管理员1.如图。解决方式原因:用户和域的安全通道损坏。解决方式:方式1:退域加域名。(需要重启两次麻烦)方式2:推荐方式:用本地管理员进去。用命令修复安全通道。(使用powershell输入命令打开)(不需要重启)Test-ComputerSecureChannel-Credential域账号(域名\账号)-Repair注意:在本地管理管理员,多尝试几次就能修复了。修复的标志:命令:Test-ComputerSecureChannel造成退域的原因:(不止这几点)1.密码更新失败

    2022年10月19日
    5
  • 游戏的导演剪辑版是什么意思_商业转型成功案例

    游戏的导演剪辑版是什么意思_商业转型成功案例VeryCD挥别影视做游戏月入亿元转型成功

    2022年8月10日
    7
  • platform_device与platform_driver

    platform_device与platform_driver

    2021年12月14日
    43
  • HDU 1556-差分数组和线段树的对比分析-Color the ball

    HDU 1556-差分数组和线段树的对比分析-Color the ball差分数组数据结构详解戳这里!线段树数据结构详解戳这里!这两个数据结构的操作主要有两个:更新和查询。假设数据结构总长度为n。差分数组:更新时间复杂度O(1)查询时间复杂度O(n)线段树:更新时间复杂度O(logn)查询时间复杂度O(logn)因此,差分数组适用于多次更新,常量次查询,数据范围在1e7以内的情况;线段树适用于多次更新,多次查询,数据范围在1e5以内的…

    2022年5月7日
    49

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号