??? 02/11/06 22:52 Read: times |
#109788 - REDLED Responding to: ???'s previous message |
Andy Neil said:
absolutely nothing whatsoever Andy Neil said:
This is an 8052 forum (hence the name) ;-------------------------------------------------------------------------------; ; N E E D E D F I R M W A R E ; ;-------------------------------------------------------------------------------; ;Source file: NEEDED.ASM ;Version: 0.0 ;Date: Feb. 2006 ;Application: AT89C51ED2 in X2 Mode @ 11.0592MHz, All peripherals in X2 mode ;IDE: Keil uVision v2.4 ;Toolchain: FLIP v2.4.4 ;Author: payam7777777@hotmail.com ;Major Changes: . COSTOMIZED FOR USER ;-------------------------------------------------------------------------------; ; I N T E R R U P T M A P ; ;-------------------------------------------------------------------------------; ;TASK |SOURCE |PRIORTY|FREQ. |LENGTH |CPU |STACK |ALTERS ; ;CHILLER|TIMER2 |3 |1600 Hz| us| %| | ; ;-------------------------------------------------------------------------------; ; R E G I S T E R U S A G E ; ;-------------------------------------------------------------------------------; ;R0 ;R1 ;R2 ;R3 MAY BE USED JUST IN CASE ;R4 ;R5 ;R6 ;R7 ;-------------------------------------------------------------------------------; ; D A T A D E F I N I T I O N S ; ;-------------------------------------------------------------------------------; ;MAY BE USED JUST IN CASE ;-------------------------------------------------------------------------------; ; B I T D E F I N I T I O N S ; ;-------------------------------------------------------------------------------; REDLED BIT P3.4 ;RED LED (dangerous) ;-------------------------------------------------------------------------------; ; I N T E R R U P T V E C T O R S ; ;-------------------------------------------------------------------------------; ORG 0000H ;Power on / RESET JMP MAIN ;Main loop ORG 0003H ;Exrernal0 interrupt JMP XHNDLR ;Exception/Error handler ORG 000BH ;Timer0 interrupt JMP T0ISR ;Exception/Error handler ORG 0013H ;Exrernal1 interrupt JMP XHNDLR ;Exception/Error handler ORG 001BH ;Timer1 interrupt JMP T1ISR ;Exception/Error handler ORG 0023H ;Serial interrupt JMP SERISR ;Exception/Error handler ORG 002BH ;Timer2 interrupt JMP T2ISR ;Timer2 ISR ORG 0033H ;PCA interrupt JMP XHNDLR ;Exception/Error handler ORG 003BH ;Keyboard interrupt JMP XHNDLR ;Exception/Error handler ORG 0043H ;- JMP XHNDLR ;Exception/Error handler ORG 004BH ;SPI interrupt JMP XHNDLR ;Exception/Error handler ;-------------------------------------------------------------------------------; ; C H I L L E R I S R ; ;-------------------------------------------------------------------------------; T2ISR: PUSH PSW CLR TF2 CLR CRUCIFY_USER_FOR_HIS_QUESTION CALL CHILL_OUT_MAN CLR REDLED POP PSW RETI ;-------------------------------------------------------------------------------; ; M A I N ; ;-------------------------------------------------------------------------------; MAIN: MOV AUXR,#03H ;ALE disabled, Exp. RAM disabled, normal MOVX ORL CKCON0,#01H ;CPU in X2 MOV IPH0,#00010000B ;- PPCH PT2H PSH PT1H PX1H PT0H PX0H MOV IPL0,#00010000B ;Timer2(highest priority) CLR P3.2 ;Unused pin prorammed as output to prevent noise SETB OFF ;Reduce initial load on PS (Extremely critical) CALL INITMR2 ;Initialize Timer2 in 16-bit autoreload mode @ 1600Hz CALL INITDOG ;Initialize Watchdog LOOP: MOV WDTRST,#1EH ;Feed it in the 1st place, but... MOV WDTRST,#0E1H ;since it still plans to bark, give it a kick JMP LOOP ;-------------------------------------------------------------------------------; ; I N I T M R 2 S U B R O U T I N E ; ;-------------------------------------------------------------------------------; INITMR2:ANL T2MOD,#0FCH ;DCEN=0 => Just up counter, T2OE=0 => P1.0 usable CLR EXF2 ;Reset flag in T2CON CLR TCLK ;Timer 2 is niether the transmit clock generator... CLR RCLK ;... nor the receive clock generator(in T2CON) CLR EXEN2 ;Ignore events on T2EX MOV TH2,#0FBH ;FB7F 1600Hz @ 11.0592 in X2 with timer2 in X2 MOV TL2,#7FH ;1600Hz @ 11.0592 in X2 with timer2 in X2 MOV RCAP2H,#0FBH ;1600Hz @ 11.0592 in X2 with timer2 in X2 MOV RCAP2L,#7FH ;1600Hz @ 11.0592 in X2 with timer2 in X2 CLR CT2 ;Timer mode (C/T2# in T2CON) CLR CPRL2 ;Reload mode (CP/RL2# in T2CON) SETB EA ;Interupt enable SETB ET2 ;Enable timer2 interrupt SETB TR2 ;Timer2 run(in T2CON) RET ;-------------------------------------------------------------------------------; ; I N I T D O G S U B R O U T I N E ; ;-------------------------------------------------------------------------------; INITDOG:ORL WDTPRG,#00H ;(2^14-1) machine cycles, 8.88ms @ 11.0592MHz in X2 RET ;-------------------------------------------------------------------------------; ; E X C E P T I O N H A N D L E R ; ;-------------------------------------------------------------------------------; ; ORG 0FFFFH - 0002H ;Length of Handler routine XHNDLR: JMP XHNDLR ;Unused memory locations filled with NOPs(00H). If 1) unexpected interrupt (due to glitch/crash) or 2) crazy PC (due to noise) happened, reset uC by preventing main from feeding/kicking the dog. ;-------------------------------------------------------------------------------; ; E N D ; ;-------------------------------------------------------------------------------; END |
Topic | Author | Date |
Regarding 115.2 kbps Baud Rate !!! | 01/01/70 00:00 | |
Off-topic | 01/01/70 00:00 | |
REDLED | 01/01/70 00:00 | |
lower![]() | 01/01/70 00:00 |