|
Tài trợ cho PIC Vietnam |
PIC - Thiết kế và Ứng dụng Ý tưởng cho các sản phẩm sử dụng PIC/dsPIC và các sản phẩm của Microchip |
|
Ðiều Chỉnh | Xếp Bài |
|
29-07-2011, 01:31 PM | #1 |
Đệ tử 7 túi
Tham gia ngày: Jul 2010
Nơi Cư Ngụ: TP HCM
Bài gửi: 190
: |
Kit thí nghiệm pic6f877a đơn giản, hiệu quả
Hôm trước có post led ma trận, led 7 đoạn với 74HC595, hôm nay post luôn kit Pic6f877a cho "đủ tụ".
Mạch hơi lớn để làm cho dễ và sử dụng hết bề rộng board đồng 200. Anh em ủi về xài cho vui!!!!!!!!!!!! Làm biếng chụp hình đưa lên quá!!!!!!!. Để hôm khác rảnh luận về truyền dữ liệu trên thanh ghi dịch chơi!!!!!!!!. Đang busy rồi!!!!!!!!!!! |
20-08-2011, 10:24 AM | #2 |
Đệ tử 7 túi
Tham gia ngày: Jul 2010
Nơi Cư Ngụ: TP HCM
Bài gửi: 190
: |
Truyền dữ liệu thanh ghi dịch 74hc595
Chân Clock: E2
Chân data: E0 Level1: Xuất nhấp nháy dữ liệu 8 bit ra thanh ghi dịch: #include <16F877A.h> #include <DEFS_16F877A.h> #device *=16 ADC=10 #include <stdlib.h> #fuses HS,NOWDT,NOPROTECT,NOLVP,NODEBUG #use delay(clock=16000000) #use rs232(baud=9600,parity=N,xmit=PIN_C6,rcv=PIN_C7,bi ts=8) //=========================functions use======================================== void load_eep_macdinh(); Void clock(); Void sent_data(); int8 k,data; int8 data1=0b00001111; #define out_data RE1 //======================================functions use=========================== /********************* Ham main *************************/ void main() { set_tris_B(0); set_tris_D(0); set_tris_E(0); set_tris_A(0xff); out_data=0; While(true) { data=data1; sent_data(); out_data=1; delay_ms(500); out_data=0; delay_ms(500); } } Void sent_data() { for(k=1;k<=8;k++) { #bit in=data.7 if(in==1) {output_high(PIN_E0);} else {output_low(PIN_E0);} clock(); data = data<<1; } } Void clock() { output_high(PIN_E2); output_low(PIN_E2); } Level2: Xuất nhấp nháy dữ liệu 1 mảng ra thanh ghi dịch: #include <16F877A.h> #include <DEFS_16F877A.h> #device *=16 ADC=10 #include <stdlib.h> #fuses HS,NOWDT,NOPROTECT,NOLVP,NODEBUG #use delay(clock=16000000) #use rs232(baud=9600,parity=N,xmit=PIN_C6,rcv=PIN_C7,bi ts=8) //=========================functions use======================================== void load_eep_macdinh(); Void clock(); Void sent_data(); int8 i,k,data; int8 data1[]={0b00000000,0b00000001,0b00000010,0b00000011,0b00 000100,0b00000101,0b00000110,0b00000111,0b00001000 ,0b00001001}; #define out_data RE1 //======================================functions use=========================== /********************* Ham main *************************/ void main() { set_tris_B(0); set_tris_D(0); set_tris_E(0); set_tris_A(0xff); out_data=0; While(true) { for(i=0;i<10;i++) { data=data1[i]; sent_data(); out_data=1; delay_ms(500); out_data=0; delay_ms(500); } } } Void sent_data() { for(k=0;k<8;k++) { #bit in=data.7 if(in==1) {output_high(PIN_E0);} else {output_low(PIN_E0);} clock(); data = data<<1; } } Void clock() { output_high(PIN_E2); output_low(PIN_E2); } Chú ý: khi truyền dữ liệu ra thanh ghi dịch thì out_data phải xuống mức 0, nếu không sẽ bị lỗi!!!!!!!!!!. Các level khác .....hôm khác vậy!!!!!!!! |
14-09-2012, 12:33 AM | #3 |
Nhập môn đệ tử
Tham gia ngày: Sep 2012
Bài gửi: 2
: |
có file mô phỏng trên proteus không anh.em muốn mô phỏng cái mạch đo nhiệt độ hiển thị trên led 7 đoạn(điều khiển nhiệt độ dùng quạt)anh xem cái mạch mô phỏng của em thế này đúng chưa
http://www.mediafire.com/?j6d7cktf31wnzul |
04-06-2013, 09:24 AM | #4 |
Nhập môn đệ tử
Tham gia ngày: Jun 2013
Bài gửi: 1
: |
ko co ten linh kien ah
|
Ðiều Chỉnh | |
Xếp Bài | |
|
|