在线看毛片网站电影-亚洲国产欧美日韩精品一区二区三区,国产欧美乱夫不卡无乱码,国产精品欧美久久久天天影视,精品一区二区三区视频在线观看,亚洲国产精品人成乱码天天看,日韩久久久一区,91精品国产91免费

<menu id="6qfwx"><li id="6qfwx"></li></menu>
    1. <menu id="6qfwx"><dl id="6qfwx"></dl></menu>

      <label id="6qfwx"><ol id="6qfwx"></ol></label><menu id="6qfwx"></menu><object id="6qfwx"><strike id="6qfwx"><noscript id="6qfwx"></noscript></strike></object>
        1. <center id="6qfwx"><dl id="6qfwx"></dl></center>

            新聞中心

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

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

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

            具體電路如下:

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

            源程序:

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

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

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

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

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

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

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

            CONT EQU 0X01 ;控制寄存器

            PC EQU 0X02 ;程序計(jì)數(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)部時(shí)鐘源,中斷屏蔽。

            ;P54當(dāng)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 ;設(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í)引腳必須設(shè)置為輸入狀態(tài)

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

            IOW IOCF

            ; EXIE_bit2=0 ICIE_bit1=0 TCIE_bit0=1

            ;開定時(shí)器中斷

            MOV A,@6

            MOV TCC,A

            BC RF,0 ;清零定時(shí)器中斷溢出標(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 ;判斷是否為計(jì)數(shù)器中斷,如果是得話進(jìn)入

            JMP INTQUIT ;計(jì)數(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í)

            評(píng)論


            技術(shù)專區(qū)

            關(guān)閉