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

📄 init_43.asm

📁 中颖单片机 69p43的一个加密及电源管理部分程序
💻 ASM
字号:
;*****************************************************
;Company : CHK
;File Name : INIT.asm
;Author : XiaoW
;Create Data : 2005-11-10
;Last Modified : 2005-11-10
;Description :
	;程序初始化模块
	;功能:完成寄存器初始化
	;参量:		
	;返回变量:	ALL
	;控制I/O:	ALL
	;可修改数据(伪指令)	
	;
;参数模型:
;Version : 1.0
;*****************************************************
;

  ;  FOR RAM CLEAR
B0  EQU   0H


INITMCU:

;--------系统寄存器初始化------------------------------------------------------

      ;******** PORTS SET **************
	LDI PFCON,0FH
	LDI PORTF,0FH  ;set portF to be output port

	LDI PECON,0FH  ;设置PORTE.2 INPUT(PSDI), PORTE.1 OUTPUT(PSDO)
	LDI PORTE,0FH  ;set portE to be output port
	
	LDI PDCON,0FH
	LDI PORTD,0FH ;set portD to be output port
	
	LDI PCCON,0FH
	LDI PORTC,07H ;set portC to be output port PC.3 INPUT (PSCK)
	
	LDI PBCON,0FH ;设置PORTB OUTPUT
	LDI PORTB,0FH ;set portB to be output port
	
	LDI PACON,0CH ; 设置PortA AD 输入  PA.0 PA.1 INPUT AD
	LDI PORTA,0CH ; set portA to be output port
     ;*********** END PORTS SET ***************
     
     
     ;************ TIMER SET ******************
	//LDI TM0,0111B ;set timer 0 freq.(OSC/4)/32=64 us
	//LDI TL0,0FH   ;set T0L=0FH
	//LDI TH0,0FH   ;set T0H=0FH 
	;LDI T0CON,0010B ;定时器时钟源为外部时钟,本例使

	;LDI TM1,0101B ;set timer 0 freq.(OSC/4)/32=64 us
	;LDI TL1,06H   ;set T0L=0FH
	;LDI TH1,00H   ;set T0H=0FH 
     ;************** END TIMER SET**************
     
     
     ;************ PWM SET ******************
        ;LDI PWM0CON,1 	;PWM0 设置位正向占空比,PWM0 时钟=tosc,选择PWM0 输出
	;LDI PWM0PH,3 	;先设置PWM0 周期高2 位
	;LDI PWM0PM,0FH  ;然后设置PWM0 周期中4 位
	;LDI PWM0PL,0 	;最后设置PWM0 周期低4 位;PWM0 周期为3F0H* tosc=1008*250ns≈25us
	;LDI PWM0DH,0 	;先设置PWM0 占空比高2 位
	;LDI PWM0DM,7 	;然后设置PWM0 占空比中4 位
	;LDI PWM0DL,0FH  ;最后设置PWM0 占空比低4 位
			;PWM0 占空比为7FH* tosc=127*250ns≈3us
	;LDI PWM1CON,9   ;PWM1 设置位反向占空比,PWM0 时钟=tosc,选择PWM1 输出
	;LDI PWM1PH,3    ;先设置PWM1 周期高2 位
	;LDI PWM1PM,0FH  ;然后设置PWM1 周期中4 位
	;LDI PWM1PL,0    ;最后设置PWM1 周期低4 位
			;PWM1 周期为3F0H* tosc=1008*250ns≈25us
	;LDI PWM1DH,0    ;先设置PWM1 占空比高2 位
	;LDI PWM1DM,7    ;然后设置PWM1 占空比中4 位
	;LDI PWM1DL,0FH  ;最后设置PWM1 占空比低4 位
     ;************** END PWM SET**************
     
     
     ;************ AD SET ******************
        ;LDI PAOUT,1110B ;AN0 对应的PORTA.0 口定义为输入.
	LDI ADMODE,0010B ;选择内部基准电压VREF,模拟;通道数2个,AN0-1)
	;LDI ADCH,1000B   ;选择通道AN0 并使能
	;LDI ADCON,1001B ;开始转换,时间 330*tOSC
     ;************** END AD SET*************
     
     
     ;************ WDT SET ******************
        
     ;************** END WDT SET*************
     
     


;--------------------------------------------------------------------------
;用户RAM初始化
;--------------------------------------------------------------------------
	LDI	DPH,	1
	LDI	DPM,	3H
	LDI	DPL,	0FH

LOOP_BANK0:
	LDI	INX,	0	;清空BANK0

	SBIM	DPL,	01
	LDI	30H,	0
	SBCM	DPM,	B0
	LDI	30H,	0
	SBCM	DPH,	B0

	LDI	30H,	0
	SUB	DPL,	B0
	LDI	30H,	3
	SBC	DPM,	B0
	LDI	30H,	0
	SBC	DPH,	B0
	BC	LOOP_BANK0	

     ;************ IE SET ******************
       	
	LDI	IRQ,	0000B
	LDI	IE,	0100B	;定时器T0作外部中断
     ;************** END IE SET*************

	
	
	RTNI
;-----------------------------------------------------------------------------

⌨️ 快捷键说明

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