AT89C51ED2

Jun 08, 2005 9 Replies
ðÒÉ×ÅÔ All!
óÁÂÖ ÐÒÏÛÉ×ÁÔØ ÎÁÕÞÉÌÓÑ, ÔÏÌØËÏ ×ÏÔ ÎÉËÁË ÎÅ ÈÏÞÅÔ ÐÏ UART'Õ ÒÁÂÏÔÁÔØ. ÷ÏÔ ÔÁË Ñ ÎÁÞÁÌØÎÕÀ ÉÎÉÃÉÁÌÉÚÁÃÉÀ ÐÒÏÉÚ×ÏÖÕ: clr tro clr tr1 mov scon,#01011010b tmod #10h mov t2con anl pcon,#7Fh mov BDRCON,#1Ch mov a,#7Dh mov BRL,A ðÙÔÁÀÓØ ÔÁËÔÏ×ÕÀ ÞÁÓÔÏÔÕ ÐÏÄÁÔØ ÐÒÑÍÏ Ó ×ÎÕÔÒÅÎÎÅÇÏ ÇÅÎÅÒÁÔÏÒÁ, ÎÅ ÉÓÐÏÌØÚÕÑ ÔÁÊÍÅÒÙ. íÏÖÅÔ ËÔÏ ÐÏÄÓËÁÖÅÔ, ÞÔÏ Ñ ÄÅÌÁÀ ÎÅ ÔÁË. é ÅÝÅ ÎÁÄÏ ×ËÌÀÞÁÔØ ÒÅÖÉÍ × ËÏÔÏÒÏÍ ËÏÍÁÎÄÙ ×ÙÐÏÌÎÑÀÔÓÑ ÚÁ 6 ÔÁËÔÏ×, ÉÌÉ ÎÅ ÏÂÑÚÁÔÅÌØÎÏ. íÏÖÅÔ ËÔÏ ÐÏÄÓËÁÖÅÔ, ÞÔÏ Ñ ÄÅÌÁÀ ÎÅ ÔÁË ? ëÔÏ-ÎÉÂÕÄØ ÐÙÔÁÌÓÑ ÉÓÐÏÌØÚÏ×ÁÔØ ÔÁËÏÊ ÒÅÖÉÍ ?
ó Õ×ÁÖÅÎÉÅÍ, Ivan Melnikov óÒÅÄÁ éÀÎØ 08 2005 23:00.


... "ó ËÅÍ ÐÏ×ÅģÛØÓÑ, ÔÁË ÔÅÂÅ É ÎÁÄÏ!"


Hello Ivan.

Wed Jun 08 2005 23:00, Ivan Melnikov wrote to All:

IM> óÁÂÖ ÐÒÏÛÉ×ÁÔØ ÎÁÕÞÉÌÓÑ, ÔÏÌØËÏ ×ÏÔ ÎÉËÁË ÎÅ ÈÏÞÅÔ ÐÏ UART'Õ ÒÁÂÏÔÁÔØ. IM> ÷ÏÔ ÔÁË Ñ ÎÁÞÁÌØÎÕÀ ÉÎÉÃÉÁÌÉÚÁÃÉÀ ÐÒÏÉÚ×ÏÖÕ:

÷ÏÔ ÔÅÂÅ ÍÏÑ ÉÎÉÃÉÁÌÉÚÁÃÉÑ, ÐÏÐÒÁר ÞÔÏ ÎÕÖÎÏ, ×ÙËÉÎØ ÞÔÏ ÎÅ ÎÕÖÎÏ - ÄÏÌÖÎÏ ÒÁÂÏÔÁÔØ. :) èÏÔÑ Ñ ÓÅÊÞÁÓ ÏÂÒÁÔÉÌ ×ÎÉÍÁÎÉÅ, ÞÔÏ Õ ÔÅÂÑ ED2 - Ñ ÔÁËÏÇÏ ËÒÉÓÔÁÌÌÁ ÎÅ ÚÎÁÀ, ÒÁÂÏÔÁÌ ÔÏÌØËÏ Ó RD2, ÉÚÕÞÁÌ RB2/RC2/RD2.

Reset: mov SP,#STKPTR ;ÚÁÇÒÕÚËÁ ÕËÁÚÁÔÅÌÑ ÓÔÅËÁ

; M0 EXTRAM ; ; XS1 ;AUXR.5=M0 ext. XRAM timing ;    ; mov AUXR,#00001100b ;AUXR.3=XRS1 internal XRAM size ;   ;AUXR.2=XRS0 0=256..3=1024 ; XS0 ;AUXR.1=EXTRAM external XRAM enable ; AO ;AUXR.0=AO ALE output

; PCAX T0X ;CKCON.6=WDX2 WD x2 off ; T2X ;CKCON.5=PCAX2 PCA x2 off ;    ;CKCON.4=SIX2 UART x2 off mov CKCON,#01010111b ;CKCON.3=T2X2 T2 x2 off ;     ;CKCON.2=T1X2 T1 x2 off ; WDXT1X ;CKCON.1=T0X2 T0 x2 off ; SIX X2 ;CKCON.0=X2 X2 mode ON

clr a ;ÏÞÉÓÔËÁ ïúõ mov r0,#0 DO mov @r0,a LOOP djnz,r0

;ÉÎÉÃÉÁÌÉÚÁÃÉÑ ÔÁÊÍÅÒÏ× 0 É 1

mov TMOD,#22h ;ÒÅÖÉÍ 2 - Á×ÔÏÚÁÇÒÕÚËÁ mov TH0,#RLD_E mov TH1,#RLD_E

;ÉÎÉÃÉÁÌÉÚÁÃÉÑ ÐÒÅÒÙ×ÁÎÉÊ ; ;IE.7=EA ïÂÝÅÅ ÒÁÚÒÅÛÅÎÉÅ ÐÒÅÒÙ×ÁÎÉÊ ; ET2 ET0 ;IE.6=EC ðÒÅÒÙ×ÁÎÉÅ ÏÔ PCA ; EA ET1 ;IE.5=ET2 ... ÏÔ ÔÁÊÍÅÒÁ 2 (8052) ;     ;IE.4=ES ... ÏÔ UART mov IE,#11101010b ;IE.3=ET1 ... ÏÔ ÔÁÊÍÅÒÁ 1 ;     ;IE.2=EX1 ... ÏÔ INT1 ; ES EX0 ;IE.1=ET0 ... ÏÔ ÔÁÊÍÅÒÁ 0 ; EC EX1 ;IE.0=EX0 ... ÏÔ INT0 ;

; TF0 IE0 ;TCON.7=TF1 ÆÌÁÇ ÐÒÅÒÙ×ÁÎÉÑ ÔÁÊÍÅÒÁ 1 ; TF1IE1 ;TCON.6=TR1 ÚÁÐÕÓË ÔÁÊÍÅÒÁ 1 ;     ;TCON.5=TF0 ÆÌÁÇ ÐÒÅÒÙ×ÁÎÉÑ ÔÁÊÍÅÒÁ 0 mov TCON,#01010101b ;TCON.4=TR0 ÚÁÐÕÓË ÔÁÊÍÅÒÁ 0 ;     ;TCON.3=IE1 ÂÙÌ ÐÁÄÁÀÝÉÊ ÆÒÏÎÔ ÎÁ INT1 ; TR0IT0 ;TCON.2=IT1 ÐÒÅÒÙ×ÁÎÉÅ ÐÏ ÆÒÏÎÔÕ ÎÁ INT1 ; TR1 IT1 ;TCON.1=IE0 ... ÎÁ INT0 ; ;TCON.0=IT0 ... ÎÁ INT0

mov RCAP2H, # > RLD_U ;ÚÎÁÞÅÎÉÅ Á×ÔÏ-ÐÅÒÅÚÁÇÒÕÚËÉ ÔÁÊÍÅÒÁ 2 mov RCAP2L, # < RLD_U ; (ÄÅÌÉÔÅÌØ ÄÌÑ UART)

; RCLK C/T2 ;T2CON.7=TF2 ÐÅÒÅÐÏÌÎÅÎÉÅ ÔÁÊÍÅÒÁ 2 ; TF2XN2 ;T2CON.6=EXF2 ÐÅÒÅÐÏÌÎÅÎÉÅ ÏÔ ×ÎÅÛ. ÓÉÇÎÁÌÁ ;     ;T2CON.5=RCLK ÐÒÉÅÍÎÉË UART - ÏÔ ÔÁÊÍÅÒÁ 2 mov T2CON,#00110100b ;T2CON.4=TCLK ÐÅÒÅÄÁÔÞÉË UART --- ;     ;T2CON.3=EXEN2 ÒÁÚÒÅÛÅÎÉÅ ÒÅÁËÃÉÉ ÎÁ T2EX ; TCKCP/RL2;T2CON.2=TR2 ÚÁÐÕÓË ÔÁÊÍÅÒÁ 2 ; EXF2 TR2 ;T2CON.1=C/T2 1: ÓÞÅÔÞÉË, 0: ÔÁÊÍÅÒ ; ;T2CON.0=CP/RL2 1: capture, 0: reload

; õÓÔÁÎÁ×ÌÉ×ÁÅÍ ÐÒÉÏÒÉÔÅÔÙ ÐÒÅÒÙ×ÁÎÉÊ

;ðòéïòéôåô ðòåòù÷áHéñ (IP:LOW BYTE IPH: HIGH) ; PT2 PT0 ; PT1 ;IP.6=PPC ... PCA ;    ;IP.5=PT2 ... ÔÁÊÍÅÒÁ 2 (8052) mov IPH,#00000000b ;IP.4=PS ... RS-232 mov IP,#00001111b ;IP.3=PT1 ... ÔÁÊÍÅÒÁ 1 ;     ;IP.2=PX1 ... INT1 ; PS PX0 ;IP.1=PT0 ... ÔÁÊÍÅÒÁ 0 ; PPC PX1 ;IP.0=PX0 ... INT0

; CPS0 ;  ;CMOD.2=CPS1 00 CPer/6 01 CPer/2 mov CMOD, #00000001b ;CMOD.1=CPS0 10 T0 OVR 11 P1.2 pin ;   ;CMOD.0 Enable INT ; ECF ; CPS1

; CR ;CCON.7=CF PCA FLAG ;  ;CCON.6=CR PCA RUN mov CCON, #01000000b ; ;  ;CCON.0..CCON.4 -> CCF0..CCF4 ; CF

mov WDTPRG,#7

mov DPTR,#0 ;ÏÞÉÓÔËÁ XRAM DO clr a movx @DPTR,a inc DPTR mov a,DPH LOOP ne,a,#>XEND

call InitRS ;éÎÉÃÉÁÌÉÚÁÃÉÑ ×ÓÔÒÏÅÎÎÏÇÏ UART

setb EA

... >>> ÐÅÒÅÈÏÄÉÍ Ë ÇÌÁ×ÎÏÍÕ ÃÉËÌÕ

; ÐÏÄÐÒÏÇÒÁÍÍÁ ÉÎÉÃÉÁÌÉÚÁÃÉÉ UART

InitRS:

; ; SM2 TI SCON.7 SM0 €ƒ ; SM0TB8 SCON.6 SM1 €Š€ ÒÅÖÉÍ (ÂÉÔ 7 - ÍÌÁÄÛÉÊ) ;     SCON.5 SM2 €… SCON_INIT0 equ 01011110b ; SCON.4 REN ÒÁÚÒÅÛÅÎÉÅ ÐÒÉÅÍÁ ;     SCON.3 TB8 toTransmit Bit 8 ; SM1RB8 SCON.2 RB8 Received Bit 8 ; REN RI SCON.1 TI ÆÌÁÇ ÏËÏÎÞÁÎÉÑ ÐÅÒÅÄÁÞÉ ; SCON.0 RI ÆÌÁÇ ÐÒÉÎÑÔÏÇÏ ÂÁÊÔÁ

orl PCON,#80h ;Double rate mov SCON,#SCON_INIT0

mov a,SBUF ;ÏÞÉÓÔËÁ ÐÒÉÅÍÎÉËÁ

ret

bit7 equ 10000000b bit6 equ 01000000b bit5 equ 00100000b bit4 equ 00010000b bit3 equ 00001000b bit2 equ 00000100b bit1 equ 00000010b bit0 equ 00000001b

AUXR reg 08Eh mAO equ bit0 ;ALE output 0 STD 1 BLOCK mEXTRAM equ bit1 ;access internal XRAM = 0 mXRS0 equ bit2 ;XRAM size (11 = 1024) mXRS1 equ bit3 mM0 equ bit5 ;1: stretch external RAM RD/WR timing

AUXR1 reg 0A2h ;note: INC AUXR1 correctly swaps DPTR0/DPTR1 mDPS equ bit0 ;select DPTR mENBOOT equ bit5 ;1: enable boot rom

CKCON reg 08Fh ;Clock control mX2 equ bit0 ;X2 mode=1 mT0X2 equ bit1 ;Timer 0 -- X2 OFF = 1 mT1X2 equ bit2 ;Timer 1 mT2X2 equ bit3 ;Timer 2 mSIX2 equ bit4 ;UART mPCAX2 equ bit5 ;PCA mWDX2 equ bit6 ;Watchdog

WDTRST equ 0A6h ;WDT Reset : to run/reset WDT write 01E 0E1 ; (at 12 MHz): WDTPRG equ 0A7h ;0 1 2 3 4 5 6 7 ;16ms 32ms 65ms 131 262 542 1s 2s

IPL equ 0B8h ;lower priority bits

iPX0 reg IPL.0 ;eXternal 0 (REG for direct bit access) iPT0 reg IPL.1 ;Timer 0 iPX1 reg IPL.2 ;eXternal 1 iPT1 reg IPL.3 ;Timer 1 iPS reg IPL.4 ;Serial iPT2 reg IPL.5 ;Timer2 iPPC reg IPL.6 ;PCA

IPH equ 0B7h ;higher priority bits

mPX0 equ bit0 ;eXternal 0 mPT0 equ bit1 ;Timer 0 mPX1 equ bit2 ;eXternal 1 mPT1 equ bit3 ;Timer 1 mPS equ bit4 ;Serial mPT2 equ bit5 ;Timer2 mPPC equ bit6 ;PCA

PCL equ 0E9h ;PCA counter LOW PCH equ 0F9h ;PCA counter HIGH

CMOD equ 0D9h ;PCA counter mode

mECF equ bit0 ;enable counter overflow INT mCPS0 equ bit1 ; 0 CPeri/6 1 CPeri/2 mCPS1 equ bit2 ;10 T0 OVR 11 P1.2 pin mWDTE equ bit6 ;PCA WDT enable mCIDL equ bit7 ;counter idle control

CCON reg 0D8h

iCR reg CCON.6 ;start PCA counter iCF reg CCON.7 ;PCA overflow/int

EECON reg 0D2h ;RD2 ONLY! EEPROM control register

mEEBUSY equ bit0 ;EEPROM busy mEEE equ bit1 ;EE space mapping

EETIM reg 0D3h ;RD2 ONLY! EEPROM timer register

FCON reg 0D1h ;FLASH programming register

mFBUSY equ bit0 ;FLASH busy mFPS equ bit3 ;FLASH space mapping

Dimmy.

ðÒÉ×ÅÔ Vladislav! ÷ÔÏÒÎÉË éÀÎØ 28 2005 03:21, Vladislav -> Ivan Melnikov:

V> á ÔÁË ÏÎÏ É ÅÓÔØ. ó ÔÏÞËÉ ÚÒÅÎÉÑ ÓÉÓÔÅÍÙ ËÏÍÁÎÄ ( ÓÐÏÓÏ ÁÄÒÅÓÁÃÉÉ ), V> ÐÒÏà ÎÅ ÒÁÚÌÉÞÁÅÔ ×ÎÕÔÒÅÎÎÀÀ É ×ÎÅÛÎÀÀ XRAM. ðÅÒÅËÌÀÞÁÔØ ÐÒÅÄÅÔÓÑ V> ÓÁÍÏÍÕ ÞÅÒÅÚ ÒÅÇÉÓÔÒ ÕÐÒÁ×ÌÅÎÉÑ ÉÌÉ ÒÁÓÐÒÅÄÅÌÉÔØ ×ÎÅÛÎÀÀ XRAM, ÔÁË, V> ÞÔÏ ÏÎÁ ÎÅ ÐÅÒÅÓÅËÁÌÁÓØ Ó ×ÎÕÔÒÅÎÎÅÊ. V>

ðÌÏÈÏ, ÎÁÄÏ ÓÁÍÏÍÕ ×ÓÅ ÏÔÓÌÅÖÉ×ÁÔØ. ïÛÉÂÏË ÂÕÄÅÔ ÂÏÌØÛÅ, Á ÏÔÌÁ×ÌÉ×ÁÔØ ÉÈ ÂÕÄÅÔ ÔÒÕÄÎÅÅ. ó Õ×ÁÖÅÎÉÅÍ, Ivan Melnikov ÷ÔÏÒÎÉË éÀÎØ 28 2005 23:45.

... "òÙÂÁË ÒÙÂÁËÁ ÎÅÎÁ×ÉÄÉÔ ÎÁ×ÅÒÎÑËÁ."

Hello Ivan.

28 Jun 05 23:45, Ivan Melnikov wrote to Vladislav:

V>> á ÔÁË ÏÎÏ É ÅÓÔØ. ó ÔÏÞËÉ ÚÒÅÎÉÑ ÓÉÓÔÅÍÙ ËÏÍÁÎÄ ( ÓÐÏÓÏ ÁÄÒÅÓÁÃÉÉ ), V>> ÐÒÏà ÎÅ ÒÁÚÌÉÞÁÅÔ ×ÎÕÔÒÅÎÎÀÀ É ×ÎÅÛÎÀÀ XRAM. ðÅÒÅËÌÀÞÁÔØ ÐÒÅÄÅÔÓÑ V>> ÓÁÍÏÍÕ ÞÅÒÅÚ ÒÅÇÉÓÔÒ ÕÐÒÁ×ÌÅÎÉÑ ÉÌÉ ÒÁÓÐÒÅÄÅÌÉÔØ ×ÎÅÛÎÀÀ XRAM, ÔÁË, V>> ÞÔÏ ÏÎÁ ÎÅ ÐÅÒÅÓÅËÁÌÁÓØ Ó ×ÎÕÔÒÅÎÎÅÊ. V>>

IM> ðÌÏÈÏ, ÎÁÄÏ ÓÁÍÏÍÕ ×ÓÅ ÏÔÓÌÅÖÉ×ÁÔØ.

üÔÏ ÎÅ ÈÏpÏÛÏ É ÎÅ ÐÌÏÈÏ, ÜÔÏ ÐpÏÓÔÏ ÄÁÎÎÏÓÔØ.

IM> ïÛÉÂÏË ÂÕÄÅÔ ÂÏÌØÛÅ, Á ÏÔÌÁ×ÌÉ×ÁÔØ ÉÈ ÂÕÄÅÔ ÔÒÕÄÎÅÅ.

ëÁËÉÈ ÏÛÉÂÏË? åÓÌÉ ÎÁÄÏ pÁÚÍÅÓÔÉÔØ ÞÔÏ-ÔÏ ÉÍÅÎÎÏ pÁÚÄÅÌØÎÏ × ÏÂÌÁÓÔÑÈ ÐÁÍÑÔÉ, ÔÏ ÎÁÄÏ ÐÅpÅÍÅÎÎÙÅ ÏÂßÑ×ÌÑÔØ × ÎyÖÎÙÈ ÓÅÇÍÅÎÔÁÈ, ÐÏÔÏÍ ÜÔÉ ÓÅÇÍÅÎÙ ÌÉÎËÏ×ÁÔØ ÐÏ ÎyÖÎÙÍ ÁÄpÅÓÁÍ. ðpÁ×ÄÁ Ó keil Ñ ÄÁ×ÎÏ ÐpÅËpÁÔÉÌ pÁÂÏÔÁÔØ, É ËÏÎËpÅÔÎÙÊ ÓÉÎÔÁËÓÉÓ ÐÏÄÓËÁÚÁÔØ ÎÅ ÍÏÇy, ÎÁÄÏ × ÄÏËÅ ÎÁ ËÏÍÐÉÌÑÔÏp ÓÍÏÔpÅÔØ. ó Õ×ÁÖÅÎÉÅÍ, Andy <mailto:andy coÂaËa svrw.ru>

icq 44341220

Hi there Ivan !!!

----------------

28 Jun 05 23:45, Ivan Melnikov wrote Vladislav:

ÉÓÐÏÌØÚÏ×ÁÔØ user classes ÎÅ ÐÏÄÏÊÄÅÔ? ÉÌÉ Ó ËÁËÏÊ ÃÅÌØÀ ÔÅÂÅ ÎÁÄÏ ÉÈ pÁÚÄÅÌÉÔØ?

// const

ðÒÉ×ÅÔ const! óÕÂÂÏÔÁ éÀÌØ 02 2005 14:40, const _oshiyko -> Ivan Melnikov:

co> ÉÓÐÏÌØÚÏ×ÁÔØ user classes ÎÅ ÐÏÄÏÊÄÅÔ?

á ÞÔÏ ÜÔÏ ÔÁËÏÅ ?

co> ÉÌÉ Ó ËÁËÏÊ ÃÅÌØÀ ÔÅÂÅ ÎÁÄÏ ÉÈ pÁÚÄÅÌÉÔØ? co>

ëÁË Ó ËÁËÏÊ, ×ÎÁÞÁÌÅ ÚÁÐÉÓÁÔØ ×Ï ×ÎÕÔÒÅÎÎÀÀ ÏÂÌÁÓÔØ ïúõ, Á ÐÏÓÌÅ ×Ï ×ÎÅÛÎÀÀ. éÌÉ ÔÁË ÎÅ ÐÏÌÕÞÉÔÓÑ ? ëÒÏÍÅ ÜÔÏÇÏ Õ ÍÅÎÑ ÐÏÌÕÞÁÅÔÓÑ, ÞÔÏ Ñ ÍÏÇÕ Ó ÕÓÔÒÏÊÓÔ×Ï, ËÏÔÏÒÏÅ ÎÁ ÐÌÁÔÅ ÎÁÈÏÄÉÔÓÑ, ÓÞÉÔÁÔØ ÔÏÌØËÏ ÎÁÐÒÑÍÕÀ, Á ÅÓÌÉ ÄÁÎÎÙÅ ÓÞÉÔÁÎÎÙÅ Ó ÕÓÔÒÏÊÓÔ×Ï ÚÁÐÉÓÙ×ÁÀ × ïúõ ÔÏ ÐÒÉ ÞÔÅÎÉÉ ÉÚ ÂÕÆÅÒÁ ÏÛÉÂËÉ ÐÏÓÔÏÑÎÎÏ ÉÄÕÔ. ÷ÏÔ ÔÁËÁÑ ÂÁÄÑÇÁ.

ó Õ×ÁÖÅÎÉÅÍ, Ivan Melnikov óÒÅÄÁ éÀÌØ 06 2005 22:59.

... "þÅÍ ÄÁÌØÛÅ × ÌÅÓ - ÔÅÍ ÂÌÉÖÅ ×ÙÌÅÚ."

Join the Discussion

Have something to add? Share your thoughts — no account required.

Didn't find your answer?

Ask the community — no account required