📄 pt2262.s
字号:
.module PT2262.C
.area text(rom, con, rel)
.dbfile C:\DOCUME~1\Administrator\桌面\PT2262_atmega8\PT2262.C
.dbfunc e initial_PORT _initial_PORT fV
.even
_initial_PORT::
.dbline -1
.dbline 21
; /********************************
; NAME:USART.C
; DATA: 2007/5/6
; AUTHOR: DIP STUDIO
; MCU: ATMEGA8
; 8.0000MHz
; ********************************/
; #include <iom8v.h>
; #include <macros.h>
; /*引脚连接
; PD3---->D0
; PD4---->D1
; PD5---->D2
; PD6---->D3
; PD7---->TE
; */
; //------------------------------------------------------------------
; // 初始化函数
; //------------------------------------------------------------------
; void initial_PORT(void)
; {
.dbline 22
; PORTD=0XFF;
ldi R24,255
out 0x12,R24
.dbline 23
; DDRD=0XFF; //PD口为输出模式
out 0x11,R24
.dbline -2
L1:
.dbline 0 ; func end
ret
.dbend
.dbfunc e delay _delay fV
; i -> R20,R21
; time -> R16,R17
.even
_delay::
rcall push_gset1
.dbline -1
.dbline 29
; }
; //--------------------------------------------------------------
; // 延时函数
; //--------------------------------------------------------------
; void delay(int time)
; {
rjmp L4
L3:
.dbline 32
; int i;
; while(--time)
; {
.dbline 33
; for(i=0;i<=1000;i++)
clr R20
clr R21
L6:
.dbline 34
.dbline 34
.dbline 34
L7:
.dbline 33
subi R20,255 ; offset = 1
sbci R21,255
.dbline 33
ldi R24,1000
ldi R25,3
cp R24,R20
cpc R25,R21
brge L6
.dbline 35
L4:
.dbline 31
movw R24,R16
sbiw R24,1
movw R16,R24
cpi R16,0
cpc R16,R17
brne L3
X0:
.dbline -2
L2:
rcall pop_gset1
.dbline 0 ; func end
ret
.dbsym r i 20 I
.dbsym r time 16 I
.dbend
.dbfunc e Radio_send _Radio_send fV
; datas -> R16
.even
_Radio_send::
.dbline -1
.dbline 41
; {;}
; }
; }
; //--------------------------------------------------------------
; // 发射函数
; //--------------------------------------------------------------
; void Radio_send(unsigned char datas)//发送的有效数据是一个4位二进制数,
; { //datas的低4位为有效数据
.dbline 42
; PORTD=(datas<<3)&0XF8; //把数据移到待发射位置,并关闭发射使能
mov R24,R16
lsl R24
lsl R24
lsl R24
andi R24,248
out 0x12,R24
.dbline 43
; PORTD&=0X7F; //发射数据
in R24,0x12
andi R24,127
out 0x12,R24
.dbline 44
; PORTD|=0X80; //关闭发射
sbi 0x12,7
.dbline -2
L10:
.dbline 0 ; func end
ret
.dbsym r datas 16 c
.dbend
.dbfunc e main _main fV
.even
_main::
.dbline -1
.dbline 50
; }
; //--------------------------------------------------------------
; // 主函数
; //--------------------------------------------------------------
; void main(void)
; {
.dbline 51
; initial_PORT();
rcall _initial_PORT
rjmp L13
L12:
.dbline 54
.dbline 55
ldi R16,8
rcall _Radio_send
.dbline 56
ldi R16,1200
ldi R17,4
rcall _delay
.dbline 57
L13:
.dbline 53
rjmp L12
X1:
.dbline -2
L11:
.dbline 0 ; func end
ret
.dbend
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -