PIC Vietnam

PIC Vietnam (http://www.picvietnam.com/forum/index.php)
-   Cơ bản về vi điều khiển và PIC (http://www.picvietnam.com/forum/forumdisplay.php?f=8)
-   -   Mới bắt đầu? Code không chạy? Hãy vào đây! (http://www.picvietnam.com/forum/showthread.php?t=3451)

hunke92 20-07-2013 11:57 PM

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 đỡ

thitoantruot 21-08-2013 02:54 PM

nạp code cho pic16f72 không chạy
 
2 Attachment(s)
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

buivantuyen89th 23-08-2013 05:36 PM

Trích:

Nguyên văn bởi thitoantruot (Post 82772)
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!

toan_320.vn 13-10-2013 11:25 PM

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

bestvietnam999 18-10-2013 12:32 PM

Cảm ơn bạn nhiều nhé!!!!!!!!1

xmentpro 21-10-2013 06:00 PM

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();

}

hatdieu999 26-10-2013 12:43 PM

đội ơn chủ thớt nhiều !!!

minhzx_yt 05-11-2013 09:02 PM

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

uynhdtvtk34 18-02-2014 10:59 PM

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 18-02-2014 11:06 PM

lập trình cho pic
 
1 Attachment(s)
mình debug mà nó xuất hiện những lỗi này ko biết phải làm sao?

npl.nguyenphi 21-03-2014 11:25 PM

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

picvn1188 02-05-2014 12:58 AM

3 Attachment(s)
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.

ngockonvang 08-05-2014 10:40 PM

Thanks for this informative post. It help me a lot. And it gave mo ideas on how to make more money in marketing business. I hope lots of people visit this site so they can easily learn this informative post.

shaoljndragon 17-06-2014 07:27 PM

Hien thi 4 chu so!
 
[QUOTE=namqn;33890]Bạn chỉ sửa thế này thôi thì thế nào (tôi không dùng CCS C, nên bạn sửa như dưới đây và dịch xem kết quả ra sao):
Code:

void ht(long a) {
    int nghin,tram,chuc,dvi;
    nghin=(int)a/1000;
    tram=(int)(a%1000)/100;
    chuc=(int)(a%100)/10;
    dvi=(int)(a%10);
    lcd_putchar(nghin+48);
    lcd_putchar(tram+48);
    lcd_putchar(chuc+48);
    lcd_putchar(dvi+48);
}

Bạn cho mình hỏi la hiển thị thê này ra chuỗi số hay số vậy!@@
Bây giờ: Mình muốn chuyển chuỗi số trên lcd thành thành số thì làm thế nào! không dùng hàm " atoi" vì thư viện của mình bị lỗi! thanks

minhphuc0311 28-10-2014 12:55 AM

nhờ sửa code đo nhiệt độ dùng LM35 hiển thị lên LED 7SEG
 
em đang học PIC nên chả biết viết sai chỗ nào nữa,mong anh e chỉ bảo....
code đây ạ
//Cau Hinh PIC
#include <16f877a.h>//KHAI BAO THU VIEN
#fuses XT,NOWDT,NOPUT,BROWNOUT,NOLVP,NOWRT,NODEBUG,NOPROT ECT//KHAI BAO PIC
#device 16F877*=16 ADC=8
#use delay(clock=4000000)//KHAI BAO TAN SO THACH ANH
void convert_bcd(int8 x);
unsigned char const ma_LED[10]= {0xC0,0xcf,0xa4,0xb0,0x99,0x92,0x83,0xf8,0x80,0x90 };//khai bao ma led
int a,b,chuc, n,donvi;//Cac bien chu so
void convert_bcd(int x)
{
chuc=(int)x%10;
donvi=(int)x/10;
donvi=(int)donvi%10;
}

void hienthi() // quet led
{
for(n=0;n<10;n++)
{

OUTPUT_D( ma_LED[chuc]); output_c(0b00000001);
delay_ms(10);
output_c(0b00000000);
OUTPUT_D( ma_LED [donvi]); output_c(0b00000010);
delay_ms(10);
output_c(0b00000000);
}
}
//CHUONG TRINH CHINH
void main()
{
float nhietdo;

{
set_tris_a(0xff);
SET_TRIS_c(0X00); //Port B là output(ngo ra)
SET_TRIS_D(0x00); //port D la output(ngo ra)

setup_ADC(ADC_clock_internal);//T/G lay mau bang xung clock
setup_ADC_ports(AN0);//Lay Vref=5V
set_ADC_channel(0);//chon chan A0 la chan dua tin hieu Analog vao
delay_us(10);//tao khoang t/g de lay mau
a=read_adc();//doc tin hieu vao
nhietdo = (a)/2.048;
b=nhietdo;
convert_bcd((int8)b);//chuyen doi ADC
delay_us(10);
//Vong lap
while(1)
{
a=read_adc();
nhietdo = (a)/2.048;
convert_bcd((int8)b);
hienthi();
}
}
}


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