Arkadaşlar winstar markasına ait bir glcd için üreticiye mail attım bana demo code gönderdiler ama program 8051 ile yapılmış bende keil lpc2365 çevirdim programı, ama şu an için deneme şansım yok ,üstadlar koda ve açılamalara bakarsanız doğru ve yanlışlarımı gösterebilirsiniz. Şimdiden teşekkürler.
- Programda bazı yerlerne _nop_(); kullanılıyor onun yerine __nop (); kullandım. Doğrumudur ?
- typedef bit BOOL; keilde arm için 1 bitlik hangi değişkeni kullanabilirim.Ben int koydum.
8051---- include dosyaları
#include <reg52.h>
#include <INTRINS.H>
LPC --- include dosyaları
#include <lpc23xx.h>
#include <stdio.h>
8051-------tanımlamalar
//=================================
// parameter define
//=================================
#define chip1 0x01
#define chip2 0x02
#define all_chip 0x03
#define page1 0xb8
#define page2 0xb9
#define page3 0xba
#define page4 0xbb
#define page5 0xbc
#define page6 0xbd
#define page7 0xbe
#define page8 0xbf
//=================================
// I/O define
//=================================
#define LCM_PORT P1 //DB0~DB7,DATA BUS
sbit LCM_RS = P3^0; // DATA / INSTRUCTION
sbit LCM_ENABLE = P3^4; // CHIP ENABLE
sbit LCM_Rst = P3^2; // CHIP RESET
sbit LCM_CS1 = P3^3; // CHOICE CHIP1
sbit LCM_CS2 = P3^5; // CHOICE CHIP2
sbit LCM_RW = P3^7; // CHIP READ/WRITE
//=================================
// type define
//=================================
typedef bit BOOL; /* Boolean */
typedef unsigned char UB8; /* 8-bit data */
typedef unsigned short int UW16; /*16-bit data */
typedef unsigned long UW32; /*32-bit data */
typedef signed char SB8; /* 8-bit data */
typedef signed short int SW16; /*16-bit data */
typedef signed long SW32; /*32-bit data */
LPC
#define LCM_CS2(x) ((x) ? (IOSET0 |= (1<<15 )) : (IOCLR0 = (1<<15 )) );
#define LCM_CS1(x) ((x) ? (IOSET0 |= (1<<15 )) : (IOCLR0 = (1<<15 )) );
#define LCM_RS(x) ((x) ? (IOSET0 |= (1<<15 )) : (IOCLR0 = (1<<15 )) );
#define LCM_ENABLE(x) ((x) ? (IOSET0 |= (1<<15 )) : (IOCLR0 = (1<<15 )) );
#define LCM_Rst(x) ((x) ? (IOSET0 |= (1<<15 )) : (IOCLR0 = (1<<15 )) );
#define LCM_RW(x) ((x) ? (IOSET0 |= (1<<15 )) : (IOCLR0 = (1<<15 )) );
#define LCM_PORT IOSET0
#define page1 0xB8
#define page2 0xB9
#define page3 0xBa
#define page4 0xBB
#define page5 0xBC
#define page6 0xBD
#define page7 0xBE
#define page8 0xBF
#define chip1 0x01
#define chip2 0x02
#define all_chip 0x03
typedef int BOOL; /* Boolean */
typedef unsigned char UB8; /* 8-bit data */
typedef unsigned short int UW16; /*16-bit data */
typedef unsigned long UW32; /*32-bit data */
typedef signed char SB8; /* 8-bit data */
typedef signed short int SW16; /*16-bit data */
typedef signed long SW32; /*32-bit data */