松翰單片機(jī)內(nèi)部8位分辨率ADC
;目的學(xué)習(xí)內(nèi)部8位分辨率ADC及數(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時(shí)鐘
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;清ADC 模式寄存器ADM
CLR ADR;清ADR寄存器
MOV A,#00000001B
B0MOV P5CON,A;選擇P5.0為ADC輸入通道
MOV A,#00000000B
B0MOV P5M,A;設(shè)置P5口為輸入模式
MOV A,#00000000B
B0MOV P5UR,A;禁止P5口為上拉模式
B0BSET FADENB;ADC使能
CALL M005;延時(shí)
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;個(gè)位
B0BCLR FEOC;清標(biāo)志
CALL M008;延時(shí)
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;移動(dòng)位碼
INCMS L;顯示數(shù)據(jù)控制寄存器處理
CALL M001;延時(shí)提高亮度
MOV A,#0FFH;清顯示
B0MOV DATAC,A
B0MOV DATA,A
MOV A,#0FFH
B0MOV LEDC,A
MOV A,#0FFH
B0MOV LED,A
DECMS 33H;自動(dòng)減1判斷是否也顯示完成
JMP T1
相關(guān)推薦
技術(shù)專區(qū)
- FPGA
- DSP
- MCU
- 示波器
- 步進(jìn)電機(jī)
- Zigbee
- LabVIEW
- Arduino
- RFID
- NFC
- STM32
- Protel
- GPS
- MSP430
- Multisim
- 濾波器
- CAN總線
- 開關(guān)電源
- 單片機(jī)
- PCB
- USB
- ARM
- CPLD
- 連接器
- MEMS
- CMOS
- MIPS
- EMC
- EDA
- ROM
- 陀螺儀
- VHDL
- 比較器
- Verilog
- 穩(wěn)壓電源
- RAM
- AVR
- 傳感器
- 可控硅
- IGBT
- 嵌入式開發(fā)
- 逆變器
- Quartus
- RS-232
- Cyclone
- 電位器
- 電機(jī)控制
- 藍(lán)牙
- PLC
- PWM
- 汽車電子
- 轉(zhuǎn)換器
- 電源管理
- 信號(hào)放大器
評論