zoukankan      html  css  js  c++  java
  • 【HC89S003F4开发板】9ASM写定时器1

    HC89S003F4开发板ASM写定时器1

    一、实现过程

    1、外部寄存器设置

    image

    • 扩展 XSFR 采用和 XRAM 同样的访问方式,使用 MOVX A, @DPTR 和 MOVX @DPTR ,A 来进行读写。
    WDTCCR	EQU		0FEA0H
    	CLR  	A
    	MOV  	DPTR,#WDTCCR
    	MOVX 	@DPTR,A ; 关闭看门狗
    

    2、设置定时器1

    • 定时器计算方法
      • 公式: 65536 - ((1/1000) / (1/(Fosc / Timer分频系数)))
      • Fosc=16000000,Timer分频系数=12
      • 得到反推值 0xFACB
    EA		BIT		0A8H.7
    TCON	DATA	088H
    IE		DATA	0A8H
    TL1		DATA	08BH
    TH1		DATA	08DH
    TMOD	DATA	089H
    TCON1	EQU		0FE80H
    CLR  	A
    MOV  	DPTR,#TCON1
    MOVX 	@DPTR,A
    MOV  	TMOD,A
    MOV  	TH1,#0FAH
    MOV  	TL1,#0CBH
    ORL  	IE,#08H
    ORL  	TCON,#040H
    SETB 	EA
    

    3、程序地址定位

    image

    程序前80H作为中断向量地址需要跳过,并且使用了T1中断需要添加转移

    ORG 00H
    AJMP MAIN  
    ORG 01BH
    AJMP TIME1 
    ORG 80H
    

    二、完整程序

    • @实现效果:led闪烁
    $NOMOD51
    P0_0	BIT		080H.0
    EA		BIT		0A8H.7
    TCON	DATA	088H
    IE		DATA	0A8H
    TL1		DATA	08BH
    TH1		DATA	08DH
    TMOD	DATA	089H
    CLKSWR	DATA	08EH
    WDTCCR	EQU		0FEA0H
    CLKDIV	EQU		0FE91H
    TCON1	EQU		0FE80H
    P0M0	EQU		0FF00H
    		ORG 00H
    		AJMP MAIN  
    		ORG 01BH
    		AJMP TIME1 
    		ORG 80H
    MAIN:
    	USING	0
    	MOV		R0, #00H
    	CLR  	A
    	MOV  	DPTR,#WDTCCR
    	MOVX 	@DPTR,A
    	
    	MOV  	CLKSWR,#051H
    	MOV  	DPTR,#CLKDIV
    	INC  	A
    	MOVX 	@DPTR,A
    	MOV  	DPTR,#P0M0
    	MOVX 	A,@DPTR
    	ANL  	A,#0F0H
    	ORL  	A,#08H
    	MOVX 	@DPTR,A
    	CLR  	A
    	MOV  	DPTR,#TCON1
    	MOVX 	@DPTR,A
    	MOV  	TMOD,A
    	MOV  	TH1,#0FAH
    	MOV  	TL1,#0CBH
    	ORL  	IE,#08H
    	ORL  	TCON,#040H
    	SETB 	EA
    DELAY:
    	SJMP	DELAY
    
    
    TIME1:
    	USING	0	
    	CJNE	R0, #0C8H, exit
    	CPL  	P0_0 	
    	MOV		R0, #00H
    exit:
    	INC		R0
    	RETI
    	
    	END
    	
    
  • 相关阅读:
    一起学Windows phone 7开发(四. DeepZoom)
    设计模式Observer(观察者模式)
    今天挺开心
    设计模式Singleton(单例模式)
    PointFromScreen和PointFromScreen的用法和区别
    设计模式Adapter(适配器模式)
    设计模式Abstract Factory(抽象工厂)
    C++多线程信号量,互斥
    linux bash 几个命令
    大小端存储
  • 原文地址:https://www.cnblogs.com/yywBlogW/p/11386652.html
Copyright © 2011-2022 走看看