📄 diy0816-02.lis
字号:
.module diy0816-02.c
.area text(rom, con, rel)
0000 .dbfile D:\SL-DIY~1\diy0208_16_2\diy0816-02.c
0000 .dbfunc e shiyan2 _shiyan2 fV
.even
0000 _shiyan2::
0000 .dbline -1
0000 .dbline 16
0000 ; //2. I/O端口作输入或输出实验。
0000 ; //ATmega16的PA.0端口开关(可用接插线接VCC或GND代替, 红色箭头表示本实验连线,
0000 ; //实验1与2对比,说明单片机I/O口功能,这个端口可作输入(I)或输出(O),
0000 ; //和人的鼻子功能一样,吸(输入)/呼(输出)。
0000 ; //如果接上玩具直流电动机,电动机就会转动起来。
0000 ; // www.sl.com.cn
0000 ; // teny@sl.com.cn 05-11-12
0000 ; // Target : atmega16 Crystal: 8.0000Mhz
0000 ;
0000 ; #include <iom16v.h>
0000 ; #include <macros.h>
0000 ;
0000 ; unsigned char pa_buf;
0000 ;
0000 ; void shiyan2()
0000 ; {
0000 .dbline 17
0000 ; DDRA=0x00;PORTA=0xFF;//PA口输入,且内部上拉
0000 2224 clr R2
0002 2ABA out 0x1a,R2
0004 .dbline 17
0004 8FEF ldi R24,255
0006 8BBB out 0x1b,R24
0008 .dbline 18
0008 ; DDRB=0xFF;PORTB=0xFF;//PB口输出
0008 87BB out 0x17,R24
000A .dbline 18
000A 88BB out 0x18,R24
000C 0EC0 xjmp L3
000E L2:
000E .dbline 21
000E ;
000E ; while(1)//循环运行
000E ; {
000E .dbline 22
000E ; pa_buf=PINA;//检测PINA0是否为低电平 0
000E 29B2 in R2,0x19
0010 20920000 sts _pa_buf,R2
0014 .dbline 23
0014 ; pa_buf=pa_buf & 0x01;
0014 822D mov R24,R2
0016 8170 andi R24,1
0018 80930000 sts _pa_buf,R24
001C .dbline 24
001C ; if(pa_buf==0x00)
001C 8823 tst R24
001E 19F4 brne L5
0020 .dbline 25
0020 ; PORTB=0xfe;//为0,PB0输出低电平,点亮LED
0020 8EEF ldi R24,254
0022 88BB out 0x18,R24
0024 02C0 xjmp L6
0026 L5:
0026 .dbline 26
0026 ; else PORTB = 0xff;//为1,PB0输出高电平,熄灭LED
0026 8FEF ldi R24,255
0028 88BB out 0x18,R24
002A L6:
002A .dbline 28
002A L3:
002A .dbline 20
002A F1CF xjmp L2
002C X0:
002C .dbline -2
002C L1:
002C .dbline 0 ; func end
002C 0895 ret
002E .dbend
002E .dbfunc e main _main fV
.even
002E _main::
002E .dbline -1
002E .dbline 32
002E ;
002E ; }
002E ; }
002E ;
002E ; void main()
002E ; {
002E .dbline 33
002E ; shiyan2();//实验2函数
002E E8DF xcall _shiyan2
0030 .dbline -2
0030 L7:
0030 .dbline 0 ; func end
0030 0895 ret
0032 .dbend
.area bss(ram, con, rel)
0000 .dbfile D:\SL-DIY~1\diy0208_16_2\diy0816-02.c
0000 _pa_buf::
0000 .blkb 1
0001 .dbsym e pa_buf _pa_buf c
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -