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

📄 startup.a51.bak

📁 用c8051f310开发的433M无线模块cc1100的完整程序
💻 BAK
字号:
;本启动程序应用于CC1100_F310无线模块试验版
$NOMOD51
$INCLUDE (C8051F310.INC)

	NAME    ?C_STARTUP


?C_C51STARTUP	SEGMENT   CODE

		EXTRN CODE (?C_START)
		PUBLIC  ?C_STARTUP

?STACK          SEGMENT IDATA		; ?STACK goes into IDATA RAM.
                RSEG    ?STACK		; switch to ?STACK segment.
                DS      50		; reserve your stack space

	CSEG    AT      0
?C_STARTUP:
	LJMP    STARTUP1		;上电复位
	CSEG    AT      0003H		;外部0
	RETI
	CSEG    AT      000BH		;定时器0溢出
	RETI
	CSEG    AT      0013H		;外部1
	RETI
	CSEG    AT      001BH		;定时器1溢出
	RETI
;	CSEG    AT      0023H		;UART0
;	RETI
;	CSEG    AT      002BH		;定时器2溢出
;	RETI
	CSEG    AT      0033H		;SPI0
	RETI
	CSEG    AT      003BH		;SMB0
	RETI
	CSEG    AT      0043H		;保留
	RETI
	CSEG    AT      004BH		;ADC0窗口比较
	RETI
	CSEG    AT      0053H		;ADC0转换结束
	RETI
	CSEG    AT      005BH		;PCA0
	RETI
	CSEG    AT      0063H		;比较器0
	RETI
	CSEG    AT      006BH		;比较器1
	RETI
	CSEG    AT      0073H		;定时器3溢出
	RETI

;************************* 上电复位运行F310配置程序 **********************

	RSEG    ?C_C51STARTUP

STARTUP1:
	CLR	EA
	MOV	SP		,#0A0H
;	MOV	SP		,#?STACK-1
; (1)  PCA初始化:关闭看门狗
	ANL	PCA0MD,		#0BFH
	MOV	PCA0MD,		#000H

; (2)  定时器初始化:(T0,T3未使用)
	MOV	TCON,		#045H		;INT0/1边沿触发中断(备用)TR1(b6)=1(启动T1运行)
;	T1:UART0的波特率发生器 波特率=9600
	MOV	TMOD,		#020H
	MOV	TL1,		#096H
;	MOV	TH1,		#096H		;9600/15200
	MOV	TH1,		#0B0H		;9600/15200

;	T2:1ms周期中断:重载值=-24500
;	MOV	CKCON,		#010H		;T2时钟=24.5Mhz,9600
;	MOV	CKCON,		#018H		;T2时钟=24.5Mhz,115200
;	MOV	CKCON,		#011H		;T2时钟=24.5Mhz,38400
	MOV	TMR2RLL,	#LOW(-24500)	;0A04CH
	MOV	TMR2RLH,	#HIGH(-24500)
	MOV	TMR2L,		#LOW(-24500)
	MOV	TMR2H,		#HIGH(-24500)
;	mov	TMR2CN,		#004h		;TR2(b2)=1(启动T2运行)

; (2)  UART初始化:8N1,9600,允许接收。
	MOV	SCON0,		#030H		;8N1,允许接收。

; (4)  基准电压初始化
	MOV	REF0CN,		#008H

; (5)  通用IO端口初始化

;-------------	P0端口   ----------------------------
;     7     6     5     4     3     2     1     0
;     -     -    RX0   TX0    -     -     -     -
;----------------------------------------------------
	MOV	P0MDOUT,	#030H
	MOV	P0,		#0FFH

;------------	P1端口   ----------------------------
;     7     6     5     4     3     2     1     0
;     -     -     -     -     -     -     -     -
;----------------------------------------------------
	MOV	P1MDOUT,	#000H
	MOV	P1,		#0FFH

;------------	P2端口   ----------------------------
;     7     6     5     4     3     2     1     0
;     -     -   GDO0  GDO1   CSn    SO   SCLK   SI
;----------------------------------------------------
	MOV	P2MDOUT,	#00BH
	MOV	P2,		#0FFH

;------------	P3端口   ----------------------------
;     7     6     5     4     3     2     1     0
;     -     -     -    灯1   灯2   灯3   灯4    -
;----------------------------------------------------
	MOV	P3MDOUT,	#01EH
	MOV	P3,		#0E1H
	;数字交叉开关设置
	MOV	XBR0,		#001H	;UART0接到端口引脚
	MOV	XBR1,		#040H	;交叉开关使能

; (6)  振荡器初始化
	MOV	OSCICN,		#083H	;内部振荡器使能,不分频

; (7)  中断寄存器设置
	MOV	IE,		#030H	;允许中断:T2溢出,UART0。

;*************************   F310配置程序结束 **********************

                LJMP    ?C_START

                END

⌨️ 快捷键说明

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