📄 ks108.c
字号:
//************************************************************************
// KS108.C
// LowLevel Routinen f黵 LCD-Displays mit KS0108
//
// Hier f黵 Displaytech 64240A
//
// Mit bis zu vier KS108 Chips also bis 240x64
// Ausgelegt bisher nur auf diesen Displaytyp
//
// Der Nullpunkt des Displays liegt oben,links. F黵 unten rechts
// m黶sen dann zus鋞zliche Umrechnungen stattfinden.
//
// hk@holger-klabunde.de
// http://www.holger-klabunde.de
// 11.10.2003
// Compiler WinAVR
//************************************************************************
#include <avr/io.h>
#include <avr/signal.h>
#include "protos.h"
#include "ks108.h"
//###################################################################################
// E ist die Bremse des Displays. Braucht ganz sch鰊 lange Delays.
// Geniale Angaben zum Timing im Datenblatt:
// 450ns Minimum f黵 E_low und E_high. Zusammen 1000ns. Fehlen schonmal 100ns.
// Und wo ist das Maximum ? Da ist raten angesagt.
void Wait_for_E(void)
//###################################################################################
{
//Anzahl NOP's f黵 11.059MHz
NOP(); NOP();
NOP(); NOP(); NOP(); NOP();
NOP(); NOP(); NOP(); NOP();
NOP(); NOP(); NOP(); NOP();
NOP(); NOP(); NOP(); NOP();
NOP(); NOP(); NOP(); NOP();
//Wenn Pixel auf dem Display fehlen noch ein paar NOP's anf黦en
}
//##########################################################
// Liest ein Byte aus dem Display
unsigned char ReadDisplay(void)
{
unsigned char by;
CheckBusy();
RS_ON();
RW_ON(); //Wir wollen lesen
//Display mu
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -