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

📄 io_wr.lis

📁 AVR单片机ATMEGA128实习之—IO口操作(附带Proteus仿真例子)
💻 LIS
字号:
                        .module IO_WR.c
                        .area text(rom, con, rel)
 0000                   .dbfile G:\猛\avr实践\IO读写\IO_WR.c
 0000                   .dbfunc e main _main fV
 0000           ;          achar -> R16
 0000           ;              i -> R18
                        .even
 0000           _main::
 0000                   .dbline -1
 0000                   .dbline 13
 0000           ; //
 0000           ; /*----------------------------------------------
 0000           ; 
 0000           ;       王猛    2006.10.10
 0000           ;       说明:  PB口的低四位作为输入,高四位作为输出
 0000           ;                       输出状态为低四位的输入值,其他口除AC
 0000           ;                       外,输出PB的状态,E口为取反
 0000           ; 
 0000           ; -----------------------------------------------*/
 0000           ; //
 0000           ; #include <iom128.h>
 0000           ; void main(void)
 0000           ; {
 0000                   .dbline 17
 0000           ;       unsigned char achar;
 0000           ;       unsigned char i;
 0000           ; 
 0000           ;       DDRB = 0xFF;
 0000 8FEF              ldi R24,255
 0002 87BB              out 0x17,R24
 0004                   .dbline 18
 0004           ;       DDRE = 0xFF;
 0004 82B9              out 0x2,R24
 0006                   .dbline 19
 0006           ;       DDRF = 0xFF;
 0006 80936100          sts 97,R24
 000A                   .dbline 20
 000A           ;       DDRG = 0xFF;
 000A 80936400          sts 100,R24
 000E                   .dbline 21
 000E           ;       DDRD = 0xF0;
 000E 80EF              ldi R24,240
 0010 81BB              out 0x11,R24
 0012                   .dbline 22
 0012           ;       PORTD = 0x00;
 0012 2224              clr R2
 0014 22BA              out 0x12,R2
 0016                   .dbline 24
 0016           ; 
 0016           ;       achar = PIND;
 0016 00B3              in R16,0x10
 0018                   .dbline 25
 0018           ;       PORTD |= achar<<4;
 0018 802F              mov R24,R16
 001A 8F70              andi R24,#0x0F
 001C 8295              swap R24
 001E 22B2              in R2,0x12
 0020 282A              or R2,R24
 0022 22BA              out 0x12,R2
 0024                   .dbline 27
 0024           ; 
 0024           ;       for (i = 0; i<3; i++ )          //延时有必要,等待端口写完毕再读出端口的状态
 0024 2227              clr R18
 0026 01C0              xjmp L5
 0028           L2:
 0028                   .dbline 28
 0028                   .dbline 29
 0028           L3:
 0028                   .dbline 27
 0028 2395              inc R18
 002A           L5:
 002A                   .dbline 27
 002A 2330              cpi R18,3
 002C E8F3              brlo L2
 002E                   .dbline 31
 002E           ;       {
 002E           ;       }                                               
 002E           ;       
 002E           ;       achar = PIND;
 002E 00B3              in R16,0x10
 0030                   .dbline 33
 0030           ; 
 0030           ;       PORTB = achar;
 0030 08BB              out 0x18,R16
 0032                   .dbline 34
 0032           ;       PORTE = ~achar;
 0032 202E              mov R2,R16
 0034 2094              com R2
 0036 23B8              out 0x3,R2
 0038                   .dbline 35
 0038           ;       PORTF = achar;
 0038 00936200          sts 98,R16
 003C                   .dbline 36
 003C           ;       PORTG = achar;
 003C 00936500          sts 101,R16
 0040                   .dbline 38
 0040           ; 
 0040           ;       for(;;)
 0040           L6:
 0040                   .dbline 39
 0040                   .dbline 40
 0040                   .dbline 38
 0040                   .dbline 38
 0040 FFCF              xjmp L6
 0042           X0:
 0042                   .dbline -2
 0042           L1:
 0042                   .dbline 0 ; func end
 0042 0895              ret
 0044                   .dbsym r achar 16 c
 0044                   .dbsym r i 18 c
 0044                   .dbend

⌨️ 快捷键说明

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