📄 driver_acp_ltc1594.lst
字号:
- driver_acp_ltc1594 - Page 1
##############################################################################
# #
# IAR AT90S C-Compiler V1.40E/WIN [demo] #
# #
# Internal versions FE4.40H CO1.11K CG1.40E GL1.06L CD1.04A #
# AF1.25U AB1.40C EB1.31B #
# #
# Compile time = 28/May/2002 14:26:50 #
# Target option = Max 64 KB data + 128 KB code #
# Memory model = small #
# Source file = d:\iar\ci avr wopk\zavod\kontroller163_ver2\driver_acp_ltc1594.c#
# List file = d:\iar\ci avr wopk\zavod\kontroller163_ver2\release\list\driver_acp_ltc1594.lst#
# Object file = d:\iar\ci avr wopk\zavod\kontroller163_ver2\release\obj\driver_acp_ltc1594.r90#
# Command line = -v3 -ms #
# -OD:\IAR\CI AVR WOPK\ZAVOD\kontroller163_ver2\Release\Obj\ #
# -e -y -b -RCODE #
# -LD:\IAR\CI AVR WOPK\ZAVOD\kontroller163_ver2\Release\List\ #
# -q -p80 -t8 #
# -ND:\IAR\CI AVR WOPK\ZAVOD\kontroller163_ver2\Release\List\ #
# -ID:\IAR\CI AVR WOPK\ZAVOD\kontroller163_ver2\inc\ #
# -s9 -K #
# D:\IAR\CI AVR WOPK\ZAVOD\kontroller163_ver2\Driver_acp_LTC1594.c #
# #
# (c) Copyright IAR Systems 1998 #
##############################################################################
1
2 #include <io8515.h>
3 #include "hider_ver2.h"
4
5 unsigned int outacp;
6 extern unsigned int flagi;
7
8 void delay(int ticks){
\ delay:
\ ?0018:
9 while(ticks--);
\ 00000000 202F MOV R18,R16
\ 00000002 312F MOV R19,R17
\ 00000004 0150 SUBI R16,LOW(1)
\ 00000006 1040 SBCI R17,LOW(0)
\ 00000008 232B OR R18,R19
\ 0000000A D1F7 BRNE ?0018
10 }
\ 0000000C 0895 RET
\ ; ticks R16-R17
11
12 void acp_pulse(void){
\ acp_pulse:
13 acp_clear_clk();
\ 0000000E 9798 CBI LOW(18),LOW(7)
14 delay(10);
\ 00000010 0AE0 LDI R16,LOW(10)
\ 00000012 10E0 LDI R17,0
\ 00000014 F5DF RCALL delay
15 acp_set_clk();
\ 00000016 979A SBI LOW(18),LOW(7)
16 delay(10);
\ 00000018 0AE0 LDI R16,LOW(10)
\ 0000001A 10E0 LDI R17,0
\ 0000001C F1CF RJMP delay
17 }
18 void acp_on_CH(unsigned char ch){
\ acp_on_CH:
\ 0000001E 8A93 ST -Y,R24
\ 00000020 802F MOV R24,R16
19 acp_set_cs();
\ 00000022 C69A SBI LOW(24),LOW(6)
20 acp_set_din();
\ 00000024 969A SBI LOW(18),LOW(6)
21 acp_pulse(); // ch=0 , 1 , 2
\ 00000026 F3DF RCALL acp_pulse
22 acp_clear_din(); // 1000 ,1001,1010
\ 00000028 9698 CBI LOW(18),LOW(6)
23 acp_pulse();
\ 0000002A F1DF RCALL acp_pulse
24
25 if(ch==2) acp_set_din();
- driver_acp_ltc1594 - Page 2
\ 0000002C 8230 CPI R24,LOW(2)
\ 0000002E 09F4 BRNE ?0008
\ 00000030 969A SBI LOW(18),LOW(6)
\ ?0008:
26 acp_pulse();
\ 00000032 EDDF RCALL acp_pulse
27 if(ch==1) acp_set_din();
\ 00000034 8130 CPI R24,LOW(1)
\ 00000036 11F4 BRNE ?0010
\ 00000038 969A SBI LOW(18),LOW(6)
\ 0000003A 01C0 RJMP ?0011
\ ?0010:
28 else acp_clear_din();
\ 0000003C 9698 CBI LOW(18),LOW(6)
\ ?0011:
29 acp_pulse();
\ 0000003E E7DF RCALL acp_pulse
30 acp_clear_cs();
\ 00000040 C698 CBI LOW(24),LOW(6)
31
32 }
\ 00000042 8991 LD R24,Y+
\ 00000044 0895 RET
\ ; ch R24
33
34 // void acp_on_CH4(void){
35 // acp_set_cs();
36 // acp_set_din();
37 // acp_pulse();
38 // acp_clear_din();
39 // acp_pulse();
40 // acp_set_din();
41 // acp_pulse();
42 // acp_pulse();
43 // acp_clear_cs();
44 //}
45 // void acp_off_all(void){
46 // acp_set_cs();
47 // acp_clear_din();
48 // acp_pulse();
49 // acp_pulse();
50 // acp_pulse();
51 // acp_pulse();
52 // acp_clear_cs();
53 // }
54 void out_acp(void){
\ out_acp:
\ 00000046 BA93 ST -Y,R27
\ 00000048 AA93 ST -Y,R26
\ 0000004A 9A93 ST -Y,R25
\ 0000004C 8A93 ST -Y,R24
55 unsigned char i;
56 unsigned int x=0;
57 // acp_clear_cs();
58 acp_pulse();
\ 0000004E DFDF RCALL acp_pulse
59 acp_pulse();
\ 00000050 DEDF RCALL acp_pulse
60 acp_pulse();
\ 00000052 DDDF RCALL acp_pulse
61 for(i = 0; i < 13; i++){
\ 00000054 AA27 CLR R26
\ 00000056 BB27 CLR R27
\ 00000058 8827 CLR R24
\ ?0013:
\ 0000005A 8D30 CPI R24,LOW(13)
\ 0000005C 38F4 BRCC ?0012
62 x=x<<1;
\ 0000005E AA0F LSL R26
\ 00000060 BB1F ROL R27
63 if TESTBIT(PIND,5) x=x+1 ; //1 rejim
\ 00000062 8599 SBIC LOW(16),LOW(5)
\ 00000064 1196 ADIW R26,LWRD(1)
\ ?0017:
64 acp_pulse();
\ 00000066 D3DF RCALL acp_pulse
\ 00000068 8395 INC R24
\ 0000006A F7CF RJMP ?0013
- driver_acp_ltc1594 - Page 3
\ ?0012:
65 }
66 outacp=x;
\ 0000006C A093.... STS LWRD(outacp),R26
\ 00000070 B093.... STS LWRD((outacp+1)),R27
67 }
\ 00000074 8991 LD R24,Y+
\ 00000076 9991 LD R25,Y+
\ 00000078 A991 LD R26,Y+
\ 0000007A B991 LD R27,Y+
\ 0000007C 0895 RET
\ ; i R24
\ ; x R26-R27
68
69
Source file: d:\iar\ci avr wopk\zavod\kontroller163_ver2\driver_acp_ltc1594.c
Errors: none
Warnings: none
Code size: 126
Constant size: 0
Static variable size: 2
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -