initial commit

This commit is contained in:
josch 2014-06-26 09:38:06 +02:00
commit 36da235535
34 changed files with 10160 additions and 0 deletions

5
Makefile Normal file
View file

@ -0,0 +1,5 @@
CC=gcc
CFLAGS=-Wall
LDFLAGS=-lusb -lm
keenectl: keenectl.o

114
PRG/CAL.LST Normal file
View file

@ -0,0 +1,114 @@
文件CAL.ASM 盛群编译器版本 2.86 页次1
1 0000 ;8 bit unsigned mul
2 0000 unbin_mul_8 proc ;data0*data4---->to1to0
3 0000 init
Error(A0010) E:\项目\USB 音频发射\USB AUDIO(PC)\COD\PRG\CAL.ASM 3 : 非预期的符号 'init'
4 0000 0F08 mov a, 08h
5 0001 0000 mov count0, a
Error(A0024) E:\项目\USB 音频发射\USB AUDIO(PC)\COD\PRG\CAL.ASM 5 : 语法错误
6 0002 rradd:
7 0002 0000 rrc to1
Error(A0024) E:\项目\USB 音频发射\USB AUDIO(PC)\COD\PRG\CAL.ASM 7 : 语法错误
8 0003 0000 rrc data4
Error(A0024) E:\项目\USB 音频发射\USB AUDIO(PC)\COD\PRG\CAL.ASM 8 : 语法错误
9 0004 380A snz [0ah].0
10 0005 2800 R jmp rr1 ;当前data4.0=0,移位<E7A7BB>
11 0006 0F00 mov a, data0 ;当前data4.0=1,移位相加
Error(A0005) E:\项目\USB 音频发射\USB AUDIO(PC)\COD\PRG\CAL.ASM 11 : 未定义的符号 'data0'
12 0007 0000 addm a, to1
Error(A0024) E:\项目\USB 音频发射\USB AUDIO(PC)\COD\PRG\CAL.ASM 12 : 语法错误
13 0008 rr1:
14 0008 0000 sdz count0
Error(A0024) E:\项目\USB 音频发射\USB AUDIO(PC)\COD\PRG\CAL.ASM 14 : 语法错误
15 0009 2800 R jmp rradd
16 000A 0000 rrc to1
Error(A0024) E:\项目\USB 音频发射\USB AUDIO(PC)\COD\PRG\CAL.ASM 16 : 语法错误
17 000B 0000 rrc data4
Error(A0024) E:\项目\USB 音频发射\USB AUDIO(PC)\COD\PRG\CAL.ASM 17 : 语法错误
18 000C 0F00 mov a, data4
Error(A0005) E:\项目\USB 音频发射\USB AUDIO(PC)\COD\PRG\CAL.ASM 18 : 未定义的符号 'data4'
19 000D 0000 mov to0, a
Error(A0024) E:\项目\USB 音频发射\USB AUDIO(PC)\COD\PRG\CAL.ASM 19 : 语法错误
20 000E 0003 ret
21 000F unbin_mul_8 endp
22 000F
23 000F
24 000F ;8 bit unsigned div
25 000F unbin_div_8 proc ;data0/data4---->data0(to0)---to1
26 000F init
Error(A0010) E:\项目\USB 音频发射\USB AUDIO(PC)\COD\PRG\CAL.ASM 26 : 非预期的符号 'init'
27 000F 0F08 mov a, 08h ;循环次数8
28 0010 0000 mov count0, a
Error(A0024) E:\项目\USB 音频发射\USB AUDIO(PC)\COD\PRG\CAL.ASM 28 : 语法错误
29 0011
30 0011 0000 sz data4 ;除数为0则溢出
Error(A0024) E:\项目\USB 音频发射\USB AUDIO(PC)\COD\PRG\CAL.ASM 30 : 语法错误
31 0012 2800 R jmp start0
32 0013 2800 R jmp over8
33 0014 start0:
34 0014 0000 sz data0 ;被除数为0则结束
Error(A0024) E:\项目\USB 音频发射\USB AUDIO(PC)\COD\PRG\CAL.ASM 34 : 语法错误
35 0015 2800 R jmp div0
36 0016 2800 R jmp dispa
37 0017 div0:
38 0017 340A clr [0Ah].0 ;准备左移
39 0018 0000 rlc data0
Error(A0024) E:\项目\USB 音频发射\USB AUDIO(PC)\COD\PRG\CAL.ASM 39 : 语法错误
40 0019 0000 rlc to1 ;左移一位结束
Error(A0024) E:\项目\USB 音频发射\USB AUDIO(PC)\COD\PRG\CAL.ASM 40 : 语法错误
41 001A 0F00 mov a, to1 ;开始部分余数减除数
Error(A0005) E:\项目\USB 音频发射\USB AUDIO(PC)\COD\PRG\CAL.ASM 41 : 未定义的符号 'to1'
文件CAL.ASM 盛群编译器版本 2.86 页次2
42 001B 0A00 sub a, data4
Error(A0005) E:\项目\USB 音频发射\USB AUDIO(PC)\COD\PRG\CAL.ASM 42 : 未定义的符号 'data4'
43 001C 380A snz [0Ah].0
44 001D 2800 R jmp next0 ;不够减则转移
45 001E 0000 mov to1, a ;够减则商为1
Error(A0024) E:\项目\USB 音频发射\USB AUDIO(PC)\COD\PRG\CAL.ASM 45 : 语法错误
46 001F 0000 inc data0
Error(A0024) E:\项目\USB 音频发射\USB AUDIO(PC)\COD\PRG\CAL.ASM 46 : 语法错误
47 0020 next0:
48 0020 0000 sdz count0
Error(A0024) E:\项目\USB 音频发射\USB AUDIO(PC)\COD\PRG\CAL.ASM 48 : 语法错误
49 0021 2800 R jmp div0
50 0022 dispa:
51 0022 0F00 mov a, data0 ;显示商
Error(A0005) E:\项目\USB 音频发射\USB AUDIO(PC)\COD\PRG\CAL.ASM 51 : 未定义的符号 'data0'
52 0023 0000 mov to0, a
Error(A0024) E:\项目\USB 音频发射\USB AUDIO(PC)\COD\PRG\CAL.ASM 52 : 语法错误
53 0024 ;; mov a, data4
54 0024 ;; mov to1, a
55 0024 0003 ret
56 0025 over8:
57 0025 0003 ret
58 0026 unbin_div_8 endp
59 0026
60 0026
61 0026 ;16 bit unsigned div
62 0026 unbin_div_16 proc ;data0data1/data4data5---->data1data0(to1to0)---to2to3
63 0026 init
Error(A0010) E:\项目\USB 音频发射\USB AUDIO(PC)\COD\PRG\CAL.ASM 63 : 非预期的符号 'init'
64 0026 0F10 mov a, 10h
65 0027 0000 mov count0, a
Error(A0024) E:\项目\USB 音频发射\USB AUDIO(PC)\COD\PRG\CAL.ASM 65 : 语法错误
66 0028 0000 sz data5
Error(A0024) E:\项目\USB 音频发射\USB AUDIO(PC)\COD\PRG\CAL.ASM 66 : 语法错误
67 0029 2800 R jmp start16
68 002A 0000 sz data4
Error(A0024) E:\项目\USB 音频发射\USB AUDIO(PC)\COD\PRG\CAL.ASM 68 : 语法错误
69 002B 2800 R jmp start16
70 002C 2800 R jmp over16
71 002D start16:
72 002D 0000 sz data1
Error(A0024) E:\项目\USB 音频发射\USB AUDIO(PC)\COD\PRG\CAL.ASM 72 : 语法错误
73 002E 2800 R jmp div16
74 002F 0000 sz data0
Error(A0024) E:\项目\USB 音频发射\USB AUDIO(PC)\COD\PRG\CAL.ASM 74 : 语法错误
Error(A0052) E:\项目\USB 音频发射\USB AUDIO(PC)\COD\PRG\CAL.ASM : 错误过多
31 Errors

236
PRG/DES.ASM Normal file
View file

@ -0,0 +1,236 @@
;====================================================================
; ROM Size , HT82A821R = 2K , last page = 0700H
; HT82A822R = 4K , last page = 0F00H
; If use HT82A821R
; #defined HT82A821R 1
; #defined HT82A822R 0
; If use HT82A822R
; #defined HT82A821R 0
; #defined HT82A822R 1
;====================================================================
; Use ReportID , Report ID 1 = Volume HID control
; Report ID 2 = Transform Other Data
;====================================================================
#include ht82a821r.inc
#include const.inc
#define HT82A821R 1
#define HT82A822R 0
IF HT82A821R
Descript .Section at 0700h 'code'
ENDIF
IF HT82A822R
Descript .Section at 0F00h 'code'
ENDIF
control_read_table:
device_desc_table:
DW 00112H ;descriptor type (device descriptor) , size of descriptor (18 bytes)
DW 00110H ;USB spec release (ver 1.1)
DW 00000H ;device sub-class , device class
DW 00800H ;maximum packet size , device sub-sub-class
DW 0046DH ;vender ID = 004D9H
DW 03F0EH
DW 03F0AH ;product ID (Sample Device) = 0x2821
DW 00100H ;product version ID
DW 00201H ;product string index (device show) , manufacturer string index
DW 00100H ;number of configurations
config_desc_table:
DW 00209H ;descriptor type (config descriptor) , size of descriptor
DW 00087H ;total length of descriptor (34 bytes)
DW 00103H ;1 configuration , 3 interface
DW 03F00H ;configuration string index
DW 03FA0H ;configuration attributes (bus supply), Remote Wakeup
DW 03FFAH ;maxpower (500ma)
Interface_Descriptor:
Interface0_descriptor:
standard_audio_control_interface_control:
DW 00409H ;descriptor type (interface descriptor) , size of descriptor (9 bytes)
DW 00000H ;interface alternate setting , interface number (0 base)
DW 00100H ;interface class(01H for audio class) , number of endpoint (1 end point)
DW 00001H ;interface protocol , interface sub-class (audio control)
DW 03F00H ;x , interface string index
class_specific_audio_control_interface_descriptor:
DW 02409H ;descriptor type (CS_INTERFACE) , size of descriptor (9 bytes)
DW 03F01H ;descriptor subtype (Header)
DW 00100H ;audio device class specification release number(1.00)
DW 00028H ;total number of bytes for the class-specific audiocontrol interface descriptor
DW 00101H ;streaming interface number belongs to audio control interface , the number of streaming interface
input_terminal:
DW 0240CH ;descriptor type(CS_INTERFACE) , size of descriptor
DW 00102H ;ID of this terminal(ID=1) , descriptor subtype(INPUT_TERMINAL)
DW 00101H ;terminal type(USB streaming type)
DW 00200H ;number of channel(two channel) , associate with output terminal
DW 00003H ;channel config(Left/Right Front)
DW 00000H ;channelname(unused) , terminal name(unused)
feature_unit:
DW 0240AH ;descriptor type(CS_INTERFACE) , size of descriptor(10 bytes)
DW 00D06H ;UnitID , descriptorSubtype(FEATURE_UNIT)
DW 00101H ;control size(1) , SourceID(input terminal 01)
DW 00003H ;D1(volume)control is enable foe channel 1 , D0(mute) D1(volume) is enable for channel 0
DW 00000H ;index of this descriptor , D1(volume)control is enable for channel 2
output_terminal:
DW 02409H ;descriptor type(CS_INTERFACE) , size of descriptor(9 bytes)
DW 00303H ;terminal ID(03) , descriptorsubtype(OUTPUT_TERMINAL)
DW 00301H ;terminal is speaker
DW 00D00H ;sourceID(feature unit ID=0D) , associate terminal
DW 03F00H ;index of this descriptor
Interface1_descriptor:
zero_bw:
DW 00409H ;descriptor type(INTERFACE) , sizoe of descriptor
DW 00001H ;index of ths setting(alternatesetting = 0) , index of this interface
DW 00100H ;interface-class(AUDIO) , number of endpoint(0)
DW 00002H ;interface protocol(unused) , InterfaceSubClass(AUDIO_STREAMING)
DW 03F00H ;index string of this descriptor
audio_streaming:
DW 00409H ;descriptor type(INTERFACE) , size of descriptor
DW 00101H ;index of the setting(alternatesetting = 1) ,index of this interface
DW 00101H ;interface-class(AUDIO) , number of endpoint(1)
DW 00002H ;interface protocol(unused) , InterfaceSubClass(AUDIO_STREAMING)
DW 03F00H ;index string of this descriptor
class_specific_as_interface_desc:
DW 02407H ;descriptor type(CS_INTERFACE) , size of descriptor
DW 00101H ;terminalLink(Input terminal) , descriptor subtype(AS_GENERAL)
DW 03F01H ;interface delay(1)
DW 00001H ;PCM format
format_type_descriptor:
DW 0240BH ;descriptor type(CS_INTERFACE) , size of descriptor
DW 00102H ;FormatType(FORMAT_TYPE_I) , descriptorSubType(FORMAT_TYPE)
DW 00202H ;SubFrameSize(2 byte per slot) , number of channel(2 channels)
DW 00110H ;SamFreqType(support 1 type) , BitSolution(16 bits)
DW 03F80H ;Sample Frequency(48000 Hz)
DW 000BBH ;
end_point_descriptor:
DW 00509H ;descriptor type(END_POINT) , size of descriptor
DW 00902H ;endpoint attributes(adaptive,isochronous) , endpoint2(out direction)
DW 000C0H ;maxPacketSize(192 bytes)
DW 00001H ;Refresh(0) , Interval(1ms)
DW 03F00H ;index string of this descriptor
class_specific_endpoint_descriptor:
DW 02507H ;descriptor type(CS_ENDPOINT) , size of descriptor
DW 00001H ;Attributes(no sampling frequency , no pitch , no maxpackets control) , descriptorType(EP_GENERAL)
DW 03F00H ;LockedDelayUnit(unused)
DW 00000H ;LockDelay(unused)
Interface2_descriptor:
HID_class:
DW 00409H ;INTERFACE descriptor , Size of this descriptor
DW 00002H ;Index of this string , index of this interface
DW 00301H ;HID , 1 endpoint
DW 00000H ;Unused , Non-Boot Device
DW 03F00H ;null string
HID_Desc:
DW 02109H ;HID , Size of this descriptor
DW 00110H ;HID spec rev #1.10
DW 00100H ;bNumDescriptor , bCountryCode
DW 03F22H ;Report Descriptor
;====================================================================
; Use ReportID , Report ID 1 = Volume HID control
; Report ID 2 = Transform Other Data
;====================================================================
IF UseReportID
DW 00016H ;67 bytes
ELSE
DW 00016H
ENDIF
HID_end_point_descriptor:
DW 00507H ;Endpoint descriptor , Length of this descriptor
DW 00381H ;Interrupt , Endpoint 1 In direction
DW 00008H ;wMaxPacketSize = 1 Bytes
DW 03F30H ;48ms Interval
end_config_desc_table:
hid_report_desc_table:
;====================================================================
; Use ReportID , Report ID 1 = Volume HID control
; Report ID 2 = Transform Other Data
;====================================================================
;;vender defined
DW 03F06H ;//Usage Page(Global)
DW 03F00H
DW 03FFFH ;//Usage Page
DW 00109H ;//Usage(Local 1 bytes)
DW 001A1H ;//collection(Main)
;input report
;; DW 03F19H
;; DW 03FA6H
;; DW 03F29H ;//Usage(Local)
;; DW 03FACH
;; DW 03F15H ;//Global Logical Minimum
;; DW 03F80H
;; DW 03F25H ;//Global Logical Maximum
;; DW 03F7FH
;; DW 00875H ;//Global Report Size 8 bits
;; DW 00795H ;//Global Report Count 7 (field)
;; DW 00281H ;//Main Input (Data,Variable,Absolute)
;output
DW 00015H ;//LOGICAL MINIMUM (0)
DW 03F25H
DW 03FffH ;//LOGICAL MAXIMUM (FF)
DW 00019H ;//Usage Min (#)
DW 00129H ;//Usage Max (#)
DW 00895H ;//Report Count(8)
DW 00875H ;//Report Size(8)
DW 00291H ;//OUTPUT: (Data, Array)
DW 03FC0H ;End Collection
end_hid_report_desc_table:
string_descriptor:
USBStringLanguageDescription:
DW 00304h ; Length , Type (3=string)
DW 00409h ; Language: English , Sub-language: US
imanufacturer_string: ;Vendor Name
USBStringDescription1:
DW 00310h, 00048h, 0004fh, 0004ch, 00054h, 00045h, 0004bh, 00020h ;HOLTEK
iproduct_string: ;Product Name
USBStringDescription2:
;DW 00326h, 00042h, 0002Dh, 0004ch, 00049h, 0004Eh, 0004bh, 00020h ;B-LINK
DW 00055h, 00053h, 00042h, 00020h ;USB
DW 00041h, 00075h, 00064h, 00069h, 0006fh, 00020h, 00020h ;Audio
isnumber_string: ;Serial Number
USBStringDescription3:
DW 0030Ah, 00038h, 00032h, 00031h, 00052h ;821R
config_desc_length:
DW 00087H
report_desc_length:
IF UseReportID
DW 00016H
ELSE
DW 00016H
ENDIF
hid_desc_length:
DW 00009H
Public control_read_table
Public device_desc_table
Public config_desc_table
Public end_config_desc_table
Public USBStringLanguageDescription
Public USBStringDescription1
Public USBStringDescription2
Public USBStringDescription3
Public HID_Desc
Public hid_report_desc_table
Public end_hid_report_desc_table
Public config_desc_length
Public hid_desc_length
Public report_desc_length

258
PRG/DES.LST Normal file
View file

@ -0,0 +1,258 @@
文件DES.ASM 盛群编译器版本 2.86 页次1
1 0000 ;====================================================================
2 0000 ; ROM Size , HT82A821R = 2K , last page = 0700H
3 0000 ; HT82A822R = 4K , last page = 0F00H
4 0000 ; If use HT82A821R
5 0000 ; #defined HT82A821R 1
6 0000 ; #defined HT82A822R 0
7 0000 ; If use HT82A822R
8 0000 ; #defined HT82A821R 0
9 0000 ; #defined HT82A822R 1
10 0000 ;====================================================================
11 0000 ; Use ReportID , Report ID 1 = Volume HID control
12 0000 ; Report ID 2 = Transform Other Data
13 0000 ;====================================================================
14 0000
15 0000 #include ht82a821r.inc
16 0000 #include const.inc
17 0000 #define HT82A821R 1
18 0000 #define HT82A822R 0
19 0000
20 0000 IF HT82A821R
21 0000 Descript .Section at 0700h 'code'
22 0000 ENDIF
23 0000
24 0000
25 0000 IF HT82A822R
26 0000 Descript .Section at 0F00h 'code'
27 0000 ENDIF
28 0000
29 0000
30 0000
31 0000 control_read_table:
32 0000 device_desc_table:
33 0000 0112 DW 00112H ;descriptor type (device descriptor) , size of descriptor (18 bytes)
34 0001 0110 DW 00110H ;USB spec release (ver 1.1)
35 0002 0000 DW 00000H ;device sub-class , device class
36 0003 0800 DW 00800H ;maximum packet size , device sub-sub-class
37 0004 046D DW 0046DH ;vender ID = 004D9H
38 0005 3F0E DW 03F0EH
39 0006 3F0A DW 03F0AH ;product ID (Sample Device) = 0x2821
40 0007 0100 DW 00100H ;product version ID
41 0008 0201 DW 00201H ;product string index (device show) , manufacturer string index
42 0009 0100 DW 00100H ;number of configurations
43 000A config_desc_table:
44 000A 0209 DW 00209H ;descriptor type (config descriptor) , size of descriptor
45 000B 0087 DW 00087H ;total length of descriptor (34 bytes)
46 000C 0103 DW 00103H ;1 configuration , 3 interface
47 000D 3F00 DW 03F00H ;configuration string index
48 000E 3FA0 DW 03FA0H ;configuration attributes (bus supply), Remote Wakeup
49 000F 3FFA DW 03FFAH ;maxpower (500ma)
50 0010 Interface_Descriptor:
51 0010 Interface0_descriptor:
52 0010 standard_audio_control_interface_control:
53 0010 0409 DW 00409H ;descriptor type (interface descriptor) , size of descriptor (9 bytes)
54 0011 0000 DW 00000H ;interface alternate setting , interface number (0 base)
55 0012 0100 DW 00100H ;interface class(01H for audio class) , number of endpoint (1 end point)
文件DES.ASM 盛群编译器版本 2.86 页次2
56 0013 0001 DW 00001H ;interface protocol , interface sub-class (audio control)
57 0014 3F00 DW 03F00H ;x , interface string index
58 0015 class_specific_audio_control_interface_descriptor:
59 0015 2409 DW 02409H ;descriptor type (CS_INTERFACE) , size of descriptor (9 bytes)
60 0016 3F01 DW 03F01H ;descriptor subtype (Header)
61 0017 0100 DW 00100H ;audio device class specification release number(1.00)
62 0018 0028 DW 00028H ;total number of bytes for the class-specific audiocontrol interface descriptor
63 0019 0101 DW 00101H ;streaming interface number belongs to audio control interface , the number of streaming interface
64 001A input_terminal:
65 001A 240C DW 0240CH ;descriptor type(CS_INTERFACE) , size of descriptor
66 001B 0102 DW 00102H ;ID of this terminal(ID=1) , descriptor subtype(INPUT_TERMINAL)
67 001C 0101 DW 00101H ;terminal type(USB streaming type)
68 001D 0200 DW 00200H ;number of channel(two channel) , associate with output terminal
69 001E 0003 DW 00003H ;channel config(Left/Right Front)
70 001F 0000 DW 00000H ;channelname(unused) , terminal name(unused)
71 0020 feature_unit:
72 0020 240A DW 0240AH ;descriptor type(CS_INTERFACE) , size of descriptor(10 bytes)
73 0021 0D06 DW 00D06H ;UnitID , descriptorSubtype(FEATURE_UNIT)
74 0022 0101 DW 00101H ;control size(1) , SourceID(input terminal 01)
75 0023 0003 DW 00003H ;D1(volume)control is enable foe channel 1 , D0(mute) D1(volume) is enable for channel 0
76 0024 0000 DW 00000H ;index of this descriptor , D1(volume)control is enable for channel 2
77 0025 output_terminal:
78 0025 2409 DW 02409H ;descriptor type(CS_INTERFACE) , size of descriptor(9 bytes)
79 0026 0303 DW 00303H ;terminal ID(03) , descriptorsubtype(OUTPUT_TERMINAL)
80 0027 0301 DW 00301H ;terminal is speaker
81 0028 0D00 DW 00D00H ;sourceID(feature unit ID=0D) , associate terminal
82 0029 3F00 DW 03F00H ;index of this descriptor
83 002A Interface1_descriptor:
84 002A zero_bw:
85 002A 0409 DW 00409H ;descriptor type(INTERFACE) , sizoe of descriptor
86 002B 0001 DW 00001H ;index of ths setting(alternatesetting = 0) , index of this interface
87 002C 0100 DW 00100H ;interface-class(AUDIO) , number of endpoint(0)
88 002D 0002 DW 00002H ;interface protocol(unused) , InterfaceSubClass(AUDIO_STREAMING)
89 002E 3F00 DW 03F00H ;index string of this descriptor
90 002F audio_streaming:
91 002F 0409 DW 00409H ;descriptor type(INTERFACE) , size of descriptor
92 0030 0101 DW 00101H ;index of the setting(alternatesetting = 1) ,index of this interface
93 0031 0101 DW 00101H ;interface-class(AUDIO) , number of endpoint(1)
94 0032 0002 DW 00002H ;interface protocol(unused) , InterfaceSubClass(AUDIO_STREAMING)
95 0033 3F00 DW 03F00H ;index string of this descriptor
96 0034 class_specific_as_interface_desc:
97 0034 2407 DW 02407H ;descriptor type(CS_INTERFACE) , size of descriptor
98 0035 0101 DW 00101H ;terminalLink(Input terminal) , descriptor subtype(AS_GENERAL)
99 0036 3F01 DW 03F01H ;interface delay(1)
100 0037 0001 DW 00001H ;PCM format
101 0038 format_type_descriptor:
102 0038 240B DW 0240BH ;descriptor type(CS_INTERFACE) , size of descriptor
103 0039 0102 DW 00102H ;FormatType(FORMAT_TYPE_I) , descriptorSubType(FORMAT_TYPE)
104 003A 0202 DW 00202H ;SubFrameSize(2 byte per slot) , number of channel(2 channels)
105 003B 0110 DW 00110H ;SamFreqType(support 1 type) , BitSolution(16 bits)
106 003C 3F80 DW 03F80H ;Sample Frequency(48000 Hz)
107 003D 00BB DW 000BBH ;
108 003E end_point_descriptor:
109 003E 0509 DW 00509H ;descriptor type(END_POINT) , size of descriptor
110 003F 0902 DW 00902H ;endpoint attributes(adaptive,isochronous) , endpoint2(out direction)
111 0040 00C0 DW 000C0H ;maxPacketSize(192 bytes)
112 0041 0001 DW 00001H ;Refresh(0) , Interval(1ms)
113 0042 3F00 DW 03F00H ;index string of this descriptor
114 0043 class_specific_endpoint_descriptor:
115 0043 2507 DW 02507H ;descriptor type(CS_ENDPOINT) , size of descriptor
文件DES.ASM 盛群编译器版本 2.86 页次3
116 0044 0001 DW 00001H ;Attributes(no sampling frequency , no pitch , no maxpackets control) , descriptorType(EP_GENERAL)
117 0045 3F00 DW 03F00H ;LockedDelayUnit(unused)
118 0046 0000 DW 00000H ;LockDelay(unused)
119 0047 Interface2_descriptor:
120 0047 HID_class:
121 0047 0409 DW 00409H ;INTERFACE descriptor , Size of this descriptor
122 0048 0002 DW 00002H ;Index of this string , index of this interface
123 0049 0301 DW 00301H ;HID , 1 endpoint
124 004A 0000 DW 00000H ;Unused , Non-Boot Device
125 004B 3F00 DW 03F00H ;null string
126 004C HID_Desc:
127 004C 2109 DW 02109H ;HID , Size of this descriptor
128 004D 0110 DW 00110H ;HID spec rev #1.10
129 004E 0100 DW 00100H ;bNumDescriptor , bCountryCode
130 004F 3F22 DW 03F22H ;Report Descriptor
131 0050 ;====================================================================
132 0050 ; Use ReportID , Report ID 1 = Volume HID control
133 0050 ; Report ID 2 = Transform Other Data
134 0050 ;====================================================================
135 0050 IF UseReportID
136 0050 DW 00016H ;67 bytes
137 0050 ELSE
138 0050 0016 DW 00016H
139 0051 ENDIF
140 0051
141 0051 HID_end_point_descriptor:
142 0051 0507 DW 00507H ;Endpoint descriptor , Length of this descriptor
143 0052 0381 DW 00381H ;Interrupt , Endpoint 1 In direction
144 0053 0008 DW 00008H ;wMaxPacketSize = 1 Bytes
145 0054 3F30 DW 03F30H ;48ms Interval
146 0055 end_config_desc_table:
147 0055
148 0055 hid_report_desc_table:
149 0055 ;====================================================================
150 0055 ; Use ReportID , Report ID 1 = Volume HID control
151 0055 ; Report ID 2 = Transform Other Data
152 0055 ;====================================================================
153 0055 ;;vender defined
154 0055 3F06 DW 03F06H ;//Usage Page(Global)
155 0056 3F00 DW 03F00H
156 0057 3FFF DW 03FFFH ;//Usage Page
157 0058
158 0058 0109 DW 00109H ;//Usage(Local 1 bytes)
159 0059 01A1 DW 001A1H ;//collection(Main)
160 005A ;input report
161 005A ;; DW 03F19H
162 005A ;; DW 03FA6H
163 005A ;; DW 03F29H ;//Usage(Local)
164 005A ;; DW 03FACH
165 005A ;; DW 03F15H ;//Global Logical Minimum
166 005A ;; DW 03F80H
167 005A ;; DW 03F25H ;//Global Logical Maximum
168 005A ;; DW 03F7FH
169 005A ;; DW 00875H ;//Global Report Size 8 bits
170 005A ;; DW 00795H ;//Global Report Count 7 (field)
171 005A ;; DW 00281H ;//Main Input (Data,Variable,Absolute)
172 005A ;output
173 005A 0015 DW 00015H ;//LOGICAL MINIMUM (0)
174 005B 3F25 DW 03F25H
175 005C 3FFF DW 03FffH ;//LOGICAL MAXIMUM (FF)
文件DES.ASM 盛群编译器版本 2.86 页次4
176 005D 0019 DW 00019H ;//Usage Min (#)
177 005E 0129 DW 00129H ;//Usage Max (#)
178 005F 0895 DW 00895H ;//Report Count(8)
179 0060 0875 DW 00875H ;//Report Size(8)
180 0061 0291 DW 00291H ;//OUTPUT: (Data, Array)
181 0062 3FC0 DW 03FC0H ;End Collection
182 0063 end_hid_report_desc_table:
183 0063
184 0063 string_descriptor:
185 0063 USBStringLanguageDescription:
186 0063 0304 DW 00304h ; Length , Type (3=string)
187 0064 0409 DW 00409h ; Language: English , Sub-language: US
188 0065
189 0065 imanufacturer_string: ;Vendor Name
190 0065 USBStringDescription1:
191 0065 0310 0048 DW 00310h, 00048h, 0004fh, 0004ch, 00054h, 00045h, 0004bh, 00020h ;HOLTEK
004F 004C 0054 0045 004B 0020
192 006D
193 006D iproduct_string: ;Product Name
194 006D USBStringDescription2:
195 006D ;DW 00326h, 00042h, 0002Dh, 0004ch, 00049h, 0004Eh, 0004bh, 00020h ;B-LINK
196 006D 0055 0053 DW 00055h, 00053h, 00042h, 00020h ;USB
0042 0020
197 0071 0041 0075 DW 00041h, 00075h, 00064h, 00069h, 0006fh, 00020h, 00020h ;Audio
0064 0069 006F 0020 0020
198 0078
199 0078 isnumber_string: ;Serial Number
200 0078 USBStringDescription3:
201 0078 030A 0038 DW 0030Ah, 00038h, 00032h, 00031h, 00052h ;821R
0032 0031 0052
202 007D
203 007D
204 007D
205 007D config_desc_length:
206 007D 0087 DW 00087H
207 007E
208 007E report_desc_length:
209 007E IF UseReportID
210 007E DW 00016H
211 007E ELSE
212 007E 0016 DW 00016H
213 007F ENDIF
214 007F hid_desc_length:
215 007F 0009 DW 00009H
216 0080
217 0080
218 0080
219 0080 Public control_read_table
220 0080 Public device_desc_table
221 0080 Public config_desc_table
222 0080 Public end_config_desc_table
223 0080 Public USBStringLanguageDescription
224 0080 Public USBStringDescription1
225 0080 Public USBStringDescription2
226 0080 Public USBStringDescription3
227 0080
228 0080 Public HID_Desc
229 0080 Public hid_report_desc_table
230 0080 Public end_hid_report_desc_table
231 0080
文件DES.ASM 盛群编译器版本 2.86 页次5
232 0080
233 0080 Public config_desc_length
234 0080 Public hid_desc_length
235 0080 Public report_desc_length
236 0080
0 Errors

BIN
PRG/DES.OBJ Normal file

Binary file not shown.

1444
PRG/FUNCTION.LST Normal file

File diff suppressed because it is too large Load diff

BIN
PRG/FUNCTION.OBJ Normal file

Binary file not shown.

BIN
PRG/HT82A821R.CV Normal file

Binary file not shown.

BIN
PRG/HT82A821R.DBG Normal file

Binary file not shown.

22
PRG/HT82A821R.MAK Normal file
View file

@ -0,0 +1,22 @@
# Generated by HT-IDE3000. DO NOT modify!
E:\项目\USB 音频发射\USB Audio(PC)\COD\PRG\DES.OBJ : "E:\项目\USB 音频发射\USB Audio(PC)\COD\PRG\DES.ASM"
HASMW32.EXE /NOLOGO @"C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\~ASM17"
E:\项目\USB 音频发射\USB Audio(PC)\COD\PRG\FUNCTION.OBJ : "E:\项目\USB 音频发射\USB Audio(PC)\COD\PRG\FUNCTION.ASM"
HASMW32.EXE /NOLOGO @"C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\~ASM18"
E:\项目\USB 音频发射\USB Audio(PC)\COD\PRG\MACRO.OBJ : "E:\项目\USB 音频发射\USB Audio(PC)\COD\PRG\MACRO.ASM"
HASMW32.EXE /NOLOGO @"C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\~ASM19"
E:\项目\USB 音频发射\USB Audio(PC)\COD\PRG\MAIN.OBJ : "E:\项目\USB 音频发射\USB Audio(PC)\COD\PRG\MAIN.ASM"
HASMW32.EXE /NOLOGO @"C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\~ASM20"
:CheckBreak
E:\项目\USB 音频发射\USB Audio(PC)\COD\PRG\HT82A821R.TSK : /
"E:\项目\USB 音频发射\USB Audio(PC)\COD\PRG\DES.OBJ" /
"E:\项目\USB 音频发射\USB Audio(PC)\COD\PRG\FUNCTION.OBJ" /
"E:\项目\USB 音频发射\USB Audio(PC)\COD\PRG\MACRO.OBJ" /
"E:\项目\USB 音频发射\USB Audio(PC)\COD\PRG\MAIN.OBJ"
HLINKW32.EXE /NOLOGO @"C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\~LNK21.BAT"
:CheckBreak
HCODGEN32.EXE @"E:\项目\USB 音频发射\USB Audio(PC)\COD\PRG\HT82A821R.KKK"
HLOAD32.EXE "E:\项目\USB 音频发射\USB Audio(PC)\COD\PRG\HT82A821R.OPT"
:CheckBreak
HLOAD32.EXE "E:\项目\USB 音频发射\USB Audio(PC)\COD\PRG\HT82A821R.TSK"
:CheckBreak

271
PRG/HT82A821R.MAP Normal file
View file

@ -0,0 +1,271 @@
盛群连接器 版本7.5
版权 盛群半导体公司 2002-2003
Input Object File: E:\项目\USB 音频发射\USB Audio(PC)\COD\PRG\DES.OBJ
Input Object File: E:\项目\USB 音频发射\USB Audio(PC)\COD\PRG\FUNCTION.OBJ
Input Object File: E:\项目\USB 音频发射\USB Audio(PC)\COD\PRG\MACRO.OBJ
Input Object File: E:\项目\USB 音频发射\USB Audio(PC)\COD\PRG\MAIN.OBJ
Input Library File: C:\HT-IDE3000\LIB\MATH6.LIB
Start End Length Class Name
0000h 0338h 0339h CODE CODE (E:\项目\USB 音频发射\USB Audio(PC)\COD\PRG\MAIN.OBJ)
0339h 05fbh 02c3h CODE OLDMAIN (E:\项目\USB 音频发射\USB Audio(PC)\COD\PRG\FUNCTION.OBJ)
0700h 077fh 0080h CODE DESCRIPT (E:\项目\USB 音频发射\USB Audio(PC)\COD\PRG\DES.OBJ)
0040h 0072h 0033h DATA DATA (E:\项目\USB 音频发射\USB Audio(PC)\COD\PRG\MAIN.OBJ)
Indepentent Local Sections
Start End Length Class Name
0073h 0073h 0000h ILOCAL DELAY (E:\项目\USB 音频发射\USB Audio(PC)\COD\PRG\MAIN.OBJ)
Public Symbols Information
Address Public by Name
006bh[3] BFLAG_AUDIO_MUTE
006bh[2] BFLAG_ENUM_READY
004eh[5] BFLAG_FIFO_LEN0
004eh[4] BFLAG_FIFO_READY
004eh[6] BFLAG_RD_HTABLE
004eh[3] BFLAG_REAL_CMD
006bh[1] BFLAG_SCMD
004eh[1] BFLAG_SETCONFIGURATION_READY
004eh[2] BFLAG_SETINTERFACE_READY
006bh[0] BFLAG_SET_ADDRESS
004eh[7] BFLAG_WAIT_CONTROL_OUT
006bh[4] BRMTWAKEUP
006bh[5] B_WAKEUP
044ah CHECK_REAL_CMD
04b6h CLEARFEATURE
04bfh CLEARFEATURE_ENDPOINT
077dh CONFIG_DESC_LENGTH
070ah CONFIG_DESC_TABLE
040ch CONTROL_READ
0700h CONTROL_READ_TABLE
0067h DATA_COUNT
0068h DATA_START
05edh DELAY_3US
0700h DEVICE_DESC_TABLE
0755h END_CONFIG_DESC_TABLE
0763h END_HID_REPORT_DESC_TABLE
05e2h EXECUTE
0339h FIFO0_RD_CHECK
035dh FIFO0_WR_CHECK
033fh FIFO1_RD_CHECK
0363h FIFO1_WR_CHECK
0345h FIFO2_RD_CHECK
0369h FIFO2_WR_CHECK
034bh FIFO3_RD_CHECK
036fh FIFO3_WR_CHECK
0351h FIFO4_RD_CHECK
0375h FIFO4_WR_CHECK
0357h FIFO5_RD_CHECK
037bh FIFO5_WR_CHECK
0065h FIFO_ADDR
0059h FIFO_OUT1
005ah FIFO_OUT2
005bh FIFO_OUT3
005ch FIFO_OUT4
005dh FIFO_OUT5
005eh FIFO_OUT6
005fh FIFO_OUT7
0060h FIFO_OUT8
005ah FIFO_REQUEST
0058h FIFO_SENDLEN
0057h FIFO_SIZE
0061h FIFO_TEMP
0059h FIFO_TYPE
005eh FIFO_WINDEXH
005dh FIFO_WINDEXL
0060h FIFO_WLENGTHH
005fh FIFO_WLENGTHL
005ch FIFO_WVALUEH
005bh FIFO_WVALUEL
0509h GETCONFIGURATION
059eh GETCONFIGURATIONDESCRIPTOR
056eh GETCUR
04f1h GETDESCRIPTOR
0598h GETDEVICEDESCRIPTOR
0475h GETINTERFACE
054dh GETMAX
053ch GETMIN
05f4h GETPIPEBIT
055eh GETRES
0484h GETSTATUS
04a6h GETSTATUS_ENDPOINT
0496h GETSTATUS_INTERFACE
05a5h GETSTRINGDESCRIPTOR
03fch GET_DESCRIPTOR_LENGTH
074ch HID_DESC
077fh HID_DESC_LENGTH
0755h HID_REPORT_DESC_TABLE
0066h LOOP_COUNTER
0071h NCMDINDEX1
039ah READ_FIFO0
039eh READ_FIFO1
03a2h READ_FIFO2
03a6h READ_FIFO3
03aah READ_FIFO4
03aeh READ_FIFO5
077eh REPORT_DESC_LENGTH
05e7h SENDSTALL0
03c7h SEND_HAND_SHAKE
0451h SETADDRESS
0464h SETCONFIGURATION
052ah SETCUR
04cch SETFEATURE
04e5h SETFEATURE_ENDPOINT
0597h SETIDLE
046ch SETINTERFACE
0518h SETREPORT
011ch STAGEONE
0765h USBSTRINGDESCRIPTION1
076dh USBSTRINGDESCRIPTION2
0778h USBSTRINGDESCRIPTION3
0763h USBSTRINGLANGUAGEDESCRIPTION
0064h USB_CONFIGURATION
010fh USB_EP0_ISR_END
0062h USB_INTERFACE
0063h USB_INTERFACE_ALT
00adh USB_ISR_END
006fh VOLUMEH_SAVE
0070h VOLUMEL_SAVE
03d5h WRITE_FIFO0
03d7h WRITE_FIFO1
03d9h WRITE_FIFO2
03dbh WRITE_FIFO3
03ddh WRITE_FIFO4
03dfh WRITE_FIFO5
Address Public by Value
0057h FIFO_SIZE
0058h FIFO_SENDLEN
0059h FIFO_OUT1
0059h FIFO_TYPE
005ah FIFO_REQUEST
005ah FIFO_OUT2
005bh FIFO_OUT3
005bh FIFO_WVALUEL
005ch FIFO_WVALUEH
005ch FIFO_OUT4
005dh FIFO_OUT5
005dh FIFO_WINDEXL
005eh FIFO_WINDEXH
005eh FIFO_OUT6
005fh FIFO_OUT7
005fh FIFO_WLENGTHL
0060h FIFO_WLENGTHH
0060h FIFO_OUT8
0061h FIFO_TEMP
0062h USB_INTERFACE
0063h USB_INTERFACE_ALT
0064h USB_CONFIGURATION
0065h FIFO_ADDR
0066h LOOP_COUNTER
0067h DATA_COUNT
0068h DATA_START
006fh VOLUMEH_SAVE
0070h VOLUMEL_SAVE
0071h NCMDINDEX1
00adh USB_ISR_END
010fh USB_EP0_ISR_END
011ch STAGEONE
004eh[1] BFLAG_SETCONFIGURATION_READY
004eh[2] BFLAG_SETINTERFACE_READY
004eh[3] BFLAG_REAL_CMD
004eh[4] BFLAG_FIFO_READY
004eh[5] BFLAG_FIFO_LEN0
004eh[6] BFLAG_RD_HTABLE
004eh[7] BFLAG_WAIT_CONTROL_OUT
0339h FIFO0_RD_CHECK
033fh FIFO1_RD_CHECK
0345h FIFO2_RD_CHECK
034bh FIFO3_RD_CHECK
0351h FIFO4_RD_CHECK
0357h FIFO5_RD_CHECK
006bh[0] BFLAG_SET_ADDRESS
006bh[1] BFLAG_SCMD
006bh[2] BFLAG_ENUM_READY
006bh[3] BFLAG_AUDIO_MUTE
006bh[4] BRMTWAKEUP
035dh FIFO0_WR_CHECK
006bh[5] B_WAKEUP
0363h FIFO1_WR_CHECK
0369h FIFO2_WR_CHECK
036fh FIFO3_WR_CHECK
0375h FIFO4_WR_CHECK
037bh FIFO5_WR_CHECK
039ah READ_FIFO0
039eh READ_FIFO1
03a2h READ_FIFO2
03a6h READ_FIFO3
03aah READ_FIFO4
03aeh READ_FIFO5
03c7h SEND_HAND_SHAKE
03d5h WRITE_FIFO0
03d7h WRITE_FIFO1
03d9h WRITE_FIFO2
03dbh WRITE_FIFO3
03ddh WRITE_FIFO4
03dfh WRITE_FIFO5
03fch GET_DESCRIPTOR_LENGTH
040ch CONTROL_READ
044ah CHECK_REAL_CMD
0451h SETADDRESS
0464h SETCONFIGURATION
046ch SETINTERFACE
0475h GETINTERFACE
0484h GETSTATUS
0496h GETSTATUS_INTERFACE
04a6h GETSTATUS_ENDPOINT
04b6h CLEARFEATURE
04bfh CLEARFEATURE_ENDPOINT
04cch SETFEATURE
04e5h SETFEATURE_ENDPOINT
04f1h GETDESCRIPTOR
0509h GETCONFIGURATION
0518h SETREPORT
052ah SETCUR
053ch GETMIN
054dh GETMAX
055eh GETRES
056eh GETCUR
0597h SETIDLE
0598h GETDEVICEDESCRIPTOR
059eh GETCONFIGURATIONDESCRIPTOR
05a5h GETSTRINGDESCRIPTOR
05e2h EXECUTE
05e7h SENDSTALL0
05edh DELAY_3US
05f4h GETPIPEBIT
0700h CONTROL_READ_TABLE
0700h DEVICE_DESC_TABLE
070ah CONFIG_DESC_TABLE
074ch HID_DESC
0755h END_CONFIG_DESC_TABLE
0755h HID_REPORT_DESC_TABLE
0763h USBSTRINGLANGUAGEDESCRIPTION
0763h END_HID_REPORT_DESC_TABLE
0765h USBSTRINGDESCRIPTION1
076dh USBSTRINGDESCRIPTION2
0778h USBSTRINGDESCRIPTION3
077dh CONFIG_DESC_LENGTH
077eh REPORT_DESC_LENGTH
077fh HID_DESC_LENGTH
ROM Usage Statistics
Size Used Percent
0800h 067ch 81%
RAM Usage Statistics
Size Used Percent
00c0h 0033h 26%
Call Tree
HLINK程序的开始执行点在程序段'CODE'地址0。定义在'E:\项目\USB 音频发射\USB Audio(PC)\COD\PRG\MAIN.OBJ' 文件中
错误总数0 警告总数0

BIN
PRG/HT82A821R.OPT Normal file

Binary file not shown.

BIN
PRG/HT82A821R.OTP Normal file

Binary file not shown.

BIN
PRG/HT82A821R.PRJ Normal file

Binary file not shown.

BIN
PRG/HT82A821R.TSK Normal file

Binary file not shown.

BIN
PRG/HT82A821R.bin Normal file

Binary file not shown.

205
PRG/HT82A821R.dsw Normal file
View file

@ -0,0 +1,205 @@
[BarState-Bar0]
BarID=59392
XPos=-2
YPos=-2
Docking=1
MRUDockID=59419
MRUDockLeftPos=-2
MRUDockTopPos=-2
MRUDockRightPos=553
MRUDockBottomPos=30
MRUFloatStyle=8196
MRUFloatXPos=-1
MRUFloatYPos=0
[BarState-Bar1]
BarID=59393
[BarState-Bar2]
BarID=59419
Bars=15
Bar#0=0
Bar#1=59392
Bar#2=0
Bar#3=65552
Bar#4=0
Bar#5=65553
Bar#6=0
Bar#7=65555
Bar#8=0
Bar#9=65554
Bar#10=0
Bar#11=65559
Bar#12=0
Bar#13=65551
Bar#14=0
[BarState-Bar3]
BarID=59422
Bars=13
Bar#0=0
Bar#1=15
Bar#2=0
Bar#3=65552
Bar#4=0
Bar#5=65553
Bar#6=0
Bar#7=65555
Bar#8=0
Bar#9=65554
Bar#10=0
Bar#11=124928
Bar#12=0
[BarState-Bar4]
BarID=59420
Bars=14
Bar#0=0
Bar#1=65553
Bar#2=65552
Bar#3=0
Bar#4=124928
Bar#5=0
Bar#6=65551
Bar#7=0
Bar#8=65555
Bar#9=0
Bar#10=65554
Bar#11=0
Bar#12=65559
Bar#13=0
[BarState-Bar5]
BarID=59421
Bars=15
Bar#0=0
Bar#1=19
Bar#2=0
Bar#3=16
Bar#4=0
Bar#5=17
Bar#6=0
Bar#7=18
Bar#8=0
Bar#9=23
Bar#10=0
Bar#11=65551
Bar#12=0
Bar#13=124928
Bar#14=0
[BarState-Bar6]
BarID=19
Visible=0
XPos=-3
YPos=-2
Docking=1
MRUDockID=0
MRUDockLeftPos=-3
MRUDockTopPos=-2
MRUDockRightPos=97
MRUDockBottomPos=525
MRUFloatStyle=8196
MRUFloatXPos=-1
MRUFloatYPos=1008
[BarState-Bar7]
BarID=16
XPos=-2
YPos=-2
Docking=1
MRUDockID=0
MRUDockLeftPos=-2
MRUDockTopPos=-2
MRUDockRightPos=191
MRUDockBottomPos=923
MRUFloatStyle=8196
MRUFloatXPos=-1
MRUFloatYPos=-1
[BarState-Bar8]
BarID=17
XPos=189
YPos=-2
Docking=1
MRUDockID=59421
MRUDockLeftPos=189
MRUDockTopPos=-2
MRUDockRightPos=383
MRUDockBottomPos=923
MRUFloatStyle=8196
MRUFloatXPos=-1
MRUFloatYPos=1008
[BarState-Bar9]
BarID=18
Visible=0
XPos=727
YPos=-2
Docking=1
MRUDockID=0
MRUDockLeftPos=727
MRUDockTopPos=-2
MRUDockRightPos=944
MRUDockBottomPos=775
MRUFloatStyle=8196
MRUFloatXPos=-1
MRUFloatYPos=1008
[BarState-Bar10]
BarID=15
Visible=0
XPos=-2
YPos=-2
Docking=1
MRUDockID=0
MRUDockLeftPos=0
MRUDockTopPos=0
MRUDockRightPos=0
MRUDockBottomPos=0
MRUFloatStyle=8196
MRUFloatXPos=-2147483648
MRUFloatYPos=0
[BarState-Bar11]
BarID=23
Visible=0
XPos=-2
YPos=-2
Docking=1
MRUDockID=0
MRUDockLeftPos=-2
MRUDockTopPos=-2
MRUDockRightPos=98
MRUDockBottomPos=923
MRUFloatStyle=8196
MRUFloatXPos=-2147483648
MRUFloatYPos=0
[BarState-Summary]
Bars=10
ScreenCX=1680
ScreenCY=1050
[SizingBarState-SCBar-19]
sizeHorzCX=100
sizeHorzCY=150
sizeVertCX=100
sizeVertCY=527
sizeFloatCX=100
sizeFloatCY=150
[SizingBarState-SCBar-16]
sizeHorzCX=100
sizeHorzCY=150
sizeVertCX=193
sizeVertCY=925
sizeFloatCX=100
sizeFloatCY=150
[SizingBarState-SCBar-17]
sizeHorzCX=100
sizeHorzCY=150
sizeVertCX=194
sizeVertCY=925
sizeFloatCX=100
sizeFloatCY=150
[SizingBarState-SCBar-18]
sizeHorzCX=100
sizeHorzCY=150
sizeVertCX=217
sizeVertCY=777
sizeFloatCX=100
sizeFloatCY=150
[SizingBarState-SCBar-15]
sizeHorzCX=1684
sizeHorzCY=150
sizeVertCX=100
sizeVertCY=150
sizeFloatCX=100
sizeFloatCY=150

404
PRG/MACRO.LST Normal file
View file

@ -0,0 +1,404 @@
文件MACRO.ASM 盛群编译器版本 2.86 页次1
1 0000 ;*******************************************************************************
2 0000 ;*
3 0000 ;* (c) Copyright 2004, Holtek Semiconductor Inc.
4 0000 ;*
5 0000 ;******************************************************************************/
6 0000 ;*******************************************************************************
7 0000 ;MODULE: main.asm
8 0000
9 0000 ;INITIAL: 11/12/2004
10 0000
11 0000 ;AUTHOR: C351 Ansonku.
12 0000
13 0000 ;NOTE: HT48RB4 16 bit operation
14 0000
15 0000 ;REVISION: First issue
16 0000 ;*******************************************************************************
17 0000 ;*******************************************************************************
18 0000 ; 16 bit ADD with signed
19 0000 ; use ADD16 XH,XL,YH,YL,ZH,ZL
20 0000 ; operation
21 0000 ; XH XL
22 0000 ; +YH YL
23 0000 ; --------------
24 0000 ; ZH ZL
25 0000 ;*******************************************************************************
26 0000 ADD16 MACRO XH,XL,YH,YL,ZH,ZL
27 0000 MOV A,XL
28 0000 ADD A,YL
29 0000 MOV ZL,A
30 0000 MOV A,XH
31 0000 ADC A,YH
32 0000 MOV ZH,A
33 0000 ENDM
34 0000 ;*******************************************************************************
35 0000 ; 16 bit ADD with unsigned
36 0000 ; use ADD16 XH,XL,YL,ZH,ZL
37 0000 ; operation
38 0000 ; XH XL
39 0000 ; + YL
40 0000 ; --------------
41 0000 ; ZH ZL
42 0000 ;*******************************************************************************
43 0000 ADD16U MACRO XH,XL,YL,ZH,ZL
44 0000 mov a,xh
45 0000 mov zh,a
46 0000 MOV A,XL
47 0000 ADD A,YL
48 0000 SZ C
49 0000 INC ZH
50 0000 MOV ZL,A
51 0000 ENDM
52 0000
53 0000
54 0000 ;*******************************************************************************
55 0000 ; 16 bit sub with signed
56 0000 ; use SUB16 XH,XL,YH,YL,ZH,ZL
57 0000 ; operation
58 0000 ; XH XL
59 0000 ; -YH YL
文件MACRO.ASM 盛群编译器版本 2.86 页次2
60 0000 ; --------------
61 0000 ; ZH ZL
62 0000 ;*******************************************************************************
63 0000 SUB16 MACRO XH,XL,YH,YL,ZH,ZL
64 0000 MOV A,XL
65 0000 CLR C
66 0000 SUB A,YL
67 0000 MOV ZL,A
68 0000 MOV A,XH
69 0000 SBC A,YH
70 0000 MOV ZH,A
71 0000
72 0000 ENDM
73 0000
74 0000
75 0000 ;*******************************************************************************
76 0000 ; 16 bit shift right with signed
77 0000 ; use RR16 XH,XL,ZH,ZL
78 0000 ; operation
79 0000 ;*******************************************************************************
80 0000 RR16 MACRO XH,XL,ZH,ZL
81 0000 CLR C
82 0000 MOV A,XH
83 0000 AND A,80H
84 0000 SNZ Z
85 0000 SET C
86 0000 RRCA XH
87 0000 MOV ZH,A
88 0000 RRCA XL
89 0000 MOV ZL,A
90 0000 ENDM
91 0000 ;*******************************************************************************
92 0000 ; 16 bit shift left with signed
93 0000 ; use RL16 XH,XL,ZH,ZL
94 0000 ; operation
95 0000 ;*******************************************************************************
96 0000 RL16 MACRO XH,XL,ZH,ZL
97 0000 CLR C
98 0000 SZ XL.7
99 0000 SET C
100 0000
101 0000 RLCA XH
102 0000 MOV ZH,A
103 0000 CLR C
104 0000 RLCA XL
105 0000 MOV ZL,A
106 0000 ENDM
107 0000 ;*******************************************************************************
108 0000 ; 16 bit shift left with signed
109 0000 ; use RL16N XH,XL,ZH,ZL
110 0000 ; operation
111 0000 ;*******************************************************************************
112 0000 RL16N MACRO XH,XL,ZH,ZL,N
113 0000 ;MOV A,8
114 0000 ;SUB A,N
115 0000 ;mov a,Xl SHR A
116 0000 ;mov zh,a
117 0000 ;mov a,xh SHL N
118 0000 ;orm a,zh
119 0000 ENDM
文件MACRO.ASM 盛群编译器版本 2.86 页次3
120 0000 ;*******************************************************************************
121 0000 ; 8 bit multiply with signed
122 0000 ; use mul8 X,Y,ZH,ZL
123 0000 ; operation
124 0000 ;*******************************************************************************
125 0000 Mul8 MACRO X,Y,ZH,ZL
126 0000 Local Mul8_End
127 0000 CLR operator1H ;sum
128 0000 CLR operator1L
129 0000 CLR operator2H ;multiply
130 0000 CLR operator3H ;operator
131 0000 CLR operator3L
132 0000 mov A,Y
133 0000 mov operator2L,A
134 0000
135 0000 SZ X.7
136 0000 SET operator2H
137 0000 Mul16_doloop:
138 0000 MOV A,6
139 0000 MOV Counter3,A
140 0000 SDZ Counter3
141 0000 JMP Mul8_End
142 0000 SNZ X.Counter3
143 0000 jmp Mul18_Next_Bit
144 0000 RL16 operator2H,operator2L,operator3H,operator3L
145 0000 ADD16 operator3H,operator3L,operator1H,operaotr1L,operator1H,operator1L
146 0000
147 0000
148 0000 Mul18_Next_Bit:
149 0000 JMP Mul16_doloop
150 0000
151 0000
152 0000 Mul8_End:
153 0000
154 0000
155 0000 ENDM
156 0000
157 0000 ;*******************************************************************************
158 0000 ; 8 bit macro
159 0000 ;*******************************************************************************
160 0000 ;*******************************************************************************
161 0000 ; 16 bit ADD with signed
162 0000 ; use ADD16 X,Y,Z
163 0000 ; operation
164 0000 ; X
165 0000 ; +Y
166 0000 ; --------------
167 0000 ; Z
168 0000 ;*******************************************************************************
169 0000 ADD8 MACRO X1,Y1,Z1
170 0000 MOV A,X1
171 0000 ADD A,Y1
172 0000 MOV Z1,A
173 0000 ENDM
174 0000
175 0000 ;*******************************************************************************
176 0000 ; 16 bit sub with signed
177 0000 ; use SUB16 X,Y,Z
178 0000 ; operation
179 0000 ; X
文件MACRO.ASM 盛群编译器版本 2.86 页次4
180 0000 ; -Y
181 0000 ; --------------
182 0000 ; Z
183 0000 ;*******************************************************************************
184 0000 SUB8 MACRO X1,Y1,Z1
185 0000 MOV A,X1
186 0000 SUB A,Y1
187 0000 MOV Z1,A
188 0000 ENDM
189 0000
190 0000 ;*******************************************************************************
191 0000 ; 8 bit shift right with signed
192 0000 ; use RR8 X,Z
193 0000 ; operation
194 0000 ;*******************************************************************************
195 0000 RR8 MACRO X,Y
196 0000 Local RR8_End,RR8_Modify_FF,RR8_Modify_FF_End
197 0000 mov a,X
198 0000 inc acc
199 0000 SZ Z
200 0000 jmp RR8_Modify_FF
201 0000 jmp RR8_Modify_FF_End
202 0000 RR8_Modify_FF:
203 0000 clr Y
204 0000 jmp RR8_End
205 0000
206 0000 RR8_Modify_FF_End:
207 0000 CLR C
208 0000 MOV A,X
209 0000 AND A,80H
210 0000 SNZ Z
211 0000 SET C
212 0000 RRCA X
213 0000 MOV Y,A
214 0000
215 0000
216 0000
217 0000 RR8_End:
218 0000 ENDM
219 0000 ;*******************************************************************************
220 0000 ; 8 bit shift left with signed
221 0000 ; use RL16 X,Z
222 0000 ; operation
223 0000 ;*******************************************************************************
224 0000 RL8 MACRO X,Y
225 0000 CLR C
226 0000 RLCA X
227 0000 MOV Y,A
228 0000 ENDM
229 0000
230 0000 ;*******************************************************************************
231 0000 ; 8 bit abs
232 0000 ; use ABS8 X,Y
233 0000 ; operation
234 0000 ;*******************************************************************************
235 0000 ABS8 MACRO X,Y
236 0000 Local ABS8_End
237 0000
238 0000 kmov y,x
239 0000 mov a,x
文件MACRO.ASM 盛群编译器版本 2.86 页次5
240 0000 and a,80H
241 0000 SZ Z
242 0000 jmp ABS8_End
243 0000 CPL y
244 0000 INC y
245 0000
246 0000 ABS8_End:
247 0000
248 0000 ENDM
249 0000
250 0000
251 0000
252 0000
253 0000
254 0000
255 0000 ;*******************************************************************************
256 0000 ; kmov
257 0000 ; use kmov destination,source
258 0000 ; operation
259 0000 ;*******************************************************************************
260 0000 KMOV MACRO mem1,mem2
261 0000 mov a,mem2
262 0000 mov mem1,a
263 0000 ENDM
264 0000
265 0000 KOR MACRO mem1,mem2
266 0000 mov a,mem2
267 0000 orm a,mem1
268 0000 ENDM
269 0000
270 0000
271 0000
272 0000 ;*******************************************************************************
273 0000 ; make oled column address
274 0000 ; use oled_make_col_add source,MSB,LSB
275 0000 ;
276 0000 ;*******************************************************************************
277 0000 oled_make_col_add macro mem1,mem2,mem3
278 0000 mov a,0FH
279 0000 AND a,mem1
280 0000 mov mem3,a
281 0000 mov a,70H
282 0000 and a,mem1
283 0000 mov mem2,a
284 0000 clr c
285 0000 rrc mem2
286 0000 clr c
287 0000 rrc mem2
288 0000 clr c
289 0000 rrc mem2
290 0000 clr c
291 0000 rrc mem2
292 0000 set mem2.4
293 0000
294 0000 endm
295 0000
296 0000
297 0000
298 0000 ;***************************************
299 0000
文件MACRO.ASM 盛群编译器版本 2.86 页次6
300 0000 XMOV MACRO mem2,mem1
301 0000 mov a,mem1
302 0000 mov mem2,a
303 0000 ENDM
304 0000 ;-------------------------------------
305 0000 ;;Move ARG2->ARG1(move by bit)
306 0000 xmov1 MACRO ARG1,ARG2
307 0000 LOCAL xmov1_1,xmov1_end
308 0000 sz ARG2
309 0000 jmp xmov1_1
310 0000 clr ARG1
311 0000 jmp xmov1_end
312 0000 xmov1_1:
313 0000 set ARG1
314 0000 xmov1_end:
315 0000 ENDM
316 0000 ;-------------------------------------
317 0000 ;;if MEM2=MEM1 =>Skip Next Instruction
318 0000 EQUJMP MACRO MEM2,MEM1
319 0000 MOV A,MEM1
320 0000 XOR A,MEM2
321 0000 SNZ Z
322 0000 ENDM
323 0000 ;;------------------------
324 0000
325 0000 ;;if MEM2!=MEM1 =>Skip Next Instruction
326 0000 NEJMP MACRO MEM2,MEM1
327 0000 MOV A,MEM1
328 0000 XOR A,MEM2
329 0000 SZ Z
330 0000 ENDM
331 0000 ;;------------------------
332 0000 ;;if (REG1==REG2) goto REG3
333 0000 JLER MACRO REG1,REG2,REG3
334 0000 mov a,REG1
335 0000 sub a,REG2
336 0000 sz z
337 0000 jmp REG3
338 0000 ENDM
339 0000 ;**********************************************
340 0000 ;MACRO: JLNR
341 0000 ;PURPOSE: REG1 != REG2 goto REG3
342 0000 ;**********************************************
343 0000 JLNR MACRO REG1,REG2,REG3
344 0000 mov a,REG1
345 0000 sub a,REG2
346 0000 snz z
347 0000 jmp REG3
348 0000 ENDM
349 0000 ;;------------------------
350 0000 ;;if MEM2>MEM1 =>Skip Next Instruction
351 0000 LBRJ MACRO MEM2,MEM1
352 0000 MOV A,MEM1
353 0000 SUB A,MEM2
354 0000 SZ C
355 0000 ENDM
356 0000 ;;------------------------
357 0000
358 0000 ;;if MEM2<=MEM1 =>Skip Next Instruction
359 0000 LSERJ MACRO MEM2,MEM1
文件MACRO.ASM 盛群编译器版本 2.86 页次7
360 0000 MOV A,MEM1
361 0000 SUB A,MEM2
362 0000 SNZ C
363 0000 ENDM
364 0000 ;;------------------------
365 0000
366 0000 ;;if MEM2<MEM1 =>Skip Next Instruction
367 0000 LSRJ MACRO MEM2,MEM1
368 0000 MOV A,MEM2
369 0000 SUB A,MEM1
370 0000 SZ C
371 0000 ENDM
372 0000 ;;------------------------
373 0000
374 0000 ;;if MEM2>=MEM1 =>Skip Next Instruction
375 0000 LBERJ MACRO MEM2,MEM1
376 0000 MOV A,MEM2
377 0000 SUB A,MEM1
378 0000 SNZ C
379 0000 ENDM
380 0000 ;;------------------------
381 0000
382 0000 SWAPWORD MACRO DA
383 0000 EQU (DA>>8)+(DA<<8)
384 0000 ENDM
385 0000 ;;------------------------
386 0000
0 Errors

BIN
PRG/MACRO.OBJ Normal file

Binary file not shown.

1885
PRG/MAIN.LST Normal file

File diff suppressed because it is too large Load diff

BIN
PRG/MAIN.OBJ Normal file

Binary file not shown.

183
PRG/QN8027DRIVER.LST Normal file
View file

@ -0,0 +1,183 @@
文件QN8027DRIVER.ASM 盛群编译器版本 2.86 页次1
1 0000 ;;-----------------------------------------------
2 0000 ;;function: QN8072_I2C_Read_Data
3 0000 ;;in: mFMAddr
4 0000 ;;out: mFMData
5 0000 ;;description: Read AS6600 data
6 0000 ;;-----------------------------------------------
7 0000 QN8072_I2C_Read_Data:
8 0000
9 0000 L_I2CRd_Data_lp:
10 0000 0001 CLR WDT
11 0001
12 0001 0000 CLR mFMACK
Error(A0024) E:\项目\USB 音频发射\USB AUDIO(PC)\COD\PRG\QN8027DRIVER.ASM 12 : 语法错误
13 0002 2000 R CALL I2C_START
14 0003 0F00 MOV A,QN8072_I2C_WRITE_ADDR
Error(A0005) E:\项目\USB 音频发射\USB AUDIO(PC)\COD\PRG\QN8027DRIVER.ASM 14 : 未定义的符号 'QN8072_I2C_WRITE_ADDR'
15 0004 0000 MOV mFMSend,A ;;Set send data
Error(A0024) E:\项目\USB 音频发射\USB AUDIO(PC)\COD\PRG\QN8027DRIVER.ASM 15 : 语法错误
16 0005 2000 R CALL Write_I2C_Byte ;;Send data
17 0006
18 0006 0F00 MOV A,mFMAddr
Error(A0005) E:\项目\USB 音频发射\USB AUDIO(PC)\COD\PRG\QN8027DRIVER.ASM 18 : 未定义的符号 'mFMAddr'
19 0007 0000 MOV mFMSend,A
Error(A0024) E:\项目\USB 音频发射\USB AUDIO(PC)\COD\PRG\QN8027DRIVER.ASM 19 : 语法错误
20 0008 2000 R CALL Write_I2C_Byte
21 0009
22 0009 0F00 MOV A,mFMACK
Error(A0005) E:\项目\USB 音频发射\USB AUDIO(PC)\COD\PRG\QN8027DRIVER.ASM 22 : 未定义的符号 'mFMACK'
23 000A 0D00 OR A,0
24 000B 0000 SNZ Z ;;Z=1,OK
Error(A0024) E:\项目\USB 音频发射\USB AUDIO(PC)\COD\PRG\QN8027DRIVER.ASM 24 : 语法错误
25 000C 2800 R JMP L_I2CRd_Data_lp
26 000D ;;
27 000D L_I2CRd_Data_lp2:
28 000D 0001 CLR WDT
29 000E
30 000E 0000 CLR mFMACK
Error(A0024) E:\项目\USB 音频发射\USB AUDIO(PC)\COD\PRG\QN8027DRIVER.ASM 30 : 语法错误
31 000F 2000 R CALL I2C_START
32 0010
33 0010 0F00 MOV A,QN8072_I2C_READ_ADDR
Error(A0005) E:\项目\USB 音频发射\USB AUDIO(PC)\COD\PRG\QN8027DRIVER.ASM 33 : 未定义的符号 'QN8072_I2C_READ_ADDR'
34 0011 0000 MOV mFMSend,A ;;Set send data
Error(A0024) E:\项目\USB 音频发射\USB AUDIO(PC)\COD\PRG\QN8027DRIVER.ASM 34 : 语法错误
35 0012 2000 R CALL Write_I2C_Byte ;;Send data
36 0013
37 0013 0F00 MOV A,mFMACK
Error(A0005) E:\项目\USB 音频发射\USB AUDIO(PC)\COD\PRG\QN8027DRIVER.ASM 37 : 未定义的符号 'mFMACK'
38 0014 0D00 OR A,0
39 0015 0000 SNZ Z ;;Z=1,OK
Error(A0024) E:\项目\USB 音频发射\USB AUDIO(PC)\COD\PRG\QN8027DRIVER.ASM 39 : 语法错误
40 0016 2800 R JMP L_I2CRd_Data_lp2
41 0017
42 0017 2000 R CALL Read_I2C_Byte
43 0018 0000 MOV mFMData,A
Error(A0024) E:\项目\USB 音频发射\USB AUDIO(PC)\COD\PRG\QN8027DRIVER.ASM 43 : 语法错误
44 0019 2000 R CALL sendNoAck
45 001A
46 001A 2000 R CALL I2C_STOP
文件QN8027DRIVER.ASM 盛群编译器版本 2.86 页次2
47 001B 0003 RET
48 001C
49 001C ;;-----------------------------------------------
50 001C ;;function: QN8027_I2C_Write_Data
51 001C ;;in: mFMAddr,mFMData
52 001C ;;out:
53 001C ;;description: Write QN8027 data
54 001C ;;-----------------------------------------------
55 001C QN8027_I2C_Write_Data:
56 001C
57 001C L_I2CWt_Data_lp:
58 001C 0001 CLR WDT
59 001D
60 001D 0000 CLR mFMACK
Error(A0024) E:\项目\USB 音频发射\USB AUDIO(PC)\COD\PRG\QN8027DRIVER.ASM 60 : 语法错误
61 001E 2000 R CALL I2C_START
62 001F 0F00 MOV A,QN8072_I2C_WRITE_ADDR
Error(A0005) E:\项目\USB 音频发射\USB AUDIO(PC)\COD\PRG\QN8027DRIVER.ASM 62 : 未定义的符号 'QN8072_I2C_WRITE_ADDR'
63 0020 0000 MOV mFMSend,A ;;Set send data
Error(A0024) E:\项目\USB 音频发射\USB AUDIO(PC)\COD\PRG\QN8027DRIVER.ASM 63 : 语法错误
64 0021 2000 R CALL Write_I2C_Byte ;;Send data
65 0022
66 0022 0F00 MOV A,mFMAddr
Error(A0005) E:\项目\USB 音频发射\USB AUDIO(PC)\COD\PRG\QN8027DRIVER.ASM 66 : 未定义的符号 'mFMAddr'
67 0023 0000 MOV mFMSend,A
Error(A0024) E:\项目\USB 音频发射\USB AUDIO(PC)\COD\PRG\QN8027DRIVER.ASM 67 : 语法错误
68 0024 2000 R CALL Write_I2C_Byte
69 0025
70 0025 0F00 MOV A,mFMData
Error(A0005) E:\项目\USB 音频发射\USB AUDIO(PC)\COD\PRG\QN8027DRIVER.ASM 70 : 未定义的符号 'mFMData'
71 0026 0000 MOV mFMSend,A
Error(A0024) E:\项目\USB 音频发射\USB AUDIO(PC)\COD\PRG\QN8027DRIVER.ASM 71 : 语法错误
72 0027 2000 R CALL Write_I2C_Byte
73 0028
74 0028 2000 R CALL I2C_STOP
75 0029
76 0029 0F00 MOV A,mFMACK
Error(A0005) E:\项目\USB 音频发射\USB AUDIO(PC)\COD\PRG\QN8027DRIVER.ASM 76 : 未定义的符号 'mFMACK'
77 002A 0D00 OR A,0
78 002B 0000 SNZ Z ;;Z=1,OK
Error(A0024) E:\项目\USB 音频发射\USB AUDIO(PC)\COD\PRG\QN8027DRIVER.ASM 78 : 语法错误
79 002C 2800 R JMP L_I2CWt_Data_lp
80 002D
81 002D 0003 RET
82 002E
83 002E ;;-----------------------------------------------
84 002E ;;function: Delay5us
85 002E ;;in: NULL
86 002E ;;out: NULL
87 002E ;;description: Delay 5us
88 002E ;;-----------------------------------------------
89 002E Delay5us:
90 002E 2800 R JMP $+1
91 002F 2800 R JMP $+1
92 0030 2800 R JMP $+1
93 0031 2800 R JMP $+1
94 0032 2800 R JMP $+1
95 0033 2800 R JMP $+1
96 0034 2800 R JMP $+1
97 0035 0000 NOP
文件QN8027DRIVER.ASM 盛群编译器版本 2.86 页次3
98 0036 0003 RET
99 0037
100 0037 ;;-----------------------------------------------
101 0037 ;;function: sendAck
102 0037 ;;in: NULL
103 0037 ;;out: NULL
104 0037 ;;description: Send ACK
105 0037 ;;-----------------------------------------------
106 0037 sendAck:
107 0037 0000 CLR P_SDA ;;0
Error(A0024) E:\项目\USB 音频发射\USB AUDIO(PC)\COD\PRG\QN8027DRIVER.ASM 107 : 语法错误
108 0038 2000 R CALL Delay5us
109 0039
110 0039 0000 SET P_SCL
Error(A0024) E:\项目\USB 音频发射\USB AUDIO(PC)\COD\PRG\QN8027DRIVER.ASM 110 : 语法错误
111 003A 2000 R CALL Delay5us
112 003B 0000 CLR P_SCL
Error(A0024) E:\项目\USB 音频发射\USB AUDIO(PC)\COD\PRG\QN8027DRIVER.ASM 112 : 语法错误
113 003C 2000 R CALL Delay5us
114 003D 0003 RET
115 003E
116 003E ;;-----------------------------------------------
117 003E ;;function: sendNoAck
118 003E ;;in: NULL
119 003E ;;out: NULL
120 003E ;;description: Send No ACK
121 003E ;;-----------------------------------------------
122 003E sendNoAck:
123 003E 0000 SET P_SDA ;;1
Error(A0024) E:\项目\USB 音频发射\USB AUDIO(PC)\COD\PRG\QN8027DRIVER.ASM 123 : 语法错误
124 003F 2000 R CALL Delay5us