Часть 4. Digital Radio Transmitter for control equipments based on Atmel microcontrollers Цифровой Радио Передатчик для управления устройствами построенными на микроконтроллерах Atmel.
Начало смотри:
mtaalamu.ru/blog/186.html
mtaalamu.ru/blog/199.html
mtaalamu.ru/blog/214.html
Программа прошитая в микроконтроллер AT89c2051 изложена ниже.
Зто реально работающая версия программы, которая написана в синтаксисе
«8051 Assembler»(ASM51.EXE Cross-Assembler for DOS 6.22)
ASM51.EXE -8051 Assembler executable program
MOD2051 -MOD files (for the AT89c2051 Assembler's $MOD… directive)
Замечательно работает под Windows98...XP через *.bat в консоли.
Желающим дам *.hex для прошивки.
Кому реально интересно mtaalam-те сюда. в комент.
Возни много — проконсультирую…
mtaalamu.ru/blog/186.html
mtaalamu.ru/blog/199.html
mtaalamu.ru/blog/214.html
Программа прошитая в микроконтроллер AT89c2051 изложена ниже.
Зто реально работающая версия программы, которая написана в синтаксисе
«8051 Assembler»(ASM51.EXE Cross-Assembler for DOS 6.22)
ASM51.EXE -8051 Assembler executable program
MOD2051 -MOD files (for the AT89c2051 Assembler's $MOD… directive)
Замечательно работает под Windows98...XP через *.bat в консоли.
Желающим дам *.hex для прошивки.
Кому реально интересно mtaalam-те сюда. в комент.
Возни много — проконсультирую…
;...... nporpaMMa .................
;"t02.asm" 15-08-2009 CKOPOCTb 1200 bod
; PAbOTA OT KBAPuA = 465 kru.
; HET npepblBaHuu !
; AlropuTM:
; 1. OpraHu3. 3aMkHyTblu uukl owuDaHue P3.5=0 (HawaTa TX)
; 2. P3.5=0 C4uTblBaHue nopTa P3, npoBepka P1
; 3. Eclu Ha P1 0FFh To HET nepeDa4u - uukl
; 4. ynakoBka P3, P1, u napaMeTpa B nakeT
; 5. KODuPOBKA nakeTa B uMnyLbcHblu _~_~___~_(Tabl.)
; 6. 3x kpaTHaR nepeDa4a nakeTa
;
;================= t02_vars.txt ==================
$MOD2051 ;...USE AT89C2051 KOHTPOLLEP CODE SFR
$PAGEWIDTH(79)
$OBJECT ;...DelaeM "*.hex" -file
$NOPAGING
;-------------------------------------------------
F_STRT EQU 0EFH ;=40H ;"@"
F_ANSW EQU 0F7H ;=21H ;"!"
F_FIN EQU 0FFH ;=0DH ;13d B/K
;
ADPH EQU 2DH ;ADPEC LOAD ADDRESS, HIGH BYTE
ADPL EQU 2EH ;ADPEC LOAD ADDRESS, LOW BYTE
ADAT EQU 2FH ;ADPEC RECORD LOAD DATA
;
;...KOHCTAHTbl................................
ADR0_RX EQU 30H ;Start bufera RX 30h-4Fh
LBUF_RX EQU 1FH ;PA3MEP byfepa RX 31 b
ADR0_TX EQU 50H ;Start bufera TX 50h-6Fh
LBUF_TX EQU 1FH ;PA3MEP byfepa TX 31 b
ADR0_BU EQU 70H ;Start buf TX ANSW 70h-7Fh
LBUF_BU EQU 0FH ;PA3MEP byfepa BU 15 b
;
DSEG AT 2AH
F2: DS 1 ;Don.Flar F2 no ADPECy=2Ah
RXHE_ BIT F2.0 ;1=npueM HOB. HE 3akoH4eH
RXOK_ BIT F2.1 ;1=npuem 3akoH4eH
DEOK_ BIT F2.2 ;1=dekodupoBka OK
KMHE_ BIT F2.3 ;1=KOMAHDA HE BblnolHeHa
KMOK_ BIT F2.4 ;1=KOMAHDA HE BblnolHeHa
;FA_ BIT F2.5 ;1=PewuM AHAL.-uuFpoBoro
;FB_ BIT F2.6 ;1=PewuM B(nporpaMMaTop)
FCNT_ BIT F2.7 ;1=PewuM C4eTa no INT1
;
;-------------------------------
F3: DS 1 ;Don.Flar F3 no ADPECy=2Bh
;-------------------------------
;..... Flar-byfep DLR buToBblx Onepauu ......
F4: DS 1 ;Don.Flar F4 no ADPECy=2Ch
;-------------------------------
; 2Dh,2Eh,2Fh
ADDH: DS 1 ;RECORD LOAD ADDRESS, HIGH BYTE(2Dh)
ADDL: DS 1 ;RECORD LOAD ADDRESS, LOW BYTE (2Eh)
DAHH: DS 1 ;RECORD LOAD DATA (2Fh)
;
;================== t02_intr.txt ===============
;-----------------------------------------------
; Tabluua npepblBaHuu AT 89 C 2051
;-----------------------------------------------
;START0:
CSEG ;CErMEHT KODA nporpammbl
ORG 0000H ;POWER ON/RESET VECTOR
JMP START1 ;XOLODHblu CTAPT
;------------------------------------------------
;BEKTOP BHEWHEro npepblBaHuR INT0(EX0(IE.0)) ypoBeHb 1
ORG 0003H ;BEKTOP BHEWH. INT0
RETI ;npepblBaH. HE ucnoLb3yeM !
;------------------------------------------------
;BEKTOP npepblBaHuR no TauM./C4ET. T/C 0
ORG 000BH ;OT nepenolH. T0 ET0(IE.1) ypoBeHb 2
RETI ;npepblBaH. HE ucnoLb3yeM !
;------------------------------------------------
;BEKTOP BHEWHEro npepblBaHuR INT1(EX1(IE.2)) ypoBeHb 3
ORG 0013H ;BEKTOP BHEWH. INT1
RETI ;npepblBaH. HE ucnoLb3yeM !
;--------------------------------------------
;BEKTOP npepblBaHuR no nepenoLHeH. TauMepa/C4ET4uka
ORG 001BH ;T/C 1 ET1(IE.3) ypoBeHb 4
RETI ;npepblBaH. HE ucnoLb3yeM !
;---------------------------------------------
;BEKTOP npepblBaHuR OT nopTa UART ulu SPI
ORG 0023H ;BEKTOP npepblBaHuR RS232 ypoBeHb 5
RETI ;npepblBaH. HE ucnoLb3yeM !
;
;================ t02_main.txt ===================
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;;;;;;;;;; XolodHblu CTART nporpammbl ;;;;;;;;;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
START1:
USING 0 ;REGISTER BANK 0
;------- RETSET/POWER ON --------------
CLR EA ;IE.7 0=3anpeTuTb BCE npepblBaHuR
CALL CLR_RXBUF ;CbpocuTb B 00h 31 bauT RX
CALL CLR_TXBUF ;CbpocuTb B 00h 31 bauT TX
;... Cbpoc FlaroB .........................
MOV F2,#0 ;BCE !!! flaru cbpocuTb
MOV F3,#0 ;BCE !!! flaru cbpocuTb
MOV F4,#0 ;BCE !!! flaru cbpocuTb
CALL INI_RS232 ;nepe3anyck RS232
;
CLR EX0 ;IE.0 0=HET External interrupt 0
CLR ET0 ;IE.1 0=HET Timer 0 interrupt
CLR EX1 ;IE.2 1=Enable External interrupt 1
CLR ET1 ;IE.3 0=HET Timer 1 interrupt
SETB ES ;IE.4 1=Enable Serial port interrupt
SETB EA ;ECTb pa3peweH. npepblBaHuu
;............... Cbpoc nopToB ..........
MOV P1, #0FFH ;...OTnycTuM nopT DATA P1
MOV P3, #0FFH ;...OTnycTuM nopT ... P3
;
MOV R2, #00H ;...Cbpoc CelekTop ynpaBleH.
MOV R5, #0FFH ;...KOD u3 P1 --> B R5
MOV R6, #0FFH ;...KOD u3 P3 --> B R6
;-------------------------------------
;------------OCHOBHAR nporpaMMa-------
START2:
;uukl owudaHue HawaTuR KHonku TX
MOV R2, #00H ;...Cbpoc CelekTop ynpaBleH.
;
;........... HAWATA P3.4/P3.5/P3.7 ? ....
MOV P1, #0FFH ;...OTnycTuM nopT ... P1
MOV A, P1 ;... P1 ?
MOV R5, A ;... KOD u3 P1 --> B R5
;
MOV P3, #0FFH ;...OTnycTuM nopT ... P3
MOV A, P3 ;... P3 ?
MOV F3, A ;... P3 B buToBblu Flar F3
MOV R6, A ;... KOD u3 P3 --> B R6
;... KOD B R2 - 3TO CelekTop ynpaBleH.
JNB F3.7, TXnpor7 ;...nepeDaeM koD7---^
JNB F3.5, TXnpor5 ;...nepeDaeM koD5---^
JNB F3.4, TXnpor4 ;...nepeDaeM koD4---^
;
;------ HawaTa KHonka P1.0...P1.7 ?-----
MOV A, R5 ;...DAHHblE u3 P1 -> R5 !
;............. npoBepka .............
CLR C ;nepeD Bbl4uTaHueM
SUBB A,#0FFH ;nepexoD npu HEHAWATblX KHOnKAX
JZ ENDnpr ;A=FF A=0,C=0 HET PEAKuuu
;
JMP TXnpor1 ;...OT P1-->nporp.1
;...BO3BPAT B uukl nporp.
;
ENDnpr:
;... Hu P1 Hu P3 -Tuxo !
;...rlaBHblu uukl nporpammbl
CLR TI ;=0 Cbpoc TX
JMP START2 ;-----^
;
;--------------------------------------
;-------- KOHEu OCHOBH. uukla----------
;--------------------------------------
;
;
;--------- HawaTa KHonka P1.0...P1.7 -----
TXnpor1:
CALL DEL01CEK ;3aDepwka 0.1 cek
MOV R2, #00H ;...CelekTop KODA (OT P3=FF)
CALL TXDATA ;...nporpaMMa TX
;... B rlaBHblu uukl nporpammbl
CLR TI ;=0 Cbpoc TX
JMP START2 ;-----^
;
;
;
;
;--------------------------------------
;--------- HawaTa KHonka K4 P3.4 -----
TXnpor4:
CALL DEL01CEK ;3aDepwka 0.1 cek
MOV R2, #01H ;...CelekTop KODA (OT P3=FF)
CALL TXDATA ;...nporpaMMa TX
;... B rlaBHblu uukl nporpammbl
CLR TI ;=0 Cbpoc TX
JMP START2 ;-----^
;
;
;
;--------------------------------------
;--------- HawaTa KHonka K5 P3.5 -----
TXnpor5:
CALL DEL01CEK ;3aDepwka 0.1 cek
MOV R2, #02H ;...CelekTop KODA (OT P3=FF)
CALL TXDATA ;...nporpaMMa TX
;... B rlaBHblu uukl nporpammbl
CLR TI ;=0 Cbpoc TX
JMP START2 ;-----^
;
;
;
;--------------------------------------
;--------- HawaTa KHonka K7 P3.7 -----
TXnpor7:
CALL DEL01CEK ;3aDepwka 0.1 cek
MOV R2, #03H ;...CelekTop KODA (OT P3=FF)
CALL TXDATA ;...nporpaMMa TX
;... B rlaBHblu uukl nporpammbl
CLR TI ;=0 Cbpoc TX
JMP START2 ;-----^
;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;;;;;;;;;;;;;; END OF MAIN ;;;;;;;;;;;;;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;
;ВНИМАНИЕ !
;Программа не уместилась! Остались подпрограммы
;и таблицы данных для кодирования пакета табличным способом.
;Продолжение программы следует по просьбам трудящихся...
Комментарии (4)
RSS свернуть / развернуть— и подпрограммы в отдельных блоках code /code
Gangsta
понятно станет почему ASCII — рулес
Любой конвертер достанет!!!
А может вообще на Atmel-С переделать
Я так понял, что все остальное понятно…
Markony
Gangsta
Программу на АСМе читать не сахар и с комментариями.
А у приемника-то еще хуже!
Я же все «in real Time» леплю — не железный!
Markony
Только зарегистрированные и авторизованные пользователи могут оставлять комментарии.