![]() |
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 đỡ |
Trích:
http://ww1.microchip.com/downloads/e...oc/41211D_.pdf Thân, |
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 |
Trích:
Thân, |
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); } } |
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 |
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); } } } } |
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! |
Múi giờ GMT. Hiện tại là 05:41 PM. |
Tên diễn đàn: vBulletin Version 3.8.11
Được sáng lập bởi Đoàn Hiệp.
Copyright © PIC Vietnam