/*********************************************************************************************************************** * Copyright (C) . All rights reserved. ***********************************************************************************************************************/ /*********************************************************************************************************************** * @file lcdb.h * @brief This file implements device driver for LCD module. * @version 1.0.0 * @date 2020/10/12 ***********************************************************************************************************************/ #ifndef LCDB_H #define LCDB_H #include "common.h" #include "cgc.h" /*********************************************************************************************************************** Macro definitions (Register bit) ***********************************************************************************************************************/ /*********************************************************************************************************************** Macro definitions ***********************************************************************************************************************/ #define Read_LBCTL_BYF() (LCDB->LBCTL&LCDB_LBCTL_BYF_Msk) #define Read_LBCTL_TPF() (LCDB->LBCTL&LCDB_LBCTL_TPF_Msk) #define Write_LBDATA(dat) while(Read_LBCTL_BYF());\ LCDB->LBDATA = dat;\ while(Read_LBCTL_TPF());/* write LBDATA */ #define Write_LBDATAL(dat) while(Read_LBCTL_BYF());\ LCDB->LBDATAL = dat;\ while(Read_LBCTL_TPF());/* write LBDATAL */ #define Write_LBDATAL(dat) while(Read_LBCTL_BYF());\ LCDB->LBDATAL = dat;\ while(Read_LBCTL_TPF());/* write LBDATAL */ /*********************************************************************************************************************** Typedef definitions ***********************************************************************************************************************/ typedef struct { uint8_t mode; /* bus mode */ uint8_t mode_6800_E_level; /* 6800 bus E level */ uint8_t clock_div; /* clock divider */ uint8_t cycle; /* bus cycle */ uint8_t wait_cycle; /* wait cycle */ }LCDB_Typedef; #define LCDB_MODE_6800_CNTL_ENABLE_HIGH 0 #define LCDB_MODE_6800_CNTL_ENABLE_LOW 1 #define LCDB_MODE_TYPE_8080 0 #define LCDB_MODE_TYPE_6800 1 #define LCDB_CLOCK_DIV_1 0 #define LCDB_CLOCK_DIV_2 1 #define LCDB_CLOCK_DIV_4 2 #define LCDB_CLOCK_DIV_64 3 #define LDB_CYCLE_2T 2 #define LDB_CYCLE_3T 3 #define LDB_CYCLE_4T 4 #define LDB_CYCLE_5T 5 #define LDB_CYCLE_6T 6 #define LDB_CYCLE_7T 7 #define LDB_CYCLE_8T 8 #define LDB_CYCLE_9T 9 #define LDB_CYCLE_10T 10 #define LDB_CYCLE_11T 11 #define LDB_CYCLE_12T 12 #define LDB_CYCLE_13T 13 #define LDB_CYCLE_14T 14 #define LDB_CYCLE_15T 15 #define LDB_CYCLE_16T 16 #define LDB_CYCLE_17T 17 #define LDB_CYCLE_18T 18 #define LDB_CYCLE_19T 19 #define LDB_CYCLE_20T 20 #define LDB_CYCLE_21T 21 #define LDB_CYCLE_22T 22 #define LDB_CYCLE_23T 23 #define LDB_CYCLE_24T 24 #define LDB_CYCLE_25T 25 #define LDB_CYCLE_26T 26 #define LDB_CYCLE_27T 27 #define LDB_CYCLE_28T 28 #define LDB_CYCLE_29T 29 #define LDB_CYCLE_30T 30 #define LDB_CYCLE_31T 31 #define LDB_CYCLE_32T 32 #define LDB_CYCLE_33T 33 #define LDB_CYCLE_34T 34 #define LDB_CYCLE_35T 35 #define LDB_CYCLE_36T 36 #define LDB_CYCLE_37T 37 #define LDB_CYCLE_38T 38 #define LDB_CYCLE_39T 39 #define LDB_CYCLE_40T 40 #define LDB_CYCLE_41T 41 #define LDB_CYCLE_42T 42 #define LDB_CYCLE_43T 43 #define LDB_CYCLE_44T 44 #define LDB_CYCLE_45T 45 #define LDB_CYCLE_46T 46 #define LDB_CYCLE_47T 47 #define LDB_CYCLE_48T 48 #define LDB_CYCLE_49T 49 #define LDB_CYCLE_50T 50 #define LDB_CYCLE_51T 51 #define LDB_CYCLE_52T 52 #define LDB_CYCLE_53T 53 #define LDB_CYCLE_54T 54 #define LDB_CYCLE_55T 55 #define LDB_CYCLE_56T 56 #define LDB_CYCLE_57T 57 #define LDB_CYCLE_58T 58 #define LDB_CYCLE_59T 59 #define LDB_CYCLE_60T 60 #define LDB_CYCLE_61T 61 #define LDB_CYCLE_62T 62 #define LDB_CYCLE_63T 63 #define LDB_WAIT_CYCLE_0T 0 #define LDB_WAIT_CYCLE_1T 1 #define LDB_WAIT_CYCLE_2T 2 #define LDB_WAIT_CYCLE_3T 3 #define LDB_WAIT_CYCLE_4T 4 #define LDB_WAIT_CYCLE_5T 5 #define LDB_WAIT_CYCLE_6T 6 #define LDB_WAIT_CYCLE_7T 7 #define LDB_WAIT_CYCLE_8T 8 #define LDB_WAIT_CYCLE_9T 9 #define LDB_WAIT_CYCLE_10T 10 #define LDB_WAIT_CYCLE_11T 11 #define LDB_WAIT_CYCLE_12T 12 #define LDB_WAIT_CYCLE_13T 13 #define LDB_WAIT_CYCLE_14T 14 #define LDB_WAIT_CYCLE_15T 15 #define LDB_WAIT_CYCLE_16T 16 #define LDB_WAIT_CYCLE_17T 17 #define LDB_WAIT_CYCLE_18T 18 #define LDB_WAIT_CYCLE_19T 19 #define LDB_WAIT_CYCLE_20T 20 #define LDB_WAIT_CYCLE_21T 21 #define LDB_WAIT_CYCLE_22T 22 #define LDB_WAIT_CYCLE_23T 23 #define LDB_WAIT_CYCLE_24T 24 #define LDB_WAIT_CYCLE_25T 25 #define LDB_WAIT_CYCLE_26T 26 #define LDB_WAIT_CYCLE_27T 27 #define LDB_WAIT_CYCLE_28T 28 #define LDB_WAIT_CYCLE_29T 29 #define LDB_WAIT_CYCLE_30T 30 #define LDB_WAIT_CYCLE_31T 31 /*********************************************************************************************************************** Global functions ***********************************************************************************************************************/ void LCDB_Init(LCDB_Typedef* pLcdb); void LCDB_Start(void); void LCDB_Stop(void); /* Start user code for function. Do not edit comment generated here */ /* End user code. Do not edit comment generated here */ #endif