?? hd_support.lis
字號:
.module HD_Support.c
.area text(rom, con, rel)
0000 .dbfile E:\單片機\ROOBCO~1\全向定位系統\被動小車\Passive_Encoder\HD_Support.c
.area vector(rom, abs)
.org 32
0020 BBC1 rjmp _Timer0_OVF_ISR
.area text(rom, con, rel)
0000 .dbfile E:\單片機\ROOBCO~1\全向定位系統\被動小車\Passive_Encoder\HD_Support.c
.area vector(rom, abs)
.org 2
0002 3FC0 rjmp _INT0_ISR
.area text(rom, con, rel)
0000 .dbfile E:\單片機\ROOBCO~1\全向定位系統\被動小車\Passive_Encoder\HD_Support.c
.area vector(rom, abs)
.org 4
0004 9DC0 rjmp _INT1_ISR
.area text(rom, con, rel)
0000 .dbfile E:\單片機\ROOBCO~1\全向定位系統\被動小車\Passive_Encoder\HD_Support.c
.area vector(rom, abs)
.org 6
0006 57C1 rjmp _PCINT0_ISR
.area text(rom, con, rel)
0000 .dbfile E:\單片機\ROOBCO~1\全向定位系統\被動小車\Passive_Encoder\HD_Support.c
.area vector(rom, abs)
.org 8
0008 F9C0 rjmp _PCINT1_ISR
.area text(rom, con, rel)
0000 .dbfile E:\單片機\ROOBCO~1\全向定位系統\被動小車\Passive_Encoder\HD_Support.c
.area vector(rom, abs)
.org 34
0022 F1C1 rjmp _SPI_STC_ISR
.area text(rom, con, rel)
0000 .dbfile E:\單片機\ROOBCO~1\全向定位系統\被動小車\Passive_Encoder\HD_Support.c
0000 .dbfunc e Device_INIT _Device_INIT fV
.even
0000 _Device_INIT::
0000 .dbline -1
0000 .dbline 108
0000 ; /***********************************************************
0000 ; * 函數庫說明:底層硬件初始化函數庫 *
0000 ; * 版本: *
0000 ; * 作者: *
0000 ; * 創建日期: *
0000 ; * -------------------------------------------------------- *
0000 ; * [硬件說明] *
0000 ; * 處理器: *
0000 ; * 系統時鐘: *
0000 ; * -------------------------------------------------------- *
0000 ; * [支 持 庫] *
0000 ; * 支持庫名稱:HD_Support.h *
0000 ; * 需要版本: ----- *
0000 ; * 支持庫說明:底層硬件初始化聲明庫 *
0000 ; * *
0000 ; * 支持庫名稱:PF_Config.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 ;
0000 ; /********************
0000 ; * 系 統 宏 定 義 *
0000 ; ********************/
0000 ; # pragma interrupt_handler Timer0_OVF_ISR:iv_TIMER0_OVF
0000 ; # pragma interrupt_handler INT0_ISR:iv_INT0
0000 ; # pragma interrupt_handler INT1_ISR:iv_INT1
0000 ; # pragma interrupt_handler PCINT0_ISR:iv_PCINT0
0000 ; # pragma interrupt_handler PCINT1_ISR:iv_PCINT1
0000 ; # pragma interrupt_handler SPI_STC_ISR:iv_SPI_STC
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_INT0_ISR_CODE
0000 ; # define INSERT_INT0_ISR_CODE
0000 ; #endif
0000 ;
0000 ; #ifndef INSERT_INT1_ISR_CODE
0000 ; # define INSERT_INT1_ISR_CODE
0000 ; #endif
0000 ;
0000 ; #ifndef INSERT_PCINT0_ISR_CODE
0000 ; # define INSERT_PCINT0_ISR_CODE
0000 ; #endif
0000 ;
0000 ; #ifndef INSERT_PCINT1_ISR_CODE
0000 ; # define INSERT_PCINT1_ISR_CODE
0000 ; #endif
0000 ;
0000 ; #ifndef INSERT_SPI_STC_ISR_CODE
0000 ; # define INSERT_SPI_STC_ISR_CODE
0000 ; #endif
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 Extend_INT_INIT(void);
0000 ; static void SPI_INIT(void);
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 109
0000 ; Port_INIT();
0000 07D0 rcall _Port_INIT
0002 .dbline 110
0002 ; Timer0_INIT();
0002 B1D1 rcall _Timer0_INIT
0004 .dbline 111
0004 ; SPI_INIT();
0004 E9D1 rcall _SPI_INIT
0006 .dbline 112
0006 ; Extend_INT_INIT();
0006 2DD0 rcall _Extend_INT_INIT
0008 .dbline 114
0008 ;
0008 ; TIMSK0 = BIT(TOIE0); //啟動定時期0溢出中斷資源
0008 81E0 ldi R24,1
000A 80936E00 sts 110,R24
000E .dbline -2
000E L1:
000E .dbline 0 ; func end
000E 0895 ret
0010 .dbend
0010 .dbfunc s Port_INIT _Port_INIT fV
.even
0010 _Port_INIT:
0010 .dbline -1
0010 .dbline 124
0010 ; }
0010 ;
0010 ; /***********************************************************
0010 ; * 函數說明:系統端口初始化函數 *
0010 ; * 輸入: 無 *
0010 ; * 輸出: 無 *
0010 ; * 調用函數:無 *
0010 ; ***********************************************************/
0010 ; static void Port_INIT(void)
0010 ; {
0010 .dbline 126
0010 ; //LCDSP027
0010 ; DDR_PD1 = PDIR_OUT;_PD1 = HIGH;
0010 8AB1 in R24,0xa
0012 8260 ori R24,2
0014 8AB9 out 0xa,R24
0016 .dbline 126
0016 8BB1 in R24,0xb
0018 8260 ori R24,2
001A 8BB9 out 0xb,R24
001C .dbline 127
001C ; DDR_PD0 = PDIR_OUT;_PD0 = HIGH;
001C 8AB1 in R24,0xa
001E 8160 ori R24,1
0020 8AB9 out 0xa,R24
0022 .dbline 127
0022 8BB1 in R24,0xb
0024 8160 ori R24,1
0026 8BB9 out 0xb,R24
0028 .dbline 130
0028 ;
0028 ; //外部中斷
0028 ; DDR_PD2 = PDIR_IN; _PD2 = HIGH; //開啟上拉電阻
0028 8AB1 in R24,0xa
002A 8B7F andi R24,251
002C 8AB9 out 0xa,R24
002E .dbline 130
002E 8BB1 in R24,0xb
0030 8460 ori R24,4
0032 8BB9 out 0xb,R24
0034 .dbline 131
0034 ; DDR_PC3 = PDIR_IN; _PC3 = HIGH; //開啟上拉電阻
0034 87B1 in R24,0x7
0036 877F andi R24,247
0038 87B9 out 0x7,R24
003A .dbline 131
003A 88B1 in R24,0x8
003C 8860 ori R24,8
003E 88B9 out 0x8,R24
0040 .dbline 133
0040 ;
0040 ; DDR_PD3 = PDIR_IN; _PD3 = HIGH; //開啟上拉電阻
0040 8AB1 in R24,0xa
0042 877F andi R24,247
0044 8AB9 out 0xa,R24
0046 .dbline 133
0046 8BB1 in R24,0xb
0048 8860 ori R24,8
004A 8BB9 out 0xb,R24
004C .dbline 134
004C ; DDR_PB0 = PDIR_IN; _PB0 = HIGH; //開啟上拉電阻
004C 84B1 in R24,0x4
004E 8E7F andi R24,254
0050 84B9 out 0x4,R24
0052 .dbline 134
0052 85B1 in R24,0x5
0054 8160 ori R24,1
0056 85B9 out 0x5,R24
0058 .dbline 137
0058 ;
0058 ; //SPI初始化
0058 ; DDRB |= BIT(PB5)|BIT(PB3)|BIT(PB2);
0058 84B1 in R24,0x4
005A 8C62 ori R24,44
005C 84B9 out 0x4,R24
005E .dbline 138
005E ; PORTB |= BIT(PB2);
005E 2A9A sbi 0x5,2
0060 .dbline -2
0060 L2:
0060 .dbline 0 ; func end
0060 0895 ret
0062 .dbend
0062 .dbfunc s Extend_INT_INIT _Extend_INT_INIT fV
.even
0062 _Extend_INT_INIT:
0062 .dbline -1
0062 .dbline 148
0062 ; }
0062 ;
0062 ; /***********************************************************
0062 ; * 函數說明:外中斷初始化函數 *
0062 ; * 輸入: 無 *
0062 ; * 輸出: 無 *
0062 ; * 調用函數:無 *
0062 ; ***********************************************************/
0062 ; static void Extend_INT_INIT(void)
0062 ; {
0062 .dbline 150
0062 ; //INT0 INT1
0062 ; EICRA = BIT(ISC10)|BIT(ISC00); //任意電平變化
0062 85E0 ldi R24,5
0064 80936900 sts 105,R24
0068 .dbline 151
0068 ; EIMSK = BIT(INT1)|BIT(INT0); //中斷使能
0068 83E0 ldi R24,3
006A 8DBB out 0x1d,R24
006C .dbline 154
006C ;
006C ; //Pin Change Int
006C ; PCICR = BIT(PCIE0)|BIT(PCIE1);
006C 80936800 sts 104,R24
0070 .dbline 155
0070 ; PCMSK1 = BIT(PCINT11);
0070 88E0 ldi R24,8
0072 80936C00 sts 108,R24
0076 .dbline 156
0076 ; PCMSK0 = BIT(PCINT0);
0076 81E0 ldi R24,1
0078 80936B00 sts 107,R24
007C .dbline -2
007C L3:
007C .dbline 0 ; func end
007C 0895 ret
007E .dbend
007E .dbfunc e INT0_ISR _INT0_ISR fV
.even
007E _INT0_ISR::
007E 0A92 st -y,R0
0080 1A92 st -y,R1
0082 2A92 st -y,R2
0084 3A92 st -y,R3
0086 4A92 st -y,R4
0088 5A92 st -y,R5
008A 0A93 st -y,R16
008C 1A93 st -y,R17
008E 2A93 st -y,R18
0090 3A93 st -y,R19
0092 8A93 st -y,R24
0094 9A93 st -y,R25
0096 AA93 st -y,R26
0098 BA93 st -y,R27
009A 0FB6 in R0,0x3f
009C 0A92 st -y,R0
009E .dbline -1
009E .dbline 166
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -