![]() |
ngắt ngoài RB0!!!!!
Trích:
|
Trích:
|
moi người giúp em với!
Mình đang làm luận văn!
Thầy giáo yêu cầu tìm hiểu về cách làm việc của họ vi điều khiển PIC6F8. Mọi người biết tài liệu nào về Pic thì giúp mình với nha!. Thanksss! |
Trích:
Thân, |
Cam on anh!
Trích:
Neu anh co tai lieu nao lien quan thi gui cho em nha!. Hi vong se duoc anh giup do sau nay! |
Em chào cả gia đình PIC!!!
các bác cho em hỏi một ý về cách hay là thuật toán để nạp vào một bộ nhớ (loại nào đó mà khi mất nguồn dữ liệu không bị mất)!!! Em cũng đã tìm hiểu khá kỹ về con 8051 và bây giờ muốn khám xét con PIC mà cụ thể là 16F877A chẳng hạn. Em có một ý thế này mong được các bác góp ý cũng như chỉ dạy:" Có thể dùng vi điều khiển để điều khiển nạp cho bộ nhớ như trên được không? dữ liệu nạp vào bộ nhớ sẽ được lấy từ con vi điều khiển chứ không phải là trên máy tính nữa". Vấn đề cơ bản ở đây là phải biết cách để nạp cho bộ nhớ cơ!!! Mong nhận được sự chỉ giáo tận tình từ các bác!!! Em chân thành cảm ơn! |
Cho hỏi 1 chút nhé:
1. Trong PIC 16f877a chỉ có vector ngat 0x004. Vậy nếu ta muốn sử dụng nhiều ngắt trong chương trình thì chẳng lẽ lại là: ; Sử dụng MPLAB ;.... org 0x00 goto main org 0x04 goto ISR org 0X05 goto main ... ISR: bsf ngat_Timer0 ;kiem tra co bao ngat T0 goto Timer0 bsf ngat_I2C ;kiem tra co bao ngat I2C goto I2C bsf ngat_USART goto USART retfie Timer0 return I2C return USART return main end 2. Trên hình vẽ http://i84.photobucket.com/albums/k3...ed22222222.jpg http://i84.photobucket.com/albums/k3...itled11111.jpg Bộ nhớ chương trình là 368byte, tại sao có tận 4bank, nếu tính thế thì phải là 512byte chứ? |
http://www.picvietnam.com/forum//showthread.php?t=5
Bạn đọc kỹ bài viết này, có 2 bài về ngắt, bài #9 và #10. Trích:
Chúc vui |
Cám ơn anh falleaf. Nhưng còn 1 câu hỏi nữa là data memory 368byte. Tại sao trong hình lại có tới 4 bank. Nếu như trong hình thì data memory phải là 4x128=512byte chứ?
|
Trong 4 bank (mỗi bank 128 byte) đó có những byte sử dụng làm thanh ghi chức năng đặc biệt, không thể dùng giống như RAM (ví dụ thanh ghi STATUS, INTCON...). Chỉ còn có 368 byte là có thể sử dụng làm RAM thôi. Các byte RAM này có địa chỉ là
Code:
Bank 0: 20h đến 7Fh |
MikroPascal là một phần mềm của hãng mikroElektronika sử dụng ngôn ngữ Pascal để viết chương trình cho PIC.
Địa chỉ: http://www.mikroe.com/en/compilers/mikropascal/pic/ Hướng dẫn sử dụng (Tiếng Anh): http://www.elektroda.net/download/09...cal_manual.pdf Tải phần mềm MikroPascal phiên bản V3.0.0.4 (có patch) tại địa chỉ: http://www.picvietnam.com/forum//showthread.php?t=403 |
Adc!!!
1 Attachment(s)
Mình vừa làm xong adc bằng mplab,pót lên cho bà con xem
khi rảnh mình sẽ có 1 bài viết rõ hơn về vấn đề này! Mong bà con ủng hộ! |
Ổn định tín hiệu vào ADC pic6f877a
Mình dùng 5 chân cổng chuyển đổi ADC của cổng Ra cho 5 tín hiệu cảm biến khác nhau.Nhưng trong thực tế thì khi một trong 5 tín hiệu đó có đầu vào biến đổi thì 4 đầu vào còn lại cũng bị ảnh hưởng theo ít nhiều. nói tóm lại là các tín hiệu ở các chân có ảnh hưởng lẫn nhau .Mình ko rõ nguyên nhân vì sao ? có thể là do nguồn vào ko ổn định chăng ? nếu mình lắp vào mỗi chân tín hiệu 1 tụ lá 102,103.... thì có giảm ảnh hưởng giữa các chân ín hiệu ko?
Làm thế nào để có một nguồn chuẩn và ổn định cho các tín hiệu ADC .vì các chân chuyển đổi ADC rất nhạy với sự thay đổi điện áp ....... *********** Thank ************* |
chào các bác em mới nghiên cưc pic 16f877a em thay luông lep trinh led 7 thanh hay quá. Bac nao co chương trinh lap trinh cho nhieu led 7 thnh dung nut bam không co thể cho em xin 1 bản.
Em xin cam on cac bac. Đia chi email cua em:hai_kcd@yahoo.com |
Chào qui vi,
Toi mới học PIC mấy ngày có 1 đọan chương trình giải không ra. Xin các bậc tiền bối chỉ giáo cho tại sao bấm nút mà không có tác dụng gì hết. TITLE "TEST SWITCH PORTB" PROCESSOR PIC16f877A INCLUDE<P16f877A.inc> __CONFIG _CP_OFF & _WDT_OFF & _BODEN_OFF & _PWRTE_ON & _XT_OSC & _WRT_OFF & _LVP_ON & _CPD_OFF ;-------------------------------------------------------------------------- ; Program Code ;-------------------------------------------------------------------------- ORG 0x000 ;reset vector goto MAIN MAIN Start call Init ;Initialise hardware Loop btfss PORTB,0 ;Is "ON" button pressed? bsf PORTA,0 ; Yes - LED on btfss PORTB,1 ;Is "OFF" button pressed? bcf PORTA,0 ; Yes - LED off goto Loop ; ;-------------------------------------------------------------------------- ; Subroutines ;-------------------------------------------------------------------------- ;*****Init - set up all ports, make unused ports outputs Init clrf PORTA ;all of porta low clrf PORTB ;all of portb low bsf STATUS, RP0 ;change to bank1 movlw b'00000000' ;all outputs except movwf TRISA ; ; movlw b'11111111' ;all inputs ; movwf TRISB ; bcf STATUS, RP0 ;back to bank0 return END ;Stop assembling here |
Múi giờ GMT. Hiện tại là 06:58 AM. |
Tên diễn đàn: vBulletin Version 3.8.11
Được sáng lập bởi Đoàn Hiệp.
Copyright © PIC Vietnam