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 05-03-2011, 05:18 PM   #1
hoangnhanpro
Nhập môn đệ tử
 
Tham gia ngày: Mar 2011
Bài gửi: 1
:
Lập trình cho Robo dò vạch

chao cac anh, chi.
Em dang muon lam mot Robo do vach su dung VDK, anh chi nao co tai lieu huong dan lam va lap trinh thi cho em xin voi. em cam on.
hoangnhanpro vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Old 15-04-2011, 08:54 AM   #2
hoanggaara
Nhập môn đệ tử
 
Tham gia ngày: Mar 2011
Bài gửi: 6
:
Mình có đoạn code sau tìm mãi mà không biết sai ở đâu,các bác giúp mình xíu hi

#include p16f877a.inc
__config _hs_osc&_wdt_off&_lvp_off
cblock 0x21
vong1,vong2,vong3
endc
variable giatricong=0x25
org 0x000
goto main
org 0x005
banksel trisb
clrf trisb
banksel portb
start
bsf portb,0
call delay
bcf portb,0
call delay
goto start
delay
nop
nop
movlw d'187
movwf vong1
movlw d'4
movwf vong2
movlw d'2
movwl vong3
decfsz vong1,f
goto $-1
decfsz vong2,f
goto$-3
decfsz vong3,f
goto $-5
return
end
hoanggaara vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Old 22-07-2011, 06:50 PM   #3
levuphuong
Đệ tử 1 túi
 
Tham gia ngày: Jul 2011
Bài gửi: 25
:
cho mình hỏi hỏi con 16f877 khác con 16f877a chỗ nào vậy.trên diền đàn toàn thấy hướng dẫn về 16f877a ko ah
code nó dùng chụng được ko em minh nó về đã học cề pic thế chạy code thực tế xem thế nào chứ mô phỏng hoài chán quá.
Mọi người hướng dẫn em cách cắm dây đơn giản làm sao đề nói pic với 1 lcd 2x8
Em mới đi mới linh kiện về mà chưa biết lắp sao (gắn nguồn thế nào)
Xin cám ơn mọi người.
levuphuong vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Old 02-10-2011, 12:26 AM   #4
lmtan91
Nhập môn đệ tử
 
Tham gia ngày: Jul 2011
Bài gửi: 1
:
Unhappy dịch led bằng cách cộng 1

cho em hỏi
Đoạn code này dịch led nhưng nó chỉ dịch được 1 lần
processor 16f877a
include <p16f877a.inc>
__CONFIG _CP_OFF&_WDT_OFF&_BODEN_ON&_PWRTE_ON&_XT_OSC&_WRT_ OFF&_LVP_ON&_CPD_OFF
count1 EQU 0x20
counta EQU 0x21
countb EQU 0x22
temp EQU 0x23
ORG 0x00
GOTO start
start
BCF STATUS,RP1
BSF STATUS,RP0
CLRF TRISB
BCF STATUS,RP0 ;BANK0
MOVLW b'00000001'
MOVWF temp
LOOP
MOVWF PORTB
CALL delay_100
ADDLW d'1'
;CALL delay_100
GOTO LOOP
delay_100
MOVLW d'100'
MOVWF count1
d1
MOVLW d'199'
MOVWF counta
MOVLW d'1'
MOVWF countb
delay
DECFSZ counta,1
GOTO $+2
DECFSZ countb,1
GOTO delay
DECFSZ count1,1
GOTO d1
RETURN
END
lmtan91 vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Old 02-10-2011, 03:32 PM   #5
tdm
Đệ tử 7 túi
 
Tham gia ngày: May 2005
Bài gửi: 258
:
Trích:
Nguyên văn bởi lmtan91 View Post
cho em hỏi
Đoạn code này dịch led nhưng nó chỉ dịch được 1 lần
processor 16f877a
include <p16f877a.inc>
__CONFIG _CP_OFF&_WDT_OFF&_BODEN_ON&_PWRTE_ON&_XT_OSC&_WRT_ OFF&_LVP_ON&_CPD_OFF
count1 EQU 0x20
counta EQU 0x21
countb EQU 0x22
temp EQU 0x23
ORG 0x00
GOTO start
start
BCF STATUS,RP1
BSF STATUS,RP0
CLRF TRISB
BCF STATUS,RP0 ;BANK0
MOVLW b'00000001'
MOVWF temp
LOOP
MOVWF PORTB
CALL delay_100
ADDLW d'1'
;CALL delay_100
GOTO LOOP
delay_100
MOVLW d'100'
MOVWF count1
d1
MOVLW d'199'
MOVWF counta
MOVLW d'1'
MOVWF countb
delay
DECFSZ counta,1
GOTO $+2
DECFSZ countb,1
GOTO delay
DECFSZ count1,1
GOTO d1
RETURN
END
bạn cộng 1 vào W khi gọi ct con delay thì giá trị trong W đã bị thay đổi.
thử lại:
cộng 1 vào temp từ temp xuất ra port
__________________
viết chương trình cho vdk chạy ổn định là cả một vấn đề.
tdm vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Old 04-10-2011, 11:26 PM   #6
bodi21312
Nhập môn đệ tử
 
Tham gia ngày: Sep 2009
Bài gửi: 2
:
Pic16f877A

Em mới học Pic thôi! mong mọi người giúp em phần Ngắt. em viết code dùng ngắt để chạy Led, mặt khác thì chương trình dùng để chạy led 7 đoạn. Nhưng chẳng hiểu sao chỉ có led7 hoạt động còn ngắt chẳng thấy đâu. Help gấp, help gấp....
code:
/////////////////khai bao ngat///////////////////
#INT_TIMER0
void chayled()
{
int8 i,a,x,t;
i=8;
SET_TRIS_B( 0x00);
lap:
a=0x01;
x=a;
for(i=1;i<=8;i++)
{
OUTPUT_b(x);
delay_ms(500);
rotate_left( &a, 1);
x=x+a;
}
a=0x00;
t=2;
for(t=0;t<=2;t++)
{
x=0xff;
OUTPUT_b(x);
delay_ms(500);
x=0x00;
OUTPUT_b(x);
delay_ms(500);
}
/////////////////////////////////////////////
a=0x80;
x=a;
for(i=1;i<=8;i++)
{
OUTPUT_b(x);
delay_ms(500);
rotate_right( &a, 1);
x=x+a;
}
a=0x00;
t=2;
for(t=0;t<=2;t++)
{
x=0xff;
OUTPUT_b(x);
delay_ms(500);
x=0x00;
OUTPUT_b(x);
delay_ms(500);
}
goto lap;
}

void main()
{

ENABLE_INTERRUPTS(INT_RB);//ngat tiner 0
ENABLE_INTERRUPTS(GLOBAL);//cho phep ngat toan cuc
re: SET_TRIS_D(0Xff);
SET_TRIS_C(0xff);
for(a=0;a<20;a++)
{
chuyenma();
delay_ms(10);
hienthi();
delay_ms(500);
}
a=0;
goto re;

}

thay đổi nội dung bởi: bodi21312, 04-10-2011 lúc 11:30 PM. Lý do: thêm
bodi21312 vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Old 23-10-2011, 12:07 PM   #7
phong172
Nhập môn đệ tử
 
Tham gia ngày: Oct 2011
Bài gửi: 5
:
giới thiệu giup mình một bộ mạch nạp pic chạy dược trên win7 nha
ai biết chỉ giúp mình nha.giá khoảng 200k thôi
phong172 vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Old 24-10-2011, 12:59 PM   #8
thanga7a
Nhập môn đệ tử
 
Tham gia ngày: Apr 2011
Bài gửi: 1
:
sao ko viết bằng c hả bạn

viết bằng c cho dễ hiểu

viết bằng asm dài mà rối wa
thanga7a vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Old 25-10-2011, 12:32 AM   #9
nguyenbaotrung
Nhập môn đệ tử
 
Tham gia ngày: Sep 2011
Bài gửi: 3
:
help !!!!

bác nào biết làm mạch đếm sản phẩm ko?,đếm 2 ngõ vào hiển thị lên 1 LCD luôn,dùng pic 16f877a,giúp mình với ,sắp nộp rồi !!!
nguyenbaotrung vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Old 27-10-2011, 12:20 AM   #10
huydungsh
Nhập môn đệ tử
 
Tham gia ngày: Sep 2011
Bài gửi: 10
:
bạn ơi cho mình hỏi mấy dòng lệnh này nha:
"#include <16F84.h>
#use delay(clock=20000000)
#use fast_io(A)
#use fast_io(B)
int bin2BCD(int bin)
{ /* CT đổi từ 1 số nhị phân ra số BCD 2
ký số, chỉ đúng cho số nhị phân này có trị
<= 99 */
int BCD;
BCD = ((bin/10) << 4) + bin % 10;
return BCD;
}
void main()
{
int counter=0,counter_BCD=0;
set_tris_a(0x01); /* Pin A0 is Input port
pin */
set_tris_b(0x00); /* Output Port B
configuration*/
while (1)
{
output_b(counter_BCD);
while(!input(PIN_A0)); // đợi cho
đến khi A0 = 1
while(input(PIN_A0)); // đợi cho đến
khi A0 = 0  phát hiện cạnh xuống
counter++;
if (counter == 100) counter = 0;
counter_BCD=bin2BCD(counter);"
Trong chương trình trên mình muốn hỏi về
" int bin2BCD(int bin)
{ /* CT đổi từ 1 số nhị phân ra số BCD 2
ký số, chỉ đúng cho số nhị phân này có trị
<= 99 */
int BCD;
BCD = ((bin/10) << 4) + bin % 10;
return BCD;"
Nghĩa là gì vậy mình mới học lập trình nên gà lắm mong bạn giải thích cho mình cảm ơn nhiều nha.
huydungsh vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Old 11-11-2011, 10:22 AM   #11
trungle_nt89
Đệ tử 1 túi
 
Tham gia ngày: Sep 2011
Bài gửi: 15
:
mình mới mua mạch nạp GTP_USB nhưng đề tài mình yêu cầu dùng dspic30f4011,nên không dùng được, nếu bạn nào có nhu cầu mua lại thì mình bán lại với giá 180k, nếu có ý định mua thì liên hệ với mình qua mail nktrungle@gmail.com. SDT 01228629293 or 01696975748
trungle_nt89 vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Old 16-11-2011, 11:13 PM   #12
lenphat123
Nhập môn đệ tử
 
Tham gia ngày: Nov 2011
Bài gửi: 8
:
mh dang can code viet bang ccs giao tiep giua pic16f877a voi the mmc/sd theo chuan spi.Moi nguoi aj bt hay giup do minh voi
lenphat123 vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Old 20-12-2011, 09:54 PM   #13
cuongero2012
Nhập môn đệ tử
 
Tham gia ngày: Dec 2011
Bài gửi: 2
:
cho em hỏi: em dùng con 16F877A điều khiển led đơn dùng 2 cổng ra B,C. các anh giúp em code điều khiển led đơn 8 con post B chạy sáng dần , đồng thời 8 con led post C cũng chạy cùng một lúc. post B và post C chạy riêng biệt. (cách làm led chạy thì em bit rùi, còn làm đồng thời 2 post cùng chạy nhưng riêng biệt thì em chưa biết, mong các anh giúp...)
cuongero2012 vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Old 03-01-2012, 07:37 PM   #14
vanthanhbk06d6
Nhập môn đệ tử
 
Tham gia ngày: Sep 2010
Bài gửi: 1
:
chào các anh chị.nhân tiện đây cho em hỏi.khi mình bắt đầu lập trình pic.thì trước tiên mình những cần phần mềm gì.... và cách tiến hành từng tự để tạo ra một mạch hoàn thiện.cảm ơn các anh chị nhiều
vanthanhbk06d6 vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Old 18-02-2012, 11:51 PM   #15
son_bg
Nhập môn đệ tử
 
Tham gia ngày: Feb 2012
Bài gửi: 1
:
sao không thấy ai trả lời các bạn hỏi vậy :-s
son_bg 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
TUT về USART trong PIC16F877A mafd_47a MPASM 16 19-02-2025 05:32 AM
TUT ve I2C ( pic16f877a ) mafd_47a MPASM 28 28-01-2025 10:45 PM
Bộ so sánh và PWM cho PIC16F877A anhquangngai Cơ bản về vi điều khiển và PIC 24 08-09-2012 09:00 AM
Pic16f877a TỪ DỄ TỚi KhÓ ntc Cơ bản về vi điều khiển và PIC 373 23-05-2009 10:24 PM
CCS C for PIC16F877A nhh Các ngôn ngữ lập trình khác (CCS C, HT PIC,...) 405 24-04-2008 12:00 PM


Múi giờ GMT. Hiện tại là 08:52 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