PIC Vietnam

Go Back   PIC Vietnam > Microchip PIC > Các ngôn ngữ lập trình khác (CCS C, HT 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

Trả lời
 
Ðiều Chỉnh Xếp Bài
Old 06-09-2010, 12:28 PM   #1
gawafer
Nhập môn đệ tử
 
Tham gia ngày: Sep 2010
Bài gửi: 8
:
Các bác ơi giúp em với. em muốn lập trình cho led ma trận chạy chữ với pic6F877A bằng ngôn ngữ C ,em không biết lập trình như thế nào các bác giúp em với
Địa chi mail của em : gawafer@yahoo.com

thay đổi nội dung bởi: gawafer, 06-09-2010 lúc 12:35 PM.
gawafer vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Old 09-01-2011, 09:59 AM   #2
quangvanvo
Đệ tử 1 túi
 
Tham gia ngày: Jan 2011
Bài gửi: 18
:
các anh chị ơi em dịch chương trình thì được nhưng nó cứ báo warning la sao nhưng vẫn dich sang file de chạy trên prôtust được
quangvanvo vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Old 15-02-2011, 10:17 AM   #3
bean984
Đệ tử 3 túi
 
Tham gia ngày: Dec 2007
Bài gửi: 51
:
mọi người cho mình hỏi dòng PIC nào hỗ trợ 2 cổng USART vây?
Thanks!
bean984 vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Old 19-03-2011, 04:01 PM   #4
phu_vinh77
Nhập môn đệ tử
 
Tham gia ngày: Apr 2010
Bài gửi: 5
:
Các anh các bạn các vị tiền bối ơi, sao em đọc thấy nhiều topic nói mà ko thấy trả lời.
CCS có hổ trợ compiler cho dsPIC ko vậy ạ.
Em cảm ơn.
phu_vinh77 vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Old 09-08-2011, 12:08 AM   #5
auto_tvt
Nhập môn đệ tử
 
Tham gia ngày: Jan 2011
Bài gửi: 3
:
phần mềm lập trình cho pic Mikro-C

minh mới tập tành học vxl, va hiện mình Mikro-C , nhưng vì mới làm quen vxl nên lang thang trên mạng nhưng chẳng có code cho nó gì hết ah,
sao mọi người không ai dùng phần mềm này ah,
qua đây cho mình hỏi có ai dùng thi chỉ giáo cho mình với.. thanks mọi người.
mail của em: auto.tvt@gmail.com
auto_tvt vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Old 09-08-2011, 03:59 PM   #6
caremlanh
Đệ tử 3 túi
 
caremlanh's Avatar
 
Tham gia ngày: Jul 2010
Nơi Cư Ngụ: hcm
Bài gửi: 52
:
Send a message via Yahoo to caremlanh
Trích:
Nguyên văn bởi auto_tvt View Post
minh mới tập tành học vxl, va hiện mình Mikro-C , nhưng vì mới làm quen vxl nên lang thang trên mạng nhưng chẳng có code cho nó gì hết ah,
sao mọi người không ai dùng phần mềm này ah,
qua đây cho mình hỏi có ai dùng thi chỉ giáo cho mình với.. thanks mọi người.
mail của em: auto.tvt@gmail.com
tốt nhất là dùng CCS đi, ko thì HT PIC chứ Micro C chả hỏi được ai đâu
caremlanh vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Old 03-10-2011, 02:28 PM   #7
nguyenminhthi90
Nhập môn đệ tử
 
Tham gia ngày: May 2010
Bài gửi: 1
:
nhờ các pro chỉ giúp phần RS232

chào các bác!
em tập theo cái tuto của pác linh thì đã có thể gửi ký tự từ PC lên LCD bình thường rồi, nhưng phần ngược lại, dù có printf cỡ nào nó cũng không truyền được vào hyper terminal được ah . cái này em mô phỏng bên con 8051 thì ngon lành cành đào ạ, hix :|
sau đây là code của e:

#include <16f877a.h>
#include <def_877a.h>
#use delay(clock=20000000)
#FUSES NOWDT, HS, NOPUT, NOPROTECT, NODEBUG, NOBROWNOUT, NOLVP, NOCPD, NOWRT
#use rs232(baud=9600,parity=N,xmit=PIN_C6,rcv=PIN_C7,bi ts=9)

#include <lcd_lib_4bit.c>
//#include <input.c>

int8 count=0;
int1 t=1;

#INT_RDA
Receive_isr() {
char c;
count++;
c = getc();
putc(c);
if (c=='z')
{
LCD_putcmd(0x01); //Clear Screen
count=0;
}

if ((count<=16) && (c!='z'))
{
LCD_putchar(c);
}
if ((count > 16) && (t==1))
{
count=1;
LCD_putcmd(0xc0);
LCD_putchar(c);
t=0;
}
if ((count > 16) && (t==0))
{
count=1;
LCD_putcmd(0x01);
LCD_putchar(c);
t=1;
}
}
void main()
{

enable_interrupts(int_rda);
enable_interrupts(GLOBAL);
lcd_init();
lcd_putcmd(0x01);
lcd_putcmd(line_1);
printf("hello!");
while (1) {}
}

em có gửi theo mấy cái file, mọi người chỉ giúp e nhé .
File Kèm Theo
File Type: rar 232.rar (488.1 KB, 27 lần tải)
nguyenminhthi90 vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Old 30-03-2012, 12:27 PM   #8
DunLop
Nhập môn đệ tử
 
Tham gia ngày: Feb 2012
Bài gửi: 4
:
đo nhiệt độ dùng lm335 và 16f877a hiển thị led 7 đoạn

e mới học vdk...đang viết 1 mạch đo nhiệt độ dùng lm335 và 16f877a hiển thị led 7 đoạn
ko bik đoạn code e viết sai chỗ nào, mong ae giúp cho..thanks
# include <16f877a.h>
# fuses hs,nowdt,nolvp
# DEVICE 16f877a*=16 ADC=10
# use delay (clock=4000000)

int Maled[10]={0XC0,0XF9,0XA4,0XB0,0X99,0X92,0X82,0XF8,0X80,0X9 0};
int hc=0,hdv=0,nhietdo,giatriadc;
# int_timer1
void ngattimer()
{
set_adc_channel(0);
delay_ms(10);
giatriadc=read_adc();
nhietdo=((giatriadc-558.558)/2.048);
hc=nhietdo/10;
hdv=nhietdo%10;
set_timer1(40536);
}
void hienthi();
void main()
{
set_tris_a (0xff);
set_tris_b (0x00);
set_tris_c (0x00);
setup_timer_1(t1_internal|t1_div_by_8);
set_timer1(40536);
enable_interrupts(int_timer1);
enable_interrupts(global);
setup_adc(adc_clock_internal);
setup_adc_ports(AN0);

while(1)
{

hienthi();
}

}
void hienthi()
{

output_high (pin_c0);
output_low (pin_c1);
output_b (Maled[hc]);
delay_ms(5);
output_high (pin_c1);
output_low(pin_c0);
output_b (Maled[hdv]);
delay_ms (5);


}

sơ đồ mạch:
Hình Kèm Theo
File Type: bmp nhietdo.bmp (1.60 MB, 11 lần tải)

thay đổi nội dung bởi: DunLop, 30-03-2012 lúc 04:10 PM. Lý do: bổ sung
DunLop vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Old 04-05-2012, 01:00 AM   #9
yannibandari
Nhập môn đệ tử
 
Tham gia ngày: Apr 2011
Bài gửi: 1
:
mọi người ơi giúp mình với. mình tìm chương trình pic c cả ngày rồi,cài vào rồi lại xóa không biết bao nhiêu lần mà cũng không tìm ra phiên bản thích hợp. cứ mỗi lần compile cái file.c (đã chạy tốt trên máy khác,có thể phiên bản cũ) thì nó lại báo error! mình xài win 7 64bit untimate. ức chế quá!
yannibandari vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Old 04-11-2012, 11:14 PM   #10
tranhien5291
Nhập môn đệ tử
 
Tham gia ngày: Oct 2012
Bài gửi: 1
:
help!!!

Các bác ơi cho e hỏi e cài CCS nhưng mà bị báo lỗi " Exception EInoutError in module pcwwiz.exe at 00833f6 I/O error 123 " , k biết phải làm thế nào nữa. Các pro chỉ cho e với ạ!!! e cảm ơn ạ.

thay đổi nội dung bởi: tranhien5291, 04-11-2012 lúc 11:19 PM.
tranhien5291 vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Old 06-11-2012, 04:14 PM   #11
huydungsh
Nhập môn đệ tử
 
Tham gia ngày: Sep 2011
Bài gửi: 10
:
các anh cho em hỏi đoạn chương trình sau co nghĩa như thế nào ak?
#int_timer0
void interrupt_timer0(){
int1 a;
int16 count;
set_timer0(56);
++count;
if(count == 500)
{
count=0;
a=~a;
RB0=a;
}


}
theo em nghĩ thì khi timer0 đêm được 200 lần( set_timer0(56); 256-56=200) thì biến cuont tăng lên 1. vậy trong quá trình chờ biến count đếm được 500 lần tương ứng với 100ms thì con pic16f877a có làm gì không? nếu làm thì khi thỏa mãn điều kiện IF thì làm sao pic có thể thực hiện các lệnh trong điều kiện đó. thanks all!
huydungsh vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Old 07-11-2012, 01:31 AM   #12
quanghuy_125
Đệ tử 2 túi
 
Tham gia ngày: Apr 2009
Bài gửi: 44
:
Trích:
Nguyên văn bởi huydungsh View Post
các anh cho em hỏi đoạn chương trình sau co nghĩa như thế nào ak?
#int_timer0
void interrupt_timer0(){
int1 a;
int16 count;
set_timer0(56);
++count;
if(count == 500)
{
count=0;
a=~a;
RB0=a;
}


}
theo em nghĩ thì khi timer0 đêm được 200 lần( set_timer0(56); 256-56=200) thì biến cuont tăng lên 1. vậy trong quá trình chờ biến count đếm được 500 lần tương ứng với 100ms thì con pic16f877a có làm gì không? nếu làm thì khi thỏa mãn điều kiện IF thì làm sao pic có thể thực hiện các lệnh trong điều kiện đó. thanks all!
Đúng theo bạn nói" timer0 đêm được 200 lần( set_timer0(56); 256-56=200) thì biến count tăng lên 1. vậy trong quá trình chờ biến count đếm được 500 lần "
Cái 100ms không tính được vì nó phụ thuộc vào xung nhịp mà mình đưa vào.
Khi count=500; thì count=0; a = đảo a; chân RB0 =a; và quá trình lại được tiếp diễn...
__________________
ĐT : 0167 6455 880 Mail: quanghuy1205@gmail.com
https://www.facebook.com/ThietKeDienTu
quanghuy_125 vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Old 07-11-2012, 01:56 AM   #13
huydungsh
Nhập môn đệ tử
 
Tham gia ngày: Sep 2011
Bài gửi: 10
:
cảm ơn các anh đã giải thích! nguyên code là như sau:
#include <16F877A.h>
#include <DEFS_16F877A.h>
#device 16F877*=16 ADC=10
#FUSES NOWDT, HS, NOPUT, NOPROTECT, NODEBUG, NOBROWNOUT, NOLVP, NOCPD, NOWRT
#use delay(clock=4000000)
#use fast_io(b)
#use fast_io(c)
#use fast_io(d)

#int_timer0
void interrupt_timer0(){
int1 a;
int16 count;
set_timer0(56);
++count;
if(count == 500)
{
count=0;
a=~a;
RB0=a;
}


}
void main()
{
set_tris_b(0);
setup_timer_0(RTCC_INTERNAL|RTCC_DIV_2);
enable_interrupts(int_timer0);
enable_interrupts(global);
set_timer0(56);

while(true)
{
}
}
em chỉ copy ở page 1 thôi thắc ở cái đoạn đó mong các anh giải thích giúp em!! thanks all
huydungsh vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Old 12-11-2012, 06:55 PM   #14
huydungsh
Nhập môn đệ tử
 
Tham gia ngày: Sep 2011
Bài gửi: 10
:
các anh ơi cho em hỏi trong ccs có hàm nào để thay đổi tần số xung trong điều chế PWM không ak! thanks các anh
huydungsh vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Old 23-11-2012, 01:58 AM   #15
ducthang50k2
Nhập môn đệ tử
 
Tham gia ngày: Oct 2012
Bài gửi: 1
:
có anh nào biết cách tính thời gian giữa 2 lần bấm phim không vậy? chỉ cho em với . 2 phím này là ở 2 chân ngắt khác nhau .

cảm ơn !!
ducthang50k2 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


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