![]() |
CCS 4.088 new
Link download:
Tested OK |
Giúp em code làm việc với 74HC595
1 Attachment(s)
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. |
Đâ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); |
bac F ơi! có thời gian trả lời giúp em với
|
Bạn này hỏi gì thế nhỉ? mà ko thấy câu hỏi gì hết?
|
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> 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! |
Code:
for (i=1; i<=5; ++i) {spi_write(0xAA);} 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 ! |
Trích:
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. |
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ỉ :)
|
Trích:
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 |
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!
|
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
|
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 |
Mấy anh ai có file defs_16F877A.h , cho em xin với !
Mong được mấy anh giúp đở |
Sorry, em viết nhầm, hổng phải con đó mà là con này : dspic30f6014
|
Múi giờ GMT. Hiện tại là 05:12 AM. |
Tên diễn đàn: vBulletin Version 3.8.11
Được sáng lập bởi Đoàn Hiệp.
Copyright © PIC Vietnam