Picproje Elektronik Sitesi

DERLEYİCİLER => Diğer Derleyiciler => KEIL => Konuyu başlatan: armsistem - 14 Nisan 2012, 10:24:19

Başlık: glcd demo code convert 8051 to lpc23xx help please
Gönderen: armsistem - 14 Nisan 2012, 10:24:19
         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 */