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

📄 device_init.lis

📁 proteus仿真实例大全
💻 LIS
字号:
                        .module device_init.c
                        .area text(rom, con, rel)
 0000                   .dbfile E:\avr\电机控制\电机控制\device_init.c
 0000                   .dbfunc e port_init _port_init fV
                        .even
 0000           _port_init::
 0000                   .dbline -1
 0000                   .dbline 8
 0000           ; //ICC-AVR application builder : 2006-11-1 0:27:10
 0000           ; // Target : M32
 0000           ; // Crystal: 7.3728Mhz
 0000           ; //文件名:device_init.c 各种参数初始化
 0000           ; #include "config.h"
 0000           ; 
 0000           ; void port_init(void)
 0000           ; {
 0000                   .dbline 9
 0000           ;  PORTA = 0x00;
 0000 2224              clr R2
 0002 2BBA              out 0x1b,R2
 0004                   .dbline 10
 0004           ;  DDRA  = 0x00; 
 0004 2ABA              out 0x1a,R2
 0006                   .dbline 11
 0006           ;  PORTB = 0x00;
 0006 28BA              out 0x18,R2
 0008                   .dbline 12
 0008           ;  DDRB  = 0x00; 
 0008 27BA              out 0x17,R2
 000A                   .dbline 13
 000A           ;  PORTC = 0x00; 
 000A 25BA              out 0x15,R2
 000C                   .dbline 14
 000C           ;  DDRC  = 0x00;
 000C 24BA              out 0x14,R2
 000E                   .dbline 15
 000E           ;  PORTD = 0x00;
 000E 22BA              out 0x12,R2
 0010                   .dbline 16
 0010           ;  DDRD  = 0xB0; // D7 PWM   //参考芯片手册
 0010 80EB              ldi R24,176
 0012 81BB              out 0x11,R24
 0014                   .dbline -2
 0014           L1:
 0014                   .dbline 0 ; func end
 0014 0895              ret
 0016                   .dbend
 0016                   .dbfunc e timer2_init _timer2_init fV
                        .even
 0016           _timer2_init::
 0016                   .dbline -1
 0016                   .dbline 22
 0016           ; }
 0016           ; 
 0016           ; /**************************采用timer2 产生波形***********************/
 0016           ; // PWM频率 = 系统时钟频率/(分频系数*2*计数器上限值)) 
 0016           ; void timer2_init(void)
 0016           ; {
 0016                   .dbline 23
 0016           ;  TCCR2 = 0x00;  //stop
 0016 2224              clr R2
 0018 25BC              out 0x25,R2
 001A                   .dbline 24
 001A           ;  TCNT2= 0x01;  //set count
 001A 81E0              ldi R24,1
 001C 84BD              out 0x24,R24
 001E                   .dbline 25
 001E           ;  OCR2 = 0x66;  //set compare
 001E 86E6              ldi R24,102
 0020 83BD              out 0x23,R24
 0022                   .dbline 26
 0022           ;  TCCR2 = (1<<WGM20)|(1<<WGM21)|(1<<COM21)|0x06; //  start timer 快速pwm模式,匹配清零,溢出置位 256分频
 0022 8EE6              ldi R24,110
 0024 85BD              out 0x25,R24
 0026                   .dbline -2
 0026           L2:
 0026                   .dbline 0 ; func end
 0026 0895              ret
 0028                   .dbend
 0028                   .dbfunc e init_devices _init_devices fV
                        .even
 0028           _init_devices::
 0028                   .dbline -1
 0028                   .dbline 33
 0028           ; //占空比=高比低为:(OCR2-0X01)/(0XFF-OCR2)    OX01++++++(OCR2)__________OXFF (+表示输出高,_表示输出低)
 0028           ; //即OCR2越大,输出越大
 0028           ; }
 0028           ; 
 0028           ; //call this routine to initialize all peripherals
 0028           ; void init_devices(void)
 0028           ; {
 0028                   .dbline 35
 0028           ;  //stop errant interrupts until set up
 0028           ;  CLI(); //disable all interrupts
 0028 F894              cli
 002A                   .dbline 36
 002A           ;  port_init();
 002A EADF              xcall _port_init
 002C                   .dbline 37
 002C           ;  timer2_init();
 002C F4DF              xcall _timer2_init
 002E                   .dbline 38
 002E           ;  TIMSK = 0x00; //timer interrupt sources
 002E 2224              clr R2
 0030 29BE              out 0x39,R2
 0032                   .dbline 39
 0032           ;  SEI(); //re-enable interrupts
 0032 7894              sei
 0034                   .dbline -2
 0034           L3:
 0034                   .dbline 0 ; func end
 0034 0895              ret
 0036                   .dbend
 0036           ;  //all peripherals are now initialized
 0036           ; }

⌨️ 快捷键说明

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