电路设计,软件开发,专业项目团队承接电子产品开发!


ISPRO下载型编程器
火爆销售中

RS232/TTL转换器
全IC串口窃电

RS232/TTL转换线
全IC串口窃电

ByteBlasterMV Cable
CPLD/FPGA并口下载线

ByteBlaster II Cable ISPRO下载型编程器
支持S51/AVR/PIC
超级51开发板套件
前卫实用超值

PC/MCU/CPLD
三合一学习套件

全新万年历方案
AVR单片机开发板
 

Min51单片机仿真机
迷你型

ARM7开发板
仅售260元!
 

RS-232/RS-485双向接口电平转换器  

51单片机升级STM32
火爆销售中
MPLAB-ICD2
火爆销售中
LED51开发板
玩具又名图文显示棒

面板模块/开发板
经济危机明智决择

       

GSM MODEM GSM猫

SMS短信模块 工业级/全自动
火爆销售中

大功率数传电台

高速数传电台

您当前位置:电子技术资料 -> 外围驱动 -> LCD液晶显示 ->

祝您阅读愉快!

ISPRO下载型编程器

RS232 TO TTL转换器
↑↑本文相关产品介绍↑↑

LCM(MGLS-240128T)液晶点阵显示T6963C驱动程序(含图纸)


类别:技术文章
来源:未知
作者:未知
关键字:T6963
加入日期:2010-8-4

/*
LCM(MGLS-240128T)液晶点阵显示T6963C驱动程序
基于T6963控制器12864液晶功能C51子函数
线路图
89C51 T6963C
--------
| 8
P1.0-1.7|=========== D0-7
|
P3.0|----------- /RD
P3.1|----------- /WR
P3.2|----------- C/D
| -- /CE
| |
| ---
P3.3|----------- /RESET
| VCC--- /HALT
--------
中国电子网 www.EC66.com
*/


#include <reg8751.h>
#include <math.h>
#include <intrins.h>

sbit cd=P3^2;
sbit wr=P3^1;
sbit rd=P3^0;
sbit reset=P3^3;
sbit vee=P3^7;

sbit scl=P3^2;
sbit sda=P3^3;

unsigned int time;
unsigned char x,y;

/* 忙标志 */
#pragma disable
unsigned char busy(void) {
unsigned char dat;
cd=1;rd=1;wr=1;
P0=0xff;
rd=0;
dat=P0;
rd=1;
return(dat);
}
/* 数据,指令读写判别 */
#pragma disable
void p1(void) {
while ((busy()&3)!=3) {}
}
/* 数据自动读判别 */
#pragma disable
void p2(void) {
while ((busy()&4)!=4) {}
}
/* 数据自动写判别 */
#pragma disable
void p3(void) {
while ((busy()&8)!=8) {}
}
/* 控制指令 */
#pragma disable
void ctrl(unsigned char dat) {
p1();
cd=1;
wr=0;
P0=dat;
wr=1;
}
/* 写数据 */
#pragma disable
void write(unsigned char dat) {
p1();
cd=0;
wr=0;
P0=dat;
wr=1;
cd=1;
}
/* 自动写 */
#pragma disable
void autowrite(unsigned char dat) {
p3();
cd=0;
wr=0;
P0=dat;
wr=1;
cd=1;
}
/* 读数据 */
#pragma disable
unsigned char read(void) {
unsigned char dat;
p1();
cd=0;
P0=0xff;
rd=0;
dat=P0;
rd=1;
cd=1;
return(dat);
}
/* 自动读数据 */
#pragma disable
unsigned char autoread(void) {
unsigned char dat;
p2();
cd=0;
P0=0xff;
rd=0;
dat=P0;
rd=1;
cd=1;
return(dat);
}
/* 显示图形和文本 */
#pragma disable
void disp(unsigned char d) { /*显示*/
write(d);ctrl(0xc0);
}
/* 设定图形x,y值*/
#pragma disable
void ag(unsigned char x,unsigned char y) { /*地址*/
unsigned int xy;
xy=y;
xy=xy*16+x+256;
write(xy&0xff);write(xy/256);ctrl(0x24);
}
/* 设定文本x,y值 */
#pragma disable
void at(unsigned char x,unsigned char y) { /*地址*/
write(y*16+x);write(0);ctrl(0x24);
}
/* 点亮一点 */
#pragma disable
void setb(unsigned char d) {
ctrl(0xf8|d);
}
/* 清除一点*/
#pragma disable
void clrb(unsigned char d) {
ctrl(0xf0|d);
}
/* x,y处显示光标 */
#pragma disable
void ab(unsigned char x,unsigned char y) { /*光标*/
ctrl(0x97); /*光标开*/
write(x);write(y);ctrl(0x21);
}
/* 取消光标 */
#pragma disable
void noab(void) {
ctrl(0x9c);
}

/* lcd初始化 */
void init(void) {
unsigned int i;
reset=0;
reset=1;
write(0x0);write(0);ctrl(0x40); /*文本首址*/
write(0x10);write(0x0);ctrl(0x41); /*文本区域*/
write(0x0);write(0x1);ctrl(0x42); /*图形首址*/
write(0x10);write(0x0);ctrl(0x43); /*图形区域*/
ctrl(0x81); /*显示方式*/
ctrl(0x90); /*显示开关*/
ctrl(0xa0); /*光标形状*/
at(0,0);
ctrl(0xb0); /*自动写方式*/
for (i=0;i<1280;i++) {
autowrite(0x0);
}
ctrl(0xb2);/*结束自动写方式 */
ctrl(0x9c);
}

您可能还会关注的相关技术资料:

中国电子网
www.EC66.com
QQ:34740080 EMAIL:iloveaoe@163.com
最佳浏览:1024*768
Copyright (C) 2001-2010 EC66.COM All Rights Reserved
Aoe/帝国 制作维护
粤ICP备18061901号