⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 main.lst

📁 em447开发的带1828驱动的LCD的代码
💻 LST
📖 第 1 页 / 共 2 页
字号:
     1                     ;SETSCL		MACRO
     2                     ;		BS      PORT7,SCLBIT
     3                     ;		ENDM;===========Special  Registers Define===========
     4       0000          INDI    EQU      0x0     ; Indirect Register define
     5       0001          RTCC    EQU      0x1     ;Timer/Counter Register define
     6       0002          PC      EQU      0x2     ; Pprogra Counter define
     7       0003          R3  EQU      0x3     ; Program Status Word define
     8       0004          R4     EQU      0x4     ; RAM Select register define
     9       0005          PORT5   EQU      0x5     ;Port 5 define
    10       0006          PORT6   EQU      0x6     ; Port 6 define
    11       0007          PORT7   EQU      0x7     ; Port 7 define
    12       0009          FLAG    EQU    0X09  
    13       000A          BITBUFFER  EQU   0X0A
    14       000B          ERCODE  EQU     0X0B 
    15       000C          RC	  EQU	  0x0C	;
    16       000D          RD	  EQU	  0x0D	;
    17       000E          RE	EQU	0X0E
    18       000F          RF	EQU	0X0F
    19       003F          INTF    EQU      0x3F     ;Interrupt status register define;
    20                     ;===========Control Registers Define=============
    21       0005          IOP5 	==      0x5     ; I/O Port Control Register for Port 5
    22       0006          IOP6 	==      0x6     ; I/O Port Control Register for Port 6
    23       0007          IOP7 	==      0x7     ; I/O Port Control Register for Port 7
    24       000E          IOCE 	==      0xE     ;WDT control register
    25       000F          IOCF    ==      0xF     ; Interrupt Mask Register
    26                     ;STATUS  Register bits  define
    27       0000          C       ==      0
    28       0001          DC      ==      1
    29       0002          Z       ==      2
    30       0003          P       ==      3
    31       0004          T       ==      4
    32       0005          PS0     ==      5
    33       0006          PS1     ==      6
    34                     ;Interrupt mask register bits define
    35       0000          TCIE    ==      0
    36       0003          EXIE    ==      3
    37                     ;Interrupt status bits define
    38       0000          TCIF    ==      0
    39       0003          EXIF    ==      3
    40                     ;===================
    41                     
    42                     ;SDABIT	EQU	0X04
    43                     ;SCLBIT	EQU	0X05
    44                     
    45                     ;===========
    46       0001          B0T1 	== 	0X01
    47       0002          B1T1    == 	0X02
    48       0004          B2T1    == 	0X04
    49       0008          B3T1    == 	0X08
    50       0010          B4T1    == 	0X10
    51       0020          B5T1    == 	0X20
    52       0040          B6T1    == 	0X40
    53       0080          B7T1    == 	0X80
    54                     ;============
    55       0000          ERROR   EQU     0 
    56                     
    57                     
    58                     
    59                     
    60       002E          STACK_A		EQU	0X2E
    61       002F          STACK_S		EQU	0X2F
    62                     ;==========IIC=REG==========
    63                     
    64       0014          TXBUF   	EQU     0X14              ; TX buffer
    65       0015          RXBUF   	EQU     0X15              ; RX buffer
    66       0016          COUNT   	EQU     0X16              ; Bit counter
    67       0017          SLAVE		EQU	0X17
    68       0018          ADDR		EQU	0X18
    69       0019          DATAI		EQU	0X19
    70       001A          DATAO		EQU	0X1A
    71       001B          MOVBUF		EQU     0X1B
    72       001C          TABALPTR	EQU	0X1C	;查表指针//***
    73       001D          TABALCOUNT   	EQU     0X1D	;查表计数//***
    74       001E          TABALCOUNT2	EQU	0X1E	;局部变量 
    75                     ;==========IIC=FLAG=========
    76       0007          DI     		EQU     7               
    77       0006          DO      	EQU     6
    78       0007          SDABIT		EQU	7
    79       0006          SCLBIT		EQU	6
    80                     ;===========================
    81       0020          SYSTEML		EQU 	0X20
    82       0021          KEYFLAG	 	EQU 	0X21
    83                     ;==========KEY=REG==========
    84                     ;VALPRE		EQU	0X22
    85       0023          SYSTEMH		EQU	0X23
    86       0024          KEYTEMP		EQU	0X24
    87       0025          KEY0CONTBUFER	EQU	0X25
    88       0026          KEY1CONTBUFER	EQU	0X26
    89       0027          KEY2CONTBUFER	EQU	0X27
    90       0028          KEY3CONTBUFER	EQU	0X28
    91       0029          KEY0CONT	EQU	0X29
    92       002A          KEY1CONT	EQU	0X2A
    93       002B          KEY2CONT	EQU	0X2B
    94       002C          KEY3CONT 	EQU	0X2C
    95       002D          FLAGSTATUS	EQU	0X2D
    96                     ;STACK_A		EQU	0X2E
    97                     ;STACK_S		EQU	0X2F
    98                     ;===========KEY=FLAG=======
    99                     
   100                     ;===========OSD=REG==========
   101       0030          TFTBRIGHT	EQU	0X30
   102       0031          TFTCONTRAST	EQU	0X31
   103       0032          TFTCOLOR	EQU	0X32
   104       0033          XSTART		EQU	0X33
   105       0034          ySTART		EQU	0X34
   106                     ;TFTSTATUS	EQU	0X35
   107       0036          TABALFLAG	EQU	0X36
   108       0037          SUBADDR		EQU	0X37
   109       0038          OINITIALADDR	EQU	0X38
   110       0039          COLOR		EQU	0X39
   111       0022          VALPRE		EQU	0X22
   112                     ;===========OSD=FLAG=======
   113                     ;TFTFOREN	EQU	0X04
   114                     ;INICOLOSE	EQU	0X02
   115                     ;==========================
   116                     SETSDA		MACRO
   117                     		MOV     A,@0B00111111     	;CHANGE 11111110TO11111100
   118                     	       	IOW     PORT7
   119                            		BS      PORT7,SDABIT  
   120                     		ENDM
   121                     CLRSDA		MACRO
   122                     		MOV     A,@0B00111111     	;CHANGE 11111110TO11111100
   123                     	       	IOW     PORT7
   124                            		BC      PORT7,SDABIT  
   125                     		ENDM	
   126                     BITIN		MACRO
   127                     	BC      PORT7,SCLBIT          ; Clock high
   128                             MOV     A,@0B00111111     ; Force SDA line as input
   129                             ;MOV     A,@0B11011111 
   130                             IOW     PORT7
   131                             BS      PORT7,SDABIT	; Set SDA for input
   132                             MOV     A,@0B10111111     ; Force SDA line as input
   133                             ;MOV     A,@0B11011111 
   134                             IOW     PORT7
   135                             BC      BITBUFFER,DI
   136                             NOP
   137                     	NOP
   138                     	NOP
   139                     	NOP
   140                     	NOP
   141                             BS      PORT7,SCLBIT          ; Clock high
   142                     	NOP
   143                     	NOP
   144                     	NOP
   145                     	NOP
   146                     	NOP
   147                     	NOP
   148                     	NOP
   149                     	NOP
   150                     	NOP
   151                     	;BIT1:
   152                             JBC     PORT7,SDABIT          ; Read SDA pin
   153                             BS      BITBUFFER,DI       ; DI = 1
   154                     	;CALL	DELAY                     ; Delay
   155                     	NOP
   156                     	NOP
   157                     	NOP
   158                     	NOP
   159                             BC      PORT7,SCLBIT          ; Return SCL to low     
   160                           		ENDM
   161                      BITOUT		MACRO
   162                      	BC      PORT7,SCLBIT
   163                             MOV     A,@0B00111111     ; Set SDA, SCL as outputs
   164                     	
   165                             IOW     PORT7
   166                             JBS     BITBUFFER,DO
   167                           JMP  $+3;BIT0 ; JMP     $+9
   168                             BS      PORT7,SDABIT          ; Output bit 0
   169                            ; MOV     A,@2
   170                            ; JBC     PORT7,SDABIT          ; Check for error code 2
   171                             JMP   $+2; CLK1; $+6
   172                            ; JBS     FLAG,ERROR      ; Remain as first error encountered
   173                            ; MOV     ERCODE,A          ; Save error code
   174                            ; BS      FLAG,ERROR      ; Set error flag
   175                            ; JMP   CLK1; $+2           ; SDA locked low by device
   176                     	;BIT0:
   177                             BC      PORT7,SDABIT          ; Output bit 0
   178                     	                    ; Delay
   179                     	
   180                     	;CLK1:	
   181                     	 
   182                     	NOP
   183                     	NOP
   184                     	NOP
   185                     	NOP
   186                     	NOP
   187                     	NOP
   188                     	NOP
   189                     	NOP
   190                     	BS      PORT7,SCLBIT
   191                            ; MOV     A,@1               ; Error code 1
   192                             ;JBC     PORT7,SCLBIT          ; SCL locked low?
   193                             ;JMP     BIT2;$+4            ; No.
   194                            ; JBS     FLAG,ERROR      ; Yes.
   195                             ;MOV     ERCODE,A          ; Save error code
   196                           ;  BS      FLAG,ERROR      ; Set error flag
   197                     	;BIT2:	
   198                     	
   199                     	NOP
   200                     	NOP
   201                     	NOP
   202                     	NOP
   203                     	NOP
   204                     	NOP
   205                     	NOP
   206                     	BC      PORT7,SCLBIT          ; Return SCL to low
   207                             ENDM  
   208                     ;===========PROGRAM BEGIN===========
   209                     	ORG 0X00	
   210 00000 1451          	JMP MAIN
   211                             ORG 1
   212                           
   213                             
   214                            ; MOV     STACK_A,A      
   215                     	;	SWAP    STACK_A
   216                     	;	SWAPA   R3         
   217                     	;	MOV     STACK_S,A	
   218                     	;	JBC     INTF,TCIF      
   219                     	;	JMP     INT_TCC
   220                     	;	JBC     INTF,EXIF       
   221                     	;	JMP     INT_EXT
   222                     	
   223 00001               INTPRO:	
   224 00001 0011          	DISI
   225                               
   226                     	
   227                     	;CLR	0X0F
   228                     	;CLR	0X3F
   229 00002 006E          	MOV     STACK_A,A       ;Save the value of A
   230 00003 076E          	SWAP    STACK_A
   231 00004 0703          	SWAPA   R3          ;Save the value of STATUS
   232 00005 006F          	MOV     STACK_S,A
   233 00006 181F          	MOV     A,@0x1F         ;Point to page 1
   234 00007 02C3          	AND     R3,A
   235 00008 083F          	BC      INTF,TCIF 
   236                     
   237 00009 0CED          	JBC	FLAGSTATUS,3
   238 0000A 140F          	JMP	$+5
   239                     	
   240 0000B 1800          	MOV	A,@0
   241 0000C 0324          	XOR	A,KEYTEMP
   242 0000D 0C83          	JBC	R3,Z
   243 0000E 1412          	JMP	$+4
   244                     	
   245 0000F 0560          	INC	SYSTEML
   246 00010 0C83          	JBC	R3,Z
   247 00011 0563          	INC	SYSTEMH
   248                     	
   249                     	
   250                     
   251 00012 1800          	MOV	A,@0X00
   252 00013 0005          	IOW   	PORT5
   253 00014 180F          	MOV	A,@0X0F
   254 00015 0045          	MOV	PORT5,A
   255 00016 0005          	IOW   	PORT5	
   256                     
   257 00017 0D2D          	JBC	FLAGSTATUS,4
   258 00018 1447          	JMP	DISINC
   259                     	
   260 00019 12F3          	CALL	KEYCONRET
   261 0001A 0E05          	JBS	PORT5,0
   262 0001B 0569          	INC	KEY0CONT	;	KEY0PROGRAM

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -