⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 ade7759.lst

📁 实现对ADE7759电能芯片的读写和校准,AVR单片机源码与电路图,单相电能表读写程序和初始化程序
💻 LST
📖 第 1 页 / 共 5 页
字号:

AVRASM ver. 1.56  D:\AVR\AvrStudio4\projekty\ADE7759\ADE7759.asm Fri Jun 20 15:19:13 2003


warning : Register already defined by the .DEF directive
warning : Register already defined by the .DEF directive
warning : Register already defined by the .DEF directive
warning : Register already defined by the .DEF directive
warning : Register already defined by the .DEF directive
warning : Register already defined by the .DEF directive
warning : Register already defined by the .DEF directive
warning : Register already defined by the .DEF directive
warning : Register already defined by the .DEF directive
warning : Register already defined by the .DEF directive
warning : Register already defined by the .DEF directive
warning : Register already defined by the .DEF directive
warning : Register already defined by the .DEF directive
warning : Register already defined by the .DEF directive
warning : Register already defined by the .DEF directive
warning : Register already defined by the .DEF directive
warning : Register already defined by the .DEF directive
warning : Register already defined by the .DEF directive
warning : Register already defined by the .DEF directive
warning : Register already defined by the .DEF directive
warning : Register already defined by the .DEF directive
warning : Register already defined by the .DEF directive
warning : Register already defined by the .DEF directive
warning : Register already defined by the .DEF directive
warning : Register already defined by the .DEF directive
warning : Register already defined by the .DEF directive
warning : Register already defined by the .DEF directive
warning : Register already defined by the .DEF directive
warning : Register already defined by the .DEF directive
warning : Register already defined by the .DEF directive
warning : Register already defined by the .DEF directive
warning : Register already defined by the .DEF directive
warning : Register already defined by the .DEF directive
warning : Register already defined by the .DEF directive
warning : Register already defined by the .DEF directive
warning : Register already defined by the .DEF directive
warning : Register already defined by the .DEF directive
warning : Register already defined by the .DEF directive
warning : Register already defined by the .DEF directive
warning : Register already defined by the .DEF directive
warning : Register already defined by the .DEF directive
warning : Register already defined by the .DEF directive
warning : Register already defined by the .DEF directive
warning : Register already defined by the .DEF directive
warning : Register already defined by the .DEF directive
warning : Register already defined by the .DEF directive
warning : Register already defined by the .DEF directive
warning : Register already defined by the .DEF directive
warning : Register already defined by the .DEF directive
warning : Register already defined by the .DEF directive
warning : Register already defined by the .DEF directive
warning : Register already defined by the .DEF directive
warning : Register already defined by the .DEF directive
warning : Register already defined by the .DEF directive
warning : Register already defined by the .DEF directive
warning : Register already defined by the .DEF directive
warning : Register already defined by the .DEF directive
warning : Register already defined by the .DEF directive
warning : Register already defined by the .DEF directive
warning : Register already defined by the .DEF directive
warning : Register already defined by the .DEF directive
warning : Register already defined by the .DEF directive
warning : Register already defined by the .DEF directive
warning : Register already defined by the .DEF directive
warning : Register already defined by the .DEF directive
warning : Register already defined by the .DEF directive
warning : Register already defined by the .DEF directive
warning : Register already defined by the .DEF directive
warning : Register already defined by the .DEF directive
warning : Register already defined by the .DEF directive
warning : Register already defined by the .DEF directive
warning : Register already defined by the .DEF directive
warning : Register already defined by the .DEF directive
warning : Register already defined by the .DEF directive
warning : Register already defined by the .DEF directive
warning : Register already defined by the .DEF directive
D:\AVR\AvrStudio4\projekty\ADE7759\ADE7759.asm(316): warning: A .db segment with an odd number of bytes is detected. A zero byte is added.
D:\AVR\AvrStudio4\projekty\ADE7759\ADE7759.asm(320): warning: A .db segment with an odd number of bytes is detected. A zero byte is added.
D:\AVR\AvrStudio4\projekty\ADE7759\ADE7759.asm(321): warning: A .db segment with an odd number of bytes is detected. A zero byte is added.
D:\AVR\AvrStudio4\projekty\ADE7759\ADE7759.asm(322): warning: A .db segment with an odd number of bytes is detected. A zero byte is added.
D:\AVR\AvrStudio4\projekty\ADE7759\ADE7759.asm(323): warning: A .db segment with an odd number of bytes is detected. A zero byte is added.
D:\AVR\AvrStudio4\projekty\ADE7759\ADE7759.asm(324): warning: A .db segment with an odd number of bytes is detected. A zero byte is added.
D:\AVR\AvrStudio4\projekty\ADE7759\ADE7759.asm(325): warning: A .db segment with an odd number of bytes is detected. A zero byte is added.
D:\AVR\AvrStudio4\projekty\ADE7759\ADE7759.asm(326): warning: A .db segment with an odd number of bytes is detected. A zero byte is added.
D:\AVR\AvrStudio4\projekty\ADE7759\ADE7759.asm(327): warning: A .db segment with an odd number of bytes is detected. A zero byte is added.
D:\AVR\AvrStudio4\projekty\ADE7759\ADE7759.asm(328): warning: A .db segment with an odd number of bytes is detected. A zero byte is added.
D:\AVR\AvrStudio4\projekty\ADE7759\ADE7759.asm(329): warning: A .db segment with an odd number of bytes is detected. A zero byte is added.
D:\AVR\AvrStudio4\projekty\ADE7759\ADE7759.asm(330): warning: A .db segment with an odd number of bytes is detected. A zero byte is added.
D:\AVR\AvrStudio4\projekty\ADE7759\ADE7759.asm(331): warning: A .db segment with an odd number of bytes is detected. A zero byte is added.
D:\AVR\AvrStudio4\projekty\ADE7759\ADE7759.asm(332): warning: A .db segment with an odd number of bytes is detected. A zero byte is added.
D:\AVR\AvrStudio4\projekty\ADE7759\ADE7759.asm(333): warning: A .db segment with an odd number of bytes is detected. A zero byte is added.
D:\AVR\AvrStudio4\projekty\ADE7759\ADE7759.asm(334): warning: A .db segment with an odd number of bytes is detected. A zero byte is added.
D:\AVR\AvrStudio4\projekty\ADE7759\ADE7759.asm(335): warning: A .db segment with an odd number of bytes is detected. A zero byte is added.
D:\AVR\AvrStudio4\projekty\ADE7759\ADE7759.asm(336): warning: A .db segment with an odd number of bytes is detected. A zero byte is added.
D:\AVR\AvrStudio4\projekty\ADE7759\ADE7759.asm(337): warning: A .db segment with an odd number of bytes is detected. A zero byte is added.
D:\AVR\AvrStudio4\projekty\ADE7759\ADE7759.asm(338): warning: A .db segment with an odd number of bytes is detected. A zero byte is added.
D:\AVR\AvrStudio4\projekty\ADE7759\ADE7759.asm(469): warning: A .db segment with an odd number of bytes is detected. A zero byte is added.
D:\AVR\AvrStudio4\projekty\ADE7759\ADE7759.asm(470): warning: A .db segment with an odd number of bytes is detected. A zero byte is added.
D:\AVR\AvrStudio4\projekty\ADE7759\ADE7759.asm(472): warning: A .db segment with an odd number of bytes is detected. A zero byte is added.
D:\AVR\AvrStudio4\projekty\ADE7759\ADE7759.asm(473): warning: A .db segment with an odd number of bytes is detected. A zero byte is added.
D:\AVR\AvrStudio4\projekty\ADE7759\ADE7759.asm(475): warning: A .db segment with an odd number of bytes is detected. A zero byte is added.
D:\AVR\AvrStudio4\projekty\ADE7759\ADE7759.asm(476): warning: A .db segment with an odd number of bytes is detected. A zero byte is added.
D:\AVR\AvrStudio4\projekty\ADE7759\ADE7759.asm(477): warning: A .db segment with an odd number of bytes is detected. A zero byte is added.
D:\AVR\AvrStudio4\projekty\ADE7759\ADE7759.asm(482): warning: A .db segment with an odd number of bytes is detected. A zero byte is added.
D:\AVR\AvrStudio4\projekty\ADE7759\ADE7759.asm(483): warning: A .db segment with an odd number of bytes is detected. A zero byte is added.
D:\AVR\AvrStudio4\projekty\ADE7759\ADE7759.asm(484): warning: A .db segment with an odd number of bytes is detected. A zero byte is added.
D:\AVR\AvrStudio4\projekty\ADE7759\ADE7759.asm(487): warning: A .db segment with an odd number of bytes is detected. A zero byte is added.
D:\AVR\AvrStudio4\projekty\ADE7759\ADE7759.asm(488): warning: A .db segment with an odd number of bytes is detected. A zero byte is added.
D:\AVR\AvrStudio4\projekty\ADE7759\ADE7759.asm(490): warning: A .db segment with an odd number of bytes is detected. A zero byte is added.
D:\AVR\AvrStudio4\projekty\ADE7759\ADE7759.asm(491): warning: A .db segment with an odd number of bytes is detected. A zero byte is added.
D:\AVR\AvrStudio4\projekty\ADE7759\ADE7759.asm(492): warning: A .db segment with an odd number of bytes is detected. A zero byte is added.
D:\AVR\AvrStudio4\projekty\ADE7759\ADE7759.asm(494): warning: A .db segment with an odd number of bytes is detected. A zero byte is added.
D:\AVR\AvrStudio4\projekty\ADE7759\ADE7759.asm(495): warning: A .db segment with an odd number of bytes is detected. A zero byte is added.
D:\AVR\AvrStudio4\projekty\ADE7759\ADE7759.asm(496): warning: A .db segment with an odd number of bytes is detected. A zero byte is added.
D:\AVR\AvrStudio4\projekty\ADE7759\ADE7759.asm(497): warning: A .db segment with an odd number of bytes is detected. A zero byte is added.
D:\AVR\AvrStudio4\projekty\ADE7759\ADE7759.asm(508): warning: A .db segment with an odd number of bytes is detected. A zero byte is added.
D:\AVR\AvrStudio4\projekty\ADE7759\ADE7759.asm(511): warning: A .db segment with an odd number of bytes is detected. A zero byte is added.
D:\AVR\AvrStudio4\projekty\ADE7759\ADE7759.asm(513): warning: A .db segment with an odd number of bytes is detected. A zero byte is added.
D:\AVR\AvrStudio4\projekty\ADE7759\ADE7759.asm(517): warning: A .db segment with an odd number of bytes is detected. A zero byte is added.
D:\AVR\AvrStudio4\projekty\ADE7759\ADE7759.asm(518): warning: A .db segment with an odd number of bytes is detected. A zero byte is added.
D:\AVR\AvrStudio4\projekty\ADE7759\ADE7759.asm(530): warning: A .db segment with an odd number of bytes is detected. A zero byte is added.
D:\AVR\AvrStudio4\projekty\ADE7759\ADE7759.asm(531): warning: A .db segment with an odd number of bytes is detected. A zero byte is added.
D:\AVR\AvrStudio4\projekty\ADE7759\ADE7759.asm(533): warning: A .db segment with an odd number of bytes is detected. A zero byte is added.
D:\AVR\AvrStudio4\projekty\ADE7759\ADE7759.asm(534): warning: A .db segment with an odd number of bytes is detected. A zero byte is added.
D:\AVR\AvrStudio4\projekty\ADE7759\ADE7759.asm(536): warning: A .db segment with an odd number of bytes is detected. A zero byte is added.
D:\AVR\AvrStudio4\projekty\ADE7759\ADE7759.asm(537): warning: A .db segment with an odd number of bytes is detected. A zero byte is added.
D:\AVR\AvrStudio4\projekty\ADE7759\ADE7759.asm(538): warning: A .db segment with an odd number of bytes is detected. A zero byte is added.
D:\AVR\AvrStudio4\projekty\ADE7759\ADE7759.asm(539): warning: A .db segment with an odd number of bytes is detected. A zero byte is added.
D:\AVR\AvrStudio4\projekty\ADE7759\ADE7759.asm(543): warning: A .db segment with an odd number of bytes is detected. A zero byte is added.
D:\AVR\AvrStudio4\projekty\ADE7759\ADE7759.asm(544): warning: A .db segment with an odd number of bytes is detected. A zero byte is added.
D:\AVR\AvrStudio4\projekty\ADE7759\ADE7759.asm(545): warning: A .db segment with an odd number of bytes is detected. A zero byte is added.
D:\AVR\AvrStudio4\projekty\ADE7759\ADE7759.asm(549): warning: A .db segment with an odd number of bytes is detected. A zero byte is added.
D:\AVR\AvrStudio4\projekty\ADE7759\ADE7759.asm(555): warning: A .db segment with an odd number of bytes is detected. A zero byte is added.
D:\AVR\AvrStudio4\projekty\ADE7759\ADE7759.asm(557): warning: A .db segment with an odd number of bytes is detected. A zero byte is added.
D:\AVR\AvrStudio4\projekty\ADE7759\ADE7759.asm(559): warning: A .db segment with an odd number of bytes is detected. A zero byte is added.
D:\AVR\AvrStudio4\projekty\ADE7759\ADE7759.asm(560): warning: A .db segment with an odd number of bytes is detected. A zero byte is added.
D:\AVR\AvrStudio4\projekty\ADE7759\ADE7759.asm(561): warning: A .db segment with an odd number of bytes is detected. A zero byte is added.
D:\AVR\AvrStudio4\projekty\ADE7759\ADE7759.asm(567): warning: A .db segment with an odd number of bytes is detected. A zero byte is added.
D:\AVR\AvrStudio4\projekty\ADE7759\ADE7759.asm(568): warning: A .db segment with an odd number of bytes is detected. A zero byte is added.
D:\AVR\AvrStudio4\projekty\ADE7759\ADE7759.asm(570): warning: A .db segment with an odd number of bytes is detected. A zero byte is added.
D:\AVR\AvrStudio4\projekty\ADE7759\ADE7759.asm(571): warning: A .db segment with an odd number of bytes is detected. A zero byte is added.
D:\AVR\AvrStudio4\projekty\ADE7759\ADE7759.asm(572): warning: A .db segment with an odd number of bytes is detected. A zero byte is added.
D:\AVR\AvrStudio4\projekty\ADE7759\ADE7759.asm(573): warning: A .db segment with an odd number of bytes is detected. A zero byte is added.
D:\AVR\AvrStudio4\projekty\ADE7759\ADE7759.asm(671): warning: A .db segment with an odd number of bytes is detected. A zero byte is added.
         ;==============================================================================
         ;  Projekt:	Miernik energii i mocy na ADE7759
         ;  Autor:	Grzesiek Gajewski (gayos@interia.pl)
         ;  Koniec:	22.04.2003
         ;  Wersja:	1.0
         ;  Kompilacja w AVRStudio 4.04
         ;  wielkosc Tabsize w edytorze: 12
         ;
         ;  kilka informacji w equ.asm (na koncu pliku)
         ;  licencja GPL w licencja.txt
         ;
         ;==============================================================================
         ; Ustawienie bitow konfiguracyjnych "fuse bits"
         ; BODLEVEL, BODEN, SUT1, SPIEN - zaprogramowane (programmed) czyli wartosc 0
         ; reszta niezaprogramowana (1)
         ; konfiguracja odnosi sie do rezonatora kwarcowego 8MHz
         ;==============================================================================
          .nolist
         
          .include "equ.asm"		; prawie wszystkie stale i zmienne
         ;==============================================================================
         ;  Wiekszosc stalych i zmiennych wystepujacych w programie
         ;  Projekt:	Miernik energii i mocy na ADE7759
         ;==============================================================================
         
         ;======== S T A L E ===========================================================
          .equ	F_zegara		=8000000	; czestotliwosc kwarcu taktujacego procesor [Hz]
          .equ	RAM		=0x68	; adres poczatku danych w RAM
          .equ	EEPROM		=0x8	; adres poczatku danych w EEPROM
          .equ	ILE_BAJT_EN		=56	; ilosc bajtow wszystkich energii nieulotnych
          .equ	STALA_DLA_F		=100000000
          .equ	KLAWISZ_CZAS_TRZYMANIA	=25	; 30 cykli dla czasu =1s
          .equ	KLAWISZ_CZAS_NIEAKTYWNY	=8	; czas = x * 8,4s
          .equ	LICZBA_OKIEN_CZASOWYCH	=4	; liczba przedzialow czasowych dla taryfy2
          .equ	PROG_AKUMULACJI	=500	; prog akumulacji energii ==> 0,13W (500Ws)
          .equ	CYKLI_POM		=32	; NIE ZMIENIAC!
         
         ; zmienna Flagi2:
           ;.equ	f2TARYFY	=0	; ten bit przechodzi do "flag"
            .equ	f2EN_WH	=1	; =1 wybor wyswietlania energii w Wh (jesli mozliwe)
            .equ	f2EN_S	=2	; =1 akumulacja energii pozornej
            .equ	f2EN_AKUM	=3	; =1 akumulacja energii ujemnej (czyli odejmowanie)
            .equ	f2EN_MI	=4	; =1 energia ujemna w ostatnim odczycie
            .equ	f2EN_O	=5	; =1 akumulowac Energie_od
            .equ	f2EN_OO	=6	; =1 akumulowac Energie_oddo
         
         ; zmienna Flagi3:
            .equ	f3EN_RST	=0	; =1 odbierana pierwsza probka energii (po resecie =1)
           			;    poniewaz pierwsza probka jest przeklamana (a czasem i druga)
            .equ	f3EN_O	=1	; =1 to uzupelnij LCD dla Energii_od
            .equ	f3EN_OO	=2	; =1 to uzupelnij LCD dla Energii_oddo
         
         ; zmienna Flagi4:
            .equ	f4KAL_DCI	=0
            .equ	f4KAL_ZI	=1
            .equ	f4KAL_DCU	=2
            .equ	f4KAL_ZU	=3
            .equ	f4KAL_CH	=4
            .equ	f4KAL_CH0	=5
            .equ	f4KAL_E	=6
         
         ;-------- zmienna Status --------------
          .equ	ST_M		=5	; bit wyboru mocy
          .equ	ST_E1		=4	; bit wyboru energii taryfa1
          .equ	ST_E2		=3	; bit wyboru energii taryfa2
          .equ	ST_F		=2	; bit wyboru okresu (czestotliwosci)
          .equ	ST_U		=1	; bit wyboru napiecia w zmiennej Status
          .equ	ST_I		=0	; bit wyboru pradu
          .equ	ST_MSB		=0b00100000	; najstarszy mozliwy bit w zmiennej Status
          .equ	ST_MASKA		=0b00111111	; maska na bity zmiennej Status
         ;-------- zmienna Status_U ------------
          .equ	STU_RMS		=0	; RMS napiecia
          .equ	STU_MAV		=1	; wart.srednia napiecia
          .equ	STU_AP		=2	; amplituda dodatnia
          .equ	STU_AM		=3	; amplituda ujemna
          .equ	STU_MSB		=0b00001000	; najstarszy mozliwy bit w zmiennej Status_U
          .equ	STU_MASKA		=0b00001111	; maska na bity zmiennej Status_U
         ;-------- zmienna Status_I ------------
          .equ	STI_RMS		=0	; RMS
          .equ	STI_MAV		=1	; wart.srednia
          .equ	STI_AP		=2	; amplituda dodatnia
          .equ	STI_AM		=3	; amplituda ujemna
          .equ	STI_MSB		=0b00001000	; najstarszy mozliwy bit w zmiennej Status_I
          .equ	STI_MASKA		=0b00001111	; maska na bity zmiennej Status_I
         ;-------- zmienna Status_M ------------
          .equ	STM_P		=0	; bit wyboru: moc czynna
          .equ	STM_Q		=1	; bit wyboru: moc bierna
          .equ	STM_S		=2	; bit wyboru: moc pozorna
          .equ	STM_PF		=3	; bit wyboru: wsp.mocy
          .equ	STM_MSB		=0b00001000	; najstarszy mozliwy bit w zmiennej Status_M
          .equ	STM_MASKA		=0b00001111	; maska na bity zmiennej Status_M
         ;-------- zmienna Status_E1 -----------	; energia taryfy1
          .equ	STE1_SES		=0	; bit wyboru: energia sesji
          .equ	STE1_OD		=1	; bit wyboru: energia od okresu...
          .equ	STE1_ODDO		=2	; bit wyboru: energia od okresu do...
          .equ	STE1_SUMA		=3	; bit wyboru: suma calkowita energii
          .equ	STE1_POZ		=4	; bit wyboru: energia pozorna
          .equ	STE1_SEK		=5	; energia sekundowa
          .equ	STE1_MSB		=0b00010000	; najstarszy mozliwy bit w zmiennej Status_M
          .equ	STE1_MASKA		=0b00011111	; maska na bity zmiennej Status_M
          .equ	STE1_MSB_K		=0b00100000	; dla trybu kalibracji
          .equ	STE1_MASKA_K	=0b00111111	; dla trybu kalibracji
         ;-------- zmienna Status_E2 -----------	; ...taryfy2
          .equ	STE2_SES		=0	; bit wyboru: energia sesji
          .equ	STE2_OD		=1	; bit wyboru: energia od okresu...
          .equ	STE2_ODDO		=2	; bit wyboru: energia od okresu do...
          .equ	STE2_SUMA		=3	; bit wyboru: suma calkowita energii
          .equ	STE2_POZ		=4	; bit wyboru: energia pozorna
          .equ	STE2_MSB		=0b00010000	; najstarszy mozliwy bit w zmiennej Status_M
          .equ	STE2_MASKA		=0b00011111	; maska na bity zmiennej Status_M
         ;--------------------------------------
         
         ;-------- ADE7759 -------------------------------------------------------------
          .equ	ADE_RESET_PORT	=PORTB
          .equ	ADE_RESET		=0
          .equ	ADE_CS_PORT		=PORTB
          .equ	ADE_CS		=4
          .equ	ADE_SAG_PIN		=PINB	; SAG -> tylko wejscie
          .equ	ADE_SAG		=3
          .equ	ADE_WAVEFORM_ADR	=1
          .equ	ADE_RSTENERGY_ADR	=3

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -