📄 lcdt232.lst
字号:
MPASM 4.00 Released LCDT232.ASM 8-3-2007 12:40:02 PAGE 1
LOC OBJECT CODE LINE SOURCE TEXT
VALUE
00001 ;=====i2c lcd test for Ericsson T230 CSTN ======02/09/2007==
00002 ; iic lcd driver: UC1682
00003 ; ra0,ra1 sdata,sclock
00004 ; rb0 to rb7 led outputs
00005 ; internal clock
00006 ; standard crystal 4.000 MHz XT - 1us pe instructiune
00007 ; Program realizat de Ing. Bergthaller Iulian-Alexandru
00008 ;------------------------------------------------------------
00009 ;------------------------------------------------------------
00010 LIST P=16F627;f=inhx8m
00011 #include "P16F627.INC" ; Include header file
00001 LIST
00002 ; P16F627.INC Standard Header File, Version 1.01 Microchip Technology, Inc.
00261 LIST
2007 3F10 00012 __CONFIG _PWRTE_ON & _WDT_OFF & _INTRC_OSC_NOCLKOUT & _BODEN_OFF & _LVP_OFF & _CP_OFF &
_MCLRE_OFF
00013 ;------------------------------------------------------------
00014 cblock 0x20 ; Beginn General Purpose-Registerstatus
00000020 00015 count1
00000021 00016 count2
00000022 00017 count3
00000023 00018 transo
00000024 00019 count4
00000025 00020 count5
00000026 00021 count6
00022 endc
00023 ;------------------------------------------------------------
00024 #DEFINE sclk PORTA,1
00025 #DEFINE sdta PORTA,0
00026 #DEFINE led PORTA,2
00027 ;------------------------------------------------------------
0000 00028 org 0x00
0000 2804 00029 goto init
0004 00030 org 0x04
00031 ;------------------------------------------------------------
0004 0000 00032 init nop
0005 1283 00033 bcf STATUS,RP0 ; Bank 0
0006 3007 00034 movlw 0x07 ; Turn comparators off and enable pins for I/O
0007 009F 00035 movwf CMCON
0008 1683 00036 bsf STATUS,RP0 ; Bank 1
0009 3000 00037 movlw 0x00
Message[302]: Register in operand not in bank 0. Ensure that bank bits are correct.
000A 0085 00038 movwf TRISA
000B 3000 00039 movlw 0x00 ; output
Message[302]: Register in operand not in bank 0. Ensure that bank bits are correct.
000C 0086 00040 movwf TRISB
000D 1283 00041 bcf STATUS,RP0 ; Bank 0
00042 ;***************************************************
000E 30FF 00043 start movlw 0xFF
000F 0086 00044 movwf PORTB
0010 20CF 00045 call pause
0011 3000 00046 movlw 0x00
0012 0086 00047 movwf PORTB
MPASM 4.00 Released LCDT232.ASM 8-3-2007 12:40:02 PAGE 2
LOC OBJECT CODE LINE SOURCE TEXT
VALUE
0013 30FF 00048 movlw 0xFF
0014 0086 00049 movwf PORTB
0015 20CF 00050 call pause
0016 1105 00051 bcf led
00052 ;***************************************************
00053 ;* Lcd init commands *
00054 ;***************************************************
0017 20A9 00055 scrie call iict ; i2c start
0018 3078 00056 movlw 0x78 ; device write cmd address
0019 208C 00057 call act ; i2c send subroutine
001A 3029 00058 movlw 0x29 ; c=10nF
001B 208C 00059 call act
001C 20A0 00060 call iicp ; i2c stop
001D 20CF 00061 call pause
001E 20A9 00062 call iict ; i2c start
001F 3078 00063 movlw 0x78 ; device write cmd address
0020 208C 00064 call act ; i2c send subroutine
0021 30EA 00065 movlw 0xEA ; Vbias rate
0022 208C 00066 call act
0023 20A0 00067 call iicp ; i2c stop
0024 20CF 00068 call pause
0025 20A9 00069 call iict ; i2c start
0026 3078 00070 movlw 0x78 ; device write cmd address
0027 208C 00071 call act ; i2c send subroutine
0028 3081 00072 movlw 0x81 ; Vbias pot
0029 208C 00073 call act
002A 30A8 00074 movlw 0xA8 ; pot value
002B 208C 00075 call act
002C 20A0 00076 call iicp ; i2c stop
002D 20CF 00077 call pause
002E 20A9 00078 call iict ; i2c start
002F 3078 00079 movlw 0x78 ; device write cmd address
0030 208C 00080 call act ; i2c send subroutine
0031 3027 00081 movlw 0x27 ; temp.
0032 208C 00082 call act
0033 20A0 00083 call iicp ; i2c stop
0034 20CF 00084 call pause
0035 20A9 00085 call iict ; i2c start
0036 3078 00086 movlw 0x78 ; device write cmd address
0037 208C 00087 call act ; i2c send subroutine
0038 30AF 00088 movlw 0xAF ; lcd enable
0039 208C 00089 call act
003A 20A0 00090 call iicp ; i2c stop
003B 20CF 00091 call pause
003C 20A9 00092 call iict ; i2c start
003D 3078 00093 movlw 0x78 ; device write cmd address
003E 208C 00094 call act ; i2c send subroutine
003F 30D4 00095 movlw 0xD4 ;
0040 208C 00096 call act
0041 20A0 00097 call iicp ; i2c stop
0042 20CF 00098 call pause
0043 20CF 00099 call pause
0044 20A9 00100 call iict ; i2c start
MPASM 4.00 Released LCDT232.ASM 8-3-2007 12:40:02 PAGE 3
LOC OBJECT CODE LINE SOURCE TEXT
VALUE
0045 3078 00101 movlw 0x78 ; device write cmd address
0046 208C 00102 call act ; i2c send subroutine
0047 30A1 00103 movlw 0xA1 ; line rate
0048 208C 00104 call act
0049 20A0 00105 call iicp ; i2c stop
004A 20CF 00106 call pause
00107
00108
00109 ;***************************************************
004B 3050 00110 movlw 0x50 ;
004C 00A6 00111 movwf count6
004D 20A9 00112 call iict ; i2c start
004E 307A 00113 movlw 0x7A ; device write cmd address
004F 208C 00114 call act ; i2c send subroutine
0050 3004 00115 rep movlw 0x04 ;
0051 00A5 00116 movwf count5
0052 3007 00117 line movlw 0x07 ; ram data
0053 208C 00118 call act
0054 3007 00119 movlw 0x07 ; ram data
0055 208C 00120 call act
0056 3007 00121 movlw 0x07 ; ram data
0057 208C 00122 call act
0058 3007 00123 movlw 0x07 ; ram data
0059 208C 00124 call act
005A 3038 00125 movlw 0x38 ; ram data
005B 208C 00126 call act
005C 3038 00127 movlw 0x38 ; ram data
005D 208C 00128 call act
005E 3038 00129 movlw 0x38 ; ram data
005F 208C 00130 call act
0060 3038 00131 movlw 0x38 ; ram data
0061 208C 00132 call act
0062 3038 00133 movlw 0x38 ; ram data
0063 208C 00134 call act
0064 30C0 00135 movlw 0xC0 ; ram data
0065 208C 00136 call act
0066 30C0 00137 movlw 0xC0 ; ram data
0067 208C 00138 call act
0068 30C0 00139 movlw 0xC0 ; ram data
0069 208C 00140 call act
006A 30C0 00141 movlw 0xC0 ; ram data
006B 208C 00142 call act
006C 30C0 00143 movlw 0xC0 ; ram data
006D 208C 00144 call act
006E 30C0 00145 movlw 0xC0 ; ram data
006F 208C 00146 call act
0070 30C0 00147 movlw 0xC0 ; ram data
0071 208C 00148 call act
0072 30C0 00149 movlw 0xC0 ; ram data
0073 208C 00150 call act
0074 30C0 00151 movlw 0xC0 ; ram data
0075 208C 00152 call act
0076 30C0 00153 movlw 0xC0 ; ram data
MPASM 4.00 Released LCDT232.ASM 8-3-2007 12:40:02 PAGE 4
LOC OBJECT CODE LINE SOURCE TEXT
VALUE
0077 208C 00154 call act
0078 30C0 00155 movlw 0xC0 ; ram data
0079 208C 00156 call act
007A 30C0 00157 movlw 0xC0 ; ram data
007B 208C 00158 call act
007C 30C0 00159 movlw 0xC0 ; ram data
007D 208C 00160 call act
007E 301F 00161 movlw 0x1F ; ram data
007F 208C 00162 call act
0080 301F 00163 movlw 0x1F ; ram data
0081 208C 00164 call act
0082 301F 00165 movlw 0x1F ; ram data
0083 208C 00166 call act
0084 301F 00167 movlw 0x1F ; ram data
0085 208C 00168 call act
0086 0BA5 00169 decfsz count5,F
0087 2852 00170 goto line
00171 ;movlw 0x1F ; ram data
00172 ;call act
0088 0BA6 00173 decfsz count6,F
0089 2850 00174 goto rep
008A 20A0 00175 call iicp ; i2c stop
008B 288B 00176 homa goto homa
00177 ;***************************************************
008C 00A3 00178 act movwf transo ; iic data transmission
008D 20BC 00179 call oled
008E 3008 00180 movlw 0x08
008F 00A2 00181 movwf count3
0090 1085 00182 vbit bcf sclk
0091 20CF 00183 call pause
0092 1BA3 00184 btfsc transo,7
0093 1405 00185 bsf sdta
0094 1FA3 00186 btfss transo,7
0095 1005 00187 bcf sdta
0096 20CF 00188 call pause
0097 1485 00189 bsf sclk
0098 20CF 00190 call pause
0099 1085 00191 bcf sclk
009A 20CF 00192 call pause
009B 0DA3 00193 rlf transo,F
009C 0BA2 00194 decfsz count3,F
009D 2890 00195 goto vbit
009E 20B1 00196 call ackp
009F 3400 00197 retlw 0x00
00198 ;***************************************************
00A0 1005 00199 iicp bcf sdta ; stop condition module
00A1 20CF 00200 call pause
00A2 1485 00201 bsf sclk
00A3 20CF 00202 call pause
00A4 1405 00203 bsf sdta ; stop command
00A5 20CF 00204 call pause
00A6 1085 00205 bcf sclk
00A7 20CF 00206 call pause
MPASM 4.00 Released LCDT232.ASM 8-3-2007 12:40:02 PAGE 5
LOC OBJECT CODE LINE SOURCE TEXT
VALUE
00A8 3400 00207 retlw 0x00
00208 ;***************************************************
00A9 1405 00209 iict bsf sdta ; start condition module
00AA 1485 00210 bsf sclk
00AB 20CF 00211 call pause
00AC 1005 00212 bcf sdta ; start command
00AD 20CF 00213 call pause
00AE 1085 00214 bcf sclk
00AF 20CF 00215 call pause
00B0 3400 00216 retlw 0x00
00217 ;***************************************************
00B1 20CA 00218 ackp call s_in
00B2 1485 00219 bsf sclk ; one clock step for acknowledge (not read)
00B3 20CF 00220 call pause
00B4 1C05 00221 btfss sdta ;sda=0 ?
00B5 1505 00222 bsf led
00B6 20D8 00223 call halta
00B7 1105 00224 bcf led
00B8 1085 00225 bcf sclk
00B9 20CF 00226 call pause
00BA 20C5 00227 call s_out
00BB 3400 00228 retlw 0x00
00229 ;***************************************************
00BC 20D8 00230 oled call halta ; iic data before transmission displayed on portb
00BD 3000 00231 movlw 0x00
00BE 0086 00232 movwf PORTB
00BF 0823 00233 movf transo,W
00C0 0086 00234 movwf PORTB
00C1 20D8 00235 call halta
00C2 3000 00236 movlw 0x00
00C3 0086 00237 movwf PORTB
00C4 3400 00238 retlw 0x00
00239 ;***************************************************
00C5 1683 00240 s_out bsf STATUS,RP0 ; Bank 1
00C6 3000 00241 movlw 0x00
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -