PIC Vietnam

Go Back   PIC Vietnam > Microchip PIC > Cơ bản về vi điều khiển và PIC

Tài trợ cho PIC Vietnam
Trang chủ Đăng Kí Hỏi/Ðáp Thành Viên Lịch Bài Trong Ngày Vi điều khiển

Cơ bản về vi điều khiển và PIC Những bài hướng dẫn cơ bản nhất để làm quen với vi điều khiển PIC

Trả lời
 
Ðiều Chỉnh Xếp Bài
Old 29-09-2005, 06:25 PM   #1
noisePIC
Đệ tử 2 túi
 
Tham gia ngày: May 2005
Bài gửi: 39
:
Cùng khai hoang con 16F88

Sau một thời gian làm quen với PIC noisepic thấy học 16F84 là dễ nhất, và thấy 16F88 nhiều chức năng hơn như:
- ADC
- PWM
- Comparator (bộ so sánh)
.. Nói chung hơn hẳn 16F84. Hiện nay phong trào học PIC đang diễn ra sôi nổi, noisepic biết bên BKHN có hẳn một nhóm học PIC. Hi vọng chúng ta cùng học và khám phá nó. Bắt đầu nhé!

//************************************************** ****
PORTA
Các chức năng có thể làm:
- Biến đổi AD
- Bộ so sánh
- I/O
Các thanh ghi liên qua đến PORTA, các bạn có thể xem thêm trong datasheet.
- Thanh ghi PORTA (RA7:RA0)
- Thanh ghi TRISA(TRISA7:TRISA0)--> I/O?
- Thanh ghi ADCON1(ADFM,ADCS2,VCFG1,VCFG0)
- Thanh ghi ANSEL (Bit ANS4:ANS0)--> cấu hình cho 1 chân là Analog/digital

Nếu dùng chức năng A/D, comparator thì dùng thanh ghi ADCON1.

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

Chương trình sau viết bằng CCS_ làm cho 1 LED nháy tại chân RA0 với khoảng thời gian là 1s
Code:
#include<16F88.h>
#include<def_16F88.h>
#use delay(clock=4000000)
#fuses NOWDT,MCLR,HS
main()
{
TRISA=0;// Chân RA0 là Output
ANS0 =0;// Chân RA là Digital
RA0  =1;// RA0~5V
while(1)
   {
   RA0=!RA0;
   delay_ms(1000);
   }

}
Nếu 10 người cùng học thì tốc độ học sẽ nhanh gấp 10 lần!!..rất mong các bạn hưởng ứng!
Hình Kèm Theo
File Type: bmp PORTA.bmp (2.7 KB, 135 lần tải)
File Type: bmp thanhghi.bmp (10.1 KB, 75 lần tải)

thay đổi nội dung bởi: noisePIC, 30-09-2005 lúc 06:08 PM. Lý do: Sửa lại cho dễ nhìn
noisePIC vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Old 30-09-2005, 12:37 AM   #2
mafd_47a
Đệ tử 3 túi
 
Tham gia ngày: Sep 2005
Bài gửi: 54
:
Chào Noisepic:

Tớ là thành viên của nhóm BK ấy đây, Hôm nay vừa mới nhận được Pic+Mach Nạp từ anh BinhAnh , cho nên bây giờ mới đủ diều kiện thực hành về Pic.( mấy hôm trước chỉ viết chay)

Cậu dung CCS còn tớ dung Mpasm như thế sẽ có sự tương đương . Chúng ta sẽ làm từng phần một, khi làm đến phần nào cậu viết lý thuyết ( bao gồm các thanh ghi, các chức năng ) . Coi như cậu là người cầm trịch của box này, đẫn dắt anh em

Anh em sẽ theo sau để hỗ trợ và bổ sung nếu cần thiết

Tài liệu chính của chúng ta sẽ là cuốn datasheet 16f88

Có lẽ nhưng người tham gia box này đều là những người mới học Pic( như tui) hoặc mới bẳt đầu làm trên 16f88 ( như bác NoisePic) , do đó kinh nghiệm ko nhiều Và chắc chắn ko tránh khỏi sai sót , rất mong sự giúp đỡ của các bậc tiền bối đi trước

Working together to improve ourselves

Bắt đầu thôi ……………….

thay đổi nội dung bởi: mafd_47a, 30-09-2005 lúc 08:52 AM.
mafd_47a vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Old 30-09-2005, 03:00 PM   #3
noisePIC
Đệ tử 2 túi
 
Tham gia ngày: May 2005
Bài gửi: 39
:
Bộ dao động dùng cho 16F88

Có nhiều nguồn cấp xung nhịp cho 16F88

Có 3 nguồn tạo dao động chính:
- Bộ dao động sơ cấp (Primary Oscillator)
- Bộ dao động thứ cấp (Secondary Oscillator)
- Bộ dao động bên trong (Internal Oscillator)
Việc cấu hình các bit trong thanh ghi CONFIG1, OSCCON sẽ để PIC làm việc với bộ dao động nào! tần số bao nhiêu?
//*********************************************
thanh ghi CONFIG1
FOSC2:FOSC0
= 010 // Làm việc với bộ dao động thạch anh, tần số >= 4MHz, cách này thường sử dụng
= 101 // Làm việc với bộ dao động bên trong (INTRC), RA7: I/O
= 100 // INTRC, RA6,RA7: I/O
Thanh ghi OSCCON (0x8F)
SCS<1:0>
= 00 // Chế độ dao động chọn bởi FOSC2:FOSC0
= 01 // xung nhịp hệ thống lấy từ Timer1
= 10 // xung nhịp hệ thống lấy từ bộ dao động RC bên trong.

OSCCON<6:4> 3 bit này sẽ quyết định xung nhịp của bộ dao động bên trong.

//**********************************************
Có 8 chế độ dao động:

LP Lowpower Crystal
XT Crystal/ Resonator
HS High Speed Crystal/Resonator
RC External Resitor/ Capacitor với Fosc/4 tại lối ra RA6
RCIO External Resitor/ Capacitor với I/O trên RA6
INTIO1 Bộ dao động bên trong với Fosc/4 lối ra trên RA6 và I/O trên RA7
INTIO2 Bộ dao động bên trong với I/O trên RA6, và RA7
ECIO Xung nhịp bên ngoài với I/O trên RA6

Do vậy khi lắp bộ dao động thế nào, bạn phải cấu hình bit cho phù hợp!

thay đổi nội dung bởi: noisePIC, 30-09-2005 lúc 03:07 PM.
noisePIC vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Old 01-10-2005, 09:34 PM   #4
vietsonxp
Đệ tử 4 túi
 
Tham gia ngày: Aug 2005
Bài gửi: 83
:
NoiPIC viết rất hay. cảm ơn em nhiều.
vietsonxp vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Old 03-10-2005, 06:09 PM   #5
hamchoi
Nhập môn đệ tử
 
Tham gia ngày: Sep 2005
Bài gửi: 5
:
Khoan đã nào, chương trình thì hay thiệt nhưng sau mình thử chạy chương trình của bạn noisePIC thi máy lại báo lỗi ở phần def_16F88.h nhỉ? Bạn hãy giải thích giùm mình đi.
hamchoi vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Old 03-10-2005, 08:47 PM   #6
noisePIC
Đệ tử 2 túi
 
Tham gia ngày: May 2005
Bài gửi: 39
:
Bạn hamchoi chắc chưa đọc những bài viết cũ của noisepic, vì file def_16f88.h chứa định nghĩa các thanh ghi và các bit của 16F88. Cách lập trình này giúp bạn hiểu rõ hơn về phần cứng. Trong các bài viết của noisepic, dùng đến thanh ghi nào noisepic sẽ bổ sung vào file def_16F88.h--> khi làm xong hết chắc là đủ số thanh ghi và các bit.

Ví dụ file def_16F88.h dủng trong chương trình trên
Code:
// dinh nghia cac thanh ghi
#byte    TMR0=0x01    // Dia chi thanh ghi TRM0
#byte    PORTA=0x05   // Dia chi thanh ghi PORTA
#byte    PORTB=0x06  // Dia chi thanh ghi PORTB
#byte    TRISA=0x85
...................................................................
#byte   ADCON=0x1F
// dinh nghia cac bit
#bit      TRISA0 =  0x85.0
#bit      TRISA1 =  0x85.1
.....
Khi các bạn tự tay viết địa chỉ, các bit trong thanh ghi thì sẽ ngấm hơn bạn sẽ biết chương trình tác động vào thanh ghi nào? bit nào?... dần dần bạn sẽ làm chủ được các chương trình của mình.
Chúc bạn vui vẻ!

thay đổi nội dung bởi: noisePIC, 03-10-2005 lúc 08:51 PM.
noisePIC vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Old 03-10-2005, 11:05 PM   #7
falleaf
PIC Bang chủ
 
falleaf's Avatar
 
Tham gia ngày: May 2005
Bài gửi: 2,631
:
Send a message via Yahoo to falleaf
Em có thể lấy các file .h này trong MPASM, nó đã định nghĩa sẵn rồi, và nó định nghĩa tất cả các thanh ghi có trong danh sách của nó. Nó có rất đầy đủ, em không cần phải viết lại như thế này.

Với CCS C, nó cũng có đầy đủ rồi, không cần viết lại.

Ngoại trừ một số thanh ghi mà em muốn tạo thêm, tuy nhiên, nói chung không nên đặt thêm nhiều ngoài các thanh ghi có trong map registers của nó. Bởi vì mỗi chương trình có một đặc thù riêng, dùng của nó là đủ rồi.
falleaf vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Old 04-10-2005, 09:43 AM   #8
hamchoi
Nhập môn đệ tử
 
Tham gia ngày: Sep 2005
Bài gửi: 5
:
Chào falleaf và noisePIC, sao mình tìm hoài trong MPASM mà không thấy có files có đuôi (.h) nhỉ? Các bác có thể post nó lên để mình download nó về dùng được không?
Cảm ơn trước nhé!
hamchoi vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Old 07-10-2005, 02:42 PM   #9
mafd_47a
Đệ tử 3 túi
 
Tham gia ngày: Sep 2005
Bài gửi: 54
:
Moi nguoi khi hoc F88 hay ho 16x noi chung , chu y doc qua ca quan " PICmicro™Mid-Range MCU family Reference Manual" Quan nay viet rat chi tiet va co code mau bang MPASM.

Co the down tai ( 2.7MB):
http://www.microchip.com/stellent/id...elect=&x=5&y=4
mafd_47a vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Old 07-10-2005, 04:25 PM   #10
mafd_47a
Đệ tử 3 túi
 
Tham gia ngày: Sep 2005
Bài gửi: 54
:
Khi moi lap trinh cho F88 chac co nhieu ban bo ngo ve phan "Configuration Bits", va toi cung vay. Sau day la mot so diem khac biet so voi F84

+ Cac bit Configuration duoc luu o hai dia chi bo nho 2007h( gom 14 bit) va 2008h (2 bit) va cac bit nay duoc dinh nghia trong MPASM do la
PHP Code:
_CONFIG1                    EQU     H'2007'
_CONFIG2                     EQU     H'2008'

;Configuration Byte 1 Options
_CP_ALL                      EQU     H
'1FFF'
_CP_OFF                      EQU     H'3FFF'
_CCP1_RB0                    EQU     H'3FFF'
_CCP1_RB3                    EQU     H'2FFF'
_DEBUG_OFF                   EQU     H'3FFF'
_DEBUG_ON                    EQU     H'37FF'
_WRT_PROTECT_OFF             EQU     H'3FFF'    ;No program memory write protection
_WRT_PROTECT_256             EQU     H
'3DFF'    ;First 256 program memory protected
_WRT_PROTECT_2048            EQU     H'3BFF'    ;First 2048 program memory protected
_WRT_PROTECT_ALL             EQU     H'39FF'    ;All of program memory protected
_CPD_ON                      EQU     H'3EFF'
_CPD_OFF                     EQU     H'3FFF'
_LVP_ON                      EQU     H'3FFF'
_LVP_OFF                     EQU     H'3F7F'
_BODEN_ON                    EQU     H'3FFF'
_BODEN_OFF                   EQU     H'3FBF'
_MCLR_ON                            EQU     H'3FFF'
_MCLR_OFF                    EQU     H'3FDF'
_PWRTE_OFF                   EQU     H'3FFF'
_PWRTE_ON                    EQU     H'3FF7'
_WDT_ON                      EQU     H'3FFF'
_WDT_OFF                     EQU     H'3FFB'
_EXTRC_CLKOUT                EQU     H'3FFF'
_EXTRC_IO                    EQU     H'3FFE'
_INTRC_CLKOUT                EQU     H'3FFD'
_INTRC_IO                    EQU     H'3FFC'
_EXTCLK                      EQU     H'3FEF'
_HS_OSC                      EQU     H'3FEE'
_XT_OSC                      EQU     H'3FED'
_LP_OSC                      EQU     H'3FEC'

;Configuration Byte 2 Options
_IESO_ON                     EQU     H
'3FFF'
_IESO_OFF                    EQU     H'3FFD'
_FCMEN_ON                    EQU     H'3FFF'
_FCMEN_OFF                   EQU     H'3FFE' 
Chac co mot so ban ko hieu duoc y nghia tung Bit phai ko , cac ban co the tham khao trang 129,130,131 cua Datasheet 16f88, viet rat chi tiet

Nhu vay khac voi F84 , F88 co lenh thong thuong de dua ra _config_ trong MPASM do la

PHP Code:
    __CONFIG    _CONFIG1_CP_OFF _CCP1_RB0 _DEBUG_OFF _CPD_OFF _LVP_OFF _BODEN_OFF _MCLR_OFF _PWRTE_ON _WDT_OFF _HS_OSC   
__CONFIG    _CONFIG2
_IESO_OFF _FCMEN_OFF 
Chia se mot chut voi anh em
mafd_47a vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Old 08-10-2005, 01:49 AM   #11
mafd_47a
Đệ tử 3 túi
 
Tham gia ngày: Sep 2005
Bài gửi: 54
:
Mot dieu dac biet o PortA ma moi nguoi can phai chu y: sau khi Reset hoac bat dau mot chuong trinh thi PortA( 5 pin RA4,RA3,RA2,RA1,RA0), va hai pin RB7,RB6 ko phai la dang I/O nua ma la analog input
va trang thai nay duoc quy dinh boi thanh ghi ANSEL (9bh) ( cac ban tham khao them o trang 51 datasheet)

Do do de ban dau thiet lap trang thai cua cac chan nay la dang I/O thi ta phai
CLRF ANSEL

Den day moi thiet lap trang thai I/O:

Do la nhung loi tuong nhu nho nhat, nhung rat de mac phai doi voi nhung newbie, Rat mong duoc su hop tac cua moi nguoi

thay đổi nội dung bởi: mafd_47a, 08-10-2005 lúc 01:54 AM.
mafd_47a vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Old 09-10-2005, 04:51 PM   #12
mafd_47a
Đệ tử 3 túi
 
Tham gia ngày: Sep 2005
Bài gửi: 54
:
Hi everybody, sau một thời gian vật lộn với con 16f88 cuối cùng mình cũng thành công với bản đầu tay, nay muốn chia sẻ cho tất cả mọi người

Đây là chương trình hiển thị LCD dung 16f88, trong chương trình có sử dụng kỹ thuật bảng , dung thạch anh 4M , dung 4 chân data ( trong đó D7=>D4 của LCD nối với Port7=>Port4 của F88) và các chân EN, RS, RW của LCD được nối với port2,1,0 của F88). Các bạn có thể tham khảo kiến thức cơ bản của LCD ở

http://www.dientuvietnam.net/board/s...1&page=1&pp=10


PHP Code:
;**********************************************************************
;                                                                     *
;    
Filename:        LCD.asm                                           *
;    
Date:          25-9-2005                                         *
;    
File Version:  V1_1                                              *
;                                                                     *
;    
Author:        MAFD_47A                                          *
;    
Company:       BACHKHOA                                          *
;                                                                     *
;                                                                     *
;**********************************************************************
;                                                                     *
;    
Files requiredConvert 8051 Assembler to PIC                    *
;                    
Chi dung Rom de hien thi ra ngoai                *
;                    
Ky thuat bang                                    *
;                                                                     *
;**********************************************************************
;                                                                     *
;    
Notes:    EN noi voi chan 2 PORTA                                     *
;              
RS noi voi chan 1 PORTA                                     *
;              
RW noi voi chan 0 PORTA                                      *
;              
Data noi tu 7,6,5,4 voi D7,D6,D5,D4 cua LCD            *
;                                                                     *
;**********************************************************************

    list      
p=16f88           ; list directive to define processor
    
#include <p16F88.inc>        ; processor specific variable definitions

    
errorlevel  -302              suppress message 302 from list file  _WRT_ENABLE_OFF

    __CONFIG    _CONFIG1
_CP_OFF _CCP1_RB0 _DEBUG_OFF _CPD_OFF _LVP_OFF _BODEN_OFF _MCLR_OFF _PWRTE_ON _WDT_OFF _HS_OSC   
    __CONFIG    _CONFIG2
_IESO_OFF _FCMEN_OFF




;***** VARIABLE DEFINITIONS
w_temp        EQU     0x71        
variable used for context saving 
status_temp   EQU     0x72        
variable used for context saving
pclath_temp   EQU     0x73          
variable used for context saving
ACC           EQU     0x74
RO            EQU     0x78
R1            EQU     0x79
R2            EQU     0x7A
R3            EQU     0x7B
R4            EQU     0x7C
R5            EQU     0x7D
R6            EQU     0x7E
R7            EQU     0x7F
EN            EQU     H
'0002'
RS            EQU     H'0001'
RW            EQU     H'0000'
P7            EQU     H'0007'



;**********************************************************************
        
ORG     0x000             processor reset vector
        
goto    main              go to beginning of program
    

        ORG     0x004             
interrupt vector location
        movwf   w_temp            
save off current W register contents
        movf    STATUS
,w          move STATUS register into W register
        movwf    status_temp       
save off contents of STATUS register
        movf    PCLATH
,W          move PCLATH register into W register
        movwf    pclath_temp       
save off contents of PCLATH register

isr code can go here or be located as a call subroutine elsewhere


        movf    pclath_temp
,w     retrieve copy of PCLATH register
        movwf    PCLATH            
restore pre-isr PCLATH register contents
        movf    status_temp
,w     retrieve copy of STATUS register
        movwf    STATUS            
restore pre-isr STATUS register contents
        swapf   w_temp
,f
        swapf   w_temp
,w          restore pre-isr W register contents
        retfie                    
; return from interrupt

main        
        BANKSEL ANSEL
        MOVLW   0x00
        MOVWF   ANSEL
        CALL    INIT_LCD
        CALL    CLEAR_LCD
        MOVLW   0x00
        MOVWF   R1
AGAIN1   MOVF    R1
,W
        CALL    TABLE
        ADDLW   0x00
        BTFSC   STATUS
,Z
        
GOTO    NEXT
        CALL    WRITE_TEXT
        INCF    R1
,F
        
GOTO    AGAIN1
NEXT    
        MOVLW   0x02
        CALL    GOTOLINE2
        MOVLW   0x00
        MOVWF   R1
AGAIN2   MOVF    R1
,W
        CALL    THUY
        ADDLW   0x00
        BTFSC   STATUS
,Z
        
GOTO    NEXT1
        CALL    WRITE_TEXT
        INCF    R1
,F
        
GOTO    AGAIN2

NEXT1        
        
GOTO    $


TABLE   ADDWF   PCL,F
        RETLW   
'H'
        
RETLW   'E'
        
RETLW   'L'
        
RETLW   'L'
        
RETLW   '0'
        
RETLW   ' '
        
RETLW   'W'
        
RETLW   'O'
        
RETLW   'R'
        
RETLW   'L'
        
RETLW   'D'
        
RETLW   0x00

THUY    ADDWF   PCL
,F
        RETLW   
'T'
        
RETLW   'H'
        
RETLW   'U'
        
RETLW   'Y'
        
RETLW   0x00
        
WRITE_2_NIBBLES
        MOVWF   ACC
        BANKSEL TRISB
        MOVLW   
B'00001111'       Chon data lam dau ra
        ANDWF   TRISB
,F
        BANKSEL PORTB
        MOVLW   0xF0
        IORWF   PORTB
,F
        MOVF    ACC
,W
        IORLW   0x0F
        ANDWF   PORTB
,F           Dua 4 bit cao ra PortB
        BSF     PORTA
,EN
        NOP
        BCF     PORTA
,EN
        MOVLW   0xF0
        IORWF   PORTB
,F
        SWAPF   ACC
,W
        IORLW   0x0F
        ANDWF   PORTB
,F           Dua 4 bit cao ra PortB
        BSF     PORTA
,EN
        NOP
        BCF     PORTA
,EN
        
RETURN


        
INIT_LCD
        CALL    DELAY100
        BANKSEL TRISA
        MOVLW   
B'00000'
        
MOVWF   TRISB
        MOVWF   TRISA
        BANKSEL PORTA    
        BCF     PORTA
,RS
        BCF     PORTA
,RW
        BCF     PORTA
,EN
        BSF     PORTA
,EN
        MOVLW   0x28
        MOVWF   PORTB
        BCF     PORTA
,EN
        CALL    DELAY5
        MOVLW   0x28
        CALL    WRITE_2_NIBBLES   
Write A as two separate nibbles to LCD
        CALL    DELAY5
        MOVLW   0x0E
        CALL    WRITE_2_NIBBLES
        CALL    DELAY5
        MOVLW   0x06
        CALL    WRITE_2_NIBBLES
        CALL    DELAY5
        
RETURN

CLEAR_LCD
        BCF     PORTA
,RS
        MOVLW   0x01
        CALL    WRITE_2_NIBBLES
        CALL    DELAY5
        
RETURN

WRITE_TEXT
        BSF    PORTA
,RS
        CALL   WRITE_2_NIBBLES
        CALL   DELAY5
        
RETURN  

GOTOLINE1
        BCF    PORTA
,RS
        ADDLW  0x80
        CALL   WRITE_2_NIBBLES
        CALL   DELAY5
        
RETURN 

GOTOLINE2
        BCF    PORTA
,RS
        ADDLW  0xC0
        CALL   WRITE_2_NIBBLES
        CALL   DELAY5
        
RETURN 




DELAY255    movlw    0xff        ;delay 255 mS
        
goto    D0
DELAY100    movlw    d
'100'        ;delay 100mS
        
goto    D0
DELAY50        movlw    d
'50'        ;delay 50mS
        
goto    D0
DELAY20        movlw    d
'20'        ;delay 20mS
        
goto    D0
DELAY5        movlw    0x05        
;delay 5.000 ms (4 MHz clock)
D0        movwf    R2
D1        movlw    0xC7            
;delay 1mS
        movwf    R3
        movlw    0x01
        movwf    R4
Delay_0
        decfsz    R3
f
        
goto    $+2
        decfsz    R4
f
        
goto    Delay_0

        decfsz    R2    
,f
        
goto    D1
        retlw    0x00
            
remaining code goes here



initialize eeprom locations

        ORG    0x2100
        DE    0x00
0x010x020x03


        END                       
directive 'end of program'


( em ko the nao dinh kem duoc file ?????? )
Rất mong chương trình này giúp đỡ được một phần nào cho các bạn

Nếu bạn nào thác mắc vấn đề về chương trình này thì hãy mở một luông mới để thảo luận về vấn đề này nhé


thay đổi nội dung bởi: mafd_47a, 09-10-2005 lúc 04:58 PM.
mafd_47a vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Old 24-10-2005, 10:17 PM   #13
noisePIC
Đệ tử 2 túi
 
Tham gia ngày: May 2005
Bài gửi: 39
:
Code:
To mafd_47a:
Bạn viết thế này rất khó theo dõi, trước khi viết code cậu có thể viết "chiến thuật" để giải quyết bài toán. Và đoạn code nào thực hiện việc giải quyết đó. Tại vì MPASM không phải ai cũng viết được, có thể viết bằng CCS ,HTPIC, BASIC.. và sau đó phần code bạn có thể để file *.asm hoặc *.txt ai đó muốn xem thì "đao" về. Còn sơ đồ nguyên lý nữa,...


//************************************************** ***********
Tớ rất thích chữ kí của bạn! rất đúng đó
Code:
ONE WORK, ONE PURPOSE or NOTHING!
noisePIC vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Old 26-10-2005, 06:25 PM   #14
vdt
Đệ tử 1 túi
 
Tham gia ngày: Sep 2005
Bài gửi: 15
:
To mafd_47a: Tôi đang dùng CCS viết cho con PIC16F88 để điều khiển LCD 20x4 và thấy rất dễ dàng, vì nó có sẵn thư viện LCD420.c.
Tôi thấy con PIC16F88 này rất hay, vì nó sẵn mấy đường vào ADC, tôi sử dụng 4 kênh vào ADC, hiển thị kết quả đo được nên LCD.
vdt vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Old 27-10-2005, 02:46 PM   #15
vdt
Đệ tử 1 túi
 
Tham gia ngày: Sep 2005
Bài gửi: 15
:
Chào bạn,
Mình cũng ở HN. Mình sẵn lòng ủng hộ các chương trình của mình đã làm để mọi người cùng tham khảo.
Mình vừa làm 1 chương trình rất nhỏ, với 1 mục đích là đo đồng thời 4 tín hiệu tương tự, và hiển thị kết quả lên LCD 4x20. Mình sử dụng PIC16F88. Đồng thời kết quả đó được đưa về PC qua cổng RS232. Mình phải sửa lại thư viện LCD420.C của CCS một chút, vì trong thư viện này, nó dùng chân Tx và Rx để điều khiển LCD, do vậy tôi phải diều chỉnh lại sơ đồ chân nối với LCD. Mặt khác, trong ứng dụng của tôi, tôi không sử dung các hàm đọc từ LCD xuồng PIC, thế nên tôi cũng không nối chân RW của LCD về PIC nữa, mà nối chân RW xuống đất.
Chức năng của PIC16F88 là rất nhiều, nhưng số cổng ra ngoài lại có hạn, do số chân PIC chỉ có 18, thế nên khi thiết kế, chúng ta lên tối ưu lại sơ đồ nối bên ngoài để tận dụng các chức năng có sẵn của PIC và hạn chế số lượng linh kiện phụ trợ bên ngoài.
Rất mong nhận được ý kiến đóng góp của mọi người để thiết kế của tôi được hoàn thiện hơn.
Thanks


P/S: Làm sao để upload file lên diễn đàn đây ???
vdt vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Trả lời


Quyền Sử Dụng Ở Diễn Ðàn
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is Mở
Smilies đang Mở
[IMG] đang Mở
HTML đang Tắt

Chuyển đến

Similar Threads
Ðề tài Người gửi Chuyên mục Trả lời Bài mới
Tìm mua PIC 16F84 or 16F88 rmitoday Tìm mua sản phẩm 4 09-08-2008 02:36 PM
Can mua 16f88 Khikom Tìm mua sản phẩm 1 09-03-2007 08:17 AM
Khai giảng lớp vi điều khiển ,cung cấp tài liệu tamphong Quảng cáo và bán sản phẩm 2 12-11-2006 08:40 PM
Tìm mua 16F88 ndtoan Tìm mua sản phẩm 2 24-04-2006 11:59 AM
Cách khai báo biến và liên kết chương trình tuan795 Cơ bản về vi điều khiển và PIC 3 13-01-2006 09:06 AM


Múi giờ GMT. Hiện tại là 04:45 PM.


Được sáng lập bởi Đoàn Hiệp
Powered by vBulletin®
Page copy protected against web site content infringement by Copyscape
Copyright © PIC Vietnam