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

📄 hd_support.lis

📁 《深入浅出AVR单片机——从ATmega48/88/168开始》的实例程序源代码
💻 LIS
📖 第 1 页 / 共 2 页
字号:
                        .module HD_Support.c
                        .area vector(rom, abs)
                        .org 32
 0020 1FC0              rjmp _Timer0_OVF_ISR
                        .org 26
 001A 30C0              rjmp _Timer1_OVF_ISR
                        .org 48
 0030 44C0              rjmp _TWI_ISR
                        .area text(rom, con, rel)
 0000                   .dbfile D:\实例17_I2C抢答器_主机程序\HD_Support.c
 0000                   .dbfunc e Device_INIT _Device_INIT fV
                        .even
 0000           _Device_INIT::
 0000                   .dbline -1
 0000                   .dbline 96
 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 Timer1_OVF_ISR:iv_TIMER1_OVF
 0000           ; #pragma interrupt_handler TWI_ISR:iv_TWI
 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_TIMER1_OVF_ISR_CODE
 0000           ;     #define INSERT_TIMER1_OVF_ISR_CODE
 0000           ; #endif
 0000           ; 
 0000           ; #ifndef INSERT_TWI_ISR_CODE
 0000           ;     #define INSERT_TWI_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 Timer1_INIT(void);
 0000           ; static void TWI_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 97
 0000           ;     Port_INIT();
 0000 0AD0              rcall _Port_INIT
 0002                   .dbline 98
 0002           ;     Timer0_INIT();
 0002 15D0              rcall _Timer0_INIT
 0004                   .dbline 99
 0004           ;     Timer1_INIT();
 0004 21D0              rcall _Timer1_INIT
 0006                   .dbline 100
 0006           ;     TWI_INIT();
 0006 31D0              rcall _TWI_INIT
 0008                   .dbline 101
 0008           ;     SPI_INIT();
 0008 43D0              rcall _SPI_INIT
 000A                   .dbline 104
 000A           ;     //*在这里添加其他初始化函数*//
 000A           ;     
 000A           ;     TIMSK0 = BIT(TOIE0);                                    //启动定时器0溢出中断资源
 000A 81E0              ldi R24,1
 000C 80936E00          sts 110,R24
 0010                   .dbline 105
 0010           ;     TIMSK1 = BIT(TOIE1);                                    //启动定时器1溢出中断资源
 0010 80936F00          sts 111,R24
 0014                   .dbline -2
 0014           L1:
 0014                   .dbline 0 ; func end
 0014 0895              ret
 0016                   .dbend
 0016                   .dbfunc s Port_INIT _Port_INIT fV
                        .even
 0016           _Port_INIT:
 0016                   .dbline -1
 0016                   .dbline 116
 0016           ;     //*在这里添加其他全局寄存器的初始化代码*//
 0016           ; }
 0016           ; 
 0016           ; /***********************************************************
 0016           ; *   函数说明:系统端口初始化函数                           *
 0016           ; *   输入:    无                                           *
 0016           ; *   输出:    无                                           *
 0016           ; *   调用函数:无                                           *
 0016           ; ***********************************************************/
 0016           ; static void Port_INIT(void)
 0016           ; {
 0016                   .dbline 118
 0016           ;     //*在这里添加端口初始化代码*//
 0016           ;     PORTB = 0b11111110;                 //MOSI,#SS,CLK端均设置为高电平,MISO端开启内部上拉
 0016 8EEF              ldi R24,254
 0018 85B9              out 0x5,R24
 001A                   .dbline 119
 001A           ;     PORTC = 0b11111111;
 001A 8FEF              ldi R24,255
 001C 88B9              out 0x8,R24
 001E                   .dbline 120
 001E           ;     PORTD = 0b11111111;
 001E 8BB9              out 0xb,R24
 0020                   .dbline 122
 0020           ;     
 0020           ;     DDRB = 0b00101101;
 0020 8DE2              ldi R24,45
 0022 84B9              out 0x4,R24
 0024                   .dbline 123
 0024           ;     DDRC = 0b00100000;
 0024 80E2              ldi R24,32
 0026 87B9              out 0x7,R24
 0028                   .dbline 124
 0028           ;     DDRD = 0b00000000;
 0028 2224              clr R2
 002A 2AB8              out 0xa,R2
 002C                   .dbline -2
 002C           L2:
 002C                   .dbline 0 ; func end
 002C 0895              ret
 002E                   .dbend
 002E                   .dbfunc s Timer0_INIT _Timer0_INIT fV
                        .even
 002E           _Timer0_INIT:
 002E                   .dbline -1
 002E                   .dbline 134
 002E           ; }
 002E           ; 
 002E           ; /***********************************************************
 002E           ; *   函数声明:定时器0初始化函数                            *
 002E           ; *   输入:    无                                           *
 002E           ; *   输出:    无                                           *
 002E           ; *   调用函数:无                                           *
 002E           ; ***********************************************************/
 002E           ; static void Timer0_INIT(void)
 002E           ; {
 002E                   .dbline 137
 002E           ;     //*在这里粘贴从代码生成向导中生成的初始化代码*//
 002E           ;     //*要求为1kHz的溢出中断                      *//
 002E           ;     TCCR0B = 0x00;

⌨️ 快捷键说明

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