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

📄 mdfan.lst

📁 用24L01的2.4Ghz无线控制风扇的源程序
💻 LST
📖 第 1 页 / 共 5 页
字号:
   507  0000D0   0E00(2)  	ret
   508  0000D1             
   509  0000D1             I2Cstop:
   510  0000D1   4BC1(1)  	bset	SDA_IoSet	;set IO_SDA is Output port
   511  0000D2   42D1(1)  	bclr	SCL
   512  0000D3   43D1(1)  	bclr	SDA
   513  0000D4   C11B(2)  	call	Delay5us
   514  0000D5   4AD1(1)  	bset	SCL
   515  0000D6   C11B(2)  	call	Delay5us
   516  0000D7   C11B(2)  	call	Delay5us
   517  0000D8   4BD1(1)  	bset	SDA
   518  0000D9   C11B(2)  	call	Delay5us
   519  0000DA   C11B(2)  	call	Delay5us
   520  0000DB   0E00(2)  	ret
   521  0000DC             
   522  0000DC             I2CoutNAck:
   523  0000DC             I2Cout1:
   524  0000DC   4BC1(1)  	bset	SDA_IoSet	;set IO_SDA is Output port
   525  0000DD   4BD1(1)  	bset	SDA
   526  0000DE   C11B(2)  	call	Delay5us
   527  0000DF   4AD1(1)  	bset	SCL
   528  0000E0   C11B(2)  	call	Delay5us
   529  0000E1   C11B(2)  	call	Delay5us
   530  0000E2   42D1(1)  	bclr	SCL
   531  0000E3   C11B(2)  	call	Delay5us
   532  0000E4   43D1(1)  	bclr	SDA
   533  0000E5   C11B(2)  	call	Delay5us
   534  0000E6   0E00(2)  	ret
   535  0000E7             
   536  0000E7             I2CoutAck:
   537  0000E7             I2Cout0:
   538  0000E7   4BC1(1)  	bset	SDA_IoSet	;set IO_SDA is Output port
   539  0000E8   43D1(1)  	bclr	SDA
   540  0000E9   C11B(2)  	call	Delay5us
   541  0000EA   4AD1(1)  	bset	SCL
   542  0000EB   C11B(2)  	call	Delay5us
   543  0000EC   C11B(2)  	call	Delay5us
   544  0000ED   42D1(1)  	bclr	SCL
   545  0000EE   C11B(2)  	call	Delay5us
   546  0000EF   43D1(1)  	bclr	SDA
   547  0000F0   C11B(2)  	call	Delay5us
   548  0000F1   0E00(2)  	ret
   549  0000F2             
   550  0000F2             I2CwaitAck:
   551  0000F2   43C1(1)  	bclr	SDA_IoSet	;set IO_SDA is Input port
   552  0000F3   C11B(2)  	call	Delay5us
   553  0000F4   4AD1(1)  	bset	SCL
   554  0000F5   C11B(2)  	call	Delay5us
   555  0000F6   C11B(2)  	call	Delay5us
   556  0000F7   401A(1)  	bclr	I2CackFlag
   557  0000F8   5BD1(1+S)  	bts1	SDA
   558  0000F9   481A(1)  	bset	I2CackFlag
   559  0000FA   4BC1(1)  	bset	SDA_IoSet	;set IO_SDA is Output port
   560  0000FB   42D1(1)  	bclr	SCL
   561  0000FC   C11B(2)  	call	Delay5us
   562  0000FD   0E00(2)  	ret
   563  0000FE             
   564  0000FE             
   565  0000FE             ;======================
   566  0000FE             I2CwriteBit:
   567  0000FE   4BC1(1)  	bset	SDA_IoSet	;set IO_SDA is Output port
   568  0000FF   0B1B(1)  	rlcm	DataBuffer
   569  000100   5286(1+S)  	bts0	FC
   570  000101   4BD1(1)  	bset	SDA
   571  000102   5A86(1+S)  	bts1	FC
   572  000103   43D1(1)  	bclr	SDA
   573  000104   0000(1)  	nop
   574  000105   0000(1)  	nop
   575  000106             ;	call	Delay5us
   576  000106   4AD1(1)  	bset	SCL
   577  000107   C11B(2)  	call	Delay5us
   578  000108   C11B(2)  	call	Delay5us
   579  000109   42D1(1)  	bclr	SCL
   580  00010A   C11B(2)  	call	Delay5us
   581  00010B   0E00(2)  	ret
   582  00010C             ;-----------------------------------------------	
   583  00010C             
   584  00010C             I2CreadBit:
   585  00010C   43C1(1)  	bclr	SDA_IoSet	;set IO_SDA is Input port
   586  00010D   C11B(2)  	call	Delay5us
   587  00010E   4AD1(1)  	bset	SCL
   588  00010F   C11B(2)  	call	Delay5us
   589  000110   C11B(2)  	call	Delay5us
   590  000111   4286(1)  	bclr	FC
   591  000112   53D1(1+S)  	bts0	SDA
   592  000113   4A86(1)  	bset	FC
   593  000114   42D1(1)  	bclr	SCL
   594  000115   0B1B(1)  	rlcm	DataBuffer
   595  000116   C11B(2)  	call	Delay5us
   596  000117   0E00(2)  	ret
   597  000118             
   598  000118              I2Cunjoined:
   599  000118   491A(1)   	bset	I2CjoinErrorFlag
   600  000119   C0D1(2)  	call	I2Cstop		;Stop
   601  00011A             
   602  00011A   0E00(2)   	ret
   603  00011B             
   604  00011B              ;---------------------------
   605  00011B              Delay5us:
   606  00011B             ;	nop
   607  00011B   0000(1)  	nop
   608  00011C   0E00(2)  	ret
   609  00011D             ;=========================================================
   610  00011D             
   611  00011D             Save_TestCode:
   612  00011D             SaveTestData:
   613  00011D   421A(1)  	bclr	I2Csave
   614  00011E   2B1D(1)  	clr	ErrorCount
   615  00011F             SaveTestData_loop:
   616  00011F   511A(1+S)  	bts0	I2CjoinErrorFlag
   617  000120   0E00(2)  	ret
   618  000121             	clrwdt
   619  000121   2D5A(1)  		MOV		A, #5AH
   620  000122   1FCC(1)  		MOV		WDTR, A
   621  000123   C0C5(2)  	call	I2Cstart	;Start
   622  000124   C0DC(2)  	call	I2Cout1		;Device address
   623  000125   C0E7(2)  	call	I2Cout0
   624  000126   C0DC(2)  	call	I2Cout1
   625  000127   C0E7(2)  	call	I2Cout0
   626  000128   C0E7(2)  	call	I2Cout0
   627  000129   C0E7(2)  	call	I2Cout0
   628  00012A   C0E7(2)  	call	I2Cout0
   629  00012B   C0E7(2)  	call	I2Cout0		;R/W
   630  00012C             
   631  00012C   C0F2(2)  	call	I2CwaitAck	;wait ACK
   632  00012D   581A(1+S)  	bts1	I2CackFlag
   633  00012E   8158(2)  	jmp	SaveTestDataError
   634  00012F             
   635  00012F   C0E7(2)  	call	I2Cout0		;Word address
   636  000130   C0E7(2)  	call	I2Cout0
   637  000131   C0E7(2)  	call	I2Cout0
   638  000132   C0DC(2)  	call	I2Cout1
   639  000133   C0E7(2)  	call	I2Cout0
   640  000134   C0E7(2)  	call	I2Cout0
   641  000135   C0E7(2)  	call	I2Cout0
   642  000136   C0E7(2)  	call	I2Cout0
   643  000137             
   644  000137   C0F2(2)  	call	I2CwaitAck	;wait ACK
   645  000138   581A(1+S)  	bts1	I2CackFlag
   646  000139   8158(2)  	jmp	SaveTestDataError
   647  00013A             
   648  00013A   1E1E(1)  	mov	A, test_data0
   649  00013B   1F1B(1)  	mov	DataBuffer,A
   650  00013C   C0FE(2)  	call	I2CwriteBit	;Write Data
   651  00013D   C0FE(2)  	call	I2CwriteBit
   652  00013E   C0FE(2)  	call	I2CwriteBit
   653  00013F   C0FE(2)  	call	I2CwriteBit
   654  000140   C0FE(2)  	call	I2CwriteBit
   655  000141   C0FE(2)  	call	I2CwriteBit
   656  000142   C0FE(2)  	call	I2CwriteBit
   657  000143   C0FE(2)  	call	I2CwriteBit
   658  000144             
   659  000144   C0F2(2)  	call	I2CwaitAck	;wait ACK
   660  000145   581A(1+S)  	bts1	I2CackFlag
   661  000146   8158(2)  	jmp	SaveTestDataError
   662  000147             
   663  000147   1E1F(1)  	mov	A, test_data1
   664  000148   1F1B(1)  	mov	DataBuffer,A
   665  000149   C0FE(2)  	call	I2CwriteBit	;Write Data
   666  00014A   C0FE(2)  	call	I2CwriteBit
   667  00014B   C0FE(2)  	call	I2CwriteBit
   668  00014C   C0FE(2)  	call	I2CwriteBit
   669  00014D   C0FE(2)  	call	I2CwriteBit
   670  00014E   C0FE(2)  	call	I2CwriteBit
   671  00014F   C0FE(2)  	call	I2CwriteBit
   672  000150   C0FE(2)  	call	I2CwriteBit
   673  000151             
   674  000151   C0F2(2)  	call	I2CwaitAck	;wait ACK
   675  000152   581A(1+S)  	bts1	I2CackFlag
   676  000153   8158(2)  	jmp	SaveTestDataError
   677  000154             
   678  000154   C0D1(2)  	call	I2Cstop		;Stop
   679  000155             	clrwdt
   680  000155   2D5A(1)  		MOV		A, #5AH
   681  000156   1FCC(1)  		MOV		WDTR, A
   682  000157   0E00(2)  	ret
   683  000158             
   684  000158             SaveTestDataError:
   685  000158   161D(1+S)  	incms	ErrorCount
   686  000159   0000(1)  	nop
   687  00015A   2D0A(1)  	mov	A,#10
   688  00015B   221D(1)  	sub	A,ErrorCount
   689  00015C   5A86(1+S)  	bts1	FC
   690  00015D   491A(1)   	bset	I2CjoinErrorFlag
   691  00015E   811F(2)  	jmp	SaveTestData_loop
   692  00015F             
   693  00015F             ;*****************************************************************
   694  00015F             ;Function:Load_AccessCode
   695  00015F             ;Description:Read Access Code from EEPROM via I2C bus.
   696  00015F             ;input:none
   697  00015F             ;output:local_access_code0,local_access_code1
   698  00015F             ;*****************************************************************
   699  00015F             Load_TestCode:
   700  00015F             ReloadTestData:
   701  00015F   2B1D(1)  	clr	ErrorCount
   702  000160             ReloadTestData_Loop:
   703  000160   511A(1+S)  	bts0	I2CjoinErrorFlag
   704  000161   0E00(2)  	ret
   705  000162             	clrwdt
   706  000162   2D5A(1)  		MOV		A, #5AH
   707  000163   1FCC(1)  		MOV		WDTR, A
   708  000164   C0C5(2)  	call	I2Cstart	;Start
   709  000165   C0DC(2)  	call	I2Cout1		;Device address
   710  000166   C0E7(2)  	call	I2Cout0
   711  000167   C0DC(2)  	call	I2Cout1
   712  000168   C0E7(2)  	call	I2Cout0
   713  000169   C0E7(2)  	call	I2Cout0
   714  00016A   C0E7(2)  	call	I2Cout0
   715  00016B   C0E7(2)  	call	I2Cout0
   716  00016C   C0E7(2)  	call	I2Cout0		;R/W
   717  00016D             
   718  00016D   C0F2(2)  	call	I2CwaitAck	;wait ACK
   719  00016E   581A(1+S)  	bts1	I2CackFlag
   720  00016F   81A4(2)  	jmp	ReloadTestDataError
   721  000170   2B1D(1)  	clr	ErrorCount
   722  000171             
   723  000171   C0E7(2)  	call	I2Cout0		;Word address
   724  000172   C0E7(2)  	call	I2Cout0
   725  000173   C0E7(2)  	call	I2Cout0
   726  000174   C0DC(2)  	call	I2Cout1
   727  000175   C0E7(2)  	call	I2Cout0
   728  000176   C0E7(2)  	call	I2Cout0
   729  000177   C0E7(2)  	call	I2Cout0
   730  000178   C0E7(2)  	call	I2Cout0
   731  000179             
   732  000179   C0F2(2)  	call	I2CwaitAck	;wait ACK
   733  00017A   581A(1+S)  	bts1	I2CackFlag
   734  00017B   81A4(2)  	jmp	ReloadTestDataError
   735  00017C   2B1D(1)  	clr	ErrorCount
   736  00017D             
   737  00017D   C0C5(2)  	call	I2Cstart
   738  00017E   C0DC(2)  	call	I2Cout1		;Device address
   739  00017F   C0E7(2)  	call	I2Cout0
   740  000180   C0DC(2)  	call	I2Cout1
   741  000181   C0E7(2)  	call	I2Cout0
   742  000182   C0E7(2)  	call	I2Cout0
   743  000183   C0E7(2)  	call	I2Cout0
   744  000184   C0E7(2)  	call	I2Cout0
   745  000185   C0DC(2)  	call	I2Cout1		;R/W
   746  000186             
   747  000186   C0F2(2)  	call	I2CwaitAck	;wait ACK
   748  000187   581A(1+S)  	bts1	I2CackFlag
   749  000188   81A4(2)  	jmp	ReloadTestDataError
   750  000189   2B1D(1)  	clr	ErrorCount
   751  00018A             
   752  00018A   C10C(2)  	call	I2CreadBit	;Read Data
   753  00018B   C10C(2)  	call	I2CreadBit
   754  00018C   C10C(2)  	call	I2CreadBit
   755  00018D   C10C(2)  	call	I2CreadBit
   756  00018E   C10C(2)  	call	I2CreadBit
   757  00018F   C10C(2)  	call	I2CreadBit
   758  000190   C10C(2)  	call	I2CreadBit
   759  000191   C10C(2)  	call	I2CreadBit

⌨️ 快捷键说明

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