📄 7705.lst
字号:
.def delay1 =r17
.def cmp_status=r18
.def status =r19
.def point_a_no=r20
.def point_b_no=r21
.def cmp0 =r22
.def cmp1 =r23
.def cmp2 =r24
.def cmp3 =r25
.equ cs1 =0
.equ cs0 =1
.equ rdy0 =2
.equ rdy1 =3
.equ do =5
.equ di =6
.equ sck =7
.equ atpoint=0
.equ num =41 ;共41个刻度
.equ bias =16
RESET:
000001 e002 ldi r16,high(ramend)
000002 bf0e out sph,r16
000003 e50f ldi r16,low(ramend)
000004 bf0d out spl,r16
000005 ef0f ldi r16,$ff
000006 bb0a out ddra,r16
000007 bb04 out ddrc,r16
000008 9ab9 sbi ddrb,cs0
000009 9ab8 sbi ddrb,cs1
00000a 98ba cbi ddrb,rdy0
00000b 98bb cbi ddrb,rdy1
00000c 9abd sbi ddrb,5
00000d 98be cbi ddrb,6
00000e 9abf sbi ddrb,7
00000f e000 ldi r16,$00
000010 bb0b out porta,r16
000011 ef0f ldi r16,$ff
000012 bb05 out portc,r16
000013 9ac1 sbi portb,cs0
000014 98c0 cbi portb,cs1
AD_INI_A:
000015 d0c3 rcall delay7ms ;晶振稳定时间
;选择A组传感器
000016 e200 ldi r16,$20 ;时钟寄存器
000017 d077 rcall putchar
000018 e00c ldi r16,$0c
000019 d075 rcall putchar ;4.9152MHz,200Hz数据更新,
00001a e100 ldi r16,$10 ;设置寄存器,通道0
00001b d073 rcall putchar
00001c e40a ldi r16,$4a ;自较需9个输出周期,缓冲模式,增益为2,双极性
00001d d071 rcall putchar
00001e d0a9 rcall delay56ms
00001f d0a8 rcall delay56ms
000020 d0a7 rcall delay56ms
000021 d0a6 rcall delay56ms
AD_INI_A_1:
000022 e101 ldi r16,$11 ;设置寄存器
000023 d06b rcall putchar
000024 e40a ldi r16,$4a ;自较需9个输出周期,缓冲模式,增益为2,双极性
000025 d069 rcall putchar
000026 d0a1 rcall delay56ms
000027 d0a0 rcall delay56ms
000028 d09f rcall delay56ms
000029 d09e rcall delay56ms
00002a d09d rcall delay56ms
aa1:
00002b 9ac1 sbi portb,cs0
00002c 98c0 cbi portb,cs1
00002d e308 ldi r16,$38
00002e d060 rcall putchar
00002f d098 rcall delay56ms
000030 d0a8 rcall delay7ms
000031 d0a7 rcall delay7ms
wait:
000032 99c3 sbic portb,rdy1
000033 cffe rjmp wait
000034 d020 rcall getchar
000035 2e20 mov r2,r16
000036 d01e rcall getchar
000037 2e30 mov r3,r16
ait:
;sbic portb,rdy1
; rjmp ait
000038 e208 ldi r16,$28
000039 d055 rcall putchar
00003a d01a rcall getchar
00003b e309 ldi r16,$39
00003c d052 rcall putchar
00003d d08a rcall delay56ms
00003e d09a rcall delay7ms
00003f d099 rcall delay7ms
wait11:
000040 99c3 sbic portb,rdy1
000041 cffe rjmp wait11
000042 d012 rcall getchar
000043 2e40 mov r4,r16
000044 d010 rcall getchar
000045 2e50 mov r5,r16
000046 cfe4 rjmp aa1
;***************
RST:
000047 9ac1 sbi portb,cs0
000048 98c0 cbi portb,cs1
000049 ef0f ldi r16,$ff
00004a d044 rcall putchar
00004b ef0f ldi r16,$ff
00004c d042 rcall putchar
00004d ef0f ldi r16,$ff
00004e d040 rcall putchar
00004f ef0f ldi r16,$ff
000050 d03e rcall putchar
000051 ef0f ldi r16,$ff
000052 d03c rcall putchar
000053 d074 rcall delay56ms
000054 9508 ret
getchar: ; sck-- 常态1 r16 -常态0
000055 e000 ldi r16,0
000056 98c7 cbi portb,sck
000057 0000 nop
000058 9bb6 sbis pinb,di
000059 99b6 sbic pinb,di
00005a 6800 sbr r16,1<<7
00005b 9ac7 sbi portb,sck ;MSB
00005c 0000 nop
00005d 98c7 cbi portb,sck
00005e 0000 nop
00005f 9bb6 sbis pinb,di
000060 99b6 sbic pinb,di
000061 6400 sbr r16,1<<6
000062 9ac7 sbi portb,sck
000063 0000 nop
000064 98c7 cbi portb,sck
000065 0000 nop
000066 9bb6 sbis pinb,di
000067 99b6 sbic pinb,di
000068 6200 sbr r16,1<<5
000069 9ac7 sbi portb,sck
00006a 0000 nop
00006b 98c7 cbi portb,sck
00006c 0000 nop
00006d 9bb6 sbis pinb,di
00006e 99b6 sbic pinb,di
00006f 6100 sbr r16,1<<4
000070 9ac7 sbi portb,sck
000071 0000 nop
000072 98c7 cbi portb,sck
000073 0000 nop
000074 9bb6 sbis pinb,di
000075 99b6 sbic pinb,di
000076 6008 sbr r16,1<<3
000077 9ac7 sbi portb,sck
000078 0000 nop
000079 98c7 cbi portb,sck
00007a 0000 nop
00007b 9bb6 sbis pinb,di
00007c 99b6 sbic pinb,di
00007d 6004 sbr r16,1<<2
00007e 9ac7 sbi portb,sck
00007f 0000 nop
000080 98c7 cbi portb,sck
000081 0000 nop
000082 9bb6 sbis pinb,di
000083 99b6 sbic pinb,di
000084 6002 sbr r16,1<<1
000085 9ac7 sbi portb,sck
000086 0000 nop
000087 98c7 cbi portb,sck
000088 0000 nop
000089 9bb6 sbis pinb,di
00008a 99b6 sbic pinb,di
00008b 6001 sbr r16,1<<0
00008c 9ac7 sbi portb,sck
00008d 0000 nop ;LSB
00008e 9508 ret
putchar: ;sck-- 常态1 r16 do--常态0
00008f 98c7 cbi portb,sck
000090 ff07 sbrs r16,7
000091 98c5 cbi portb,do
000092 fd07 sbrc r16,7
000093 9ac5 sbi portb,do
000094 9ac7 sbi portb,sck
000095 0000 nop
000096 98c7 cbi portb,sck
000097 ff06 sbrs r16,6
000098 98c5 cbi portb,do
000099 fd06 sbrc r16,6
00009a 9ac5 sbi portb,do
00009b 9ac7 sbi portb,sck
00009c 0000 nop
00009d 98c7 cbi portb,sck
00009e ff05 sbrs r16,5
00009f 98c5 cbi portb,do
0000a0 fd05 sbrc r16,5
0000a1 9ac5 sbi portb,do
0000a2 9ac7 sbi portb,sck
0000a3 0000 nop
0000a4 98c7 cbi portb,sck
0000a5 ff04 sbrs r16,4
0000a6 98c5 cbi portb,do
0000a7 fd04 sbrc r16,4
0000a8 9ac5 sbi portb,do
0000a9 9ac7 sbi portb,sck
0000aa 0000 nop
0000ab 98c7 cbi portb,sck
0000ac ff03 sbrs r16,3
0000ad 98c5 cbi portb,do
0000ae fd03 sbrc r16,3
0000af 9ac5 sbi portb,do
0000b0 9ac7 sbi portb,sck
0000b1 0000 nop
0000b2 98c7 cbi portb,sck
0000b3 ff02 sbrs r16,2
0000b4 98c5 cbi portb,do
0000b5 fd02 sbrc r16,2
0000b6 9ac5 sbi portb,do
0000b7 9ac7 sbi portb,sck
0000b8 0000 nop
0000b9 98c7 cbi portb,sck
0000ba ff01 sbrs r16,1
0000bb 98c5 cbi portb,do
0000bc fd01 sbrc r16,1
0000bd 9ac5 sbi portb,do
0000be 9ac7 sbi portb,sck
0000bf 0000 nop
0000c0 98c7 cbi portb,sck
0000c1 ff00 sbrs r16,0
0000c2 98c5 cbi portb,do
0000c3 fd00 sbrc r16,0
0000c4 9ac5 sbi portb,do
0000c5 9ac7 sbi portb,sck
0000c6 9ac5 sbi portb,do
0000c7 9508 ret
delay56ms:
0000c8 d010 rcall delay7ms
0000c9 d00f rcall delay7ms
0000ca d00e rcall delay7ms
0000cb d00d rcall delay7ms
0000cc d00c rcall delay7ms
0000cd d00b rcall delay7ms
0000ce d00a rcall delay7ms
0000cf d009 rcall delay7ms
0000d0 9508 ret
delay5us:
0000d1 e01a ldi delay1,10
delay5us_1:
0000d2 951a dec delay1
0000d3 f7f1 brne delay5us_1
0000d4 9508 ret
delay100us:
0000d5 ef1f ldi delay1,255
delay100us_1:
0000d6 951a dec delay1
0000d7 f7f1 brne delay100us_1
0000d8 9508 ret
delay7ms:
0000d9 e615 ldi delay1,$65
0000da 2e11 mov delay0,delay1
0000db ef1f ldi delay1,$ff
delay7ms_1:
0000dc 951a dec delay1
0000dd f7f1 brne delay7ms_1
0000de ea1a ldi delay1,$aa
0000df 941a dec delay0
0000e0 f7d9 brne delay7ms_1
0000e1 9508 ret
Assembly complete with no errors.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -