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 Tìm Kiếm Bài Trong Ngày Ðánh Dấu Ðã Ðọc 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 24-01-2013, 08:29 PM   #1
acquydo138
Nhập môn đệ tử
 
Tham gia ngày: Nov 2012
Bài gửi: 2
:
e đang viết code để điều khiển động cơ bước. e muốn xuất ra 50 bước code của e ko biết vì sao nó chỉ xuất ta 1 bước mội nguòi xem giúp e nha
signed int i;
void rephai()
{
for (i=0;i<=50;i++)
{
output_high(pin_b0);
delay_ms(2);
output_low(pin_b0);
delay_ms(2);

}
}
void turn_back()
{
for (i=0;i<=50;i++)
{
output_high(pin_b0);
delay_ms(2);
output_low(pin_b0);
delay_ms(2);

}
}

void main()
{
set_tris_b(0x00); //mac dinh port d la dau ra

while(1)
{
output_low(pin_b1);
delay_ms(100);
rephai();
delay_ms(100);
output_high(pin_b1);
turn_back();
delay_ms(100);

}
}
acquydo138 vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Old 14-02-2013, 06:49 AM   #2
learnpicvn
Nhập môn đệ tử
 
Tham gia ngày: May 2012
Bài gửi: 8
:
liên quan đến đếm 8bit dùng 8051?

Help me!
Chào mọi người, xin lỗi vì lại hỏi mọi người vào phần phúc đáp nhanh!
code:
#include<AT892051.h>
void wait_a_second()
{
unsigned int x;
for(x=0; x<33000; x++);
}
main()
{
int LED=0;
for(;; )
{
P1=~LED;
LED++;
wait_a_second();
}
}
Yêu cầu là dùng 8051 đếm 8 bít tăng dần rồi hiển thị ra led đơn!
Em chưa hiểu là
1) làm sao lại tính được ra con số 33000 để tạo trễ cho chương trình khoảng 1s?
2) dòng lệnh for(;; ) có ý nghĩa như thế nào?
Mong mọi người giải đáp giúp?
__________________
Đường tuy ngắn không đi không đến,
Việc tuy dễ không làm không xong!
Đường dù dài cố đi cũng đến,
Việc dù khó gắng làm sẽ xong!
learnpicvn vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Old 21-02-2013, 12:52 AM   #3
MINHENG
Nhập môn đệ tử
 
Tham gia ngày: Dec 2012
Bài gửi: 5
:
Chào các Anh,
Em tập viết đoạn code này, mà cái speed nó cứ trơ trơ, không xuất ra chân nào cả, thử biến pulse_Ne, thì nó cũng thế (không bằng 0, cũng không ra giá trị nào cả).
Nhờ các anh chỉ giùm, bế tắt quá.
Em cảm ơn rất nhiều


//================================================== ======
// Ten chuong trinh : DEM XUNG Ne BANG NGAT NGOAI
// Nguoi thuc hien : Minh_mse
// Ngay thuc hien : ………….
// Phien ban : 1.0
// Mo ta phan cung : Dung PIC16F887. Thach anh 20MHz
// : Xung vuong Ne vao chan RB0 (External interrupt)
// : Xuat thu so do toc do ra cac chan RD4-RD6
// :
//================================================== ======
#include<16F887.h>
#FUSES NOWDT, HS, NOPUT, NOPROTECT, NODEBUG, NOBROWNOUT, NOLVP, NOCPD,NOWRT
#use delay(clock=20000000)
int16 pulse_Ne;
float speed;
#int_EXT //Chuong trinh ngat ngoai duoc goi khi co tac dong o chan RB0
EXT_ISR()
{
++pulse_Ne;
}
main()
{
while(1)
{
// Khoi tao ngat ngoai tai RB0
ext_int_edge(H_TO_L); // Ngat canh len RB0
enable_interrupts(INT_EXT); // Cho phep ngat ngoai
enable_interrupts(GLOBAL); // Cho phép ngat toan cuc
setup_timer_1 ( T1_INTERNAL | T1_DIV_BY_8 ); //Khoi tao bo dinh thoi gian dem xung-Dung dao dong noi
//(20*10^6)/8=2.500 xung/ms
set_timer1(3037);
//Gia tri ban dau cho timer1 la 65.537-62500=3.037
//timer1 16bits se tran khi bang 65.537
enable_interrupts(INT_TIMER1);
speed=pulse_Ne/(25*1000);
//Tinh bang vong/giay
//Lay mau 25ms/lan
if (speed==0) output_high(PIN_D4);
if ((speed>=1) | (speed<=2))output_high(PIN_D5);
if (speed>3) output_high(PIN_D6);
}
}
MINHENG vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Old 20-07-2013, 11:57 PM   #4
hunke92
Nhập môn đệ tử
 
Tham gia ngày: Jul 2013
Bài gửi: 6
:
e dùng điện trở nội trong pic 16f887,e dùng lệnh port_B_pullups(1),nhưng nó cứ báo lối undefined indentifier--port_B_pullups, mong các a jup đỡ
hunke92 vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Old 21-08-2013, 02:54 PM   #5
thitoantruot
Nhập môn đệ tử
 
Tham gia ngày: Feb 2012
Bài gửi: 1
:
Thumbs up nạp code cho pic16f72 không chạy

Mình viết một chương trình đơn giản nạp vào pic16f72

#include <16F72.h>
#device adc=8

#FUSES HS,NOWDT,PUT,NOPROTECT,NOBROWNOUT
#use delay(clock=20000000)

void main()
{
set_tris_b(0);
output_b(0xff);
// TODO: USER CODE!!
while(1)
{
output_b(0);
delay_ms(1000);
output_b(0xff);
delay_ms(1000);
}
}

mình dùng chương trình nạp burn-e và có detect được pic
khi nạp file hex thì có mã hexa như hình vẽ
nhưng sau khi nạp program của pic lại về 3FFF hết
Bạn nào bị lỗi này thì bảo mình với
Hình Kèm Theo
File Type: png nap.png (102.1 KB, 0 lần tải)
File Type: png hexa.png (101.3 KB, 1 lần tải)
thitoantruot vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Old 23-08-2013, 05:36 PM   #6
buivantuyen89th
Đệ tử 3 túi
 
buivantuyen89th's Avatar
 
Tham gia ngày: Jun 2012
Bài gửi: 54
:
Trích:
Nguyên văn bởi thitoantruot View Post
Mình viết một chương trình đơn giản nạp vào pic16f72

#include <16F72.h>
#device adc=8

#FUSES HS,NOWDT,PUT,NOPROTECT,NOBROWNOUT
#use delay(clock=20000000)

void main()
{
set_tris_b(0);
output_b(0xff);
// TODO: USER CODE!!
while(1)
{
output_b(0);
delay_ms(1000);
output_b(0xff);
delay_ms(1000);
}
}

mình dùng chương trình nạp burn-e và có detect được pic
khi nạp file hex thì có mã hexa như hình vẽ
nhưng sau khi nạp program của pic lại về 3FFF hết
Bạn nào bị lỗi này thì bảo mình với
Mình cũng chưa bị lỗi này. Nhưng bạn thử kiểm tra lại xem. khi mở chương trình Burn-E bạn phải mở đường dẫn đến file Hex của chương trình của mình.
chúc bạn thành công!
buivantuyen89th vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Old 13-10-2013, 11:25 PM   #7
toan_320.vn
Đệ tử 1 túi
 
Tham gia ngày: Apr 2011
Bài gửi: 11
:
mọi người xem em cái đoạn code này có sử dụng ngắt timer0 biên dịch ko bị lỗi mà sang mô phỏng chạy ko được, ct em viết hiển thị 2 số 38 lên 2 led 7 đoạn
#INCLUDE P16F877A.INC;/*CHI DAN FILE DINH NGHIA CHIP*//
__CONFIG _XT_OSC&_WDT_OFF&_LVP_OFF;//*KHAI BAO CAU HINH*//


CBLOCK 0X20;KHAI BAO BIEN TAI DAY*//
VONG1,VONG2,VONG3,HCTEMP,HDV,STATUS_TEMP,W_TEMP,DE M
ENDC;//*KET THUC DAT BIEN*//
ORG 0X000;//*CHI THI BIEN DICH*//
;//NHAY TOI CHUONG TRINH CHINH*//
GOTO MAIN
ORG 0X004
GOTO NGAT
ORG 0X005;//*CT CHINH BAT DAU TAI DAY*//
MAIN
BSF STATUS,5;//*CHUYEN TU BANK0 LEN BANK1*//
CLRF TRISD;//*PORTD LA DAU RA*//
CLRF TRISC
MOVLW B'00000100'
MOVWF OPTION_REG
CLRF DEM
BCF INTCON,TMR0IF
BSF INTCON,TMR0IE
BSF INTCON,GIE
BCF STATUS,5; //*CHUYEN XUONG BANK0*//
MOVLW D'100'
MOVWF TMR0
;*****************CHUONG TRINH NGAT***************************
NGAT
MOVWF W_TEMP
SWAPF STATUS,W
MOVWF STATUS_TEMP
BCF INTCON,TMR0IF
BTFSC DEM,0
GOTO SAI
GOTO DUNG
DUNG
BCF PORTA,4
BSF PORTA,5
MOVLW D'8' ;// HANG DON VI =8//
CALL BANGMA
MOVWF PORTD
MOVLW D'1'
MOVWF DEM
GOTO THOAT
SAI
BSF PORTA,4
BCF PORTA,5
MOVLW D'3'; // HANG CHUC =3//
CALL BANGMA
MOVWF PORTD
MOVLW D'0'
MOVWF DEM
THOAT
MOVLW D'100'
MOVWF TMR0
SWAPF STATUS_TEMP,W
MOVWF STATUS
SWAPF W_TEMP,F
SWAPF W_TEMP,W
RETFIE


;******************CHUONG TRINH BANG MA*************************
BANGMA
ADDWF PCL,F
RETLW 0XC0
RETLW 0XF9
RETLW 0XA4
RETLW 0XB0
RETLW 0X99
RETLW 0X92
RETLW 0X82
RETLW 0XF8
RETLW 0X80
RETLW 0X90
END
toan_320.vn vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Old 18-10-2013, 12:32 PM   #8
bestvietnam999
Nhập môn đệ tử
 
Tham gia ngày: Oct 2013
Bài gửi: 2
:
Cảm ơn bạn nhiều nhé!!!!!!!!1
__________________
hạt điều rang muối
bestvietnam999 vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Old 21-10-2013, 06:00 PM   #9
xmentpro
Nhập môn đệ tử
 
Tham gia ngày: Aug 2010
Bài gửi: 1
:
Mình mới học pic và làm cái code nay nhưng khôg chạy xin chỉ bảo mih với? và tại sao khi set_tris_x() một port thì các chân ra port đó lại có các giá trị 0,1 khác nhau.tks!
#include<16F877A.h>
#fuses NOWDT,PUT,HS,NOPROTECT
#use delay(clock=10000000)
#use fast_io(b)
void nhay_led(){
output_b(0xff);
delay_ms(200);
output_b(0x00);
delay_ms(200);
}
void main(){
set_tris_c(1);
set_tris_b(0);
if(pin_c1==1)
while(1){
nhay_led();

}
xmentpro vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Old 26-10-2013, 12:43 PM   #10
hatdieu999
Nhập môn đệ tử
 
Tham gia ngày: Oct 2013
Bài gửi: 1
:
đội ơn chủ thớt nhiều !!!
hatdieu999 vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Old 05-11-2013, 09:02 PM   #11
minhzx_yt
Nhập môn đệ tử
 
Tham gia ngày: Oct 2013
Bài gửi: 1
:
mình mới viết lập trình PIC,có 1 lỗi này mong mọi nguòi giúp đỡ
MPLINK 4.40, Linker
Device Database Version 1.3
Copyright (c) 1998-2011 Microchip Technology Inc.
Error - Device not specified. Use /p option to specify a device.
Errors : 1
minhzx_yt vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Old 18-02-2014, 10:59 PM   #12
uynhdtvtk34
Nhập môn đệ tử
 
Tham gia ngày: Nov 2013
Bài gửi: 2
:
lập trình cho pic

mình debug mà nó xuất hiện những lỗi này ko biết phải làm sao?
uynhdtvtk34 vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Old 18-02-2014, 11:06 PM   #13
uynhdtvtk34
Nhập môn đệ tử
 
Tham gia ngày: Nov 2013
Bài gửi: 2
:
lập trình cho pic

mình debug mà nó xuất hiện những lỗi này ko biết phải làm sao?
Hình Kèm Theo
File Type: jpg Untitled.jpg (230.2 KB, 1 lần tải)
uynhdtvtk34 vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Old 21-03-2014, 11:25 PM   #14
npl.nguyenphi
Nhập môn đệ tử
 
Tham gia ngày: Mar 2014
Bài gửi: 2
:
Bác nào rành về lập trình PIC bằng mikroC Pro for PIC cho e hỏi, em bị lỗi ntn là sao

0 304 C:/Users/WIN7/Desktop/Test PIC/2/MyProject.c:15: error: Can't open include file "16f887.h"
0 304 C:/Users/WIN7/Desktop/Test PIC/New folder/MyProject.c:16: error: Unknown ‪#‎directive‬ "device"
0 304 ‪#‎device‬ *= 16 ADC = 10
npl.nguyenphi vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Old 02-05-2014, 12:58 AM   #15
picvn1188
Nhập môn đệ tử
 
picvn1188's Avatar
 
Tham gia ngày: Mar 2014
Bài gửi: 2
:
các anh chị xem giúp e với ak. em khai báo hàm delay rồi mà nó cứ báo lỗi delay thôi ak. em cảm ơn các anh chị ak.
Hình Kèm Theo
File Type: png 3.png (137.0 KB, 2 lần tải)
File Kèm Theo
File Type: txt change.txt (13.0 KB, 1 lần tải)

thay đổi nội dung bởi: picvn1188, 02-05-2014 lúc 01:05 AM.
picvn1188 vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Trả lời

Ðiều Chỉnh
Xếp Bà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


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