LCD12864 驱动代码 STC15

:此处晶振频率 27MHz

如更换主频,需用软件延时计算器修正LCD12864.c的两个延时函数。

lcd_dat_comm(0x80);
从屏幕第一行开始写,第一行写满之后折行到第三行继续写,0x80是写字符的初始位置
lcd_dat_comm(0x90);
从屏幕第二行开始写,第二行写满之后折行到第四行继续写,0x90是写字符的初始位置

LCD12864.c

#include "LCD12864.h"void LCD_Init(void)
{lcd_dat_comm(0x30);    lcd_dat_comm(0x0C);lcd_dat_comm(0x06);
}void lcd_dat(uchar dat)
{lcdrs=1;Delay_10us(5);lcdrw=0;P2=dat;                        lcden=1;Delay_1ms(3);lcden=0;
}void lcd_dat_comm(uchar ch)
{lcdrs=0;Delay_10us(5);lcdrw=0;P2=ch;                        lcden=1;Delay_1ms(3);lcden=0;
}void Display_String(uchar *Data)
{uchar ListLength,j;ListLength = strlen(Data);   for(j=0;j<ListLength;j++){lcd_dat(Data[j]);         //显示单个字符}
}void Delay_10us(uint z)
{unsigned char i;while(z--){i = 65;while (--i);}
}void Delay_1ms(int ms)
{unsigned char i, j;while(ms--){i = 27;j = 64;do{while (--j);} while (--i);}
}void Pin_Init() //初始化I/O口
{   P0M0=0X00;P0M1=0X00;P1M0=0X00;P1M1=0X00;P2M0=0X00;P2M1=0X00;P3M0=0X00;P3M1=0X00;P4M0=0X00;P4M1=0X00;
}

LCD12864.h

#ifndef _LCD12864_H
#define _LCD12864_H#include <STC15.h>
#include <string.h>
#include <intrins.h>#define uchar unsigned char
#define uint unsigned int   sbit lcdrs=P4^1;
sbit lcdrw=P4^2;
sbit lcden=P4^4;sbit PSB = P4^5;      //串、并选择信号void LCD_Init(void);
void lcd_dat_comm(uchar ch);
void lcd_dat(uchar dat);void Delay_1ms(int ms);
void Pin_Init();void Delay_10us(uint z);
void Display_String(uchar *Data);#endif

LCD12864 驱动代码 STC15相关推荐

  1. 51单片机+LCD12864驱动显示汉字模板+Proteus仿真

    51单片机+LCD12864驱动显示汉字模板+Proteus仿真 Proteus仿真效果 汉字显示方法 汉字通过取模软件取模. 取模软件:pctolcd2002 取模方式: 工程文件架构 主程序代码 ...

  2. AMG8833的使用与stm32驱动代码

    一.介绍 1.内部框图 可以看到AMG8833的内部有红外点阵测温,并且还带有一个热敏电阻.使用同一个ADC进行采样,然后送给Control. 2.器件参数 测温点数:64(8x8的矩阵) 帧率:10 ...

  3. Linux创建线程读取双口数据,linux环境下读写一次双口ram尽然要十几个毫秒。(附驱动代码)...

    linux环境下读写一次双口ram尽然要十几个毫秒.(附驱动代码) 我用的双口ram是IDT70V28,手册上说的读写时间应该是几个纳秒,我写了个linux驱动,然后做测试,发现读写一次的时间尽然是十 ...

  4. 三星framebuffer驱动代码分析

    一.驱动总体概述 本次的驱动代码是Samsung公司为s5pv210这款SoC编写的framebuffer驱动,对应于s5pv210中的内部外设Display Controller (FIMD)模块. ...

  5. 树莓派IO口驱动代码的编写、微机总线地址、物理地址、虚拟地址、BCM2835芯片手册

    地址总线: 百度百科解释: 地址总线 (Address Bus:又称:位址总线) 属于一种电脑总线 (一部份),是由CPU 或有DMA 能力的单元,用来沟通这些单元想要存取(读取/写入)电脑内存元件/ ...

  6. 基于框架编写驱动代码

    操作驱动的上层代码(pin4test) #include <stdio.h> #include <sys/types.h> #include <sys/stat.h> ...

  7. 整合后台服务和驱动代码注入

    整合后台服务和驱动代码注入 Home键的驱动代码: /dev/input/event1: 0001 0066 00000001 /dev/input/event1: 0000 0000 0000000 ...

  8. Linux kernel 中模块化的平台驱动代码介绍

    介绍 在linux kernel中通过module_platform_driver来实现模块化平台驱动.大量的设备驱动程序都基于该种方式来实现,使用频次非常的高,在linux kernel 5.4.1 ...

  9. 解决一个驱动代码解耦合问题

    之前解决的项目LCD设备兼容问题,在 a.c 文件里面定义了一个变量,然后在 b.c 里面使用 extern声明引用这个变量,通过这种方法可以在b.c中使用在a.c 里面初始化的变量. 但是这中情况就 ...

最新文章

  1. 在中小型公司建立企业根证书颁发机构 (CA)
  2. 把普通的git库变成bare库
  3. 【BZOJ 2323】 2323: [ZJOI2011]细胞 (DP+矩阵乘法+快速幂*)
  4. Capturing 'self' strongly in this block is likely to lead to a retain cycle
  5. switchcase的用法
  6. .NET Core开发实战(第12课:配置变更监听)--学习笔记
  7. 前端学习(3214):state的一个简洁方式
  8. 【英文写作日知录 第2期】句式汇总 Sun, 04 July 2021
  9. 如何把局域网内不同数据库的两个表的数据进行传输?
  10. 5.26在网上看到的方法,实现图形缩放、对齐、图形修改后进行dirty check。(未实验过)...
  11. android classloader双亲托付模式
  12. 阿里云加速器拉取tomcat
  13. 高频JMeter软件测试面试题
  14. 全网最详细ANSYS Maxwell16下载及安装
  15. 机器学习系列8:逻辑回归的代价函数
  16. excel max函数的使用
  17. C语言-投票选举问题
  18. 王垠:完全用Linux工作 (转载)
  19. 泥瓦匠:秒杀架构设计实践思路(一)
  20. Python画玫瑰图

热门文章

  1. 手机蹭网新体验之WiFi精灵
  2. 自学微信小程序开发第二天-事件处理、数据流
  3. 米4android6.0 root,小米4刷机包 小米3/4W/C/TD通刷 安卓6.0刷机包 完美ROOT权限 简洁流畅 非凡体验...
  4. 上传文件限制文件大小的解决方法
  5. 中华活页文选杂志中华活页文选杂志社中华活页文选编辑部2022年第12期目录
  6. atu打开服务器端文件失败,ATU操作流程.docx
  7. Salesforce Apex初级教程
  8. Python深度学习入门笔记(二):使用Pandas读取批量CSV文件,文件名中有顺序变量
  9. 修改Windows hosts文件的解决方案
  10. 区别:web server VS. application server