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

📄 rtcc time.asm

📁 单片机TIME外部RTCC计数功能的程序
💻 ASM
字号:
#include  "mk7a11p.inc"  ;编译该文档需包含"mk7a11p.inc"文件
;--------------------------------------------------------------------------------------------------------------------------- 
;芯片型号(mk7a11p) 
;--------------------------------------------------------------------------------------------------------------------------- 
;配置寄存器设置说明(CONFIG) 
;1-----------FOSC=RC    ;LS,NS,HS,RC    
;2-----------INRC=ON    ;ON,OFF 
;3-----------CPT=OFF    ;ON,OFF    
;4-----------WDTE=Disable   ;Enable,Disable 
;5-----------LV=Low Vol Reset ON  ;Low Vol Reset ON,Low Vol Reset OFF 
;6-----------RESET=...input...   ;...input...,...reset... 
;--------------------------------------------------------------------------------------------------------------------------- 
flag		equ		0x23		;标志 
del_r     	equ   		0x24		;延时 
;--------------------------------------------------------------------------------------------------------------------------- 
#define		flag_key        flag,0		;按键未松开标志 
#define		flag_t		flag,1		;重新计时标志 
;--------------------------------------------------------------------------------------------------------------------------- 
                org		0x3ff		;mk7a11p的复位向量地址定义 
                lgoto		main		;跳转到主程序入口 
;--------------------------------------------------------------------------------------------------------------------------- 
     		org		0x100		;主程序入口地址定义     
main                                             
                movla		0x20 
                movam           fsr		;将0x20送入fsr寄存器 
                ;--------------------------------------------------------------------------------------------------- 
clear_ram               
                ;利用indf和fsr来进行间接寻址 
                ;对0x20-0x2f的RAM进行clear 
                clr		indf 
                mov   		fsr,a 
                andla   	b'00111111'	;将无关的数据虑除 
                xorla   	0x2f 
                btsc   		status,z 
                lgoto   	$+3 
                inc		fsr,m 
                lgoto		clear_ram 
                clr    		fsr		;使用fsr时要注意bank的归位 
                ;--------------------------------------------------------------------------------------------------- 
                ;PortA端口方向及状态设定            
                movla		b'11111101'               
                iodir		porta 
                clr		porta 
                clr		pa_pdm 
                ;--------------------------------------------------------------------------------------------------- 
                ;PortB端口方向及状态设定  
                movla		b'11111001' 
                iodir		portb 
                clr		portb 
                clr		pb_pod 
                clr		pb_pup 
                ;--------------------------------------------------------------------------------------------------- 
                ;将PB2/RTC作为TMR0外部时钟的输入脚 
                movla		b'10000000' 
                movam           pb_pdm 
                ;--------------------------------------------------------------------------------------------------- 
                ;PortB端口8个IO唤醒禁止 
                movla   	b'00000000' 
                movam   	wake_up                    
                ;--------------------------------------------------------------------------------------------------- 
                ;配置TMR0,预分频比为1:16 
                ;TMR0初始值为250 
                ;时钟源为外部时钟 
                movla		b'11100011'                     
                select 
                movla   	.250 
                movam   	tmr0   
                ;--------------------------------------------------------------------------------------------------- 
                ;禁止中断,清除中断标志 
                clr    		irqm 
                clr    		irqf           
;--------------------------------------------------------------------------------------------------------------------------- 
loop          	;程序循环入口 
     		btss  	 	irqf,0 
     		lgoto   	jump_0 
  		bc  		irqf,0 
  		movla 		b'00000010' 
  		xor  		porta		;时间到进行LED开关切换 
  		lgoto  		jump_1 
  		;----------------------------------------------------------------------------------------------------------- 
jump_0   
  		;保持时间等长 
  		nop 
  		nop 
  		nop 
  		nop 
  		;----------------------------------------------------------------------------------------------------------- 
jump_1 
  		bs  		portb,1 
  		;----------------------------------------------------------------------------------------------------------- 
  		;high--125us 
  		inc  		del_r,m 
  		movla 		.20 
  		xor  		del_r,a 
  		btss  		status,z 
  		lgoto  		$-4 
  		clr  		del_r 
  		nop 
  		nop 
  		nop 
  		nop 
  		bc  		portb,1 
  		;----------------------------------------------------------------------------------------------------------- 
  		;low--125us 
  		inc  		del_r,m 
  		movla 		.19 
  		xor  		del_r,a 
  		btss  		status,z 
  		lgoto  		$-4 
  		clr  		del_r 
  		nop 
     	 	lgoto           loop  
;--------------------------------------------------------------------------------------------------------------------------- 
          	end 

⌨️ 快捷键说明

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