Mở ra luồng này để chuẩn bị cho cái tutorial về ADC. Chờ người viết cho cái này vậy, vì vấn đề này ai cũng làm được đơn giản, nhưng hình như chưa có cái tutorial chuẩn của picvietnam. Để đây chờ tác giả.
Chúc vui
Chúc vui
ORG 0x020 ;============================================== ADCDATA RES 1 REGAD1 RES 1 REGAD2 RES 1 REGAD3 RES 1 REGAD4 RES 1 REGAD5 RES 1
;---------------------- ;Khoi tao cac ngo vao ;---------------------- ADC MOVLW B'00000000' ; Tat ca portA la ngo vao ADC MOVWF ADCON1 ; chon Vref = VDD
;============================= ; Doc ADC ; Khong dung ngat de doc ADC ; Su dung thanh ghi GO/DONE ;============================= AD1 MOVLW B'00000001' CALL ADSTART MOVWF REGAD1 AD2 MOVLW B'00010001' CALL ADSTART MOVWF REGAD2 AD3 MOVLW B'00100001' CALL ADSTART MOVWF REGAD3 AD4 MOVLW B'00011001' CALL ADSTART MOVWF REGAD4 AD5 MOVLW B'00100001' CALL ADSTART MOVWF REGAD5
ADSTART MOVWF ADCON0 DELAY12 DECFSZ DLY12, F ; 2 x DLY12 x 0.2 us GOTO DELAY12 ; 2 x 30 x 0.2 = 12us BSF ADCON0, 2 GODONE BTFSC ADCON0, 2 GOTO GODONE ; Cho den khi convert xong MOVF ADRES, W RETURN
PROCESSOR PIC16F877A INCLUDE <P16F877A.INC> __CONFIG _XT_OSC & _WDT_OFF & _LVP_OFF & _CP_OFF ;************************************************************* ;CHUONG TRINH THU NGHIEM DUNG ADC CUA PIC 16F877A ;************************************************************* ;NGUOI THUC HIEN: TALLHT ;************************************************************* ;************************************************************* COUNT EQU 0X20 ;BIEN DELAY COUNT1 EQU 0X21 ;************************************************************ MAIN BANKSEL TRISB CLRF TRISB ;PORTB XUAT LED MOVLW 0XFF MOVWF TRISA ;PORT A LA INPUT LOOP BANKSEL ADCON1 MOVLW 0X00 ;NGO VAO ANALOG,Fosc/2 MOVWF ADCON1 BANKSEL ADCON0 MOVLW 0X01 ;CHON RA0 LAM NGO VAO,ADON=1,BAT ADC MOVWF ADCON0 CALL DELAY ;CHO 1 KHOANG THOI GIAN TRUOC KHI BAT DAU BSF ADCON0,GO ;SET BIT "GO",BAT DAU CONVERT ;*************************************** ;KIEM TRA KET QUA BTFSC ADCON0,GO ;KIEM TRA BIT "DONE" CUA ADCON0 GOTO $-1 ;NEU BANG 1 THI CHO TIEP TUC MOVF ADRES,W ;LAY KẾT QUẢ VÀO W MOVWF PORTB ;XUAT RA PORTB GOTO LOOP ;******************************************************* DELAY MOVLW D'10' MOVWF COUNT BACK MOVLW D'4' MOVWF COUNT1 DECFSZ COUNT1,F GOTO $-1 DECFSZ COUNT,F GOTO BACK RETURN END
Comment