首页 > 其他分享 >12864 接线及代码

12864 接线及代码

时间:2023-11-20 20:34:50浏览次数:25  
标签:write 12864 代码 unsigned delay 接线 sendbyte com void

 

 

 

#include <reg51.h>

#include <intrins.h>

#define uchar unsigned char

#define uint unsigned int

sbit CS=P2^7;//片选信号

sbit SID=P2^6;//数据信号

sbit SCLK=P2^5;//时钟信号

sbit RST=P1^1;//复位信号

sbit CH = P1^0;//并行、串行选择信号

/********************************************************************

* 名称 : delay()

* 功能 : 延时,延时时间为 100us * t。这是通过软件延时,有一定误差。

* 输入 : t

* 输出 : 无

***********************************************************************/

void delay(unsigned int t)

{

unsigned int i,j;

for(i=0; i<t;i++)

for(j=0; j<10; j++);

}

/********************************************************************

* 名称 : sendbyte()

* 功能 : 按照液晶的串口通信协议,发送数据

* 输入 : zdata

* 输出 : 无

***********************************************************************/

void sendbyte(unsigned char zdata)

{

unsigned int i;

for(i=0; i<8; i++)

{

if((zdata << i) & 0x80)

{

SID = 1;

}

else
{
SID = 0;
}

SCLK = 0;

SCLK = 1;

}

}

/********************************************************************

* 名称 : write_com()

* 功能 : 写串口指令

* 输入 : cmdcode

* 输出 : 无

***********************************************************************/

void write_com(unsigned char cmdcode)

{

CS = 1;

sendbyte(0xf8);

sendbyte(cmdcode & 0xf0);

sendbyte((cmdcode << 4) & 0xf0);

delay(2);

}

/********************************************************************

* 名称 : write_data()

* 功能 : 写串口指令

* 输入 : cmdcode

* 输出 : 无

***********************************************************************/

void write_data(unsigned char Dispdata)

{

CS = 1;

sendbyte(0xfa);

sendbyte(Dispdata & 0xf0);

sendbyte((Dispdata << 4) & 0xf0);

delay(2);

}

/********************************************************************

* 名称 : lcdinit()

* 功能 : 初始化函数

* 输入 : cmdcode

* 输出 : 无

***********************************************************************/

void lcdinit()

{

RST = 0;

delay(100);

RST = 1;

delay(20000);

write_com(0x30);

delay(50);

write_com(0x0c);

delay(50);

}
/************************************************************************
* 名称 : hzkdis()

* 功能 : 显示字符串

* 输入 : *s

* 输出 : 无

***********************************************************************/

void hzkdis(unsigned char code *s)

{

while(*s > 0)

{

write_data(*s);

s++;

delay(50);

}

}


/********************************************************************

* 名称 : Test()

* 功能 : 显示子函数

* 输入 : 无

* 输出 : 无

***********************************************************************/

void Test()

{

write_com(0x03);

delay(50);


write_com(0x80);

hzkdis("铅酸电池放电仪");

write_com(0x90);

hzkdis("电压");

write_com(0x92);

hzkdis("16.8v 13.2v");

write_com(0x98);

hzkdis("测试");

}


/********************************************************************

* 名称 : Main()

* 功能 : 主函数

* 输入 : 无

* 输出 : 无

***********************************************************************/

void Main()

{

CH = 0;

delay(1);

lcdinit();

delay(10);

while(1)

{

Test();

delay(5000);

}

}

标签:write,12864,代码,unsigned,delay,接线,sendbyte,com,void
From: https://www.cnblogs.com/mofeibai/p/17844772.html

相关文章

  • 零代码编程:用ChatGPT将SRT字幕文件批量转为Word文本文档
    一个文件夹中有多个srt视频字幕文件,srt文件里面有很多时间轴:现在想将其批量转为word文档,去掉里面与字符无关的时间轴,在ChatGPT中输入提示词:你是一个Python编程专家,要完成一个批量将SRT字幕文件转为Word文本文档的任务,具体步骤如下:打开文件夹:F:\儿童学习教育\Abadas.适合2岁以上.BBC......
  • 关于代码混淆,看这篇就够了
    ​代码混淆一.基本概念java的bytecode很容易通过JAD等反编译工具还原出源代码。这样势必不满足安全的定义。如何一定程度上保护需要防止被反编译的源代码呢?混淆(obfuscate)技术。注意:用obfuscate防盗版是根本不可能,连汇编这种东西都能被**掉,而java代码基本上等同于开源的同义词。用......
  • Git统计代码行数的方法
    右键菜单->GitBashHere打开Git的命令行查看项目每个人提交的代码行数统计,即执行gitlog--format='%aN'|sort-u|whilereadname;doecho-en"$name\t";gitlog--author="$name"--pretty=tformat:--numstat|awk'{add+=$1;subs+=$2;loc+......
  • ROS2常用代码
    常用代码 1.编译文件包colconbuild//全部编译--packages-select<project_name>//选择单独编译的项目包2.创建新的工程文件包ros2apkcreate<project_name>//创建项目--build-type<ament_cmake/ament_python(c++/py......
  • 寻道大千免费偷桃脚本按键精灵源代码
    Function探寻_动态_ocr版本(x,y)//返回1是点进去的,2:没有点进去的3:没有老鼠Dim是否已经采集是否已经采集=falseDim计次时间计次时间=0DoIf找图_返回真假(581,1044,656,1083,"Attachment:探寻.bmp",0)=trueand找图......
  • uniapp vue可以通过mixins混入代码,可以通过下面方法混入template
    vue全局混入template方法:在根目录vue.config.js(没有就新增)里添加一下代码//红色部分是混入的自定义vue组件module.exports={chainWebpack:config=>{config.module.rule('vue').use('vue-loader').loader('vue-loader').tap(options=>{......
  • 修改idea代码之后运行web界面却发现没有更改
    先是尝试了对项目进行clear——CTRL+shift+f9(如果是和我一样,f9在键盘按钮的右下角,那么需要在加上fn,即CTRL+shift+fn+f9)但是不管用……之后尝试了对浏览器界面进行clear——CTRL+shift+r然后就好了......
  • 如何使用C#编写低代码应用插件
    本文由葡萄城技术团队发布。转载请注明出处:葡萄城官网,葡萄城为开发者提供专业的开发工具、解决方案和服务,赋能开发者。前言作为当今快速发展的技术之一,低代码平台为开发人员提供了更高效、更简便的工具和方法,以快速构建和部署应用程序。现在市面上的大部分低代码平台可以满足......
  • VS CODE,保存自动格式化vue代码配置 流程记录
    进入vscode,ctrl+shift+p,搜索Preferences:OpenUserSettings(json) ,然后把下面配置覆盖到原本的地方 { //vscode默认启用了根据文件类型自动设置tabsize的选项 "editor.detectIndentation":false, //重新设定tabsize "editor.tabSize":2, //#每次保......
  • 代码随想录算法训练营第十一天 | ● 20. 有效的括号 ● 1047. 删除字符串中的所有相邻
    今日学习的内容●20.有效的括号varisValid=function(s){letstack=[];for(leti=0;i<s.length;i++){lettemp=s[i];if(temp=='('){stack.push(')')continue;}if(......