LCD12864 驱动代码 STC15
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相关推荐
- 51单片机+LCD12864驱动显示汉字模板+Proteus仿真
51单片机+LCD12864驱动显示汉字模板+Proteus仿真 Proteus仿真效果 汉字显示方法 汉字通过取模软件取模. 取模软件:pctolcd2002 取模方式: 工程文件架构 主程序代码 ...
- AMG8833的使用与stm32驱动代码
一.介绍 1.内部框图 可以看到AMG8833的内部有红外点阵测温,并且还带有一个热敏电阻.使用同一个ADC进行采样,然后送给Control. 2.器件参数 测温点数:64(8x8的矩阵) 帧率:10 ...
- Linux创建线程读取双口数据,linux环境下读写一次双口ram尽然要十几个毫秒。(附驱动代码)...
linux环境下读写一次双口ram尽然要十几个毫秒.(附驱动代码) 我用的双口ram是IDT70V28,手册上说的读写时间应该是几个纳秒,我写了个linux驱动,然后做测试,发现读写一次的时间尽然是十 ...
- 三星framebuffer驱动代码分析
一.驱动总体概述 本次的驱动代码是Samsung公司为s5pv210这款SoC编写的framebuffer驱动,对应于s5pv210中的内部外设Display Controller (FIMD)模块. ...
- 树莓派IO口驱动代码的编写、微机总线地址、物理地址、虚拟地址、BCM2835芯片手册
地址总线: 百度百科解释: 地址总线 (Address Bus:又称:位址总线) 属于一种电脑总线 (一部份),是由CPU 或有DMA 能力的单元,用来沟通这些单元想要存取(读取/写入)电脑内存元件/ ...
- 基于框架编写驱动代码
操作驱动的上层代码(pin4test) #include <stdio.h> #include <sys/types.h> #include <sys/stat.h> ...
- 整合后台服务和驱动代码注入
整合后台服务和驱动代码注入 Home键的驱动代码: /dev/input/event1: 0001 0066 00000001 /dev/input/event1: 0000 0000 0000000 ...
- Linux kernel 中模块化的平台驱动代码介绍
介绍 在linux kernel中通过module_platform_driver来实现模块化平台驱动.大量的设备驱动程序都基于该种方式来实现,使用频次非常的高,在linux kernel 5.4.1 ...
- 解决一个驱动代码解耦合问题
之前解决的项目LCD设备兼容问题,在 a.c 文件里面定义了一个变量,然后在 b.c 里面使用 extern声明引用这个变量,通过这种方法可以在b.c中使用在a.c 里面初始化的变量. 但是这中情况就 ...
最新文章
- 在中小型公司建立企业根证书颁发机构 (CA)
- 把普通的git库变成bare库
- 【BZOJ 2323】 2323: [ZJOI2011]细胞 (DP+矩阵乘法+快速幂*)
- Capturing 'self' strongly in this block is likely to lead to a retain cycle
- switchcase的用法
- .NET Core开发实战(第12课:配置变更监听)--学习笔记
- 前端学习(3214):state的一个简洁方式
- 【英文写作日知录 第2期】句式汇总 Sun, 04 July 2021
- 如何把局域网内不同数据库的两个表的数据进行传输?
- 5.26在网上看到的方法,实现图形缩放、对齐、图形修改后进行dirty check。(未实验过)...
- android classloader双亲托付模式
- 阿里云加速器拉取tomcat
- 高频JMeter软件测试面试题
- 全网最详细ANSYS Maxwell16下载及安装
- 机器学习系列8:逻辑回归的代价函数
- excel max函数的使用
- C语言-投票选举问题
- 王垠:完全用Linux工作 (转载)
- 泥瓦匠:秒杀架构设计实践思路(一)
- Python画玫瑰图
热门文章
- 手机蹭网新体验之WiFi精灵
- 自学微信小程序开发第二天-事件处理、数据流
- 米4android6.0 root,小米4刷机包 小米3/4W/C/TD通刷 安卓6.0刷机包 完美ROOT权限 简洁流畅 非凡体验...
- 上传文件限制文件大小的解决方法
- 中华活页文选杂志中华活页文选杂志社中华活页文选编辑部2022年第12期目录
- atu打开服务器端文件失败,ATU操作流程.docx
- Salesforce Apex初级教程
- Python深度学习入门笔记(二):使用Pandas读取批量CSV文件,文件名中有顺序变量
- 修改Windows hosts文件的解决方案
- 区别:web server VS. application server