?? main.lis
字號:
0000 cpu LMM
.module main.c
.area data(ram, con, rel)
0000 _baseline0::
0000 0000 .word 0
0002 .dbfile ./main.c
0002 .dbsym e baseline0 _baseline0 I
.area data(ram, con, rel)
0000 .dbfile ./main.c
.area data(ram, con, rel)
0000 .dbfile ./main.c
0000 _baseline1::
0000 0000 .word 0
0002 .dbsym e baseline1 _baseline1 I
.area data(ram, con, rel)
0000 .dbfile ./main.c
.area data(ram, con, rel)
0000 .dbfile ./main.c
0000 _position::
0000 0000 .word 0
0002 .dbsym e position _position I
.area data(ram, con, rel)
0000 .dbfile ./main.c
.area data(ram, con, rel)
0000 .dbfile ./main.c
0000 _buttonselect::
0000 0000 .word 0
0002 .dbsym e buttonselect _buttonselect I
.area data(ram, con, rel)
0000 .dbfile ./main.c
.area text(rom, con, rel)
0000 .dbfile ./main.c
0000 .dbfunc e main _main fV
0000 _main::
0000 .dbline -1
0000 .dbline 17
0000 ; //----------------------------------------------------------------------------
0000 ; // C main line
0000 ; // Project to measure sensitivity on each switch
0000 ; // Output 3 switches timer data counts to LCD
0000 ; //----------------------------------------------------------------------------
0000 ;
0000 ; #include <m8c.h> // part specific constants and macros
0000 ; #include "PSoCAPI.h" // PSoC API definitions for all User Modules
0000 ;
0000 ;
0000 ;
0000 ; int baseline0 = 0;
0000 ; int baseline1 = 0;
0000 ; int position = 0;
0000 ; int buttonselect = 0;
0000 ; void main()
0000 ; {
0000 .dbline 18
0000 ; CSR_1_Start(); //Start the User modules
0000 10 push X
0001 7C0000 xcall _CSR_1_Start
0004 .dbline 19
0004 ; LCD_1_Start();
0004 7C0000 xcall _LCD_1_Start
0007 20 pop X
0008 .dbline 20
0008 ; M8C_EnableGInt; //Enable global interrupts
0008 7101 or F, 01h
000A
000A .dbline 21
000A ; CSR_1_SetDacCurrent(0x80,0); //Set the DAC current to low range and 80h
000A 10 push X
000B 5700 mov X,0
000D 5080 mov A,-128
000F 7C0000 xcall _CSR_1_SetDacCurrent
0012 .dbline 22
0012 ; CSR_1_SetScanSpeed(80); // Set the scan speed to 80
0012 5050 mov A,80
0014 7C0000 xcall _CSR_1_SetScanSpeed
0017 .dbline 23
0017 ; CSR_1_StartScan(0,11,1); // Scan 8 switches; starting switch 0; continously
0017 5001 mov A,1
0019 08 push A
001A 500B mov A,11
001C 08 push A
001D 5000 mov A,0
001F 08 push A
0020 7C0000 xcall _CSR_1_StartScan
0023 38FD add SP,-3
0025 .dbline 24
0025 ; LCD_1_Position(00,01);
0025 5701 mov X,1
0027 5000 mov A,0
0029 7C0000 xcall _LCD_1_Position
002C .dbline 25
002C ; LCD_1_PrCString("PSoC CapSence ");
002C 503F mov A,>L2
002E 08 push A
002F 503F mov A,<L2
0031 5C mov X,A
0032 18 pop A
0033 7C0000 xcall _LCD_1_PrCString
0036 .dbline 26
0036 ; LCD_1_Position(01,06);
0036 5706 mov X,6
0038 5001 mov A,1
003A 7C0000 xcall _LCD_1_Position
003D .dbline 27
003D ; LCD_1_PrCString("PTCC ");
003D 5033 mov A,>L3
003F 08 push A
0040 5033 mov A,<L3
0042 5C mov X,A
0043 18 pop A
0044 7C0000 xcall _LCD_1_PrCString
0047 20 pop X
0048 811F xjmp L5
004A X0:
004A .dbline 30
004A ;
004A ; while(1) //Stay in this loop forever
004A ; {
004A L7:
004A .dbline 32
004A L8:
004A .dbline 32
004A ; //LCD_1_Position(00,00); //Set LCD position to row 0 and column 0
004A ; while(!(CSR_1_GetScanStatus() & CSR_1_SCAN_SET_COMPLETE)); //Is scan complete?
004A 10 push X
004B 7C0000 xcall _CSR_1_GetScanStatus
004E 62D000 mov REG[0xd0],>__r0
0051 20 pop X
0052 5300 mov [__r0],A
0054 470020 tst [__r0],32
0057 AFF2 jz L7
0059 .dbline 33
0059 ; baseline0 =CSR_1_bUpdateBaseline(0);
0059 10 push X
005A 5000 mov A,0
005C 7C0000 xcall _CSR_1_bUpdateBaseline
005F 20 pop X
0060 62D000 mov REG[0xd0],>_baseline0
0063 5301 mov [_baseline0+1],A
0065 550000 mov [_baseline0],0
0068 .dbline 34
0068 ; baseline1 =CSR_1_bUpdateBaseline(1);
0068 10 push X
0069 5001 mov A,1
006B 7C0000 xcall _CSR_1_bUpdateBaseline
006E 20 pop X
006F 62D000 mov REG[0xd0],>_baseline1
0072 5301 mov [_baseline1+1],A
0074 550000 mov [_baseline1],0
0077 .dbline 37
0077 ; //This function returns a '1' if there was a finger present on any of the switches
0077 ;
0077 ; if (baseline0) // If a finger is detected,
0077 62D000 mov REG[0xd0],>_baseline0
007A 3C0000 cmp [_baseline0],0
007D B006 jnz X2
007F 3C0100 cmp [_baseline0+1],0
0082 A073 jz L10
0084 X2:
0084 .dbline 38
0084 ; {
0084 .dbline 39
0084 ; LCD_1_Position(00,00);
0084 10 push X
0085 5000 mov A,0
0087 5C mov X,A
0088 7C0000 xcall _LCD_1_Position
008B 20 pop X
008C .dbline 40
008C ; if (CSR_1_iaSwDiff[0] > 8) // Was it switch number 0?
008C 62D000 mov REG[0xd0],>_CSR_1_iaSwDiff
008F 5008 mov A,8
0091 1201 sub A,[_CSR_1_iaSwDiff+1]
0093 5000 mov A,0
0095 1A00 sbb A,[_CSR_1_iaSwDiff]
0097 D018 jnc L12
0099 X3:
0099 .dbline 41
0099 ; {
0099 .dbline 43
0099 ; //LCD_1_PrHexByte(1); //Display '1'
0099 ; LCD_1_PrCString("- Channel +");
0099 10 push X
009A 5022 mov A,>L14
009C 08 push A
009D 5022 mov A,<L14
009F 5C mov X,A
00A0 18 pop A
00A1 7C0000 xcall _LCD_1_PrCString
00A4 20 pop X
00A5 .dbline 45
00A5 ; //LCD_1_PrHexInt(CSR_1_iaSwDiff[0]);
00A5 ; buttonselect = 23;
00A5 62D000 mov REG[0xd0],>_buttonselect
?? 快捷鍵說明
復(fù)制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -