📄 main.lis
字号:
.module main.c
.area text(rom, con, rel)
0000 .dbfile E:\MYWORK~1\开发设计\EasyAVR\程序范例\Mega16程序包\完成整理\蜂鸣器测试\main.c
0000 .dbfunc e Delay_us _Delay_us fV
0000 ; time -> R16,R17
.even
0000 _Delay_us::
0000 .dbline -1
0000 .dbline 41
0000 ; /****************************************Copyright (c)**************************************************
0000 ; ** ADEmbed Development Co.,LTD.
0000 ; ** http://www.adembed.com
0000 ; **--------------File Info-------------------------------------------------------------------------------
0000 ; ** File name: main.c
0000 ; ** Last modified Date: 2008-12-13
0000 ; ** Last Version: 1.0
0000 ; ** Descriptions: Sound Test.
0000 ; **
0000 ; **------------------------------------------------------------------------------------------------------
0000 ; ** Created by: junbolu
0000 ; ** Created date: 2008-12-13
0000 ; ** Version: 1.0
0000 ; ** Descriptions:
0000 ; **
0000 ; **------------------------------------------------------------------------------------------------------
0000 ; ** Modified by:
0000 ; ** Modified date:
0000 ; ** Version:
0000 ; ** Descriptions:
0000 ; **
0000 ; **------------------------------------------------------------------------------------------------------
0000 ; **ICC-AVR application builder : 2008-12-13
0000 ; **Target : M16
0000 ; **Crystal: 7.3728Mhz
0000 ; **PD7--->Sound_EN
0000 ; **
0000 ; **描述:驱动蜂鸣器,并且让他非连续鸣叫。
0000 ; ** 学习单片机的简单程序,如果你才学习单片机,一定要好好掌握。
0000 ; **
0000 ; **涉及知识点:
0000 ; ** DO输出
0000 ; ** for 循环的应用
0000 ; ** 软件延时函数的编写
0000 ; *******************************************************************************************************/
0000 ;
0000 ; #include<iom16v.h>
0000 ; #include<macros.h>
0000 ;
0000 ; void Delay_us(unsigned int time)
0000 ; {
0000 L2:
0000 .dbline 42
0000 L3:
0000 .dbline 42
0000 ; while(time--);
0000 1801 movw R2,R16
0002 0150 subi R16,1
0004 1040 sbci R17,0
0006 2220 tst R2
0008 D9F7 brne L2
000A 3320 tst R3
000C C9F7 brne L2
000E X0:
000E .dbline -2
000E L1:
000E .dbline 0 ; func end
000E 0895 ret
0010 .dbsym r time 16 i
0010 .dbend
0010 .dbfunc e Delay_ms _Delay_ms fV
0010 ; time -> R20,R21
.even
0010 _Delay_ms::
0010 0E940000 xcall push_gset1
0014 A801 movw R20,R16
0016 .dbline -1
0016 .dbline 46
0016 ; }
0016 ;
0016 ; void Delay_ms(unsigned int time)
0016 ; {
0016 03C0 xjmp L7
0018 L6:
0018 .dbline 48
0018 .dbline 49
0018 08EE ldi R16,1000
001A 13E0 ldi R17,3
001C F1DF xcall _Delay_us
001E .dbline 50
001E L7:
001E .dbline 47
001E ; while(time--)
001E 1A01 movw R2,R20
0020 4150 subi R20,1
0022 5040 sbci R21,0
0024 2220 tst R2
0026 C1F7 brne L6
0028 3320 tst R3
002A B1F7 brne L6
002C X1:
002C .dbline -2
002C L5:
002C 0E940000 xcall pop_gset1
0030 .dbline 0 ; func end
0030 0895 ret
0032 .dbsym r time 20 i
0032 .dbend
0032 .dbfunc e main _main fV
.even
0032 _main::
0032 .dbline -1
0032 .dbline 54
0032 ; {
0032 ; Delay_us(1000);
0032 ; }
0032 ; }
0032 ;
0032 ; void main(void)
0032 ; {
0032 .dbline 56
0032 ; //初始化端口
0032 ; DDRD |=0X80; //设置PD7为输出
0032 8F9A sbi 0x11,7
0034 .dbline 57
0034 ; PORTD|=0X80; //设置PD7为高电平
0034 979A sbi 0x12,7
0036 .dbline 60
0036 ;
0036 ; //开始演示
0036 ; for(;;)
0036 L10:
0036 .dbline 61
0036 .dbline 62
0036 9798 cbi 0x12,7
0038 .dbline 63
0038 04E6 ldi R16,100
003A 10E0 ldi R17,0
003C E9DF xcall _Delay_ms
003E .dbline 64
003E 979A sbi 0x12,7
0040 .dbline 65
0040 08EE ldi R16,1000
0042 13E0 ldi R17,3
0044 E5DF xcall _Delay_ms
0046 .dbline 66
0046 .dbline 60
0046 .dbline 60
0046 F7CF xjmp L10
0048 X2:
0048 .dbline -2
0048 L9:
0048 .dbline 0 ; func end
0048 0895 ret
004A .dbend
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -