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


相关推荐

  • navicat premium激活码失效(JetBrains全家桶)「建议收藏」

    (navicat premium激活码失效)JetBrains旗下有多款编译器工具(如:IntelliJ、WebStorm、PyCharm等)在各编程领域几乎都占据了垄断地位。建立在开源IntelliJ平台之上,过去15年以来,JetBrains一直在不断发展和完善这个平台。这个平台可以针对您的开发工作流进行微调并且能够提供…

    2022年3月26日
    136
  • SPSS 性别卡方分析[通俗易懂]

    SPSS 性别卡方分析[通俗易懂]1.新建数据集2.打开变量视图,分别输出group、sex和number其中标签是对数据的说明,值是spss中的显示,比如定义1=subject,则输入1就等价于subject变量视图:数据视图:3.数据分析:点击数据–个案加权–将人数加入个案加权系数否则结果一般有误4.卡方检验分析–描述统计–交叉表–统计–卡方检验确定结果输出:…

    2022年5月16日
    100
  • 利用栈实现:中缀表达式转后缀表达式

    利用栈实现:中缀表达式转后缀表达式题目 现有中缀表达式如 1 2 3 4 10 5 请用栈的特性编写一个程序 使得程序输出后缀表达式分析如下 STEP1 1 2 3 4 10 5 首先遇到第一个输入是数字 1 数字在后缀表达式中都是直接输出 接着是符号 入栈 STEP2 1 2 3 4 10 5 第三个字符是 依然是符号 入栈 接着是数字 2 输出 然后是符号 入栈 ST

    2025年11月30日
    4
  • 【全网首发!】OpenClaw 接入 QQ 个人号完整教程

    【全网首发!】OpenClaw 接入 QQ 个人号完整教程

    2026年3月15日
    3
  • 英语单词记忆法拆分2000个_什么是hash算法

    英语单词记忆法拆分2000个_什么是hash算法给定一个非空字符串 s 和一个包含非空单词列表的字典 wordDict,在字符串中增加空格来构建一个句子,使得句子中所有的单词都在词典中。返回所有这些可能的句子。说明:分隔时可以重复使用字典中的单词。你可以假设字典中没有重复的单词。示例 1:输入:s = “catsanddog”wordDict = [“cat”, “cats”, “and”, “sand”, “dog”]输出:[ “cats and dog”, “cat sand dog”]示例 2:输入:s = “

    2022年8月9日
    11
  • 将两个Bean中相同属性名的值进行注入

    将两个Bean中相同属性名的值进行注入有时候是不能将模型类直接传出去 就有了各种 Vo Dto Bo 这些实体中大部分字段都与 domian 相同 有些甚至一模一样 各种 setget 去转换数据十分的繁琐 就写了一个反射工具类 支持单个转换和批量转换 importorg slf4j Logger importorg slf4j LoggerFactor importorg springframew

    2026年3月16日
    1

发表回复

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

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