lcdb.h 5.36 KB
Newer Older
时昊's avatar
时昊 committed
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170
/***********************************************************************************************************************
* 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