![]() |
![]() |
#1 |
Đệ tử 1 túi
Tham gia ngày: Oct 2007
Bài gửi: 16
: |
xin giúp đỡ pic 12f683
ví dụ trong 16f877a thi mình có thể lấy luôn các cổng vào ra là RA0,RA1.....RD0...dể xuất dữ liệu
nhưng ở pic 12f683 mình ko biết nó được dịnh nghĩa có tên là gì , mong các bạn giúp đỡ |
![]() |
![]() |
![]() |
#2 | |
Trưởng lão PIC bang
|
Trích:
http://ww1.microchip.com/downloads/e...oc/41211D_.pdf Thân,
__________________
Biển học mênh mông, sức người có hạn. Đang gặp vấn đề cần được giúp đỡ? Hãy dành ra vài phút đọc luồng sau: http://www.picvietnam.com/forum/showthread.php?t=1263 |
|
![]() |
![]() |
![]() |
#3 |
Đệ tử 1 túi
Tham gia ngày: Oct 2007
Bài gửi: 16
: |
em dùng HT PIC để viết , nhưng nó lại báo là ko định nghĩa được ký tự đó
VD: em dùng GP0,GP1,GP2 em cho lẹnh GP0=0; GP1=1; nhưng lại ko được anh giúp em với |
![]() |
![]() |
![]() |
#4 | |
Trưởng lão PIC bang
|
Trích:
Thân,
__________________
Biển học mênh mông, sức người có hạn. Đang gặp vấn đề cần được giúp đỡ? Hãy dành ra vài phút đọc luồng sau: http://www.picvietnam.com/forum/showthread.php?t=1263 |
|
![]() |
![]() |
![]() |
#5 |
Đệ tử 1 túi
Tham gia ngày: Oct 2007
Bài gửi: 16
: |
cám ơn anh , em đã tìm được rồi , nhưng lại có vấn đề
VD :khi em xuất ra một cổng GP0 mức H thì tất cả các chân còn lại tự động về 0 em khoong thể hiểu nổi . và mottj vấn đề nũa là em ko thể đọc dữ liệu từ một chân nào đó VD: đây là hàm em viết #include<pic.h> #include <stdio.h> // thach anh 4MHZ #include"delay.h" __CONFIG(17); #define H GP1 #define L GP2 #define TEXT GP0 void main(void) { OPTION = 0b10000111; // ty le chia 256 // 0,256ms / ko co tro treo TRISIO = 0b11111100; //Cong GP2 là vào GPIO=3; // GP0=1;GP1=1 while(1) { GP0=1; // ko hieu sao chan GP1 tu dong ve 0 if(GP2)GP1=0; // ham nay ko co tac dung , em ko the kiem tra chan GP2 mac du da dua no len muc 1(0) va lenh nay ko the thuc hien duoc??? else GP1=1; // cho GP1=1 nhung ko hieu sao chan GP0 tu dong ve 0 DelayMs(1000); GP0=0; DelayMs(1000); } } |
![]() |
![]() |
![]() |
#6 |
Đệ tử 1 túi
Tham gia ngày: Oct 2007
Bài gửi: 16
: |
em đã tìm ra lời giải
vì các cổng này đếu có thể là analog nên ta phải khởi tạo thêm thanh ghi ADCON cho tất cả là Digital thì được ngay cám ơn anh đẫ giứp |
![]() |
![]() |
![]() |
#7 | |
Nhập môn đệ tử
Tham gia ngày: Aug 2008
Bài gửi: 3
: |
Trích:
Chương trình này kiểm tra mức dầu của máy thông qua ADC, sau đó xuất ra còi báo hoặc tiếp tục cho xung đến bộ Điều khiển Chương trình này khi chạy không xuất xung ra chân A3 khi a<1500, khi a>1500 thì kiểm tra trên osilo 2 kênh A0, A2 lại có biên độ khác nhau(gấp đôi 5V và 2.2V) #include<12f683.h> #DEVICE ADC=8 //#define sAN0 #fuses INTRC_IO, NOMCLR,NOWDT,NOPROTECT #USE delay(internal=8M) int16 t,a ; void main(){ SET_TRIS_a(0b00000010);// chi co chan 6-A1 la vao adc setup_adc_ports(sAN1); setup_adc(adc_clock_internal); while (true) { set_adc_channel(1); delay_us(1); aq==0; // cho gia tri dau bang 0 aq=read_adc(); if (a<1500) //neu a<90 thi phat xung vao kenh A3 de ra coi bao { while(1) { output_high(PIN_A3); delay_ms(30); output_low(PIN_A3); delay_ms(30); } } ////////////////////////////////////////////////////// if (a>1500) // neu a>1500 {t==0;//gan gia tri dau while(t<100)// thuc hien vong nay 100 lan { t++; output_high(PIN_A0);//xuat xung ra cong A0 delay_us(7000); // output_low(PIN_A0);// delay_us(7000); } } } } thay đổi nội dung bởi: chungtn1980, 26-06-2010 lúc 11:24 PM. |
|
![]() |
![]() |
![]() |
#8 |
Nhập môn đệ tử
Tham gia ngày: Aug 2008
Bài gửi: 3
: |
Câu hỏi của mình là:
1. Thủ tục nhập xuất, định nghĩa hướng vào ra cho 12f683 trên CCS 2. Thủ tục khởi tạo và khóa các kênh ADC trên 12f683 mong anh em chỉ giúp! |
![]() |
![]() |
![]() |
|
|