新聞中心

        EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計應(yīng)用 > 松翰單片機(jī)內(nèi)部8位分辨率ADC

        松翰單片機(jī)內(nèi)部8位分辨率ADC

        作者: 時間:2013-04-03 來源:網(wǎng)絡(luò) 收藏

        ;目的學(xué)習(xí)內(nèi)部及數(shù)據(jù)處理
        ;完整代碼下載:http://www.51hei.com/f/shrad.rar
        CHIP SN8F27E65
        //{{SONIX_CODE_OPTION
        .Code_Option WDT_CLK Flosc/4
        .Code_Option Reset_Pin P04
        .Code_Option LVD LVD_Max ; 3.3V Reset
        .Code_Option Watch_Dog Disable ;關(guān)閉看門狗
        .Code_Option Low_Fcpu Flosc/1
        .Code_Option High_Clk IHRC_16M ; Internal 16M RC Oscillator
        .Code_Option High_Fcpu Fhosc/1
        .Code_Option Security Enable
        .Code_Option Noise_Filter Enable
        //}}SONIX_CODE_OPTION


        DATAC EQU P4M
        DATA EQU P4
        LEDC EQU P0M
        LED EQU P0

        .DATA;數(shù)據(jù)
        ORG 0
        TEMP DS 1
        ACCBUF DS 1
        PflagBUF DS 1

        .CODE;程序代碼
        ORG 0000H
        JMP A0
        ORG 000BH
        JMP T0
        ORG 0015H
        A0: B0BCLR FT0IEN;關(guān)閉T0中斷
        B0BCLR FT0ENB;禁止T0中斷
        MOV A,#16;設(shè)置T0時鐘
        B0MOV T0M,A;
        MOV A,#16;裝初值
        B0MOV T0C,A;
        B0BCLR FT0IRQ;清中斷標(biāo)志
        B0BSET FT0IEN;開T0中斷
        B0BSET FT0ENB;允許T0中斷
        B0BSET FGIE;開總中斷
        MOV A,#3;顯示值
        MOV 41H,A

        MOV A,#2;顯示值
        MOV 42H,A
        MOV A,#1;顯示值
        MOV 43H,A
        MOV A,#0;顯示值
        MOV 44H,A
        ;*********************************************
        ;顯示設(shè)置
        ;*********************************************
        A1: MOV A,#11111110B ;顯示位碼
        MOV 31H,A
        MOV A,#4;顯示位數(shù)
        MOV 33H,A
        B0MOV H,#0 ; 清“H”以尋址RAM bank 0。
        B0MOV L,#41H ; 設(shè)定寄存器地址。

        A2:
        CLR ADM;清 模式寄存器ADM

        CLR ADR;清ADR寄存器

        MOV A,#00000001B
        B0MOV P5CON,A;選擇P5.0為輸入通道

        MOV A,#00000000B
        B0MOV P5M,A;設(shè)置P5口為輸入模式

        MOV A,#00000000B
        B0MOV P5UR,A;禁止P5口為上拉模式

        B0BSET FADENB;ADC使能
        CALL M005;延時
        MOV A,#00001000B
        OR ADM,A;設(shè)置ADCHS[3:0]選擇ADC 輸入通道

        B0BSET FGCHS;使能ADC 輸入通道

        B0BSET FADS;開始AD 轉(zhuǎn)換。
        A3:
        B0BTS1 FEOC; 判斷是否轉(zhuǎn)換完成
        JMP A3
        ;*************************
        ; MOV A,ADB
        MOV A,#0
        MOV 60H,A
        MOV A,ADB;8位模式下轉(zhuǎn)換后數(shù)據(jù)存在ADB中
        MOV 61H,A
        ;****************************
        CALL CL1;調(diào)用數(shù)據(jù)處理
        MOV A,64H;將處理后的數(shù)據(jù)顯示出來
        MOV 44H,A;千位
        MOV A,63H
        MOV 43H,A;百位

        MOV A,62H
        MOV 42H,A;十位

        MOV A,61H
        MOV 41H,A;個位

        B0BCLR FEOC;清標(biāo)志
        CALL M008;延時

        JMP A2

        ;*********************************************
        ;T0中斷
        ;*********************************************
        T0: B0BCLR FT0IEN;關(guān)T0中斷
        B0BCLR FT0ENB;禁止T0中斷
        B0XCH A,ACCBUF;壓棧
        B0MOV A,PFLAG;
        B0MOV PFLAGBUF,A;
        MOV A,#0FFH;清顯示
        B0MOV DATAC,A;
        B0MOV DATA,A;
        MOV A,#0FFH;
        B0MOV LEDC,A;
        MOV A,#0FFH;
        B0MOV LED,A;
        T1:
        MOV A,#0FFH;設(shè)置為輸出口
        B0MOV DATAC,A;
        B0MOV Y,#Q1$M;編碼表地址
        B0MOV Z,#Q1$L;編碼表地址
        B0MOV A, @HL;間接尋址
        ADD Z,A;尋找要顯示編碼
        MOVC ;查表高八位存在R低八位存在ACC
        B0MOV DATA,A;數(shù)據(jù)輸出


        MOV A,#0FFH;設(shè)為輸出口
        B0MOV LEDC,A

        MOV A,31H;位碼
        B0MOV LED,A
        MOV A,31H;處理位碼的數(shù)由于沒有RL只有RLC現(xiàn)在這里處理C
        MOV 32H,A
        RLC 32H
        RLCM 31H;移動位碼
        INCMS L;顯示數(shù)據(jù)控制寄存器處理
        CALL M001;延時提高亮度
        MOV A,#0FFH;清顯示
        B0MOV DATAC,A
        B0MOV DATA,A
        MOV A,#0FFH
        B0MOV LEDC,A
        MOV A,#0FFH
        B0MOV LED,A
        DECMS 33H;自動減1判斷是否也顯示完成
        JMP T1


        上一頁 1 2 下一頁

        評論


        相關(guān)推薦

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

        關(guān)閉
        主站蜘蛛池模板: 灌阳县| 商丘市| 上犹县| 鹤庆县| 游戏| 绥德县| 大足县| 融水| 岳西县| 郑州市| 上高县| 色达县| 潞西市| 江永县| 南江县| 揭阳市| 滁州市| 丰台区| 荔波县| 广汉市| 梓潼县| 天长市| 庄浪县| 东源县| 姜堰市| 卓尼县| 肇源县| 惠州市| 吉木乃县| 鄄城县| 巴青县| 喀喇沁旗| 平乐县| 宽城| 麻城市| 台中市| 昆山市| 枣阳市| 合江县| 郸城县| 彭山县|