?? ps2kb_uart.lis
字號:
.module PS2KB_UART.c
.area lit(rom, con, rel)
0000 _UnShifted::
0000 1C61 .byte 28,'a
0002 3262 .byte 50,'b
0004 2163 .byte 33,'c
0006 2364 .byte 35,'d
0008 2465 .byte 36,'e
000A 2B66 .byte 43,'f
000C 3467 .byte 52,'g
000E 3368 .byte 51,'h
0010 4369 .byte 'C,'i
0012 3B6A .byte 59,'j
0014 426B .byte 'B,'k
0016 4B6C .byte 'K,'l
0018 3A6D .byte 58,'m
001A 316E .byte 49,'n
001C 446F .byte 'D,'o
001E 4D70 .byte 'M,'p
0020 1571 .byte 21,'q
0022 2D72 .byte 45,'r
0024 1B73 .byte 27,'s
0026 2C74 .byte 44,'t
0028 3C75 .byte 60,'u
002A 2A76 .byte 42,'v
002C 1D77 .byte 29,'w
002E 2278 .byte 34,'x
0030 3579 .byte 53,'y
0032 1A7A .byte 26,'z
0034 4530 .byte 'E,48
0036 1631 .byte 22,49
0038 1E32 .byte 30,50
003A 2633 .byte 38,51
003C 2534 .byte 37,52
003E 2E35 .byte 46,53
0040 3636 .byte 54,54
0042 3D37 .byte 61,55
0044 3E38 .byte 62,56
0046 4639 .byte 'F,57
0048 0E60 .byte 14,96
004A 4E2D .byte 'N,45
004C 553D .byte 'U,61
004E 5D5C .byte 93,92
0050 2920 .byte 41,32
0052 545B .byte 'T,91
0054 5B5D .byte 91,93
0056 4C3B .byte 'L,59
0058 5227 .byte 'R,39
005A 412C .byte 'A,44
005C 492E .byte 'I,46
005E 4A2F .byte 'J,47
0060 712E .byte 'q,46
0062 7030 .byte 'p,48
0064 6931 .byte 'i,49
0066 7232 .byte 'r,50
0068 7A33 .byte 'z,51
006A 6B34 .byte 'k,52
006C 7335 .byte 's,53
006E 7436 .byte 't,54
0070 6C37 .byte 'l,55
0072 7538 .byte 'u,56
0074 7D39 .byte 125,57
0076 .dbfile E:\MYWORK~1\開發設計\EasyAVR\程序范例\Mega16程序包\完成整理\ps2\v1.2\PS2KB_UART/scancodes.h
0076 .dbsym e UnShifted _UnShifted A[118:59:2]kc
0076 _Shifted::
0076 1C41 .byte 28,'A
0078 3242 .byte 50,'B
007A 2143 .byte 33,'C
007C 2344 .byte 35,'D
007E 2445 .byte 36,'E
0080 2B46 .byte 43,'F
0082 3447 .byte 52,'G
0084 3348 .byte 51,'H
0086 4349 .byte 'C,'I
0088 3B4A .byte 59,'J
008A 424B .byte 'B,'K
008C 4B4C .byte 'K,'L
008E 3A4D .byte 58,'M
0090 314E .byte 49,'N
0092 444F .byte 'D,'O
0094 4D50 .byte 'M,'P
0096 1551 .byte 21,'Q
0098 2D52 .byte 45,'R
009A 1B53 .byte 27,'S
009C 2C54 .byte 44,'T
009E 3C55 .byte 60,'U
00A0 2A56 .byte 42,'V
00A2 1D57 .byte 29,'W
00A4 2258 .byte 34,'X
00A6 3559 .byte 53,'Y
00A8 1A5A .byte 26,'Z
00AA 4529 .byte 'E,41
00AC 1621 .byte 22,33
00AE 1E40 .byte 30,64
00B0 2623 .byte 38,35
00B2 2524 .byte 37,36
00B4 2E25 .byte 46,37
00B6 365E .byte 54,94
00B8 3D26 .byte 61,38
00BA 3E2A .byte 62,42
00BC 4628 .byte 'F,40
00BE 0E7E .byte 14,126
00C0 4E5F .byte 'N,95
00C2 552B .byte 'U,43
00C4 5D7C .byte 93,124
00C6 2920 .byte 41,32
00C8 547B .byte 'T,123
00CA 5B7D .byte 91,125
00CC 4C3A .byte 'L,58
00CE 5222 .byte 'R,34
00D0 413C .byte 'A,60
00D2 493E .byte 'I,62
00D4 4A3F .byte 'J,63
00D6 712E .byte 'q,46
00D8 7030 .byte 'p,48
00DA 6931 .byte 'i,49
00DC 7232 .byte 'r,50
00DE 7A33 .byte 'z,51
00E0 6B34 .byte 'k,52
00E2 7335 .byte 's,53
00E4 7436 .byte 't,54
00E6 6C37 .byte 'l,55
00E8 7538 .byte 'u,56
00EA 7D39 .byte 125,57
00EC .dbsym e Shifted _Shifted A[118:59:2]kc
.area data(ram, con, rel)
0000 .dbfile E:\MYWORK~1\開發設計\EasyAVR\程序范例\Mega16程序包\完成整理\ps2\v1.2\PS2KB_UART/scancodes.h
0000 _keycode::
0000 .blkb 1
.area idata
0000 00 .byte 0
.area data(ram, con, rel)
0001 .dbfile E:\MYWORK~1\開發設計\EasyAVR\程序范例\Mega16程序包\完成整理\ps2\v1.2\PS2KB_UART/scancodes.h
0001 .dbfile E:\MYWORK~1\開發設計\EasyAVR\程序范例\Mega16程序包\完成整理\ps2\v1.2\PS2KB_UART\PS2KB_UART.c
0001 .dbsym e keycode _keycode c
0001 _step::
0001 .blkb 1
.area idata
0001 00 .byte 0
.area data(ram, con, rel)
0002 .dbfile E:\MYWORK~1\開發設計\EasyAVR\程序范例\Mega16程序包\完成整理\ps2\v1.2\PS2KB_UART\PS2KB_UART.c
0002 .dbsym e step _step c
0002 _flag::
0002 .blkb 1
.area idata
0002 00 .byte 0
.area data(ram, con, rel)
0003 .dbfile E:\MYWORK~1\開發設計\EasyAVR\程序范例\Mega16程序包\完成整理\ps2\v1.2\PS2KB_UART\PS2KB_UART.c
0003 .dbsym e flag _flag c
0003 _Key_UP:
0003 .blkb 1
.area idata
0003 00 .byte 0
.area data(ram, con, rel)
0004 .dbfile E:\MYWORK~1\開發設計\EasyAVR\程序范例\Mega16程序包\完成整理\ps2\v1.2\PS2KB_UART\PS2KB_UART.c
0004 .dbsym s Key_UP _Key_UP c
0004 _Shift:
0004 .blkb 1
.area idata
0004 00 .byte 0
.area data(ram, con, rel)
0005 .dbfile E:\MYWORK~1\開發設計\EasyAVR\程序范例\Mega16程序包\完成整理\ps2\v1.2\PS2KB_UART\PS2KB_UART.c
0005 .dbsym s Shift _Shift c
0005 _BF:
0005 .blkb 1
.area idata
0005 00 .byte 0
.area data(ram, con, rel)
0006 .dbfile E:\MYWORK~1\開發設計\EasyAVR\程序范例\Mega16程序包\完成整理\ps2\v1.2\PS2KB_UART\PS2KB_UART.c
0006 .dbsym s BF _BF c
.area text(rom, con, rel)
0000 .dbfile E:\MYWORK~1\開發設計\EasyAVR\程序范例\Mega16程序包\完成整理\ps2\v1.2\PS2KB_UART\PS2KB_UART.c
0000 .dbfunc e port_init _port_init fV
.even
0000 _port_init::
0000 .dbline -1
0000 .dbline 53
0000 ; /****************************************Copyright (c)**************************************************
0000 ; ** ADEmbed Development Co.,LTD.
0000 ; ** http://www.adembed.com
0000 ; **--------------File Info-------------------------------------------------------------------------------
0000 ; ** File name: ps2KB_UART.c
0000 ; ** Last modified Date: 2008-12-13
0000 ; ** Last Version: 1.0
0000 ; ** Descriptions: ps2 test.
0000 ; **
0000 ; **------------------------------------------------------------------------------------------------------
0000 ; ** Created by: junbolu
0000 ; ** Created date: 2008-12-13
0000 ; ** Version: 1.0
0000 ; ** Descriptions:
0000 ; **
0000 ; **------------------------------------------------------------------------------------------------------
0000 ; ** Modified by:
0000 ; ** Modified date:
0000 ; ** Version:
0000 ; ** Descriptions:
0000 ; **
0000 ; **------------------------------------------------------------------------------------------------------
0000 ; **ICC-AVR application builder : 2008-12-13
0000 ; **Target : M16
0000 ; **Crystal: 7.3728Mhz
0000 ; **SCK ---- INT1
0000 ; **DATA ---- PD3
0000 ; **描述:讀取PS2鍵盤編碼,并且解碼以后發送到串口顯示。
0000 ; **
0000 ; **
0000 ; **涉及知識點:
0000 ; **
0000 ; **
0000 ; **
0000 ; *******************************************************************************************************/
0000 ;
0000 ; #include<iom16v.h>
0000 ; #include<macros.h>
0000 ; #include "scancodes.h"
0000 ;
0000 ; #define BAUD 9600
0000 ; #define BARR (7372800/(16*BAUD)-1)
0000 ;
0000 ;
0000 ; volatile unsigned char keycode=0;
0000 ; volatile unsigned char step=0;
0000 ; volatile char flag=0;
0000 ;
0000 ; static unsigned char Key_UP=0, Shift = 0;//Key_UP是鍵松開標識,Shift是Shift鍵按下標識
0000 ; static unsigned char BF = 0; //標識是否有字符被收到
0000 ;
0000 ; void port_init(void)
0000 ; {
0000 .dbline 54
0000 ; DDRD = 0Xe7;
0000 87EE ldi R24,231
0002 81BB out 0x11,R24
0004 .dbline 55
0004 ; PORTD = 0XFF;
0004 8FEF ldi R24,255
0006 82BB out 0x12,R24
0008 .dbline -2
0008 L1:
0008 .dbline 0 ; func end
0008 0895 ret
000A .dbend
000A .dbfunc e UART_init _UART_init fV
.even
000A _UART_init::
000A .dbline -1
000A .dbline 60
000A ;
000A ; }
000A ;
000A ; void UART_init( void )
000A ; {
000A .dbline 61
000A ; UBRRH = (unsigned char)(BARR>>8);
000A 2224 clr R2
000C 20BC out 0x20,R2
000E .dbline 62
000E ; UBRRL = (unsigned char)BARR;
000E 8FE2 ldi R24,47
0010 89B9 out 0x9,R24
0012 .dbline 63
0012 ; UCSRB = (1<<RXEN)|(1<<TXEN);
0012 88E1 ldi R24,24
0014 8AB9 out 0xa,R24
0016 .dbline 64
0016 ; UCSRC = (1<<URSEL)|(1<<UCSZ1)|(1<<UCSZ0);
0016 86E8 ldi R24,134
0018 80BD out 0x20,R24
001A .dbline -2
001A L2:
001A .dbline 0 ; func end
001A 0895 ret
001C .dbend
001C .dbfunc e uart_transmit _uart_transmit fV
001C ; data -> R16
.even
001C _uart_transmit::
001C .dbline -1
001C .dbline 68
001C ; }
001C ;
001C ; void uart_transmit(unsigned char data)
001C ; {
001C L4:
001C .dbline 69
001C L5:
001C .dbline 69
001C ; while(!(UCSRA&(1<<UDRE)));
001C 5D9B sbis 0xb,5
001E FECF rjmp L4
0020 .dbline 71
0020 ;
0020 ; UDR = data;
0020 0CB9 out 0xc,R16
0022 .dbline -2
0022 L3:
0022 .dbline 0 ; func end
0022 0895 ret
0024 .dbsym r data 16 c
0024 .dbend
0024 .dbfunc e uart_trans_str _uart_trans_str fV
0024 ; s -> R20,R21
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -