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)
上一篇 2021年12月1日 下午1:00
下一篇 2021年12月1日 下午1:00


相关推荐

  • tomcat出现乱码怎么办_tomcat输出日志乱码

    tomcat出现乱码怎么办_tomcat输出日志乱码1.打开tomcat如下位置:找到logging-properties文件,选择用代码编辑器打开(我这里选择用idea)2.在25-47行中把五个红框起来的UTF-8改为GB2312此时点击bin,目录下的startup.bat(window用户)或startup.sh(mac用户)启动tomcat,控制台的乱码问题解决。如果此时还没有解决乱码问题,需要1.windows+R打开运行,在运行框中输入regedit,进入注册表编辑器中2.如果没有Tomcat或者CodePag(1)

    2026年4月13日
    6
  • MySQL常用语句收集

    MySQL常用语句收集

    2021年5月31日
    117
  • 微型计算机的主要因素,微型计算机的性能主要取决于( )。

    微型计算机的主要因素,微型计算机的性能主要取决于( )。【单选题】运用移动平均线研判股价趋势时,股价在一段时间下跌后,若短期均线开始上翘,继而穿越长期均线,形成:【单选题】在完成高度保密和紧急任务时往往不适用的领导方式是()【判断题】汽油和柴油发动机的负荷特性区别在于调节方式不同,汽油机属于质调节,柴油机属于量调节【判断题】为了让烙铁头充分接触焊点,焊接时可适当施加压力。【单选题】按构成空间视线限制的方向性可将植物构成空间分为水平空间和()…

    2022年6月28日
    29
  • BSON C 学习笔记

    BSON C 学习笔记一 数组里面添加元素 nbsp nbsp nbsp nbsp include includebson t Array nbsp nbsp nbsp nbsp bson t doc nbsp nbsp nbsp nbsp Array bson new nbsp nbsp nbsp nbsp doc bson new nbsp nbsp nbsp nbsp nbsp nbsp nbsp nbsp nbsp BSON APPEND UTF8 Array 0 utf8

    2026年3月26日
    3
  • iMX8MPlus和iMX8QM机器学习框架eIQ性能对比

    iMX8MPlus和iMX8QM机器学习框架eIQ性能对比ByToradex胡珊逢机器学习算法对算力要求较高,通常会采用GPU,或者专用的处理器如NPU进行加速运算。NXP先后推出的两款处理器iMX8QuadMax和iMX8MPlus分别可以采用GPU和NPU对常用的机器学习算法例如TensorFlowLite等进行加速。文章将使用NXPeIQ框架在两个处理器上测试不同算法的性能。这里我们将使用Toradex的ApalisiMX8QM4GBWBITV1.1C和VerdiniMX8MPl…

    2022年10月19日
    5
  • 数据整理——大数据治理的关键技术

    数据整理——大数据治理的关键技术摘要 数据是政府 企业和机构的重要资源 数据治理关注数据资源有效利用的众多方面 如数据资产确权 数据管理 数据开放共享 数据隐私保护等 从数据管理的角度 探讨了数据治理中的一项关键技术 数据整理 介绍了以数据拥有者和直接使用者 行业用户 为核心的数据整理的关键技术 包括数据结构化处理 数据质量评估及数据清洗 数据规范化 数据融合与摘取 数据整理的发布共享等 最后 针对加强数据整理方面的研究提出了一

    2026年3月17日
    2

发表回复

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

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