新聞中心

        EEPW首頁 > 嵌入式系統 > 設計應用 > 以8051單片機為核心的電機轉速測量控制程序

        以8051單片機為核心的電機轉速測量控制程序

        作者: 時間:2012-09-19 來源:網絡 收藏

        8031為, 利用8279芯片實現按鍵輸入和利用數碼管顯示所測,利用ADC0809將輸入電壓模擬量轉化為數字量(實驗箱內部已接好相關接口)的目的。然后利用DA0832將上的傳感器配合DA0832的CKMOT接口將脈沖信號接到8031的INT0,利用外中斷實現速度的,一次外中斷會使速度計數器自動加一,利用定時器產生一秒的計時,得出一秒內速度計數器的值就可以得到。另定時計數器每250MS產生一次定時器中斷,利用中斷來檢測是否有新的信號輸入,以達到實時轉速的目的。

        ORG 0000h
        ajmp main
        ORG 0003h ;外部中斷0
        AJMP ZS
        ORG 000BH ;定時計數器0中斷
        AJMP JS
        ORG 0100H
        main: mov sp,#60h
        CLR PSW.5 ;清零標志位
        SETB P1.0 ;置位檢測位
        setb et0
        SETB IT0 ;外部中斷0下降沿有效
        SETB EX0 ;允許T0中斷
        mov DPTR,#5FFFH ;8279初始化
        MOV A,#0DCH
        MOVX @DPTR,A
        WAIT: MOVX A,@DPTR
        JB ACC.7,WAIT
        MOV A,#00H
        MOVX @DPTR,A
        MOV A,#34H
        MOVX @DPTR,A

        本文引用地址:http://www.104case.com/article/170836.htm

        MOV R0,#30H ;清零所用數值緩沖區
        CL: MOV A,#00H
        MOV @R0,A
        INC R0
        CJNE R0,#36H,CL
        MOV 36H,#200
        MOV 37H,#20
        ACALL DIR
        TIME: MOV TMOD,#02H ;一秒定時
        MOV TH0,#6
        MOV TL0,#6
        SETB TR0 ;開啟T0中斷
        SETB EA

        LOP2: JNB PSW.5,LOP3
        CLR PSW.5
        ACALL DIR ;到一秒顯示轉速
        JMP LOP2
        LOP3: MOV DPTR,#9FF4H ;啟動a/d
        MOVX @DPTR,A
        ;ACALL DELAY1
        JB P1.0, $
        MOVX A,@DPTR
        MOV DPTR,#7FFFH ;啟動d/a
        MOVX @DPTR,A
        AJMP LOP2

        JS: PUSH ACC ;T0中斷子
        DJNZ 36H,OUT
        DJNZ 37H,next
        ajmp next1
        next: MOV 36H,#200
        ajmp out
        next1:SETB PSW.5
        MOV 33H,30H
        MOV 34H,31H
        MOV 35H,32H
        MOV 30H,#0
        MOV 31H,#0
        MOV 32H,#0
        MOV 36H,#200
        MOV 37H,#20
        OUT: POP ACC
        RETI

        ZS: PUSH ACC ;外部中斷子
        CLR EX0
        MOV A,30H
        ADD A,#1
        DA A
        MOV 30H,A
        CJNE A,#99H,OUT1
        MOV 30H,#0
        MOV A,31H
        ADD A,#1
        DA A
        MOV 31H,A
        CJNE A,#99H,OUT1
        MOV 31H,#0
        MOV A,32H
        ADD A,#1
        DA A
        MOV 32H,A
        OUT1: SETB EX0
        POP ACC

        RETI

        DIR: MOV R0,#33H
        MOV DPTR,#5FFFH
        MOV A,#92H
        MOVX @DPTR,A
        MOV R2,#03H
        LED: MOV A,@R0
        ANL A,#0FH
        MOV DPTR,#LEDTAB
        MOVC A,@A+DPTR
        MOV DPTR,#5EFFH
        MOVX @DPTR,A
        MOV A,@R0
        SWAP A
        ANL A,#0FH
        MOV DPTR,#LEDTAB
        MOVC A,@A+DPTR
        MOV DPTR,#5EFFH
        MOVX @DPTR,A
        INC R0
        DJNZ R2,LED
        RET

        LEDTAB:DB 0c0H,0f9H,0a4H,0b0H,99H,92H,82H,0f8H,80H,90H

        DELAY1: MOV R6,#5
        DELAY2: MOV R7,#200
        DJNZ R7,$
        DJNZ R6,DELAY2
        RET

        END

        接地電阻相關文章:接地電阻測試方法




        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 大足县| 岢岚县| 金乡县| 黄浦区| 大同市| 长乐市| 洪洞县| 威远县| 韩城市| 罗城| 安泽县| 南京市| 定南县| 衡山县| 金堂县| 邹平县| 确山县| 浦城县| 封丘县| 乡宁县| 金塔县| 日喀则市| 尼木县| 澄迈县| 巴林右旗| 庆城县| 博兴县| 吐鲁番市| 远安县| 宁夏| 藁城市| 恩施市| 乌什县| 锦州市| 合江县| 南丹县| 丁青县| 古交市| 忻州市| 乌兰浩特市| 格尔木市|