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

📄 oki80second_1.lst

📁 IPOD 射频 发射器 主要将 音乐信号通过BH1418 发射给 收音机
💻 LST
📖 第 1 页 / 共 4 页
字号:
     1       0000          	R0		==	0X00
     2       0001          	TCC		==	0X01
     3       0002          	PC		==	0X02
     4       0003          	STATUS		==	0X03
     5       0000          	 C          	== 0     ;   Carry flag                                       
     6       0001            	DC         	== 1     ;   Auxiliary carry flag                             
     7       0002            	Z          	== 2     ;   Zero flag                                        
     8       0003            	P          	== 3     ;   Power down flag                                  
     9       0004            	T          	== 4     ;   Timeout flag                                     
    10       0004          	RSR		==	0X04
    11       0005          	PORT5		==	0X05
    12       0006          	PORT6		==	0X06
    13       000F          	INTERRUPT	==	0X0F
    14       0004          	LED		==	4	;led display
    15       0006          	SDA		==	6	;i2c data
    16       0007          	SCL		==	7	;i2c clock
    17       0001          	UPkey		==	1	;up key
    18       0002          	DOWNkey		==	2	;down
    19       0000          	cs		==	0	;lcd en
    20       0002          	CK		==	2	;lcd clock\1415 clock
    21       0003          	DA		==	3	;lcd data\1415da
    22       0001          	ce		==	1	;1415 en		
    23                     ;--------------------------------------------
    24       0001          	CONT		==	0X01
    25       0005          	IOC5		==	0X05
    26       0006          	IOC6		==	0X06
    27       000B          	IOCB		==	0X0B
    28       000C          	IOCC		==	0X0C
    29       000D          	IOCD		==	0X0D
    30       000E          	IOCE		==	0X0E
    31       000F          	IOCF		==	0X0F	
    32       0006          	PROT_I2C	==      0x06
    33                     ;--------------------------------------------------------------------
    34                     ;Control Registers Define
    35                     
    36       0010          	MOVE_TIME	== 0X10	
    37       0011          	DATA1		== 0X11	
    38       0012          	KEYTIME		== 0X12
    39       0013          	FLAG		== 0x13
    40       0000          	havedata  	== 0		;	0  1 I2C have data 0 no have data 
    41       0001          	LOSEFLAG  	== 1		;	0  KEY NO LOSE	1 KEY LOSE
    42       0002          	ack		==  2		;
    43       0003          	outack		==  3
    44       0004          	updownflag	==  4
    45       0005          	ledflag		==  5
    46       0006          	i2cflag		==  6
    47       0014          	DATA		== 0X14	
    48       0015          	I2CDATA_HIGH	== 0X15
    49       0016          	I2CDATA_LOW	== 0X16	
    50       0017          	ADDRESS		== 0X17	
    51       0018          	BCDDATA		== 0X18
    52       0019          	BCDDATA1	== 0X19
    53       001A          	BCDDATA2	== 0X1a
    54       001B          	BCDDATA3	== 0X1b
    55       001C          	DATATEMP	== 0X1c
    56       001D          	BCDTEMP_HIGH	== 0X1d
    57       001E          	BCDTEMP_LOW	== 0X1e
    58       001F          	MOVE_TIMETEMP	== 0X1f
    59                     
    60       0020          	COMMAND		== 0X20
    61       0021          	LCDRAM		== 0X21   
    62       0022          	LCD_MAP		== 0X22
    63       0023          	E_BUFFER	== 0x23
    64       0024          	SLAVE		== 0x24
    65       0025          	MOVETIME2	== 0X25
    66                     ;--------------------------------------------------------------------
    67                     ;--------------------------------
    68                     	ORG	0		;RESET VECTOR
    69 00000 0011          	DISI			;disable interrupt
    70 00001 1415          	jmp	stinit
    71                     	org	8
    72 00008 16EF          	jmp	INT_PRO
    73                     	org	0x15
    74 00015               stinit:	
    75 00015 12C8          	CALL	INIT
    76 00016 0B53          	bs	flag,ledflag
    77 00017 12A5          	CALL	lcdinit
    78 00018 0906          	bc	port6,led
    79 00019 1178          	call	read24c01
    80 0001A 0000          	nop
    81 0001B 0415          	mov	a,i2cdata_high
    82 0001C 1D04          	sub	a,@0x04
    83 0001D 0E83          	jbs	status,z
    84 0001E 1424          	jmp	banduani2chi
    85 0001F 0416          	mov	a,i2cdata_low	;  i2cdata_high==4
    86 00020 1D38          	sub	a,@0x38
    87 00021 0E03          	jbs	status,c
    88 00022 142D          	jmp	INIDATA
    89 00023 144F          	jmp	datato1415
    90 00024               banduani2chi:			; 
    91 00024 0415          	mov	a,i2cdata_high
    92 00025 1D03          	sub	a,@0x03
    93 00026 0E83          	jbs	status,z
    94 00027 142D          	jmp	INIDATA
    95 00028 0416          	mov	a,i2cdata_low
    96 00029 1D6B          	sub	a,@0x6b
    97 0002A 0C03          	jbc	status,c
    98 0002B 142D          	jmp	INIDATA
    99 0002C 144F          	jmp	datato1415
   100                     ;--------------------------------------  赋 原始数据给 I2C
   101 0002D               INIDATA:
   102 0002D 1803          	MOV	A,@0X03
   103 0002E 0055          	mov	I2CDATA_HIGH,A		; 87.5 MHz 
   104 0002F 186B          	MOV	A,@0X6B
   105 00030 0056          	mov	I2CDATA_LOW,A
   106 00031 11A2          	call	e_w
   107 00032 111E          	call	writeto1415 		; to 1415
   108 00033 1143          	call	HEX_TO_BCD
   109 00034 1210          	CALL    LCDDISPLAY		; to display
   110 00035 1452          	JMP	MAIN_START_1
   111                     ;-------------------------------------------------------------- 
   112 00036               dispdatatab:                            
   113 00036 03C2          	ADD	PC,A                       
   114 00037 1C0F          	RETL	@00001111B	; 0        
   115 00038 1C07          	RETL	@00000111B	; 1        
   116 00039 1C0D          	RETL	@00001101B	; 2        
   117 0003A 1C0F          	RETL	@00001111B	; 3        
   118 0003B 1C07          	RETL	@00000111B	; 4        
   119 0003C 1C0B          	RETL	@00001011b	; 5        
   120 0003D 1C0B          	RETL	@00001011B	; 6        
   121 0003E 1C0F          	RETL	@00001111B	; 7        
   122 0003F 1C0F          	RETL	@00001111B	; 8        
   123 00040 1C0F          	RETL	@00001111B	; 9
   124 00041               dispdatatab_2:                              
   125 00041 03C2          	ADD	PC,A                       
   126 00042 1C0B          	RETL	@00001011B	; 0        
   127 00043 1C00          	RETL	@00000000B	; 1        
   128 00044 1C07          	RETL	@00000111B	; 2        
   129 00045 1C05          	RETL	@00000101B	; 3        
   130 00046 1C0C          	RETL	@00001100B	; 4        
   131 00047 1C0D          	RETL	@00001101b	; 5        
   132 00048 1C0F          	RETL	@00001111B	; 6        
   133 00049 1C00          	RETL	@00000000B	; 7        
   134 0004A 1C0F          	RETL	@00001111B	; 8        
   135 0004B 1C0D          	RETL	@00001101B	; 9     		
   136 0004C               dispdatatab_1:                            
   137 0004C 03C2          	ADD	PC,A                       
   138 0004D 1C08          	RETL	@00001000b	; 0                
   139 0004E 1C0E          	RETL	@00001110b	; 1                          
   140                     ;-------------------------------------          
   141 0004F               datato1415:
   142 0004F 111E          	CALL 	writeto1415
   143 00050 1143          	CALL    HEX_TO_BCD
   144 00051 1210          	CALL	LCDDISPLAY
   145                     ;--------------------------------------	main 入口
   146 00052               MAIN_START_1:
   147 00052 110C          	call	delay1s
   148 00053 0B06          	bs	port6,led
   149 00054               MAIN_START:
   150 00054 0004          	wdtc
   151                     ;	mov	a,@0x02
   152                     ;	iow	iocf
   153                     ;	disi	
   154                     ;	MOV	A,@0X0  
   155                     ;	IOW	IOCE		;DISABLE WDT
   156                     ;	nop	 
   157                     ;	mov	pORT6,pORT6
   158                     ;	NOP
   159                     ;	SLEP	
   160                     ;	nop
   161                     ;	nop
   162                     ;	nop           
   163                     ;	MOV	A,@0X80
   164                     ;	IOW	IOCE		;ENABLE WDT
   165                     ;	WDTC			;CLEAR WDT
   166                     
   167 00055 0C46          	jbc	port6,upkey
   168 00056 1458          	jmp	mainstart_2
   169 00057 145A          	jmp	upkeytab
   170 00058               mainstart_2:
   171 00058 0C86          	jbc	port6,downkey
   172 00059 1454          	jmp	MAIN_START	
   173 0005A               upkeytab:
   174 0005A 0004          	WDTC			;CLEAR WDT
   175 0005B 1114          	CALL	DELAY10MS
   176 0005C 0C46          	JBC	PORT6,UPkey 
   177 0005D 145F          	JMP	DOWNKEYTAB
   178 0005E 1462          	JMP	UPKEYPROCE
   179 0005F               DOWNKEYTAB:
   180 0005F 0C86          	JBC	PORT6,DOWNkey
   181 00060 1454          	JMP	MAIN_START
   182 00061 1499          	JMP	DOWNKEYPROCE
   183                     ;--------------------------------------------- UPKEY PROCE PROGRAM
   184 00062               UPKEYPROCE:
   185 00062 0906          	bc	port6,led
   186 00063 00D2          	CLR	KEYTIME
   187 00064               UPKEYPROCELOOP:
   188 00064 0004          	wdtc
   189 00065 0552          	INC	KEYTIME
   190 00066 0415          	MOV	A,I2CDATA_HIGH
   191 00067 1D04          	SUB	A,@4
   192 00068 0E83          	JBS	STATUS,Z
   193 00069 1474          	JMP	UPI2C3
   194 0006A               UPI2C4:
   195 0006A 0556          	INC	I2CDATA_LOW
   196 0006B 1839          	MOV	A,@0X39
   197 0006C 0116          	SUB	A,I2CDATA_LOW
   198 0006D 0E03          	JBS	STATUS,C
   199 0006E 147F          	JMP	UPKEYPROCE_2
   200 0006F               UPRESET:
   201 0006F 1803          	MOV	A,@3
   202 00070 0055          	MOV	I2CDATA_HIGH,A
   203 00071 186B          	MOV	A,@0X6B
   204 00072 0056          	MOV	I2CDATA_LOW,A
   205 00073 147F          	JMP	UPKEYPROCE_2
   206 00074               UPI2C3:
   207 00074 0415          	MOV	A,I2CDATA_HIGH
   208 00075 1D03          	SUB	A,@3
   209 00076 0E83          	JBS	STATUS,Z
   210 00077 146F          	JMP	UPRESET
   211 00078               UPI2C3_1:
   212 00078 0556          	INC	I2CDATA_LOW
   213 00079 0416          	MOV	A,I2CDATA_LOW
   214 0007A 1D00          	SUB	A,@0X00
   215 0007B 0E83          	JBS	STATUS,Z
   216 0007C 147F          	JMP	UPKEYPROCE_2
   217 0007D               UPI2C3_:
   218 0007D 0555          	INC	I2CDATA_HIGH
   219 0007E 00D6          	CLR	I2CDATA_LOW
   220 0007F               UPKEYPROCE_2:
   221 0007F 111E          	CALL	writeto1415
   222 00080 1143          	CALL	HEX_TO_BCD
   223 00081 0000          	nop
   224 00082 1210          	CALL	LCDDISPLAY
   225 00083 1803          	MOV	A,@3
   226 00084 0112          	SUB	A,KEYTIME
   227 00085 0E03          	JBS	STATUS,C	; 前三次一秒变一次
   228 00086 1488          	JMP	UPKEYPROCE_3
   229 00087 148A          	JMP	UPKEYPROCE_4 
   230 00088               UPKEYPROCE_3:
   231 00088 10F0          	CALL	KEYDELAY500MS
   232 00089 148D          	JMP	UPKEYPROCE_5   
   233 0008A               UPKEYPROCE_4:
   234 0008A 10F3          	CALL	KEYDELAY100MS  
   235 0008B 180A          	MOV	A,@10
   236 0008C 0052          	MOV	KEYTIME,A
   237 0008D               UPKEYPROCE_5:	
   238 0008D 0E46          	JBS	port6,UPKEY 	
   239 0008E 1464          	JMP	UPKEYPROCELOOP 
   240 0008F 11A2          	CALL	e_w 
   241 00090 10D5          	CALL	LEDDELAY          
   242 00091 0E53          	JBS	FLAG,LOSEFLAG     
   243 00092 1495          	JMP	KEYDELAYUP  
   244 00093 0B06          	BS	port6,LED                         
   245 00094 1454              	jmp	main_start  
   246 00095               KEYDELAYUP:
   247 00095 11A2          	CALL	e_w 
   248 00096 0C46          	JBC	port6,UPKEY             
   249 00097 1499          	JMP	DOWNKEYPROCE          
   250 00098 1462          	JMP	UPKEYPROCe 
   251 00099               KEYDELAYUP_1:

⌨️ 快捷键说明

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