<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

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

          EM78P153定時器的應(yīng)用

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

          具體電路如下:

          本文引用地址:http://www.ex-cimer.com/article/201611/316076.htm

          源程序:

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

          em78p153 TCC內(nèi)部定時器的學(xué)習(xí)

          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 ;程序計數(shù)器

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

          Z_FLAG EQU 2 ;零標(biāo)志位

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

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

          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 ;進(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 ;程序開始前的初始化

          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 ;預(yù)分頻器分給TCC,分頻比為 1:8

          CONTW ;上升沿觸發(fā),內(nèi)部時鐘源,中斷屏蔽。

          ;P54當(dāng)I/O口用時,TS_bit5必須為0

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

          IOW IOC5

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

          IOW IOC6

          MOV A,@0B11111111 ;設(shè)置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表示外部中斷輸入引腳,此時引腳必須設(shè)置為輸入狀態(tài)

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

          IOW IOCF

          ; EXIE_bit2=0 ICIE_bit1=0 TCIE_bit0=1

          ;開定時器中斷

          MOV A,@6

          MOV TCC,A

          BC RF,0 ;清零定時器中斷溢出標(biāo)志位

          ENI ;開中斷

          ;DISI

          RET

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

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

          MOV BACC,A ;保護(hù)ACC和STATUS

          SWAPA STATUS

          MOV BSTATUS,A

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

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

          MOV A,@6

          MOV TCC,A

          BC RF,0 ;清中斷標(biāo)志位

          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 ;恢復(fù)寄存器

          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ù)專區(qū)

          關(guān)閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();