📄 pt2262.lst
字号:
__text_start:
__start:
0013 E5CF LDI R28,0x5F
0014 E0D4 LDI R29,4
0015 BFCD OUT 0x3D,R28
0016 BFDE OUT 0x3E,R29
0017 51C0 SUBI R28,0x10
0018 40D0 SBCI R29,0
0019 EA0A LDI R16,0xAA
001A 8308 STD Y+0,R16
001B 2400 CLR R0
001C E6E0 LDI R30,0x60
001D E0F0 LDI R31,0
001E E010 LDI R17,0
001F 36E0 CPI R30,0x60
0020 07F1 CPC R31,R17
0021 F011 BEQ 0x0024
0022 9201 ST R0,Z+
0023 CFFB RJMP 0x001F
0024 8300 STD Z+0,R16
0025 E2E6 LDI R30,0x26
0026 E0F0 LDI R31,0
0027 E6A0 LDI R26,0x60
0028 E0B0 LDI R27,0
0029 E010 LDI R17,0
002A 32E6 CPI R30,0x26
002B 07F1 CPC R31,R17
002C F021 BEQ 0x0031
002D 95C8 LPM
002E 9631 ADIW R30,1
002F 920D ST R0,X+
0030 CFF9 RJMP 0x002A
0031 D023 RCALL _main
_exit:
0032 CFFF RJMP _exit
FILE: C:\DOCUME~1\Administrator\桌面\PT2262_atmega8\PT2262.C
(0001) /********************************
(0002) NAME:USART.C
(0003) DATA: 2007/5/6
(0004) AUTHOR: DIP STUDIO
(0005) MCU: ATMEGA8
(0006) 8.0000MHz
(0007) ********************************/
(0008) #include <iom8v.h>
(0009) #include <macros.h>
(0010) /*引脚连接
(0011) PD3---->D0
(0012) PD4---->D1
(0013) PD5---->D2
(0014) PD6---->D3
(0015) PD7---->TE
(0016) */
(0017) //------------------------------------------------------------------
(0018) // 初始化函数
(0019) //------------------------------------------------------------------
(0020) void initial_PORT(void)
(0021) {
(0022) PORTD=0XFF;
_initial_PORT:
0033 EF8F LDI R24,0xFF
0034 BB82 OUT 0x12,R24
(0023) DDRD=0XFF; //PD口为输出模式
0035 BB81 OUT 0x11,R24
0036 9508 RET
_delay:
i --> R20
time --> R16
0037 D02E RCALL push_gset1
(0024) }
(0025) //--------------------------------------------------------------
(0026) // 延时函数
(0027) //--------------------------------------------------------------
(0028) void delay(int time)
(0029) {
0038 C009 RJMP 0x0042
(0030) int i;
(0031) while(--time)
(0032) {
(0033) for(i=0;i<=1000;i++)
0039 2744 CLR R20
003A 2755 CLR R21
003B 5F4F SUBI R20,0xFF
003C 4F5F SBCI R21,0xFF
003D EE88 LDI R24,0xE8
003E E093 LDI R25,3
003F 1784 CP R24,R20
0040 0795 CPC R25,R21
0041 F7CC BGE 0x003B
0042 01C8 MOVW R24,R16
0043 9701 SBIW R24,1
0044 018C MOVW R16,R24
0045 3000 CPI R16,0
0046 0701 CPC R16,R17
0047 F789 BNE 0x0039
0048 D020 RCALL pop_gset1
0049 9508 RET
(0034) {;}
(0035) }
(0036) }
(0037) //--------------------------------------------------------------
(0038) // 发射函数
(0039) //--------------------------------------------------------------
(0040) void Radio_send(unsigned char datas)//发送的有效数据是一个4位二进制数,
(0041) { //datas的低4位为有效数据
(0042) PORTD=(datas<<3)&0XF8; //把数据移到待发射位置,并关闭发射使能
_Radio_send:
datas --> R16
004A 2F80 MOV R24,R16
004B 0F88 LSL R24
004C 0F88 LSL R24
004D 0F88 LSL R24
004E 7F88 ANDI R24,0xF8
004F BB82 OUT 0x12,R24
(0043) PORTD&=0X7F; //发射数据
0050 B382 IN R24,0x12
0051 778F ANDI R24,0x7F
0052 BB82 OUT 0x12,R24
(0044) PORTD|=0X80; //关闭发射
0053 9A97 SBI 0x12,7
0054 9508 RET
(0045) }
(0046) //--------------------------------------------------------------
(0047) // 主函数
(0048) //--------------------------------------------------------------
(0049) void main(void)
(0050) {
(0051) initial_PORT();
_main:
0055 DFDD RCALL _initial_PORT
0056 C005 RJMP 0x005C
(0052)
(0053) while(1)
(0054) {
(0055) Radio_send(0X08);
0057 E008 LDI R16,0x8
0058 DFF1 RCALL _Radio_send
(0056) delay(1200); //每秒发送一次数据
FILE: <library>
0059 EB00 LDI R16,0xB0
005A E014 LDI R17,4
005B DFDB RCALL _delay
005C CFFA RJMP 0x0057
005D 9508 RET
push_gset5:
005E 92FA ST R15,-Y
005F 92EA ST R14,-Y
push_gset4:
0060 92DA ST R13,-Y
0061 92CA ST R12,-Y
push_gset3:
0062 92BA ST R11,-Y
0063 92AA ST R10,-Y
push_gset2:
0064 937A ST R23,-Y
0065 936A ST R22,-Y
push_gset1:
0066 935A ST R21,-Y
0067 934A ST R20,-Y
0068 9508 RET
pop_gset1:
0069 E0E1 LDI R30,1
pop:
006A 9149 LD R20,Y+
006B 9159 LD R21,Y+
006C FDE0 SBRC R30,0
006D 9508 RET
006E 9169 LD R22,Y+
006F 9179 LD R23,Y+
0070 FDE1 SBRC R30,1
0071 9508 RET
0072 90A9 LD R10,Y+
0073 90B9 LD R11,Y+
0074 FDE2 SBRC R30,2
0075 9508 RET
0076 90C9 LD R12,Y+
0077 90D9 LD R13,Y+
0078 FDE3 SBRC R30,3
0079 9508 RET
007A 90E9 LD R14,Y+
007B 90F9 LD R15,Y+
007C 9508 RET
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -