您的位置 首页 新品

EM78P153定时器的使用

义隆单片机的定时器的使用,以EM78P153为例,练习了下TCC内部定时的使用。选了个现成的电路做调试来做练习。具体电路如下:源程序:/*******…

义隆单片机守时器的运用,以EM78P153为例,操练了下TCC内部守时的运用。选了个现成的电路做调试来做操练。

详细电路如下:

源程序:

/*******************************************************

em78p153 TCC内部守时器的学习

DAT=P61 CLK=P60 KON=P62 K_UP K_DOWN LED1=P51 LED2=P52

*******************************************************/

;*********************寄存器及变量界说****************************

R0 EQU 0X00 ;直接地址寄存器

TCC EQU 0X01 ;计时,计数器

CONT EQU 0X01 ;操控寄存器

PC EQU 0X02 ;程序计数器

STATUS EQU 3 ;状况寄存器

Z_FLAG EQU 2 ;零标志位

C_FLAG EQU 0 ;进位标志位

;***************************************************************

IOC5 EQU 0X05

PORT5 EQU 0x05

;**************************************************************

IOC6 EQU 0X06

PORT6 EQU 0x06

;**************************************************************

IOCB EQU 0X0B ;下拉操控寄存器

IOCC EQU 0X0C ;开漏操控寄存器

IOCD EQU 0X0D ;上拉操控寄存器

IOCE EQU 0X0E ;WDT操控寄存器

RF EQU 0X0F ;中止屏蔽寄存器

IOCF EQU 0X0F

NUM==0X20

LP_CNT0==0X21

LP_CNT1==0X22

DATA==0X23

SEND_BIT_NUM==0X24

LEDH==0X26

LEDL==0X25

TCC_Count EQU 0X2F

;************************************************************

BACC EQU 0X2D ;ACC备份寄存器

BSTATUS EQU 0X2E ;STATUS备份寄存器

;**********************************************************

ORG 00H

JMP START

ORG 0008H

JMP INT_TCC ;进入中止

TABLE:

ADD PC,A

RETL 0X11;0

RETL 0XDB;1

RETL 0X23;2

RETL 0X43;3

RETL 0XC9;4

RETL 0X45;5

RETL 0X05;6

RETL 0XD3;7

RETL 0X01;8

RETL 0X41;9

RETL 0X11;9

START:

CALL INITAITE ;程序开端前的初始化

BS PORT5,1

BS PORT5,2

MOV A,@0X00 ;give the first data to TB_NUM

MOV LEDH ,A

MOV LEDL ,A

;;;;;;;;;;;;;;;;;;;;;

ST:

BS PORT5,1

BC PORT5,2

MOV A,LEDH

CALL TABLE

MOV DATA,A

CALL SEND

CALL DELAYMS

BS PORT5,2

BC PORT5,1

MOV A,LEDL

CALL TABLE

MOV DATA,A

CALL SEND

CALL DELAYMS

BC STATUS,C_FLAG ;进位清零

;;;;;judge TB_NUMData;;;;;;;;

MOV A,LEDL

SUB A,@0x09

JBS STATUS,C_FLAG

JMP RESET

JMP ST

;;;;;;;;;;;;;;;

RESET:

MOV A,@0X00 ;give the first data to TB_NUM

MOV LEDL ,A

INC LEDH

JMP ST

;;***********************************************

;;***********74hc164 send*************************

SEND: MOV A,@8 ;one data=8 Bit

MOV SEND_BIT_NUM,A

SEND_LOOP:

RLC DATA ;Send The Data

JBC STATUS,0 ;DATA=1

BS PORT6,1

JBS STATUS,0 ;DATA=0

BC PORT6,1

BC PORT6,0 ;do Clock

NOP

BS PORT6,0

DJZ SEND_BIT_NUM ;for 8 loops

JMP SEND_LOOP

RET

;;*******************************************

INITAITE:

MOV A,@0B00000100 ;预分频器分给TCC,分频比为 1:8

CONTW ;上升沿触发,内部时钟源,中止屏蔽。

;P54当I/O口用时,TS_bit5有必要为0

MOV A,@0B11111000 ;P5口界说为输出,输进口: 1为输入 ,0为输出

IOW IOC5

MOV A,@0B00111100 ;P6口界说为输出口: 0为输出 ,1为高阻状况

IOW IOC6

MOV A,@0B11111111 ;设置P60口,为下拉: 0为下拉使能 1为下拉制止

IOW IOCB ;bit0_P50 bit1_P51 bit2_P52

;bit4_P60 bit5_P61 bit6_P62

MOV A,@0B00000000 ;开漏操控寄存器: 1为使能 ,0为制止

IOW IOCC

MOV A,@0B00110001 ;上拉操控寄存器: 0为使能 ,1为制止

IOW IOCD ;bit0=P60 ,bit1=P61 ,bit2=P62 ,bit3

;bit4=P64 ,bit5=P65 ,bit6=P66 ,bit7=P67

MOV A,@0B00000000 ;WDT操控寄存器

IOW IOCE ;WDTE_bit7 看门狗使能操控: 0为制止,1为使能

;EIS_bit6 P60引脚功用界说: 0表明为P60为双向IO口

; 1表明外部中止输入引脚,此刻引脚有必要设置为输入状况

MOV A,@0B00000001 ;中止屏蔽寄存器: 0制止中止,1答应中止

IOW IOCF

; EXIE_bit2=0 %&&&&&%IE_bit1=0 TCIE_bit0=1

;开守时器中止

MOV A,@6

MOV TCC,A

BC RF,0 ;清零守时器中止溢出标志位

ENI ;开中止

;DISI

RET

;**********************TCC中止处理**************************************

INT_TCC: DISI ;先封闭中止

MOV BACC,A ;维护ACC和STATUS

SWAPA STATUS

MOV BSTATUS,A

JBS RF,0 ;判别是否为计数器中止,如果是得话进入

JMP INTQUIT ;计数器中止服务程序,不是则退出

MOV A,@6

MOV TCC,A

BC RF,0 ;清中止标志位

INC TCC_Count

JBS STATUS,Z_FLAG

JMP INTQUIT

MOV A,@200

MOV TCC_Count,A

;;;;;;;;;;;;;;;;;;;;;;;;;;;;

MOV A,@001000000B

XOR PORT6,A ;蜂鸣器取反

INC LEDL ;LED加1

INTQUIT: SWAPA BSTATUS ;康复寄存器

MOV STATUS,A

SWAP BACC

SWAPA BACC

RETI

;;******************************************

DELAYMS:

MOV A, @200

MOV LP_CNT0, A

NOP

P0_DLY:

NOP

MOV A, @20

MOV LP_CNT1, A

P0_LP:

NOP

NOP

NOP

DJZ LP_CNT1

JMP P0_LP

DJZ LP_CNT0

JMP P0_DLY

RET

END

声明:本文内容来自网络转载或用户投稿,文章版权归原作者和原出处所有。文中观点,不代表本站立场。若有侵权请联系本站删除(kf@86ic.com)https://www.86ic.net/xinpin/272035.html

为您推荐

联系我们

联系我们

在线咨询: QQ交谈

邮箱: kf@86ic.com

关注微信
微信扫一扫关注我们

微信扫一扫关注我们

返回顶部