📄 cs5522.lis
字号:
; { DDRC=DDRC|cs;
00A2 .dbline 77
00A2 A19A sbi 0x14,1
00A4 .dbline 78
; DDRC=DDRC|sclk;
00A4 A09A sbi 0x14,0
00A6 .dbline 79
; DDRB=DDRB|sdi;
00A6 BB9A sbi 0x17,3
00A8 .dbline 80
; PORTC=PORTC&~cs; //片选
00A8 A998 cbi 0x15,1
00AA .dbline 81
; PORTB|=sdi;
00AA C39A sbi 0x18,3
00AC .dbline 82
; Se_Cs_W(write1);
00AC 062F mov R16,R22
00AE A8DF rcall _Se_Cs_W
00B0 .dbline 83
; Se_Cs_W(write2);
00B0 042F mov R16,R20
00B2 A6DF rcall _Se_Cs_W
00B4 .dbline 84
; Se_Cs_W(write3);
00B4 0C81 ldd R16,y+4
00B6 A4DF rcall _Se_Cs_W
00B8 .dbline 85
; Se_Cs_W(write4);
00B8 0E81 ldd R16,y+6
00BA A2DF rcall _Se_Cs_W
00BC .dbline 86
; PORTC=PORTC|cs;
00BC A99A sbi 0x15,1
00BE .dbline -2
00BE .dbline 88
;
; }
00BE L14:
00BE 00D0 rcall pop_gset2
00C0 .dbline 0 ; func end
00C0 0895 ret
00C2 .dbsym l write4 6 c
00C2 .dbsym l write3 4 c
00C2 .dbsym r write2 20 c
00C2 .dbsym r write1 22 c
00C2 .dbfunc s ADC _ADC fI
; ADCtemp -> R20
.even
00C2 _ADC::
00C2 00D0 rcall push_gset1
00C4 402F mov R20,R16
00C6 .dbline -1
00C6 .dbline 91
; //***********************************
; void ADC(unsigned char ADCtemp)
; {
00C6 .dbline 93
;
; DDRC=DDRC|cs;
00C6 A19A sbi 0x14,1
00C8 .dbline 94
; DDRC=DDRC|sclk;
00C8 A09A sbi 0x14,0
00CA .dbline 95
; DDRB=DDRB|sdi;
00CA BB9A sbi 0x17,3
00CC .dbline 96
; DDRB=DDRB&~sdo;
00CC BC98 cbi 0x17,4
00CE .dbline 97
; PORTB|=sdo;//选择为输入
00CE C49A sbi 0x18,4
00D0 .dbline 98
; PORTC=PORTC&~cs; //片选
00D0 A998 cbi 0x15,1
00D2 .dbline 99
; Se_Cs_W(ADCtemp);
00D2 042F mov R16,R20
00D4 95DF rcall _Se_Cs_W
00D6 .dbline 100
; PORTC=PORTC|cs;
00D6 A99A sbi 0x15,1
00D8 .dbline -2
00D8 .dbline 102
;
; }
00D8 L15:
00D8 00D0 rcall pop_gset1
00DA .dbline 0 ; func end
00DA 0895 ret
00DC .dbsym r ADCtemp 20 c
00DC .dbfunc s ReceiveData _ReceiveData fI
; ReceiveTemp -> R20
.even
00DC _ReceiveData::
00DC 00D0 rcall push_gset1
00DE .dbline -1
00DE .dbline 106
; //**********************************
; //接收CS5522的数据:
; void ReceiveData(void)
; {
00DE .dbline 108
; unsigned char ReceiveTemp;
; DDRB=DDRB&~sdo;
00DE BC98 cbi 0x17,4
00E0 .dbline 109
; PORTB|=sdo;//选择为输入
00E0 C49A sbi 0x18,4
00E2 .dbline 110
; DDRC=DDRC|cs;
00E2 A19A sbi 0x14,1
00E4 .dbline 111
; PORTC=PORTC&~cs; //片选
00E4 A998 cbi 0x15,1
00E6 .dbline 112
; DDRC=DDRC|sclk;
00E6 A09A sbi 0x14,0
00E8 .dbline 113
; PORTC=PORTC|sclk;
00E8 A89A sbi 0x15,0
00EA L17:
00EA .dbline 115
; do
; {
00EA .dbline 116
; ReceiveTemp=PINB;
00EA 46B3 in R20,0x16
00EC .dbline 117
; ReceiveTemp=ReceiveTemp&sdo;
00EC 4071 andi R20,16
00EE .dbline 118
; }
00EE L18:
00EE .dbline 119
; while(ReceiveTemp);
00EE 4423 tst R20
00F0 E1F7 brne L17
00F2 .dbline 120
; data[2]=ReadW();
00F2 9DDF rcall _ReadW
00F4 202E mov R2,R16
00F6 312E mov R3,R17
00F8 20920200 sts _data+2,R2
00FC .dbline 121
; data[2]=ReadW();
00FC 98DF rcall _ReadW
00FE 202E mov R2,R16
0100 312E mov R3,R17
0102 20920200 sts _data+2,R2
0106 .dbline 122
; data[1]=ReadW();
0106 93DF rcall _ReadW
0108 202E mov R2,R16
010A 312E mov R3,R17
010C 20920100 sts _data+1,R2
0110 .dbline 123
; data[0]=ReadW();
0110 8EDF rcall _ReadW
0112 202E mov R2,R16
0114 312E mov R3,R17
0116 20920000 sts _data,R2
011A .dbline 124
; PORTC=PORTC|cs;
011A A99A sbi 0x15,1
011C .dbline -2
011C .dbline 125
; }
011C L16:
011C 00D0 rcall pop_gset1
011E .dbline 0 ; func end
011E 0895 ret
0120 .dbsym r ReceiveTemp 20 c
0120 .dbfunc s initserial _initserial fI
; Init_Tem -> R20
.even
0120 _initserial::
0120 00D0 rcall push_gset1
0122 .dbline -1
0122 .dbline 129
; //***********************************
; //起动串口。
; void initserial(void)
; {
0122 .dbline 130
; unsigned char Init_Tem=15;
0122 4FE0 ldi R20,15
0124 .dbline 131
; DDRC=DDRC|cs;
0124 A19A sbi 0x14,1
0126 .dbline 132
; DDRC=DDRC|sclk;
0126 A09A sbi 0x14,0
0128 .dbline 133
; PORTC=PORTC&~cs;
0128 A998 cbi 0x15,1
012A .dbline 134
; DDRB=DDRB|sdi;
012A BB9A sbi 0x17,3
012C 03C0 rjmp L25
012E L24:
012E .dbline 136
012E .dbline 137
012E 0FEF ldi R16,255
0130 67DF rcall _Se_Cs_W
0132 .dbline 138
0132 4A95 dec R20
0134 .dbline 139
0134 L25:
0134 .dbline 135
; while(Init_Tem)
0134 4423 tst R20
0136 D9F7 brne L24
0138 .dbline 140
; {
; Se_Cs_W(0xff);
; Init_Tem--;
; }
; Se_Cs_W(0xfe);
0138 0EEF ldi R16,254
013A 62DF rcall _Se_Cs_W
013C .dbline 141
; PORTC=PORTC|cs;
013C A99A sbi 0x15,1
013E .dbline -2
013E .dbline 142
; }
013E L23:
013E 00D0 rcall pop_gset1
0140 .dbline 0 ; func end
0140 0895 ret
0142 .dbsym r Init_Tem 20 c
0142 .dbfunc s InitCs _InitCs fI
; InitTemp -> R20
.even
0142 _InitCs::
0142 00D0 rcall push_gset1
0144 2397 sbiw R28,3
0146 .dbline -1
0146 .dbline 146
; //***********************************
; //配置CS5522
; void InitCs(void)
; {
0146 .dbline 149
;
; unsigned char InitTemp;
; initserial(); //起动串口。
0146 ECDF rcall _initserial
0148 .dbline 153
; //===================设置配置寄存器=======================
; //配置RS位寄存器写一
; // distemp();
; F_Word(0x03,0x00,0x00,0x80); //直接写4字节
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -