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

📄 main1.lst

📁 82K96E/82M99E开发的USB键盘接收端DEMO程序源码
💻 LST
字号:
"File: MAIN1.ASM     Holtek Cross-Assembler  Version 2.86      Page 1


   1  0000              include			ht82k96e.inc


   2  0000              include			usbrf.inc


   3  0000              include			usbFIFO.inc


   4  0000              
   5  0000              sel_reg_line						equ				usr.5
   6  0000              sel_ps2_line						equ				usr.4
   7  0000              
   8  0000              
   9  0000              
  10  0000              
  11  0000              extern			bKB_KeyUpt		:bit
  12  0000              extern			bFLAG_HvRpt		:bit
  13  0000              extern			btime_out_KB	:bit
  14  0000              extern			baddr_state		:bit
  15  0000              extern			bcfgvalue		:bit
  16  0000              extern			breseume_s		:bit
  17  0000              extern			bRmtWakeup		:bit
  18  0000              
  19  0000              
  20  0000              ;for KB
  21  0000              scanin			equ			pa
  22  0000              extern			examine_kb_state		:near
  23  0000              extern			setled					:near
  24  0000              extern			KB_initial				:near
  25  0000              extern			kb_suspend				:near
  26  0000              extern			kb_io_config			:near
  27  0000              
  28  0000              
  29  0000              
  30  0000              ;rf_proc.asm
  31  0000              extern			Ram_init				:near
  32  0000              
  33  0000              extern			config_USB				:near
  34  0000              extern			start_timer				:near
  35  0000              extern			ReportKBTime			:byte
  36  0000              extern			TempKBTime				:byte
  37  0000              extern			TempKBTime_L			:byte
  38  0000              extern			temp1					:byte
  39  0000              extern			temp2					:byte
  40  0000              
  41  0000              extern			KB_LED						:byte
  42  0000              
  43  0000              main            .section         'code'
  44  0000              ;-----------------------------------------------------------------------------------
  45  0000              ;-----------------------------------------------------------------------------------
  46  0000              ;						main program here
  47  0000              ;-----------------------------------------------------------------------------------
  48  0000              ;-----------------------------------------------------------------------------------
  49  0000              
  50  0000              
  51  0000              main_start:
  52  0000              
  53  0000  070A                                mov             a,status
"File: MAIN1.ASM     Holtek Cross-Assembler  Version 2.86      Page 2

  54  0001  0E30        						and				a,00110000b
  55  0002  0C30                                xor             a,00110000b
  56  0003  3D0A                                sz             	z
  57  0004  2800     R                          jmp             watch_wake
  58  0005  0001        						clr				wdt
  59  0006  0F87        						mov				a,10000111b
  60  0007  0089        						mov				WDTS,a
  61  0008              
  62  0008  2000     E  						call			kb_io_config
  63  0009  2000     E  						call			Ram_init
  64  000A  2000     E  						call			KB_initial
  65  000B  2000     E  						call			config_USB
  66  000C              
  67  000C              
  68  000C  3000     E  						set				baddr_state				; USB in address state
  69  000D  3589        						clr				wdts.3
  70  000E  3389        						set				wdts.7						;clear usb reset	
  71  000F  319C        						set				on_usb_clk		
  72  0010  361B        						clr				sel_ps2_line	
  73  0011  329B        						set				sel_reg_line					;set usb mode
  74  0012              
  75  0012  0F03        						mov				a,00000011b
  76  0013  008B        						mov				intc,a
  77  0014  360E        						clr				timer0_on
  78  0015              ;------------------------------------------------------------------------------------------------
  79  0015              mainloop:
  80  0015  0001        						clr				wdt
  81  0016  3C1A        						sz				suspend_line
  82  0017  2800     R  						jmp				Tosuspend
  83  0018              ;------------------------------------------------------------------------------------------------
  84  0018              maintag:
  85  0018  3C00     E                  		SZ      		bCfgValue               ;Has configured ?
  86  0019  2800     R                  		JMP     		maintag_cnt           	;Yes
  87  001A  2800     R                  		JMP     		MainLoop                ;No
  88  001B              maintag_cnt:
  89  001B  2800     E  						jmp				examine_kb_state
  90  001C              exit_of_examine_kb_state:
  91  001C              
  92  001C              ;------------------------------------------------------------------------------------------------
  93  001C              NeedReportCheck:
  94  001C                  ;Whether has device been configured ?
  95  001C                  ;Yes: May report data ?
  96  001C  3C00     E                  		SZ      		bCfgValue               	;Has configured ?
  97  001D  2800     R                  		JMP     		HasConfigured           ;Yes
  98  001E  2800     R                  		JMP     		MainLoop                ;No
  99  001F              HasConfigured:
 100  001F              ;In Normal State
 101  001F              
 102  001F  3C00     E  						SZ     			bFLAG_HvRpt 				;ever reported ?
 103  0020  2800     R                  		JMP     		Check_Mouse_KB_state	;Yes 
 104  0021              	;Report all data immediately
 105  0021  2000     E  						call			start_timer
 106  0022  3C00     E  						SZ     			bFLAG_HvRpt 				;ever reported ?
 107  0023  2800     R                  		JMP     		Check_Mouse_KB_state	;Yes 
 108  0024              	;Report all data immediately
 109  0024  3000     E  						set				bKB_KeyUpt
 110  0025  1F00     E  						clr				tempkbtime_L
 111  0026  1F00     E  						clr				tempkbtime
 112  0027  3000     E                  		SET     		bFLAG_HvRpt 				;has reported
 113  0028              	
"File: MAIN1.ASM     Holtek Cross-Assembler  Version 2.86      Page 3

 114  0028              	;reset key changed flag
 115  0028  2800     R  						jmp				Mainloop
 116  0029              ;-----------------------------------------------------------------------------------
 117  0029              Check_Mouse_KB_State:
 118  0029  1080     E  						SZ				ReportKBTime
 119  002A  2800     R  						jmp				check_TIME_OUT_KB
 120  002B  2800     R  						JMP				MainLoop				;Has Idle time
 121  002C              ;-----------------------------------------------------------------------------------
 122  002C              check_time_out_KB:	
 123  002C  3C00     E  						SZ				btime_out_KB
 124  002D  3000     E  						set				bKB_KeyUpt
 125  002E  2800     R  						JMP				MainLoop
 126  002F              ;-----------------------------------------------------------------------------------
 127  002F              ToSuspend:
 128  002F  3611        						clr				timer1_on
 129  0030  2000     E  						call			kb_suspend
 130  0031              
 131  0031              wait_about_3s:
 132  0031              ;about wait_3s for 6MHz crystal
 133  0031  0F02        						mov		a,2					
 134  0032  0080     E  						mov		temp2,a
 135  0033  1F80     E  						set		temp1
 136  0034  1F85        						set		acc
 137  0035              wait_3s:
 138  0035  0001        						clr		wdt
 139  0036  381A        						snz		suspend_line				;about 850
 140  0037  2800     R  						jmp		exit_of_suspend
 141  0038  1785        						sdz		acc
 142  0039  2800     R  						jmp		wait_3s
 143  003A  1780     E  						sdz		temp1
 144  003B  2800     R  						jmp		wait_3s						;217ms
 145  003C  1780     E  						sdz		temp2
 146  003D  2800     R  						jmp		wait_3s
 147  003E              				
 148  003E              ;------------------------------------------------------------------------------------------
 149  003E              ToSuspend_again:
 150  003E  359C        						clr		on_usb_clk	
 151  003F  361C        						clr		regulator_off
 152  0040  0000        						nop
 153  0041  0002        						halt
 154  0042              watch_wake:
 155  0042              ;check I/O wakeup
 156  0042  1F05        						clr		acc
 157  0043  0F0A        						mov		a,10
 158  0044  0080     E  						mov		temp1,a
 159  0045              
 160  0045              wait_debounce:
 161  0045  0001        						clr		wdt
 162  0046  381A        						snz		suspend_line
 163  0047  2800     R  						jmp		exit_of_resume_mode
 164  0048  1785        						sdz		acc
 165  0049  2800     R  						jmp		wait_debounce
 166  004A  1780     E  						sdz		temp1
 167  004B  2800     R  						jmp		wait_debounce
 168  004C              
 169  004C  0712        						mov		a,scanin
 170  004D  0CFF        						xor		a,0ffh
 171  004E  3D0A        						sz		z
 172  004F  2800     R  						jmp		wait_reseume_out
 173  0050              ;------------------------------------------------------------------------------------------
"File: MAIN1.ASM     Holtek Cross-Assembler  Version 2.86      Page 4

 174  0050              RemoteWakeup:
 175  0050              ;out wakeup pulse
 176  0050              
 177  0050  3800     E  						snz		bRmtWakeup
 178  0051  2800     R  						jmp		ToSuspend_again
 179  0052              				
 180  0052  319C        						set		on_usb_clk	
 181  0053  361C        						clr		regulator_off
 182  0054              
 183  0054  309A        						set		wakeup_line
 184  0055  0000        						nop
 185  0056  0000        						nop
 186  0057  0000        						nop
 187  0058  0000        						nop
 188  0059  0000        						nop
 189  005A  0000        						nop
 190  005B  349A        						clr		wakeup_line
 191  005C  3000     E  						set		breseume_s
 192  005D              ;------------------------------------------------------------------------------------------
 193  005D              wait_reseume_out:
 194  005D  0001        						clr		wdt
 195  005E  3800     E  						snz		breseume_s
 196  005F  2800     R  						jmp		exit_of_resume_mode
 197  0060  2800     R  						jmp		wait_reseume_out		
 198  0061              
 199  0061              ;------------------------------------------------------------------------------------------
 200  0061              exit_of_resume_mode:
 201  0061  381A        						snz		suspend_line
 202  0062  2800     R  						jmp		exit_of_suspend
 203  0063  2800     R  						jmp		ToSuspend_again
 204  0064              
 205  0064              ;------------------------------------------------------------------------------------------
 206  0064              
 207  0064              exit_of_suspend:
 208  0064  3400     E                  		CLR     bFLAG_HvRpt 				;reset to nonreport
 209  0065  2000     E  						call	kb_io_config
 210  0066  0700     E  						mov		a,kb_led
 211  0067  2000     E  						call	setled
 212  0068  3211        						set		timer1_on
 213  0069  2800     R  						jmp		mainloop
 214  006A              ;----------------------------------------------------------------------------------------------
 215  006A              
 216  006A              
 217  006A              				
 218  006A              public			main_start
 219  006A              public			exit_of_examine_kb_state
 220  006A              						
 221  006A              END


        0 Errors

⌨️ 快捷键说明

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