<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>

新聞中心

EEPW首頁(yè) > 嵌入式系統 > 設計應用 > EM78P153定時(shí)器的應用

EM78P153定時(shí)器的應用

作者: 時(shí)間:2016-11-13 來(lái)源:網(wǎng)絡(luò ) 收藏
義隆單片機定時(shí)器的使用,以EM78P153為例,練習了下TCC內部定時(shí)的使用。選了個(gè)現成的電路做調試來(lái)做練習。

具體電路如下:

本文引用地址:http://dyxdggzs.com/article/201611/316076.htm

源程序:

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

em78p153 TCC內部定時(shí)器的學(xué)習

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

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

;*********************寄存器及變量定義****************************

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

TCC EQU 0X01 ;計時(shí),計數器

CONT EQU 0X01 ;控制寄存器

PC EQU 0X02 ;程序計數器

STATUS EQU 3 ;狀態(tài)寄存器

Z_FLAG EQU 2 ;零標志位

C_FLAG EQU 0 ;進(jìn)位標志位

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

IOC5 EQU 0X05

PORT5 EQU 0x05

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

IOC6 EQU 0X06

PORT6 EQU 0x06

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

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

IOCC EQU 0X0C ;開(kāi)漏控制寄存器

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 ;進(jìn)入中斷

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 ;程序開(kāi)始前的初始化

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 ;進(jìn)位清零

;;;;;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 ;上升沿觸發(fā),內部時(shí)鐘源,中斷屏蔽。

;P54當I/O口用時(shí),TS_bit5必須為0

MOV A,@0B11111000 ;P5口定義為輸出,輸入口: 1為輸入 ,0為輸出

IOW IOC5

MOV A,@0B00111100 ;P6口定義為輸出口: 0為輸出 ,1為高阻狀態(tài)

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 ;開(kāi)漏控制寄存器: 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 看門(mén)狗使能控制: 0為禁止,1為使能

;EIS_bit6 P60引腳功能定義: 0表示為P60為雙向IO口

; 1表示外部中斷輸入引腳,此時(shí)引腳必須設置為輸入狀態(tài)

MOV A,@0B00000001 ;中斷屏蔽寄存器: 0禁止中斷,1允許中斷

IOW IOCF

; EXIE_bit2=0 ICIE_bit1=0 TCIE_bit0=1

;開(kāi)定時(shí)器中斷

MOV A,@6

MOV TCC,A

BC RF,0 ;清零定時(shí)器中斷溢出標志位

ENI ;開(kāi)中斷

;DISI

RET

;**********************TCC中斷處理**************************************

INT_TCC: DISI ;先關(guān)閉中斷

MOV BACC,A ;保護ACC和STATUS

SWAPA STATUS

MOV BSTATUS,A

JBS RF,0 ;判斷是否為計數器中斷,如果是得話(huà)進(jìn)入

JMP INTQUIT ;計數器中斷服務(wù)程序,不是則退出

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



關(guān)鍵詞: EM78P153定時(shí)

評論


技術(shù)專(zhuān)區

關(guān)閉
国产精品自在自线亚洲|国产精品无圣光一区二区|国产日产欧洲无码视频|久久久一本精品99久久K精品66|欧美人与动牲交片免费播放
<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>