?? 蜂鳴器繼電器.s
字號(hào):
.module _蜂鳴器繼電器.c
.area text(rom, con, rel)
.dbfile C:\DOCUME~1\Administrator\桌面\精雅系列單片機(jī)實(shí)驗(yàn)開(kāi)發(fā)板演示程序\蜂鳴器繼電器/delay.h
.dbfunc e DelayUS _DelayUS fV
; time -> R16,R17
.even
_DelayUS::
.dbline -1
.dbline 9
; //內(nèi)部晶振 8M
; //包含所需頭文件
; #include <ioM16v.h>
; #include <macros.h>
; #include "delay.h"
;
;
;
; /*------宏定義------*/
xjmp L3
L2:
.dbline 11
subi R16,1
sbci R17,0
L3:
.dbline 10
; #define uchar unsigned char
ldi R24,1
ldi R25,0
cp R24,R16
cpc R25,R17
brlo L2
.dbline -2
L1:
.dbline 0 ; func end
ret
.dbsym r time 16 i
.dbend
.dbfunc e DelayMS _DelayMS fV
; i -> R20,R21
; time -> R16,R17
.even
_DelayMS::
xcall push_gset1
.dbline -1
.dbline 20
; #define uint unsigned int
;
;
;
; //端口初始化
; void port_init(void)
; {
; PORTA = 0x00;//A口數(shù)據(jù)置0
; DDRA = 0xFF;//A口設(shè)為輸出
; PORTB = 0x00;//B口數(shù)據(jù)置1
xjmp L7
L6:
.dbline 23
; DDRB = 0x00;//B口設(shè)為輸入
; PORTC = 0x00;
; DDRC = 0x00;
.dbline 24
; PORTD = 0x00;
ldi R20,1
ldi R21,0
xjmp L12
L9:
.dbline 25
L10:
.dbline 24
subi R20,255 ; offset = 1
sbci R21,255
L12:
.dbline 24
cpi R20,118
ldi R30,4
cpc R21,R30
brlo L9
.dbline 26
L7:
.dbline 22
movw R2,R16
subi R16,1
sbci R17,0
brne L6
tst R3
brne L6
X0:
.dbline -2
L5:
xcall pop_gset1
.dbline 0 ; func end
ret
.dbsym r i 20 i
.dbsym r time 16 i
.dbend
.dbfile C:\DOCUME~1\Administrator\桌面\精雅系列單片機(jī)實(shí)驗(yàn)開(kāi)發(fā)板演示程序\蜂鳴器繼電器\蜂鳴器繼電器.c
.dbfunc e port_init _port_init fV
.even
_port_init::
.dbline -1
.dbline 17
.dbline 18
clr R2
out 0x1b,R2
.dbline 19
ldi R24,255
out 0x1a,R24
.dbline 20
out 0x18,R2
.dbline 21
out 0x17,R2
.dbline 22
out 0x15,R2
.dbline 23
out 0x14,R2
.dbline 24
out 0x12,R2
.dbline 25
; DDRD = 0x00;
out 0x11,R2
.dbline -2
L13:
.dbline 0 ; func end
ret
.dbend
.dbfunc e init_devices _init_devices fV
.even
_init_devices::
.dbline -1
.dbline 30
; }
;
;
; void init_devices(void)
; {
.dbline 31
; CLI(); //禁止所有中斷
cli
.dbline 32
; MCUCR = 0x00;//INT0、INT1中斷觸發(fā)方式
clr R2
out 0x35,R2
.dbline 33
; MCUCSR = 0x80;//禁止JTAG
ldi R24,128
out 0x34,R24
.dbline 34
; GICR = 0x00;//外部中斷使能
out 0x3b,R2
.dbline 35
; port_init();
xcall _port_init
.dbline -2
L14:
.dbline 0 ; func end
ret
.dbend
.dbfunc e main _main fV
.even
_main::
.dbline -1
.dbline 40
; //SEI();//開(kāi)全局中斷
; }
; //主函數(shù)
; void main(void)
; {
.dbline 41
; init_devices();//調(diào)用初始函數(shù)
xcall _init_devices
xjmp L17
L16:
.dbline 43
.dbline 44
ldi R24,1
in R2,0x1b
eor R2,R24
out 0x1b,R2
.dbline 45
ldi R16,3000
ldi R17,11
xcall _DelayMS
.dbline 46
L17:
.dbline 42
xjmp L16
X1:
.dbline -2
L15:
.dbline 0 ; func end
ret
.dbend
?? 快捷鍵說(shuō)明
復(fù)制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號(hào)
Ctrl + =
減小字號(hào)
Ctrl + -