📄 diy0816-01.lis
字号:
.module diy0816-01.c
.area text(rom, con, rel)
0000 .dbfile D:\SL-DIY~1\diy0208_16\diy0816-01.c
0000 .dbfunc e shiyan1 _shiyan1 fV
.even
0000 _shiyan1::
0000 .dbline -1
0000 .dbline 13
0000 ; //1. I/O端口作输入或输出实验。
0000 ; //ATmega16的PB.0端口开关(可用接插线接VCC或GND代替,红色箭头表示本实验连线,
0000 ; // www.sl.com.cn
0000 ; // teny@sl.com.cn 05-11-12
0000 ; // Target : mage16 Crystal: 8.0000Mhz
0000 ;
0000 ; #include <iom16v.h>
0000 ; #include <macros.h>
0000 ;
0000 ; unsigned char pb_buf;//定义为字符型变量
0000 ;
0000 ; void shiyan1()
0000 ; {
0000 .dbline 14
0000 ; DDRB=0x00;PORTB=0xFF;//PB口输入,内部上拉
0000 2224 clr R2
0002 27BA out 0x17,R2
0004 .dbline 14
0004 8FEF ldi R24,255
0006 88BB out 0x18,R24
0008 .dbline 15
0008 ; DDRA=0xFF;PORTA=0xFF;//PA口输出
0008 8ABB out 0x1a,R24
000A .dbline 15
000A 8BBB out 0x1b,R24
000C 0EC0 xjmp L3
000E L2:
000E .dbline 17
000E ; while(1) //循环运行
000E ; {
000E .dbline 18
000E ; pb_buf=PINB;
000E 26B2 in R2,0x16
0010 20920000 sts _pb_buf,R2
0014 .dbline 19
0014 ; pb_buf=pb_buf & 0x01;//检测PINB0是否为低电平 0
0014 822D mov R24,R2
0016 8170 andi R24,1
0018 80930000 sts _pb_buf,R24
001C .dbline 20
001C ; if(pb_buf==0x00)
001C 8823 tst R24
001E 19F4 brne L5
0020 .dbline 21
0020 ; PORTA=0xfe;//为0,PA0输出低电平,点亮LED
0020 8EEF ldi R24,254
0022 8BBB out 0x1b,R24
0024 02C0 xjmp L6
0026 L5:
0026 .dbline 22
0026 ; else PORTA = 0xff;//为1,PA0输出高电平,熄灭LED
0026 8FEF ldi R24,255
0028 8BBB out 0x1b,R24
002A L6:
002A .dbline 23
002A L3:
002A .dbline 16
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 27
002E ; }
002E ; }
002E ;
002E ; void main()
002E ; {
002E .dbline 28
002E ; shiyan1();//实验1函数
002E E8DF xcall _shiyan1
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\diy0816-01.c
0000 _pb_buf::
0000 .blkb 1
0001 .dbsym e pb_buf _pb_buf c
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -