AMPIRE 128X64驱动程序

news/2025/2/12 9:20:49/

c55连接AMPIRE12864硬件连接图如下

 

驱动程序如下

所有的函数实现效果注释中有

如果硬件连接图不一样的话建议更改 ce wr rs cs1 cs2 LcdData的值。

 

 #pragma large
#include"reg52.h"
#define uchar unsigned char 
sbit ce=P3^4;
sbit wr=P3^6;
sbit rs=P3^5;
sbit cs1=P3^3;
sbit cs2=P3^7;
sfr LcdData=0x90;//检测LCD标志位
void checkLcd(){uchar a;do{LcdData=0xff;rs=0;wr=1;ce=1;ce=0;a=LcdData;a=a&0x80;if(a==0x00)break;}while(1);
}//向LCD发送一个无参数命令
void writeCmd(uchar cmd){checkLcd();rs=0;wr=0;LcdData=cmd;ce=1;ce=0;
}//向lcd写一个一字节的数据
void writeShowData(uchar showData){checkLcd();rs=1;wr=0;LcdData=showData;ce=1;ce=0;
}//初始化LCD页地址
void setLcdX(uchar x){writeCmd(0xb8|x);
}
//初始化LCD列地址
void setLcdY(uchar y){writeCmd(0x40|y);
}//初始化LCD
void initLcd(){cs1=0;cs2=0;writeCmd(0x3e);writeCmd(0xb8);writeCmd(0xc0);writeCmd(0x40);writeCmd(0x3f);
}//将二维数组写入LCD12864当中 LcdData_1为LcdData_1[8][128]
void writeData(){uchar i,j;for(i=0;i<8;i++){for(j=0;j<128;j++){if(j==0){cs1=0;cs2=1;setLcdY();}if(j==64){cs1=1;cs2=0;setLcdY();}setLcdX(i);writeShowData(0x0f);}}
}//画一个点
void writePoint(uchar x,uchar y,uchar LcdShowData){if(y>=64){cs1=1;cs2=0;}if(y<64){cs1=0;cs2=1;}setLcdX(x);setLcdY(y);writeShowData(LcdShowData);
}

 


http://www.ppmy.cn/news/167654.html

相关文章

AMD GPU 系列版本信息

AMD GPU 系列版本信息 1. AMDGPU and AMDGPU-PRO AMDGPU is AMD’s open source graphics driver for the latest AMD Radeon graphics cards. It is a complement to the open source Radeon driver, which works with graphics cards not supported by AMDGPU. AMDGPU suppo…

HD2500显卡驱动linux,Intel HD Graphics 2500/4000驱动免费版

Intel HD Graphics 2500/4000驱动免费版是一个十分优秀的Windows系统驱动工具&#xff0c;Intel HD Graphics 2500/4000驱动免费版支持Win10&#xff0c;Intel发布了用于第三代CPU核心显卡HD Graphics 2500/4000的Win7/Win8.1/Win10驱动程序。 支持设备 第三代Intel(R) Core(TM…

【黑苹果教程】驱动ATI Radeon HD5450显卡

通常来说&#xff0c;驱动AMD的显卡要比驱动Intel或者Nvidia的显卡更加容易&#xff0c;因为苹果原生就提供了一整套的驱动程序来支持AMD的显卡&#xff0c;不过&#xff0c;由于使用同一款GPU的显卡可能具有不同的发行版&#xff0c;因此它们的device-id也不相同&#xff0c;而…

Java之旅(七)

Java 异常 Java异常&#xff08;Exception&#xff09;是在程序运行过程中出现错误或异常情况时&#xff0c;由程序自动抛出&#xff0c;导致程序无法正常运行&#xff0c;用于向上层调用程序传递错误信息或中断程序执行的一种机制。 异常与错误不同&#xff0c;错误是由于程…

OpenMMLab-AI实战营第二期-课程笔记-Class 2:人体姿态估计与MMpose

Class 2&#xff1a;人体姿态估计与MMpose 文章目录 Class 2&#xff1a;人体姿态估计与MMpose**人体姿态估计概述****what?****下游任务** **2D 姿态估计****主流算法****基于回归坐标的方法****基于热图&#xff08;heatmap&#xff09;的方法** **多人姿态估计****基于回归…

嵌入式开发从入门到精通之第二十二节:蓝牙芯片CC254x ADC 电压测量

目录 1. CC254x ADC原理 参考电压 采样通道 采样率 采样时间

Unity之2D序列帧动画

1、创建方法 方法一&#xff1a; 1.创建一个空物体 2.创建一个动画 3.直接将某一个动作的序列帧拖入窗口中 方法二&#xff1a; 直接将图片拖入Hierarchy层级窗口中 注意&#xff1a;可以修改动画帧率&#xff0c;来控制动画的播放速度。注意…

Pytest使用教程分享

当你需要编写和运行Python单元测试时&#xff0c;pytest是一个功能强大且流行的库。以下是一个全面的pytest使用教程&#xff0c;涵盖了常见的用法和示例&#xff1a; 步骤 1: 安装pytest 首先&#xff0c;确保你的系统上已经安装了Python。然后&#xff0c;使用以下命令安装p…