給個(gè)實(shí)踐OK的驅(qū)動(dòng)范例給你, For the sake of "A month " :(
/* ============================================================================
測(cè)試軟件 FOR T6963 Long: 240 dots , Width: 128 dots RAM : 32k
Auther: MicroLCD 12 , May 2003
============================================================================= */
#include "reg52M.h" #include "MapDat.h"
#include <ABSACC.H>
//------------------------------------------- 使用直接總線方式控制T6963
#define RESET P3_5 #define CE P3_4
//------ P0 口接 DB0 ~ DB7 , P0口需要上拉10K的電阻到+5V.
//------ RS接P2_7, /RD接3_7, /WR接P3_6
//------------------------ RAM 地址選擇寄存器 sfr AUXR = 0x8E;
#define PDATA XBYTE[0x0000] #define PCOM XBYTE[0x8000]
#define T1 1 #define LT 40000 #define ST 50
/*--------------------- 延時(shí) ------------------- */
void delay(uint times) { while(times)times--; }
/*------------------- 狀態(tài) 測(cè)試 ------------ */
/* 0 --> 測(cè)試STA0,STA1 狀態(tài) */ /* 1 --> 測(cè)試STA2,STA3 狀態(tài) */
void CheckBF() {
CE=0;
while((PCOM&0x23)!=0x23);
CE=1;
}
/*-------------- 寫 指令 寄存器------ */
void Wcode(uchar order) { CE=0; PCOM=order; //delay(ST); CE=1; }
/*-------------- 寫數(shù)據(jù) 寄存器------ */
void Wdata(uchar order) {
CE=0; PDATA=order; //delay(ST); CE=1;
}
/* ------------------------ 初始化子程序---------------------------------*/
void Init() | |