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 22-04-2009, 06:44 PM   #166
khanhbp
Banned
 
Tham gia ngày: Sep 2008
Bài gửi: 4
:
CCS 4.088 new

Link download:
Tested OK
khanhbp vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Old 02-05-2009, 09:51 AM   #167
hatbui
Đệ tử 1 túi
 
Tham gia ngày: Jul 2006
Bài gửi: 11
:
Giúp em code làm việc với 74HC595

Chào các bác.
Bác nào chỉ giúp em đoạn code làm việc với 595 theo 2 cách
- sử dụng SPI module có sẵn của 16F877A
- có thể sử dụng pin khác của Port khác
Giúp em code bằng CCS C được ko ah.


Em xin chân thành cảm ơn.
File Kèm Theo
File Type: zip 16F877A-74HC595_Proteus.zip (20.7 KB, 131 lần tải)

thay đổi nội dung bởi: hatbui, 02-05-2009 lúc 10:17 AM.
hatbui vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Old 02-05-2009, 09:11 PM   #168
manhha2799
Đệ tử 5 túi
 
Tham gia ngày: Apr 2007
Bài gửi: 121
:
Send a message via Yahoo to manhha2799
Cool

Đây là cách phần mềm :

#bit SCK=0x06.6
#bit DATA=0x06.4
#bit SCL=0x06.7

void Data_in(int1 k)
{
output_bit(pin_b4,k);
output_low(pin_b6);
output_high(pin_b6);
}
void LatchData()
{
output_low(pin_b7);
output_high(pin_b7);
}


Đây là spi phần cứng :

spi_write(0b11111111);
setup_spi(spi_master |spi_h_to_l|spi_clk_div_4);
__________________
Bảng ledsigns chất lượng cao...
http://www.ledviet.info - manhha2700@yahoo.com
Đt:0949299699
manhha2799 vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Old 02-05-2009, 09:47 PM   #169
mocdailam
Đệ tử 1 túi
 
Tham gia ngày: Mar 2009
Bài gửi: 18
:
Send a message via ICQ to mocdailam
bac F ơi! có thời gian trả lời giúp em với
mocdailam vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Old 03-05-2009, 09:37 PM   #170
manhha2799
Đệ tử 5 túi
 
Tham gia ngày: Apr 2007
Bài gửi: 121
:
Send a message via Yahoo to manhha2799
Bạn này hỏi gì thế nhỉ? mà ko thấy câu hỏi gì hết?
__________________
Bảng ledsigns chất lượng cao...
http://www.ledviet.info - manhha2700@yahoo.com
Đt:0949299699
manhha2799 vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Old 23-06-2009, 05:40 PM   #171
bravesoldier
Đệ tử 1 túi
 
Tham gia ngày: Apr 2009
Bài gửi: 18
:
Em tra datasheet của PIC16F877A để tìm hiểu module SPI và xem cả example trong CCS nữa nhưng khi thử trên bo cắm với 5 con 595 thì 40 con LED sáng loạn cả lên. Liệu em có dùng sai hay không? Bác nào dùng SPI cứng của PIC ko chỉ cho em với?
Code:
#include <16F877A.h>
#device *=16 ADC=8
#fuses NOWDT, XT, NOPUT, NOPROTECT, NODEBUG, NOBROWNOUT, NOLVP
#use delay(clock=4000000)
#use fast_io(b)
#byte portb=0x6
#bit SCL = portb.0

void latch_data()
  {
    SCL=0;
    SCL=1;
  }

main()
  {
   byte i;
   set_tris_b(0);
   setup_spi(SPI_MASTER | SPI_H_TO_L | SPI_CLK_DIV_16); // tham kha?o Help
   
   SCL=1;
   while (true)
      {
       for (i=1; i<=5; ++i) {spi_write(0xAA);}
       latch_data();
       delay_ms(1000);

       for (i=1; i<=5; ++i) {spi_write(0x55);}
       latch_data();
       delay_ms(1000);
      }
  }
Em lắp xen kẽ 20 con LED xanh với 20 con LED đỏ, viết code để cho chúng nó nhấp nháy.
Theo như datasheet thì em dùng chân RC5 của PIC16F877A để xuất data ra chân 14 của con 595 đầu tiên, chân RC3 làm chân clock (SCK), chân RB0 chọn để chốt.
Em xin cám ơn!
bravesoldier vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Old 24-06-2009, 08:49 AM   #172
picpen
Đệ tử 5 túi
 
picpen's Avatar
 
Tham gia ngày: Jun 2008
Bài gửi: 112
:
Code:
for (i=1; i<=5; ++i) {spi_write(0xAA);}
latch_data();
delay_ms(1000);
??? tôi ko hiểu ý đồ dùng cấu trúc for của bạn là như thế nào , bạn chú ý khi quản lý khối lệnh bằng {} nhé !
với SPI tôi đã làm rồi , cái giao tiếp này của pic rất rễ nhiễu và bị sai khi bạn dùng cáp để để truyền dữ liệu . Chỉ cần sai 1 bít là tất cả khối dữ liệu sau đó bị sai hết
Bạn nên chú ý với 2 dây dữ liệu và dây clock . phải đảm bảo mấy dây đó phải an toàn ko xảy ra lỗi ...... đó là do cách hoạt động của SPI ko có kiểm tra chẵn lẻ cũng ko có tín hiệu ack
chúc vui !
__________________
** xin hãy cho tôi là tượng đá
** Để muôn đời không nhớ thương ai ..!!
picpen vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Old 24-06-2009, 03:35 PM   #173
bravesoldier
Đệ tử 1 túi
 
Tham gia ngày: Apr 2009
Bài gửi: 18
:
Trích:
??? tôi ko hiểu ý đồ dùng cấu trúc for của bạn là như thế nào , bạn chú ý khi quản lý khối lệnh bằng {} nhé !
với SPI tôi đã làm rồi , cái giao tiếp này của pic rất rễ nhiễu và bị sai khi bạn dùng cáp để để truyền dữ liệu . Chỉ cần sai 1 bít là tất cả khối dữ liệu sau đó bị sai hết
Bạn nên chú ý với 2 dây dữ liệu và dây clock . phải đảm bảo mấy dây đó phải an toàn ko xảy ra lỗi ...... đó là do cách hoạt động của SPI ko có kiểm tra chẵn lẻ cũng ko có tín hiệu ack
chúc vui !
Em dùng for để thực hiện 5 lần SPI_write, để out 5x8 = 40 bit ra dãy LED 40 con
0xAA = 10101010b để LED đỏ tắt, LED xanh sáng
0x55= 01010101b để LED đỏ sáng, LED xanh tắt
đúng là em cắm nhiều dây quá nên nhiễu thật
sờ vào nguồn là cụm 8LED do con 595 thứ 2 nối ra tối hẳn đi, còn các cụm khác vẫn bình thường. Thật là củ chuối!
Đêm qua em tháo hết bo rồi. Mục đích là test chức năng SPI mềm và cứng của PIC 16F877A mà bác.
Bác có gì chỉ bảo, có gì cần chú ý về phần cứng thì giúp em với.
mail của em là dotien.dzung@gmail.com
em xin cảm ơn bác.
bravesoldier vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Old 24-06-2009, 03:41 PM   #174
bravesoldier
Đệ tử 1 túi
 
Tham gia ngày: Apr 2009
Bài gửi: 18
:
chắc là dây nối dùng SPI cứng của PIC càng ngắn càng tốt các bác nhỉ
bravesoldier vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Old 01-07-2009, 07:05 PM   #175
tonghua19
Nhập môn đệ tử
 
Tham gia ngày: Apr 2008
Bài gửi: 3
:
Trích:
Nguyên văn bởi bravesoldier View Post
Em tra datasheet của PIC16F877A để tìm hiểu module SPI và xem cả example trong CCS nữa nhưng khi thử trên bo cắm với 5 con 595 thì 40 con LED sáng loạn cả lên. Liệu em có dùng sai hay không? Bác nào dùng SPI cứng của PIC ko chỉ cho em với?
Code:
#include <16F877A.h>
#device *=16 ADC=8
#fuses NOWDT, XT, NOPUT, NOPROTECT, NODEBUG, NOBROWNOUT, NOLVP
#use delay(clock=4000000)
#use fast_io(b)
#byte portb=0x6
#bit SCL = portb.0

void latch_data()
  {
    SCL=0;
    SCL=1;
  }

main()
  {
   byte i;
   set_tris_b(0);
   setup_spi(SPI_MASTER | SPI_H_TO_L | SPI_CLK_DIV_16); // tham kha?o Help
   
   SCL=1;
   while (true)
      {
       for (i=1; i<=5; ++i) {spi_write(0xAA);}
       latch_data();
       delay_ms(1000);

       for (i=1; i<=5; ++i) {spi_write(0x55);}
       latch_data();
       delay_ms(1000);
      }
  }
Em lắp xen kẽ 20 con LED xanh với 20 con LED đỏ, viết code để cho chúng nó nhấp nháy.
Theo như datasheet thì em dùng chân RC5 của PIC16F877A để xuất data ra chân 14 của con 595 đầu tiên, chân RC3 làm chân clock (SCK), chân RB0 chọn để chốt.
Em xin cám ơn!
Chào các bạn
các bạn cho mình hỏi là câu lệnh:
#device *=16 ADC=8
#byte portb=0x6
có nghĩa gì vậy
cho em mình hỏi thêm là làm sao mình mới có thể dùng lệnh các lệnh như trisb, portb, latb,... hay một số thanh ghi như ifs1, iec0,...
Cám ơn các bạn nhiều
tonghua19 vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Old 02-07-2009, 05:18 PM   #176
thanhvanckbk
Nhập môn đệ tử
 
Tham gia ngày: Feb 2009
Bài gửi: 7
:
Mình là dân mới tập tành học PIC nê sau khi đọc xong TUTOR của bác falleaf mình thấy rất hay, không biết là phần 2 của TUTOR bác đã up lên chưa vậy? Mong cao thủ nào đã có được thì up lên cho anh em tham khảo nha!
thanhvanckbk vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Old 02-07-2009, 05:23 PM   #177
thanhvanckbk
Nhập môn đệ tử
 
Tham gia ngày: Feb 2009
Bài gửi: 7
:
ah cho mình hỏi thêm chút với, mình đang muốn dùng PIC để điều khiển 12 RC servo bằng PWM, ai có kinh nghiệm trong việc này thì chỉ giúp mình với, nếu được thì có thể up đoạn code đó cho mình tham khảo chút nha. cám ơn những người cùng yêu thích PIC như mình. hihi
thanhvanckbk vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Old 16-07-2009, 05:42 PM   #178
Hailua8x
Nhập môn đệ tử
 
Tham gia ngày: Sep 2008
Bài gửi: 6
:
Em mới bắt đầu nghiên cứu CCS, mong được các anh pro giúp đở
Em đang nghiên cứu con dspic6014, con này có thể chạy với tốc độ 30 MIPs

em sử dụng thạch anh 8 Mhz, các anh cho em hỏi làm sao để nhân tần số thực thi lệnh lên 30 MIPS
Cám ơn mấy anh
Hailua8x vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Old 17-07-2009, 05:01 PM   #179
Hailua8x
Nhập môn đệ tử
 
Tham gia ngày: Sep 2008
Bài gửi: 6
:
Mấy anh ai có file defs_16F877A.h , cho em xin với !
Mong được mấy anh giúp đở
Hailua8x vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Old 17-07-2009, 05:07 PM   #180
Hailua8x
Nhập môn đệ tử
 
Tham gia ngày: Sep 2008
Bài gửi: 6
:
Sorry, em viết nhầm, hổng phải con đó mà là con này : dspic30f6014
Hailua8x 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à 09:22 AM.


Đượ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