?? hd_support.lis
字號:
.module HD_Support.c
.area text(rom, con, rel)
0000 .dbfile O:\2007全國電子設計大賽\鍵盤顯示模塊\HD_Support.c
.area vector(rom, abs)
.org 36
0024 0C946700 jmp _Timer0_OVF_ISR
.area text(rom, con, rel)
0000 .dbfile O:\2007全國電子設計大賽\鍵盤顯示模塊\HD_Support.c
.area vector(rom, abs)
.org 44
002C 0C94A300 jmp _USART0_RX_ISR
.area text(rom, con, rel)
0000 .dbfile O:\2007全國電子設計大賽\鍵盤顯示模塊\HD_Support.c
.area vector(rom, abs)
.org 52
0034 0C94AB00 jmp _USART0_TX_ISR
.area text(rom, con, rel)
0000 .dbfile O:\2007全國電子設計大賽\鍵盤顯示模塊\HD_Support.c
0000 .dbfunc e Device_INIT _Device_INIT fV
.even
0000 _Device_INIT::
0000 .dbline -1
0000 .dbline 97
0000 ; /***********************************************************
0000 ; * 函數庫說明:底層硬件初始化函數庫 *
0000 ; * 版本: *
0000 ; * 作者: *
0000 ; * 創建日期: *
0000 ; * -------------------------------------------------------- *
0000 ; * [硬件說明] *
0000 ; * 處理器: ATMega16L *
0000 ; * 系統時鐘: 外部16M *
0000 ; * -------------------------------------------------------- *
0000 ; * [支 持 庫] *
0000 ; * 支持庫名稱:PF_Config.h *
0000 ; * 需要版本: ----- *
0000 ; * 聲明庫說明:硬件平臺配置聲明庫 *
0000 ; * *
0000 ; * 支持庫名稱:HD_Support.h *
0000 ; * 需要版本: ----- *
0000 ; * 聲明庫說明:底層硬件初始化聲明庫 *
0000 ; * -------------------------------------------------------- *
0000 ; * [版本更新] *
0000 ; * 修改: *
0000 ; * 修改日期: *
0000 ; * 版本: *
0000 ; * -------------------------------------------------------- *
0000 ; * [版本歷史] *
0000 ; * -------------------------------------------------------- *
0000 ; * [使用說明] *
0000 ; ***********************************************************/
0000 ;
0000 ; /********************
0000 ; * 頭 文 件 配 置 區 *
0000 ; ********************/
0000 ; # include "PF_Config.h"
0000 ; # include "HD_Support.h"
0000 ; # include "LIB_Config.h"
0000 ;
0000 ; /********************
0000 ; * 系 統 宏 定 義 *
0000 ; ********************/
0000 ; # pragma interrupt_handler Timer0_OVF_ISR:iv_TIMER0_OVF
0000 ; # pragma interrupt_handler USART0_RX_ISR:iv_USART0_RXC
0000 ; # pragma interrupt_handler USART0_TX_ISR:iv_USART0_TXC
0000 ;
0000 ; /*------------------*
0000 ; * 常 數 宏 定 義 *
0000 ; *------------------*/
0000 ;
0000 ; /*------------------*
0000 ; * 動 作 宏 定 義 *
0000 ; *------------------*/
0000 ; #ifndef INSERT_TIMER0_OVF_ISR_CODE
0000 ; # define INSERT_TIMER0_OVF_ISR_CODE
0000 ; #endif
0000 ;
0000 ; #ifndef INSERT_USART0_RX_ISR_CODE
0000 ; # define INSERT_USART0_RX_ISR_CODE
0000 ; #endif
0000 ;
0000 ; #ifndef INSERT_USART0_TX_ISR_CODE
0000 ; # define INSERT_USART0_TX_ISR_CODE
0000 ; #endif
0000 ;
0000 ;
0000 ; /********************
0000 ; * 模塊結構體定義區 *
0000 ; ********************/
0000 ;
0000 ; /********************
0000 ; * 函 數 聲 明 區 *
0000 ; ********************/
0000 ; void Device_INIT(void);
0000 ;
0000 ; /********************
0000 ; * 模塊函數聲明區 *
0000 ; ********************/
0000 ; static void Port_INIT(void);
0000 ; static void Timer0_INIT(void);
0000 ; static void USART0_INIT(void);
0000 ;
0000 ;
0000 ; /********************
0000 ; * 模塊變量聲明區 *
0000 ; ********************/
0000 ;
0000 ; /********************
0000 ; * 全局變量聲明區 *
0000 ; ********************/
0000 ;
0000 ;
0000 ; /***********************************************************
0000 ; * 函數說明:系統硬件初始化函數 *
0000 ; * 輸入: 無 *
0000 ; * 輸出: 無 *
0000 ; * 調用函數:Port_INIT() Timer0_INIT() *
0000 ; ***********************************************************/
0000 ; void Device_INIT(void)
0000 ; {
0000 .dbline 98
0000 ; Port_INIT();
0000 05D0 xcall _Port_INIT
0002 .dbline 99
0002 ; Timer0_INIT();
0002 5CD0 xcall _Timer0_INIT
0004 .dbline 100
0004 ; USART0_INIT();
0004 95D0 xcall _USART0_INIT
0006 .dbline 103
0006 ; //SPI_INIT();
0006 ;
0006 ; TIMSK = BIT(TOIE0); //啟動定時期0溢出中斷資源
0006 81E0 ldi R24,1
0008 89BF out 0x39,R24
000A .dbline -2
000A L1:
000A .dbline 0 ; func end
000A 0895 ret
000C .dbend
000C .dbfunc s Port_INIT _Port_INIT fV
.even
000C _Port_INIT:
000C .dbline -1
000C .dbline 113
000C ; }
000C ;
000C ; /***********************************************************
000C ; * 函數說明:系統端口初始化函數 *
000C ; * 輸入: 無 *
000C ; * 輸出: 無 *
000C ; * 調用函數:無 *
000C ; ***********************************************************/
000C ; static void Port_INIT(void)
000C ; {
000C .dbline 115
000C ; //1602
000C ; DDR_PB0 = PDIR_OUT;_PB0 = HIGH;
000C 87B3 in R24,0x17
000E 8160 ori R24,1
0010 87BB out 0x17,R24
0012 .dbline 115
0012 88B3 in R24,0x18
0014 8160 ori R24,1
0016 88BB out 0x18,R24
0018 .dbline 116
0018 ; DDR_PB1 = PDIR_OUT;_PB1 = HIGH;
0018 87B3 in R24,0x17
001A 8260 ori R24,2
001C 87BB out 0x17,R24
001E .dbline 116
001E 88B3 in R24,0x18
0020 8260 ori R24,2
0022 88BB out 0x18,R24
0024 .dbline 117
0024 ; DDR_PB2 = PDIR_OUT;_PB2 = HIGH;
0024 87B3 in R24,0x17
0026 8460 ori R24,4
0028 87BB out 0x17,R24
002A .dbline 117
002A 88B3 in R24,0x18
002C 8460 ori R24,4
002E 88BB out 0x18,R24
0030 .dbline 118
0030 ; DDRA = 0xFF;
0030 8FEF ldi R24,255
0032 8ABB out 0x1a,R24
0034 .dbline 119
0034 ; PORTA = 0xFF;
0034 8BBB out 0x1b,R24
0036 .dbline 122
0036 ;
0036 ; //鍵盤
0036 ; DDRD |= BIT(PD2)|BIT(PD3)|BIT(PD4)|BIT(PD5)|BIT(PD6);
0036 81B3 in R24,0x11
0038 8C67 ori R24,124
003A 81BB out 0x11,R24
003C .dbline 123
003C ; PORTD |= BIT(PD2)|BIT(PD3)|BIT(PD4)|BIT(PD5)|BIT(PD6);
003C 82B3 in R24,0x12
003E 8C67 ori R24,124
0040 82BB out 0x12,R24
0042 .dbline 124
0042 ; DDRC &= ~( BIT(PC2)|BIT(PC3)|BIT(PC4)|BIT(PC5) );
0042 84B3 in R24,0x14
0044 837C andi R24,195
0046 84BB out 0x14,R24
0048 .dbline 125
0048 ; PORTC |= BIT(PC2)|BIT(PC3)|BIT(PC4)|BIT(PC5);
0048 85B3 in R24,0x15
004A 8C63 ori R24,60
004C 85BB out 0x15,R24
004E .dbline 128
004E ;
004E ; //LED閃爍指示
004E ; DDR_PC6 = PDIR_OUT;_PC6 = HIGH;
004E 84B3 in R24,0x14
0050 8064 ori R24,64
0052 84BB out 0x14,R24
0054 .dbline 128
0054 85B3 in R24,0x15
0056 8064 ori R24,64
0058 85BB out 0x15,R24
005A .dbline 129
005A ; DDR_PC7 = PDIR_OUT;_PC7 = HIGH;
005A 84B3 in R24,0x14
005C 8068 ori R24,128
005E 84BB out 0x14,R24
0060 .dbline 129
0060 85B3 in R24,0x15
0062 8068 ori R24,128
0064 85BB out 0x15,R24
0066 .dbline 132
0066 ;
0066 ; //SPI
0066 ; DDR_PB4 = PDIR_OUT;_PB4 = HIGH; //SS
0066 87B3 in R24,0x17
0068 8061 ori R24,16
006A 87BB out 0x17,R24
006C .dbline 132
006C 88B3 in R24,0x18
006E 8061 ori R24,16
0070 88BB out 0x18,R24
0072 .dbline 133
0072 ; DDR_PB5 = PDIR_OUT;_PB5 = HIGH; //MOSI
0072 87B3 in R24,0x17
0074 8062 ori R24,32
0076 87BB out 0x17,R24
0078 .dbline 133
0078 88B3 in R24,0x18
007A 8062 ori R24,32
007C 88BB out 0x18,R24
007E .dbline 134
007E ; DDR_PB7 = PDIR_OUT;_PB7 = HIGH; //SCK
007E 87B3 in R24,0x17
0080 8068 ori R24,128
0082 87BB out 0x17,R24
0084 .dbline 134
0084 88B3 in R24,0x18
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -