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

📄 rtc.asm

📁 摩托车的步进电机驱动。用的是LPC900系列单片机的RTC定时器
💻 ASM
字号:
;*******************************************************************************
; http://www.zlgmcu.com
; xy-mcu@163.com
;********************************************************************************

;定义RTC定时时间。
$nomod51
$include (reg935.h)
RTCH_DATA equ 0xb
RTCL_DATA equ 0x3f    //50ms @7.373MHz
;(RTCH,RTCL) = (t*f/128)-1
;t为定时时间(单位:秒)
;f为晶振频率(单位:赫兹)RC振荡为:7372800Hz



;RTC定时器初始化
;*************************RTC定时器初始化函数***************************************
RTC_INI:
		ORL  IEN0,#0C0H		;允许RTC中断
		MOV  WDCON,#0E0H	;停止看门狗运行。
		MOV  RTCH,#RTCH_DATA
		MOV  RTCL,#RTCL_DATA
		MOV  RTCCON,#63H  ;RTC 时钟源为 CCLK,中断使能,启动RTC,
		RET

;*************************RTC定时器中断服务函数***************************************
RTC_INT:
       	;MOV  RTCCON,#63H;RTC 定时器的
		MOV 	A,RTCCON
		ANL 	A,#7FH
		MOV 	RTCCON,A
		;其他处理
		RETI

;******************************* IO 口配置*******************************************
;PxM1.y    PxM2.y
;  0  		 0     准双向口
;  0		 1     推挽(上拉)
;  1		 0     仅为输入(高阻)
;  1		 1     开漏输出
;  请根据需要配置,最好不要使用“准双向”方式,他的抗干扰能力没有其他方式好。


IO_INIT:
		MOV 	P0M1,#00000000B
		MOV 	P0M2,#00000000B

		MOV 	P1M1,#00000000B
		MOV 	P1M2,#00000000B

		RET

;********************************************************************
;T0  定时500ms
;T0  初始化
;5MS  定时器中断
TH0DAT	EQU  0B8H     ;定时5ms的初值
TL0DAT  EQU  00H  

DIVF    EQU  100   ;100分频  5ms*100= 500ms	改变这个值可以改变定时时间。


T0_CNT   EQU 55H  ;定时器计数器的计数变量,根据需要设置RAM地址。

T0_INI:
		ORL 	TMOD,#01H
		MOV		TAMOD,#00H
		MOV 	TL0,#TL0DAT
		MOV		TH0,#TH0DAT
		MOV     T0_CNT,#0
		SETB	TR0
		RET
;***********************定时器0中断************************************8
T0_INT: 
		MOV 	TL0,#TL0DAT   ;定时器重载初值
		MOV		TH0,#TH0DAT
        MOV     A,T0_CNT
		INC     A
		CJNE	A,#DIVF,RETX

		;100*5ms 定时到,处理一些东西。
		;
		;
		CLR     A
		MOV     T0_CNT,A
        
		RETI

RETX:   ;没有到5*100ms
   		MOV     T0_CNT,A
        
		RETI		


		

	end

⌨️ 快捷键说明

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