⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 hd_support.lis

📁 移动机器人(小车)的物理坐标和逻辑坐标的转换源码
💻 LIS
📖 第 1 页 / 共 3 页
字号:
                        .module HD_Support.c
                        .area text(rom, con, rel)
 0000                   .dbfile E:\单片机\ROOBCO~1\全向定位系统\坐标转换模块\相对定位模块应用版\Relative_Locate_Module\HD_Support.c
                        .area vector(rom, abs)
                        .org 32
 0020 5AC0              rjmp _Timer0_OVF_ISR
                        .area text(rom, con, rel)
 0000                   .dbfile E:\单片机\ROOBCO~1\全向定位系统\坐标转换模块\相对定位模块应用版\Relative_Locate_Module\HD_Support.c
                        .area vector(rom, abs)
                        .org 36
 0024 9CC0              rjmp _USART0_RX_ISR
                        .area text(rom, con, rel)
 0000                   .dbfile E:\单片机\ROOBCO~1\全向定位系统\坐标转换模块\相对定位模块应用版\Relative_Locate_Module\HD_Support.c
                        .area vector(rom, abs)
                        .org 40
 0028 D0C0              rjmp _USART0_TX_ISR
                        .area text(rom, con, rel)
 0000                   .dbfile E:\单片机\ROOBCO~1\全向定位系统\坐标转换模块\相对定位模块应用版\Relative_Locate_Module\HD_Support.c
                        .area vector(rom, abs)
                        .org 34
 0022 15C1              rjmp _SPI_STC_ISR
                        .area text(rom, con, rel)
 0000                   .dbfile E:\单片机\ROOBCO~1\全向定位系统\坐标转换模块\相对定位模块应用版\Relative_Locate_Module\HD_Support.c
                        .area vector(rom, abs)
                        .org 6
 0006 6FC1              rjmp _PCINT0_ISR
                        .area text(rom, con, rel)
 0000                   .dbfile E:\单片机\ROOBCO~1\全向定位系统\坐标转换模块\相对定位模块应用版\Relative_Locate_Module\HD_Support.c
                        .area vector(rom, abs)
                        .org 8
 0008 D6C1              rjmp _PCINT1_ISR
                        .area text(rom, con, rel)
 0000                   .dbfile E:\单片机\ROOBCO~1\全向定位系统\坐标转换模块\相对定位模块应用版\Relative_Locate_Module\HD_Support.c
 0000                   .dbfunc e Device_INIT _Device_INIT fV
                        .even
 0000           _Device_INIT::
 0000                   .dbline -1
 0000                   .dbline 111
 0000           ; /***********************************************************
 0000           ; *   函数库说明:底层硬件初始化函数库                       *
 0000           ; *   版本:                                                 *
 0000           ; *   作者:                                                 *
 0000           ; *   创建日期:                                             *
 0000           ; * -------------------------------------------------------- *
 0000           ; *  [硬件说明]                                              *
 0000           ; *   处理器:                                               *
 0000           ; *   系统时钟:                                             *
 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           ; # pragma interrupt_handler SPI_STC_ISR:iv_SPI_STC
 0000           ; # pragma interrupt_handler PCINT0_ISR:iv_PCINT0
 0000           ; # pragma interrupt_handler PCINT1_ISR:iv_PCINT1
 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           ; #ifndef INSERT_SPI_STC_ISR_CODE
 0000           ;     # define INSERT_SPI_STC_ISR_CODE
 0000           ; #endif
 0000           ; 
 0000           ; #ifndef INSERT_PCINT0_ISR_CODE
 0000           ;     # define INSERT_PCINT0_ISR_CODE
 0000           ; #endif
 0000           ; #ifndef INSERT_PCINT1_ISR_CODE
 0000           ;     # define INSERT_PCINT1_ISR_CODE
 0000           ; #endif
 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           ; static void SPI_INIT(void);
 0000           ; static void PCINT_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 112
 0000           ;     Port_INIT();
 0000 08D0              rcall _Port_INIT
 0002                   .dbline 113
 0002           ;     Timer0_INIT();
 0002 50D0              rcall _Timer0_INIT
 0004                   .dbline 114
 0004           ;     USART0_INIT();
 0004 88D0              rcall _USART0_INIT
 0006                   .dbline 115
 0006           ;     SPI_INIT();
 0006 0CD1              rcall _SPI_INIT
 0008                   .dbline 116
 0008           ;     PCINT_INIT();
 0008 5ED1              rcall _PCINT_INIT
 000A                   .dbline 118
 000A           ;     
 000A           ;     TIMSK0 = BIT(TOIE0);                                    //启动定时期0溢出中断资源
 000A 81E0              ldi R24,1
 000C 80936E00          sts 110,R24
 0010                   .dbline -2
 0010           L1:
 0010                   .dbline 0 ; func end
 0010 0895              ret
 0012                   .dbend
 0012                   .dbfunc s Port_INIT _Port_INIT fV
                        .even
 0012           _Port_INIT:
 0012                   .dbline -1
 0012                   .dbline 128
 0012           ; }
 0012           ; 
 0012           ; /***********************************************************
 0012           ; *   函数说明:系统端口初始化函数                           *
 0012           ; *   输入:    无                                           *
 0012           ; *   输出:    无                                           *
 0012           ; *   调用函数:无                                           *
 0012           ; ***********************************************************/
 0012           ; static void Port_INIT(void)
 0012           ; {
 0012                   .dbline 130
 0012           ;     //串口
 0012           ;     DDR_PD0 = PDIR_IN;  _PD0 = LOW;
 0012 8AB1              in R24,0xa
 0014 8E7F              andi R24,254
 0016 8AB9              out 0xa,R24
 0018                   .dbline 130
 0018 8BB1              in R24,0xb
 001A 8E7F              andi R24,254
 001C 8BB9              out 0xb,R24
 001E                   .dbline 131
 001E           ;     DDR_PD1 = PDIR_IN;  _PD1 = LOW;
 001E 8AB1              in R24,0xa
 0020 8D7F              andi R24,253
 0022 8AB9              out 0xa,R24
 0024                   .dbline 131
 0024 8BB1              in R24,0xb
 0026 8D7F              andi R24,253
 0028 8BB9              out 0xb,R24
 002A                   .dbline 134
 002A           ;     
 002A           ;     //SPI
 002A           ;     DDR_PB2 = PDIR_IN;  _PB2 = HIGH;                        //SS从机输入
 002A 84B1              in R24,0x4
 002C 8B7F              andi R24,251
 002E 84B9              out 0x4,R24
 0030                   .dbline 134
 0030 85B1              in R24,0x5
 0032 8460              ori R24,4
 0034 85B9              out 0x5,R24
 0036                   .dbline 135
 0036           ;     DDR_PB4 = PDIR_OUT; _PB4 = HIGH;                        //从机输出
 0036 84B1              in R24,0x4
 0038 8061              ori R24,16
 003A 84B9              out 0x4,R24
 003C                   .dbline 135
 003C 85B1              in R24,0x5
 003E 8061              ori R24,16
 0040 85B9              out 0x5,R24
 0042                   .dbline 138
 0042           ; 
 0042           ;     //编码盘
 0042           ;     DDR_PC0 = PDIR_IN;  _PC0 = HIGH;
 0042 87B1              in R24,0x7
 0044 8E7F              andi R24,254
 0046 87B9              out 0x7,R24
 0048                   .dbline 138
 0048 88B1              in R24,0x8
 004A 8160              ori R24,1
 004C 88B9              out 0x8,R24
 004E                   .dbline 139
 004E           ;     DDR_PC1 = PDIR_IN;  _PC1 = HIGH;
 004E 87B1              in R24,0x7
 0050 8D7F              andi R24,253
 0052 87B9              out 0x7,R24
 0054                   .dbline 139
 0054 88B1              in R24,0x8
 0056 8260              ori R24,2
 0058 88B9              out 0x8,R24
 005A                   .dbline 142
 005A           ;     
 005A           ;     //LED工作指示
 005A           ;     DDR_PC2 = PDIR_OUT; _PC2 = HIGH;                        //LED_WORK
 005A 87B1              in R24,0x7
 005C 8460              ori R24,4
 005E 87B9              out 0x7,R24
 0060                   .dbline 142
 0060 88B1              in R24,0x8
 0062 8460              ori R24,4
 0064 88B9              out 0x8,R24
 0066                   .dbline 143
 0066           ;     DDR_PC3 = PDIR_OUT; _PC3 = HIGH;                        //LED_DATA
 0066 87B1              in R24,0x7
 0068 8860              ori R24,8
 006A 87B9              out 0x7,R24
 006C                   .dbline 143
 006C 88B1              in R24,0x8
 006E 8860              ori R24,8
 0070 88B9              out 0x8,R24
 0072                   .dbline 150
 0072           ;     
 0072           ;     //SP027 / I2C
 0072           ;     //DDR_PC4 = PDIR_OUT; _PC4 = HIGH;                        //开启内部上拉电阻
 0072           ;     //DDR_PC5 = PDIR_OUT; _PC5 = HIGH;                        //开启内部上拉电阻
 0072           ;     
 0072           ;     //LCD1602
 0072           ;     DDR_PB1 = PDIR_OUT; _PB1 = HIGH;                        //RS
 0072 84B1              in R24,0x4
 0074 8260              ori R24,2
 0076 84B9              out 0x4,R24
 0078                   .dbline 150
 0078 85B1              in R24,0x5
 007A 8260              ori R24,2
 007C 85B9              out 0x5,R24
 007E                   .dbline 151
 007E           ;     DDR_PB0 = PDIR_OUT; _PB0 = HIGH;                        //RW
 007E 84B1              in R24,0x4
 0080 8160              ori R24,1
 0082 84B9              out 0x4,R24
 0084                   .dbline 151
 0084 85B1              in R24,0x5
 0086 8160              ori R24,1
 0088 85B9              out 0x5,R24
 008A                   .dbline 152
 008A           ;     DDR_PD7 = PDIR_OUT; _PD7 = HIGH;                        //E
 008A 8AB1              in R24,0xa
 008C 8068              ori R24,128
 008E 8AB9              out 0xa,R24
 0090                   .dbline 152
 0090 8BB1              in R24,0xb
 0092 8068              ori R24,128
 0094 8BB9              out 0xb,R24
 0096                   .dbline 154
 0096           ;     
 0096           ;     DDRD &= ~(BIT(PD6)|BIT(PD5)|BIT(PD4)|BIT(PD3));
 0096 8AB1              in R24,0xa
 0098 8778              andi R24,135
 009A 8AB9              out 0xa,R24
 009C                   .dbline 155
 009C           ;     PORTD |= BIT(PD6)|BIT(PD5)|BIT(PD4)|BIT(PD3);
 009C 8BB1              in R24,0xb
 009E 8867              ori R24,120
 00A0 8BB9              out 0xb,R24
 00A2                   .dbline -2
 00A2           L2:
 00A2                   .dbline 0 ; func end
 00A2 0895              ret
 00A4                   .dbend
 00A4                   .dbfunc s Timer0_INIT _Timer0_INIT fV
                        .even
 00A4           _Timer0_INIT:
 00A4                   .dbline -1
 00A4                   .dbline 165
 00A4           ; }
 00A4           ; 
 00A4           ; /***********************************************************
 00A4           ; *   函数声明:定时器0初始化函数                            *
 00A4           ; *   输入:    无                                           *
 00A4           ; *   输出:    无                                           *
 00A4           ; *   调用函数:无                                           *
 00A4           ; ***********************************************************/
 00A4           ; static void Timer0_INIT(void)
 00A4           ; {
 00A4                   .dbline 166
 00A4           ;     TCCR0B = 0x00; //stop
 00A4 2224              clr R2
 00A6 25BC              out 0x25,R2
 00A8                   .dbline 167
 00A8           ;     TCNT0 = 0xB2; //set count
 00A8 82EB              ldi R24,178
 00AA 86BD              out 0x26,R24
 00AC                   .dbline 168
 00AC           ;     TCCR0A = 0x00; 
 00AC 24BC              out 0x24,R2
 00AE                   .dbline 169
 00AE           ;     TCCR0B = 0x04; //start timer

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -