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

📄 av_2717_015.lst

📁 一个双路马达驱动与8LED显示的电动玩具!
💻 LST
📖 第 1 页 / 共 4 页
字号:
   621 0016C 0012          			RET
   622                     			
   623 0016D 00D9          			CLR		REG_M_100US
   624 0016E 055E          			INC		COUNT_M_10MS
   625 0016F 0A95          			BS		FLAG1,DELAY_ON_M_FLAG
   626 00170 0012          			RET
   627                     ;*******************************************************
   628 00171               MOTOR_M_POS_NEG:
   629                     			
   630 00171 0427          			MOV		A,G_T_REG			;正转周期
   631 00172 011E          			SUB		A,COUNT_M_10MS
   632 00173 0E03          			JBS		STATUS,C
   633 00174 1577          			JMP		$+3
   634                     			
   635 00175 00DE          			CLR		COUNT_M_10MS
   636 00176 0012          			RET
   637                     			
   638                     			
   639 00177 0428          			MOV		A,POS_REG		;正转关闭时间
   640 00178 011E          			SUB		A,COUNT_M_10MS
   641 00179 0E03          			JBS		STATUS,C
   642 0017A 157D          			JMP		$+3
   643                     			
   644 0017B 115D          			CALL	MOTOR_M_DRIVE
   645 0017C 0012          			RET
   646                     			
   647 0017D 115D          			CALL	MOTOR_M_DRIVE
   648 0017E 08A6          			BC		R6_BUF,MOTOR_M_LM		;方向改变时延时
   649 0017F 0012          			RET
   650                     
   651                     ;**********************************************************			
   652                     
   653 00180               DIS_MODE:
   654 00180 0F15          			JBS		FLAG1,STATIC_FLAG		;"静态"显示
   655 00181 1584          			JMP		DIS_DYNAMIC			;"动态"显示
   656                     			
   657 00182 1086          			CALL	LED_STATIC_MODE
   658 00183 0012          			RET
   659                     			
   660 00184               DIS_DYNAMIC:
   661 00184 11C2          			CALL	LED_DYNAMIC_MODE
   662 00185 0012          			RET
   663                     			
   664                     ;&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
   665                     ;*********************************************************
   666                     
   667 00186               LED_STATIC_DUTY0:
   668 00186 041F                  	MOV     A,SPEED_M
   669 00187 1020                  	CALL    STATIC_TABE_M
   670 00188 0069                  	MOV		DIS_TEMP,A
   671 00189 0421                  	MOV		A,SPEED_G
   672 0018A 1038                  	CALL	STATIC_TABE_G
   673 0018B 0269                  	OR		DIS_TEMP,A  ;存P66,P67
   674                             	
   675 0018C 0426                  	MOV		A,R6_BUF
   676 0018D 1A3F                  	AND		A,@0X3F
   677 0018E 0066                  	MOV		R6_BUF,A
   678                             	
   679 0018F 0429                  	MOV		A,DIS_TEMP
   680 00190 1AC0                  	AND		A,@0XC0		;取P66,P67
   681 00191 0266                  	OR		R6_BUF,A	;保留PORT6其他值
   682                             	
   683 00192 180E                  	MOV		A,@0X0E		
   684 00193 0065                  	MOV		R5_BUF,A	;P50
   685 00194 0012                  	RET
   686 00195               LED_STATIC_DUTY1:
   687 00195 041F                  	MOV     A,SPEED_M
   688 00196 1026                  	CALL    STATIC_TABF_M
   689 00197 0069                  	MOV		DIS_TEMP,A
   690 00198 0421                  	MOV		A,SPEED_G
   691 00199 103E                  	CALL	STATIC_TABF_G
   692 0019A 0269                  	OR		DIS_TEMP,A  ;存P66,P67
   693                             	
   694 0019B 0426                  	MOV		A,R6_BUF
   695 0019C 1A3F                  	AND		A,@0X3F
   696 0019D 0066                  	MOV		R6_BUF,A
   697                             	
   698 0019E 0429                  	MOV		A,DIS_TEMP
   699 0019F 1AC0                  	AND		A,@0XC0		;取P66,P67
   700 001A0 0266                  	OR		R6_BUF,A	;保留PORT6其他值
   701                             	
   702 001A1 180D                  	MOV		A,@0X0D		
   703 001A2 0065                  	MOV		R5_BUF,A	;P51
   704 001A3 0012                  	RET
   705 001A4               LED_STATIC_DUTY2:
   706 001A4 041F                 	 	MOV     A,SPEED_M
   707 001A5 102C                  	CALL    STATIC_TABG_M
   708 001A6 0069                  	MOV		DIS_TEMP,A
   709 001A7 0421                  	MOV		A,SPEED_G
   710 001A8 1044                  	CALL	STATIC_TABG_G
   711 001A9 0269                  	OR		DIS_TEMP,A  ;存P66,P67
   712                             	
   713 001AA 0426                  	MOV		A,R6_BUF
   714 001AB 1A3F                  	AND		A,@0X3F
   715 001AC 0066                  	MOV		R6_BUF,A
   716                             	
   717 001AD 0429                  	MOV		A,DIS_TEMP
   718 001AE 1AC0                  	AND		A,@0XC0		;取P66,P67
   719 001AF 0266                  	OR		R6_BUF,A	;保留PORT6其他值
   720                             	
   721 001B0 180B                  	MOV		A,@0X0B		
   722 001B1 0065                  	MOV		R5_BUF,A	;P52
   723 001B2 0012                  	RET
   724 001B3               LED_STATIC_DUTY3: 
   725 001B3 041F                  	MOV     A,SPEED_M
   726 001B4 1032                  	CALL    STATIC_TABH_M
   727 001B5 0069                  	MOV		DIS_TEMP,A
   728 001B6 0421                  	MOV		A,SPEED_G
   729 001B7 104A                  	CALL	STATIC_TABH_G
   730 001B8 0269                  	OR		DIS_TEMP,A  ;存P66,P67
   731                             	
   732 001B9 0426                  	MOV		A,R6_BUF
   733 001BA 1A3F                  	AND		A,@0X3F
   734 001BB 0066                  	MOV		R6_BUF,A
   735                             	
   736 001BC 0429                  	MOV		A,DIS_TEMP
   737 001BD 1AC0                  	AND		A,@0XC0		;取P66,P67
   738 001BE 0266                  	OR		R6_BUF,A	;保留PORT6其他值
   739                             	
   740 001BF 1807                  	MOV		A,@0X07		
   741 001C0 0065                  	MOV		R5_BUF,A	;P53
   742 001C1 0012                  	RET
   743                             	
   744                     ;&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
   745 001C2               LED_DYNAMIC_MODE:
   746 001C2 1828          			MOV		A,@0X28
   747 001C3 0110          			SUB		A,REG_10MS		;每位显示60MS
   748 001C4 0E03          			JBS		STATUS,C
   749 001C5 1480          			JMP		LED_DYNAMIC_STA
   750                     			
   751 001C6 00D0          			CLR		REG_10MS
   752                     
   753 001C7               SPEED_M_DIS:			
   754 001C7 045F          			MOV		SPEED_M,SPEED_M
   755 001C8 0E83          			JBS		STATUS,Z
   756 001C9 15CC          			JMP		$+3			
   757                     			
   758 001CA 00E0          			CLR		SPEED_M_DUTY
   759 001CB 15D2          			JMP		SPEED_G_DIS
   760                     			
   761 001CC 01E0          			DEC		SPEED_M_DUTY			;由高到低显示
   762 001CD 0460          			MOV		SPEED_M_DUTY,SPEED_M_DUTY
   763 001CE 0E83          			JBS		STATUS,Z
   764 001CF 15D2          			JMP		$+3
   765                     			
   766 001D0 1804          			MOV		A,@0X04
   767 001D1 0060          			MOV		SPEED_M_DUTY,A
   768                     
   769 001D2               SPEED_G_DIS:
   770 001D2 0461          			MOV		SPEED_G,SPEED_G
   771 001D3 0E83          			JBS		STATUS,Z
   772 001D4 15D7          			JMP		$+3
   773                     			
   774 001D5 00E2          			CLR		SPEED_G_DUTY
   775 001D6 1480          			JMP		LED_DYNAMIC_STA
   776                     			
   777 001D7 0562          			INC		SPEED_G_DUTY
   778 001D8 1805          			MOV		A,@0X05
   779 001D9 0122          			SUB		A,SPEED_G_DUTY
   780 001DA 0E03          			JBS		STATUS,C
   781 001DB 1480          			JMP		LED_DYNAMIC_STA	
   782                     			
   783 001DC 1801          			MOV		A,@0X01
   784 001DD 0062          			MOV		SPEED_G_DUTY,A
   785 001DE 1480          			JMP		LED_DYNAMIC_STA
   786                     			
   787                     ;------------------------------------------------------
   788                     ;*****************************************************
   789 001DF               LED_DYNAMIC_DUTY0:
   790 001DF 0420                  	MOV     A,SPEED_M_DUTY
   791 001E0 1050                  	CALL    DYNAMIC_TABE_M
   792 001E1 0069                  	MOV		DIS_TEMP,A
   793 001E2 0422                  	MOV		A,SPEED_G_DUTY
   794 001E3 1068                  	CALL	DYNAMIC_TABE_G
   795 001E4 0269                  	OR		DIS_TEMP,A  ;存P66,P67
   796                             	
   797 001E5 0426                  	MOV		A,R6_BUF
   798 001E6 1A3F                  	AND		A,@0X3F
   799 001E7 0066                  	MOV		R6_BUF,A
   800                             	
   801 001E8 0429                  	MOV		A,DIS_TEMP
   802 001E9 1AC0                  	AND		A,@0XC0		;取P66,P67
   803 001EA 0266                  	OR		R6_BUF,A	;保留PORT6其他值
   804                             	
   805 001EB 180E                  	MOV		A,@0X0E		
   806 001EC 0065                  	MOV		R5_BUF,A	;P50
   807 001ED 0012                  	RET
   808 001EE               LED_DYNAMIC_DUTY1:
   809 001EE 0420                  	MOV     A,SPEED_M_DUTY
   810 001EF 1056                  	CALL    DYNAMIC_TABF_M
   811 001F0 0069                  	MOV		DIS_TEMP,A
   812 001F1 0422                  	MOV		A,SPEED_G_DUTY
   813 001F2 106E                  	CALL	DYNAMIC_TABF_G
   814 001F3 0269                  	OR		DIS_TEMP,A  ;存P66,P67
   815                             	
   816 001F4 0426                  	MOV		A,R6_BUF
   817 001F5 1A3F                  	AND		A,@0X3F
   818 001F6 0066                  	MOV		R6_BUF,A
   819                             	
   820 001F7 0429                  	MOV		A,DIS_TEMP
   821 001F8 1AC0                  	AND		A,@0XC0		;取P66,P67
   822 001F9 0266                  	OR		R6_BUF,A	;保留PORT6其他值
   823                             	
   824 001FA 180D                  	MOV		A,@0X0D		
   825 001FB 0065                  	MOV		R5_BUF,A	;P51
   826 001FC 0012                  	RET
   827 001FD               LED_DYNAMIC_DUTY2:
   828 001FD 0420                 	 	MOV     A,SPEED_M_DUTY
   829 001FE 105C                  	CALL    DYNAMIC_TABG_M
   830 001FF 0069                  	MOV		DIS_TEMP,A
   831 00200 0422                  	MOV		A,SPEED_G_DUTY
   832 00201 1074                  	CALL	DYNAMIC_TABG_G
   833 00202 0269                  	OR		DIS_TEMP,A  ;存P66,P67
   834                             	
   835 00203 0426                  	MOV		A,R6_BUF
   836 00204 1A3F                  	AND		A,@0X3F
   837 00205 0066                  	MOV		R6_BUF,A
   838                             	
   839 00206 0429                  	MOV		A,DIS_TEMP
   840 00207 1AC0                  	AND		A,@0XC0		;取P66,P67
   841 00208 0266                  	OR		R6_BUF,A	;保留PORT6其他值
   842                             	
   843 00209 180B                  	MOV		A,@0X0B		
   844 0020A 0065                  	MOV		R5_BUF,A	;P52
   845 0020B 0012                  	RET
   846 0020C               LED_DYNAMIC_DUTY3: 
   847 0020C 0420                  	MOV     A,SPEED_M_DUTY
   848 0020D 1062                  	CALL    DYNAMIC_TABH_M
   849 0020E 0069                  	MOV		DIS_TEMP,A
   850 0020F 0422                  	MOV		A,SPEED_G_DUTY
   851 00210 107A                  	CALL	DYNAMIC_TABH_G
   852 00211 0269                  	OR		DIS_TEMP,A  ;存P66,P67
   853                             	
   854 00212 0426                  	MOV		A,R6_BUF
   855 00213 1A3F                  	AND		A,@0X3F
   856 00214 0066                  	MOV		R6_BUF,A
   857                             	
   858 00215 0429                  	MOV		A,DIS_TEMP
   859 00216 1AC0                  	AND		A,@0XC0		;取P66,P67
   860 00217 0266                  	OR		R6_BUF,A	;保留PORT6其他值
   861                             	
   862 00218 1807                  	MOV		A,@0X07		
   863 00219 0065                  	MOV		R5_BUF,A	;P53
   864 0021A 0012                  	RET		       	
   865                     ;******************************************************
   866 0021B               DELAY:
   867 0021B 1832          			MOV		A,@0X32
   868 0021C 0069          			MOV		DIS_TEMP,A
   869 0021D 05E9          			DJZ		DIS_TEMP
   870 0021E 161D          			JMP		$-1
   871 0021F 0012          			RET
   872                     ;**************************************************************************	
   873 00220               INT_TCC:
   874 00220 0051           			MOV		ACC_BUF,A			;push the ACC and STATUS to stack
   875 00221 0751           			SWAP	ACC_BUF
   876 00222 0703           			SWAPA	STATUS
   877 00223 0052           			MOV		R3_BUF,A
   878                      			
   879 00224 18AA           			MOV		A,@0XAA
   880 00225 0041           			MOV		TCC,A
   881                      			
   882 00226 0C0F           			JBC		RF,TCIF			;test the TCC interrupt 
   883 00227 162C           			JMP		INT_TCC1
   884                      			
   885 00228 1801          			MOV		A,@0X01			;enable the TCC interrupt and diseable other interrupt flag
   886 00229 000F          			IOW		0X0F
   887 0022A 004F          			MOV		0X0F,A
   888 0022B 1710          			JMP		INT_EXIT1
   889                     			
   890 0022C               INT_TCC1: 					
   891 0022C 0558           			INC		REG_G_100US
   892 0022D 0559           			INC		REG_M_100US
   893 0022E 055A           			INC		FLAG_100US
   894 0022F 055B           			INC		DUTY_100US
   895                      			
   896 00230 1814           			MOV		A,@0X14			;扫描频率/1MS
   897 00231 011B           			SUB		A,DUTY_100US
   898 00232 0E03           			JBS		STATUS,C
   899 00233 163A           			JMP		$+7
   900                      			
   901 00234 00DB           			CLR		DUTY_100US
   902 00235 0563           			INC		LED_DUTY
   903 00236 1804           			MOV		A,@0X04
   904 00237 0123           			SUB		A,LED_DUTY
   905 00238 0C03           			JBC		STATUS,C
   906 00239 00E3           			CLR		LED_DUTY
   907                      			
   908 0023A 0461           			MOV		SPEED_G,SPEED_G		;test  sleep  mode
   909 0023B 0E83           			JBS		STATUS,Z
   910 0023C 00DC           			CLR		SLEEP_FLAG
   911                      			
   912 0023D 045F           			MOV		SPEED_M,SPEED_M
   913 0023E 0E83           			JBS		STATUS,Z
   914 0023F 00DC           			CLR		SLEEP_FLAG			;SPEED_M速度为0时才计SLEEP
   915                      			
   916 00240 1864           			MOV		A,@0X64
   917 00241 011A           			SUB		A,FLAG_100US
   918 00242 0E03           			JBS		STATUS,C
   919 00243 170E           			JMP		INT_EXIT
   920                      			
   921                      			
   922 00244 055C           			INC		SLEEP_FLAG
   923 00245 00DA           			CLR		FLAG_100US
   924 00246 0550           			INC		REG_10MS
   925                      			
   926 00247 046B           			MOV		STATIC_TIME,STATIC_TIME
   927 00248 0E83           			JBS		STATUS,Z
   928 00249 164C           			JMP		$+3
   929                      			
   930 0024A 0915           			BC		FLAG1,STATIC_FLAG		;动态显示

⌨️ 快捷键说明

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