![]() |
Cảm ơn bác đã Reply,nhưng em muốn biết tác dụng của từng cấu hình,ví dụ như _BODEN_ON, _PWRTE_ON,_DEBUG_OFF ... có ảnh hương như thế nào khi mình lập trình?Bác co thế chỉ giúp em tác dụng của từng cái ko?Mới học nên nhiều cái chưa biết lắm ---->Mong bác nhiệt tình giúp đỡ
|
Mình khuyên bạn nên hỏi "coi mấy cái này ở đâu?"
Bạn mở datasheet của con 877 mục 14.1 "Configuration bits". |
Cho em hỏi chương trình này!
Em mới bắt đầu với Pic,và đây là chường trình đếm xung vào ở chân RA0,hiện thị led7segment nối vào PortB,dùng kỹ thuật bảng.Em dùng MPLAP dịch thì không có lỗi,nhưng khi mô phỏng bằng Proteus thì nó không chạy,mong các bác chỉ cho chỗ sai.
Code:
;======================================================== |
Các bác có gắng đọc nhe,em chỉnh cho nó gần lại mộ chút,không ngờ post lên nó lại sát nhau như thê.
namqn: bạn vào edit lại post trên, sẽ thấy tôi thêm các tag [code] và [ /code] để định dạng code của bạn. |
Trích:
Thân, |
Gửi bác namqn:
Em bắt đâu bảng ở địa chỉ 0x80 thì không phải xử lí PCLATH đúng không ạ,nhưng khi bắt đầu mô phỏng thì thì led7seg hiện 0(cai này thì đúng)nhưng khi em bấm BUTTON thì nó cứ trơ ra,hic Bác chỉ dùm em chỗ sai cái,nó làm em mất hứng mấy ngày nay |
Trích:
Với những bài toán loại này tôi luôn chạy mạch thật. Thân, |
Các bạn, cho mình hỏi một câu ngớ ngẩn, nhưng thật sự không hiểu chổ này thì không làm ăn gì được hết : một port nào đó (như PORTB của pic6f877a chẳng hạn), việc cho phép nó kéo lên hay không kéo lên Vdd có ý nghĩa như thế nào? Mình thật sự không hiểu chổ này. Cảm ơn các bạn rất nhiều.
|
cảm ơn các anh nhiều
|
Điện trở kéo lên thiết lập mức lôgíc lối vào của khối mạch khi không có thiết bị ngoài nối với lối vào. Ví dụ khi set điện trở kéo lên thì có thể mắc button trực tiếp vào port mà không cần điện trở kéo lên bên ngoài.
|
có bác nào hiểu rõ cụm từ 16 bit trong 16 bit - computer thì nói hộ em với.em tìm kiếm trên mạng mà chỉ toàn tiếng anh. hơi khó hiểu.
cảm ơn rất nhiều |
16 bits đó nói về hệ thống sử lí 16 bít. trong Computer thì là hệ thống máy tính 16 bits, như bây giờ Pen TUM là 64 bits đó
|
Trích:
VD: với máy tính 8bit, bộ nhớ dữ liệu được tổ chức theo đơn vị BYTE, các thanh ghi cũng có độ lớn 1 BYTE, các phép toán số học, logic, di chuyển dữ liệu cũng xử lý trên dữ liệu có độ rộng 8 bit. |
giúp em với
em tìm kiếm bản dịch con Pic 16F877A mấy hôm nay rồi mà ko tìm được,bác nào có gửi giùm vào mail cho em được ko???cảm ơn nhiêu nhiều nhiều nhiều.....có bản trong diễn đàn kêu Download được nhưng khi dow thử thì yêu cầu mật khẩu nên không dow được.gửi vô mail giùm nha trananhduc2004@yahoo.com
|
xin các bác chỉ giup mình lập trình C ngắt ngoài "External interrupt" cua 16F877A
minh dang lam luan van tot nghiep, dung PIC de tinh CosY (cốt phi) cua mang dien ha the bang cách đo độ rộng xung vuông Xin chân thành cảm ơn |
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 |
Trích:
Thân, |
Thanks namqn, lâu quá mới quay lại chổ này. Vì vài ngày sau đó mình nhận ra là nút bấm thiếu chống rung. Đúng như dự đoán của bạn.
Nhân tiện hôm nay mình bị vướng ở chổ tra bảng, bảng dài quá và nằm ở 1 DC xa khi dùng lệnh: addwf PCL,1 để tra bảng thì nó nhảy đi chổ khác ( không phải bảng ), theo mình biết thì phải sử dụng thanh ghi PCLATH nhưng mình chưa biết cách này. Rất mong được giúp đở. Thanks ! |
Trích:
http://www.piclist.com/techref/microchip/bigtable.htm Thân, |
có bác nào có code c++ điều khiển động cơ không vậy cho em xin nhe ! cám ơn các bác trước à!
|
Trích:
Thân, |
có bác nào có code về điều khiển động cơ dc bằng c++ cho tớ xin nhé , cần lắm . cám ơn các bác trước
|
cho em hỏi trong bài đếm ngắt ngoài chân RB0 của bác nhh có lệnh:
INCF COUNT,F Vậy lệnh này có giống như lệnh : INCF COUNT,0 hay không (có khi nào F---->False---->0) |
Trích:
Với lệnh INCF COUNT, F (tương đương với INCF COUNT, 1), kết quả của lệnh tăng giá trị trong thanh ghi COUNT sẽ được lưu trở lại thanh ghi COUNT. Thân, |
Thanks bác nhiều nha. Em hiểu rồi.
À nếu bác rảnh thì xem dùm bài bên luồng " pic từ dễ tới khó " hộ em |
Cái này hay à ngen...
các bro giúp mình tính cái PWM Period=[(PR2+1)]*4*Tosc *TMR2 prescale. Và tương tự với cái PWM duty cycle=... luôn ngen (mình đang làm PÍC6F877A với CCS v 4.065).Thanks
|
Múi giờ GMT. Hiện tại là 11:11 PM. |
Tên diễn đàn: vBulletin Version 3.8.11
Được sáng lập bởi Đoàn Hiệp.
Copyright © PIC Vietnam