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

📄 blinky.src

📁 购买C8051F系列新华龙单片机开发板上给的资料
💻 SRC
字号:
; blinky.SRC generated from: blinky.c
; COMPILER INVOKED BY:
;        C:\Keil\C51\BIN\c51.exe blinky.c DB OE SRC

$NOMOD51

NAME	BLINKY

CCF2	BIT	0D8H.2
EWARN	BIT	0C0H.6
TB80	BIT	098H.3
SPI0CKR	DATA	09DH
CCF3	BIT	0D8H.3
TB81	BIT	098H.3
CAN0TST	DATA	0DBH
P0	DATA	080H
SPIEN	BIT	0F8H.0
CCF4	BIT	0D8H.4
SM00	BIT	098H.7
P1	DATA	090H
CCF5	BIT	0D8H.5
AA	BIT	0C0H.2
SM10	BIT	098H.6
WDTCN	DATA	0FFH
P2	DATA	0A0H
SM20	BIT	098H.5
ADC0CF	DATA	0BCH
P3	DATA	0B0H
AC	BIT	0D0H.6
P4	DATA	0C8H
LEC0	BIT	0C0H.0
EIE1	DATA	0E6H
P5	DATA	0D8H
ADC2CF	DATA	0BCH
LEC1	BIT	0C0H.1
EA	BIT	0A8H.7
P6	DATA	0E8H
EIE2	DATA	0E7H
LEC2	BIT	0C0H.2
MCE1	BIT	098H.5
P7	DATA	0F8H
PSCTL	DATA	08FH
CANINIT	BIT	0F8H.0
CF	BIT	0D8H.7
ADC0CN	DATA	0E8H
DAC0CN	DATA	0D4H
SFRPAGE	DATA	084H
DAC1CN	DATA	0D4H
P0MDOUT	DATA	0A4H
ADC2CN	DATA	0E8H
P1MDOUT	DATA	0A5H
IE	DATA	0A8H
P2MDOUT	DATA	0A6H
AMX0PRT	DATA	0BDH
P3MDOUT	DATA	0A7H
EIP1	DATA	0F6H
P4MDOUT	DATA	09CH
TXBMT	BIT	0F8H.1
EIP2	DATA	0F7H
P5MDOUT	DATA	09DH
PCA0CPH0	DATA	0FCH
P6MDOUT	DATA	09EH
PCA0CPH1	DATA	0FEH
P7MDOUT	DATA	09FH
PCA0CPH2	DATA	0EAH
CANTEST	BIT	0F8H.7
CR	BIT	0D8H.6
CAN0CN	DATA	0F8H
PCA0CPH3	DATA	0ECH
EXF2	BIT	0C8H.6
REN0	BIT	098H.4
PCA0CPL0	DATA	0FBH
PCA0CPH4	DATA	0EEH
EMI0CF	DATA	0A3H
SFRPGCN	DATA	096H
EXF3	BIT	0C8H.6
REN1	BIT	098H.4
PCA0CPL1	DATA	0FDH
PCA0CPH5	DATA	0E2H
PCA0CPM0	DATA	0DAH
PCA0MD	DATA	0D9H
PCA0CN	DATA	0D8H
ADC2GT	DATA	0C4H
EXF4	BIT	0C8H.6
PCA0CPL2	DATA	0E9H
PCA0CPM1	DATA	0DBH
PCA0CPL3	DATA	0EBH
PCA0CPM2	DATA	0DCH
IP	DATA	0B8H
CP0FIF	BIT	088H.4
PCA0CPL4	DATA	0EDH
PCA0CPM3	DATA	0DDH
CP1FIF	BIT	088H.4
PCA0CPL5	DATA	0E1H
PCA0CPM4	DATA	0DEH
CY	BIT	0D0H.7
SI	BIT	0C0H.3
CP2FIF	BIT	088H.4
PCA0CPM5	DATA	0DFH
ADC2LT	DATA	0C6H
XBR0	DATA	0E1H
SADEN0	DATA	0B9H
BOFF	BIT	0C0H.7
XBR1	DATA	0E2H
EMI0CN	DATA	0A2H
CANCCE	BIT	0F8H.6
XBR2	DATA	0E3H
XBR3	DATA	0E4H
REF0CN	DATA	0D1H
SADDR0	DATA	0A9H
AMX0CF	DATA	0BAH
SADDR1	DATA	0A9H
AD0INT	BIT	0E8H.5
HVA0CN	DATA	0D6H
RCAP2H	DATA	0CBH
SFRLAST	DATA	086H
PS	BIT	0B8H.4
RCAP3H	DATA	0CBH
AMX2CF	DATA	0BAH
SP	DATA	081H
AD2INT	BIT	0E8H.5
RCAP4H	DATA	0CBH
EMI0TC	DATA	0A1H
OV	BIT	0D0H.2
SMB0CN	DATA	0C0H
CP0RIF	BIT	088H.5
CAN0DATH	DATA	0D9H
RCAP2L	DATA	0CAH
TMR3	DATA	0CCH
CANEIE	BIT	0F8H.3
MODF	BIT	0F8H.5
CP1RIF	BIT	088H.5
RCAP3L	DATA	0CAH
CP2RIF	BIT	088H.5
RCAP4L	DATA	0CAH
SMB0CR	DATA	0CFH
S0MODE	BIT	098H.7
CAN0DATL	DATA	0D8H
CPT0MD	DATA	089H
CPT0CN	DATA	088H
CANDAR	BIT	0F8H.5
P1MDIN	DATA	0ADH
CPT1MD	DATA	089H
CPT1CN	DATA	088H
P2MDIN	DATA	0AEH
CPT2MD	DATA	089H
CPT2CN	DATA	088H
P3MDIN	DATA	0AFH
SFRNEXT	DATA	085H
SPI0CN	DATA	0F8H
TMR2CF	DATA	0C9H
TMR3CF	DATA	0C9H
PCON	DATA	087H
TMR4CF	DATA	0C9H
SPIF	BIT	0F8H.7
CANSIE	BIT	0F8H.2
TMOD	DATA	089H
TCON	DATA	088H
WCOL	BIT	0F8H.6
NSSMD0	BIT	0F8H.2
AMX0SL	DATA	0BBH
NSSMD1	BIT	0F8H.3
TMR2CN	DATA	0C8H
TMR3CN	DATA	0C8H
AMX2SL	DATA	0BBH
TMR4CN	DATA	0C8H
CP0OUT	BIT	088H.6
CP1OUT	BIT	088H.6
IE0	BIT	088H.1
CP2OUT	BIT	088H.6
IE1	BIT	088H.3
OSCICL	DATA	08BH
CLKSEL	DATA	097H
B	DATA	0F0H
DAC0H	DATA	0D3H
ADC0H	DATA	0BFH
OSCICN	DATA	08AH
DAC1H	DATA	0D3H
SMBFTE	BIT	0C0H.1
BUSY	BIT	0C0H.7
RXOK	BIT	0C0H.4
DAC0L	DATA	0D2H
ADC0L	DATA	0BEH
DAC1L	DATA	0D2H
TXOK	BIT	0C0H.3
ACC	DATA	0E0H
ES0	BIT	0A8H.4
AD0EN	BIT	0E8H.7
CT2	BIT	0C8H.1
ET0	BIT	0A8H.1
CT3	BIT	0C8H.1
ET1	BIT	0A8H.3
TF0	BIT	088H.5
AD2EN	BIT	0E8H.7
CT4	BIT	0C8H.1
ET2	BIT	0A8H.5
RI0	BIT	098H.0
TF1	BIT	088H.7
TF2	BIT	0C8H.7
SMBTOE	BIT	0C0H.0
RI1	BIT	098H.0
TH0	DATA	08CH
TF3	BIT	0C8H.7
EX0	BIT	0A8H.0
TI0	BIT	098H.1
IT0	BIT	088H.0
PCA0H	DATA	0FAH
TH1	DATA	08DH
TF4	BIT	0C8H.7
EX1	BIT	0A8H.2
TI1	BIT	098H.1
IT1	BIT	088H.2
P	BIT	0D0H.0
OSCXCN	DATA	08CH
TL0	DATA	08AH
PCA0L	DATA	0F9H
TL1	DATA	08BH
PT0	BIT	0B8H.1
LED	BIT	090H.6
RS0	BIT	0D0H.3
PT1	BIT	0B8H.3
RS1	BIT	0D0H.4
PT2	BIT	0B8H.5
TR0	BIT	088H.4
AD0TM	BIT	0E8H.6
CP0EN	BIT	088H.7
TR1	BIT	088H.6
TR2	BIT	0C8H.2
PX0	BIT	0B8H.0
CP1EN	BIT	088H.7
AD2TM	BIT	0E8H.6
TR3	BIT	0C8H.2
PX1	BIT	0B8H.2
CP2EN	BIT	088H.7
RCAP3	DATA	0CAH
TR4	BIT	0C8H.2
CAN0ADR	DATA	0DAH
DPH	DATA	083H
ADC0GTH	DATA	0C5H
DPL	DATA	082H
CANIE	BIT	0F8H.1
ADC0GTL	DATA	0C4H
SBUF0	DATA	099H
CANIF	BIT	0F8H.4
ADC0LTH	DATA	0C7H
SBUF1	DATA	099H
EXEN2	BIT	0C8H.3
RSTSRC	DATA	0EFH
FLACL	DATA	0B7H
EXEN3	BIT	0C8H.3
CPRL2	BIT	0C8H.0
CP0HYN0	BIT	088H.0
SCON0	DATA	098H
EXEN4	BIT	0C8H.3
CPRL3	BIT	0C8H.0
CP1HYN0	BIT	088H.0
CP0HYN1	BIT	088H.1
SCON1	DATA	098H
CPRL4	BIT	0C8H.0
CP2HYN0	BIT	088H.0
CP1HYN1	BIT	088H.1
CP0HYP0	BIT	088H.2
ADC0LTL	DATA	0C6H
CP2HYN1	BIT	088H.1
CP1HYP0	BIT	088H.2
CP0HYP1	BIT	088H.3
STA	BIT	0C0H.5
CP2HYP0	BIT	088H.2
CP1HYP1	BIT	088H.3
CP2HYP1	BIT	088H.3
SMB0ADR	DATA	0C3H
CAN0STA	DATA	0C0H
SSTA0	DATA	091H
SMB0DAT	DATA	0C2H
TMR2H	DATA	0CDH
SPI0CFG	DATA	09AH
TMR3H	DATA	0CDH
CKCON	DATA	08EH
TMR4H	DATA	0CDH
RXOVRN	BIT	0F8H.4
TMR2L	DATA	0CCH
TMR3L	DATA	0CCH
TMR4L	DATA	0CCH
F0	BIT	0D0H.5
FLSCL	DATA	0B7H
AD0CM0	BIT	0E8H.2
F1	BIT	0D0H.1
STO	BIT	0C0H.4
ENSMB	BIT	0C0H.6
AD0CM1	BIT	0E8H.3
SPI0DAT	DATA	09BH
AD2CM0	BIT	0E8H.0
AD2CM1	BIT	0E8H.1
AD0WINT	BIT	0E8H.1
AD2CM2	BIT	0E8H.2
AD0BUSY	BIT	0E8H.4
PSW	DATA	0D0H
ADC2	DATA	0BEH
AD2WINT	BIT	0E8H.3
AD2BUSY	BIT	0E8H.4
CCF0	BIT	0D8H.0
RB80	BIT	098H.2
SMB0STA	DATA	0C1H
CCF1	BIT	0D8H.1
EPASS	BIT	0C0H.5
RB81	BIT	098H.2
?PR?main?BLINKY      SEGMENT CODE 
?PR?PORT_Init?BLINKY SEGMENT CODE 
?PR?_Timer3_Init?BLINKY                  SEGMENT CODE 
?PR?Timer3_ISR?BLINKY                    SEGMENT CODE 
	EXTRN	CODE (?C_STARTUP)
	PUBLIC	Timer3_ISR
	PUBLIC	_Timer3_Init
	PUBLIC	PORT_Init
	PUBLIC	main
; 
; //------------------------------------------------------------------------------------
; // Blinky.c
; //------------------------------------------------------------------------------------
; // Copyright (C) 2005 Silicon Laboratories, Inc.
; //
; // AUTH: BD
; // DATE: 15 MAR 2002
; //
; // This program flashes the green LED on the C8051F040 target board about five times
; // a second using the interrupt handler for Timer3.
; // Target: C8051F04x
; //
; // Tool chain: KEIL Eval 'c'
; //
; 
; //------------------------------------------------------------------------------------
; // Includes
; //------------------------------------------------------------------------------------
; #include <c8051f040.h>                    // SFR declarations
; 
; //-----------------------------------------------------------------------------
; // 16-bit SFR Definitions for 'F04x
; //-----------------------------------------------------------------------------
; 
; sfr16 RCAP3    = 0xCA;                 // Timer3 reload value
; sfr16 TMR3     = 0xCC;                 // Timer3 counter
; 
; //------------------------------------------------------------------------------------
; // Global CONSTANTS
; //------------------------------------------------------------------------------------
; 
; #define SYSCLK 3062500                    // approximate SYSCLK frequency in Hz
; 
; sbit  LED = P1^6;                         // green LED: '1' = ON; '0' = OFF
; 
; //------------------------------------------------------------------------------------
; // Function PROTOTYPES
; //------------------------------------------------------------------------------------
; void PORT_Init (void);
; void Timer3_Init (int counts);
; void Timer3_ISR (void);
; 
; //------------------------------------------------------------------------------------
; // MAIN Routine
; //------------------------------------------------------------------------------------
; void main (void) {

	RSEG  ?PR?main?BLINKY
main:
	USING	0
			; SOURCE LINE # 47
; 
;    // disable watchdog timer
;    WDTCN = 0xde;
			; SOURCE LINE # 50
	MOV  	WDTCN,#0DEH
;    WDTCN = 0xad;
			; SOURCE LINE # 51
	MOV  	WDTCN,#0ADH
; 
;    SFRPAGE = CONFIG_PAGE;                 // Switch to configuration page
			; SOURCE LINE # 53
	MOV  	SFRPAGE,#0FH
;    PORT_Init ();
			; SOURCE LINE # 54
	LCALL	PORT_Init
; 
;    SFRPAGE = TMR3_PAGE;                   // Switch to Timer 3 page
			; SOURCE LINE # 56
	MOV  	SFRPAGE,#01H
;    Timer3_Init (SYSCLK / 12 / 10);        // Init Timer3 to generate interrupts
			; SOURCE LINE # 57
	MOV  	R7,#0B0H
	MOV  	R6,#063H
	LCALL	_Timer3_Init
;                                           // at a 10 Hz rate.
;    EA = 1;											// enable global interrupts
			; SOURCE LINE # 59
	SETB 	EA
;    #pragma asm
;     mov acc,#00h
	  mov acc,#00h
;   #pragma endasm
; 
;    SFRPAGE = LEGACY_PAGE;                 // Page to sit in for now
			; SOURCE LINE # 64
	CLR  	A
	MOV  	SFRPAGE,A
?C0001:
; 
;    while (1) {                            // spin forever
			; SOURCE LINE # 66
; 
;    }
			; SOURCE LINE # 68
	SJMP 	?C0001
; END OF main

; }
; 
; //------------------------------------------------------------------------------------
; // PORT_Init
; //------------------------------------------------------------------------------------
; //
; // Configure the Crossbar and GPIO ports
; //
; void PORT_Init (void)

	RSEG  ?PR?PORT_Init?BLINKY
PORT_Init:
			; SOURCE LINE # 77
; {
			; SOURCE LINE # 78
;    XBR2    = 0x40;                     // Enable crossbar and weak pull-ups
			; SOURCE LINE # 79
	MOV  	XBR2,#040H
;    P1MDOUT |= 0x40;                    // enable P1.6 (LED) as push-pull output
			; SOURCE LINE # 80
	ORL  	P1MDOUT,#040H
; }
			; SOURCE LINE # 81
	RET  	
; END OF PORT_Init

; 
; //------------------------------------------------------------------------------------
; // Timer3_Init
; //------------------------------------------------------------------------------------
; //
; // Configure Timer3 to auto-reload and generate an interrupt at interval
; // specified by <counts> using SYSCLK/12 as its time base.
; //
; //
; void Timer3_Init (int counts)

	RSEG  ?PR?_Timer3_Init?BLINKY
_Timer3_Init:
	USING	0
			; SOURCE LINE # 91
;---- Variable 'counts?240' assigned to Register 'R6/R7' ----
; {
			; SOURCE LINE # 92
;    TMR3CN = 0x00;                      // Stop Timer3; Clear TF3;
			; SOURCE LINE # 93
	CLR  	A
	MOV  	TMR3CN,A
;                                        // use SYSCLK/12 as timebase
;    RCAP3   = -counts;                  // Init reload values
			; SOURCE LINE # 95
	CLR  	C
	SUBB 	A,R7
	MOV  	R7,A
	CLR  	A
	SUBB 	A,R6
	MOV  	RCAP3+01H,A
	MOV  	RCAP3,R7
;    TMR3    = 0xffff;                   // set to reload immediately
			; SOURCE LINE # 96
	MOV  	A,#0FFH
	MOV  	TMR3+01H,A
	MOV  	TMR3,A
;    EIE2   |= 0x01;                     // enable Timer3 interrupts
			; SOURCE LINE # 97
	ORL  	EIE2,#01H
;    TR3 = 1;                            // start Timer3
			; SOURCE LINE # 98
	SETB 	TR3
; }
			; SOURCE LINE # 99
	RET  	
; END OF _Timer3_Init

CSEG	AT	00073H
	LJMP	Timer3_ISR

; 
; //------------------------------------------------------------------------------------
; // Interrupt Service Routines
; //------------------------------------------------------------------------------------
; 
; //------------------------------------------------------------------------------------
; // Timer3_ISR
; //------------------------------------------------------------------------------------
; // This routine changes the state of the LED whenever Timer3 overflows.
; //
; // NOTE: The SFRPAGE register will automatically be switched to the Timer 3 Page
; // When an interrupt occurs.  SFRPAGE will return to its previous setting on exit
; // from this routine.
; //
; void Timer3_ISR (void) interrupt 14

	RSEG  ?PR?Timer3_ISR?BLINKY
	USING	0
Timer3_ISR:
			; SOURCE LINE # 114
; {
;    TF3 = 0;                               // clear TF3
			; SOURCE LINE # 116
	CLR  	TF3
;    LED = ~LED;                            // change state of LED
			; SOURCE LINE # 117
	CPL  	LED
; }			; SOURCE LINE # 118
	RETI 	
; END OF Timer3_ISR

	END

⌨️ 快捷键说明

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