PIC16F877 ADC mã hóa giúp đỡ

H

harakiri

Guest
xin chào i có GP2D12 cảm biến hồng ngoại 7 người trong số họ bởi SHARP i am mới với PIC16F877. Tôi không làm thế nào để cấu hình PIC của tôi trong C. bộ cảm biến có một phạm vi điện áp đầu ra tương tự 0.5 ~ 4 i cần được giúp đỡ về cách đọc điện áp này dưới mọi hình thức tôi có thể xử lý nó. i am một chút quen thuộc với lập trình C tôi chỉ do'nt biết làm thế nào để sử dụng ADC của PIC. bất kỳ trợ giúp sẽ được đánh giá cao. cảm ơn bạn
 
nếu bạn sử dụng trình biên dịch PICC, bạn phải thiết lập analoge input_analogs_on viết hoặc một cái gì đó LDS
 
Tượng trưng mã: Giả sử bạn sử dụng AN0 và muốn truy cập vào độ phân giải 10 bit như là một Lời ADCON0 = 01000001 ADCON1 = 10000000 tất cả các chất tương tự trên cảng A ref tương tự = VDD Nếu bạn cần các giá trị cụ thể của tài liệu tham khảo GÓP Ý ở đây ADCON0.2 Set để bắt đầu chuyển đổi kiểm tra xem thiết lập lại trước khi đọc 10 bit trên ADRESH và ADRESL Nếu bạn muốn, tôi sẽ cung cấp cho bạn mã gần đúng trong langage tượng trưng Vì nó là khó khăn để làm điều đó trong một phổ quát C langage (tất cả họ đều có bổ sung nhỏ của họ truy cập đăng ký đặc biệt cho các C cụ thể ) ở đây nó là Word đọc = ADRESL Byte 0, ADRESL byte ADCON0, ADCON1 SETUP: ADCON0 = 01000001B ADCON1 = 10000000B Chạy: Vòng: ... ... ADCON0, 2 = 1 trong khi ADCON0, 2 = 1 / / chờ đợi cho chuyển đổi để kết thúc xoay về Đọc = ADRESH * 256 ADRESL ... ... goto vòng gebepic: D.
 
này mã c dễ dàng cho bạn đọc ADC 16F877: //--------------- đọc ADC trên kênh 4 ------------- byte Trung Hoa Dân Quốc ( ) {byte oc, set_adc_channel (4); delay_ms (1); / / tùy chọn oc = read_adc (); trở về oc;} chúc may mắn!
 
Tôi đang sử dụng (HI-TECH PICC Compiler phiên bản 8.01PL3) kẻ Xin lỗi nó đã cho tôi quá nhiều thời gian để trả lời. máy tính của tôi có lỗi nghiêm trọng bởi virus, trojan. đã định dạng lại. về mã hóa. tôi thực sự xin lỗi và buồn bã nói, nhưng i am mới với PIC chức năng mã hóa. một trong những câu hỏi của tôi cũng sẽ được đó. làm thế nào PIC hiểu dao động điện áp tương tự. ví dụ. 0,5 v ~ 3,0 trong 10 bit ADC trong có nghĩa là 1024 thông tin khác nhau về điện áp mỗi. nó sẽ có ý nghĩa. ở mức 0,5 bit là 1, trong khi 0,6 là khoảng 20 tôi nghĩ rằng chỉ là một ví dụ. là điện áp tăng giá trị bit cũng tăng? tối đa của 1024? nếu có, để xác định rằng tôi đang ở 1,0 volt ADC pic sẽ GIV tôi một giá trị khoảng 200 + hay như vậy ..... tôi không chắc chắn ... tôi cần giúp đỡ (lẫn lộn). và làm thế nào để cấu hình PIC để sử dụng các cổng như ADC ... Tôi có thể sử dụng tất cả 7 của các cảm biến trong một trong PIC? để xác định có giá trị ADC? Cảm ơn bạn thời gian của bạn đọc này. appriciate nó rất nhiều.
 
hi, tôi biết. Thông thường, PIC sử dụng GND = Vref và VDD = Vref +, nhưng tôi có thể thay đổi vị trí của Vref trên pin của PIC bằng cách viết một cấu hình, bạn có thể sử dụng lệnh thiết lập để làm điều đó.
 
Sau khi đọc rộng rãi trên bảng dữ liệu có thể làm ADC tại. mã của tôi là test.c mã theo ý kiến ​​chỉ là mã của tôi thử nghiệm cho Proteus 7 mạch của tôi trong Proteus có 7 def dc cung cấp đầu vào tương tự. bắt đầu từ kênh 1-7. vấn đề của tôi là bây giờ, các dữ liệu nhận được từ kênh 1 appeares chỉ sau một lần thứ hai chạy tất cả các PIC. DO PIC reset sau khi chính? và đi trở lại bắt đầu? cũng như tôi kiểm tra PIC Channel 1 dữ liệu chỉ apperaes chạy thứ hai của PIC. cần giúp đỡ. bằng cách này sự chậm trễ của tôi sau khi thay đổi kênh ok? ty [size = 2] [color = # 999999] Thêm vào sau khi 1 phút: [/color] [/size] DỮ LIỆU
 
Vô hiệu hoá bộ đếm thời gian cơ quan giám sát. Tôi nghĩ rằng bạn đã kích hoạt nó và không phải đặt lại nó. Bộ đếm thời gian cơ quan giám sát thực sự cần được định kỳ thiết lập lại trong phần mềm nếu không nó reset vi điều khiển. Điều này là để tránh bất kỳ HALT bất ngờ của vi điều khiển.
 

Welcome to EDABoard.com

Sponsor

Back
Top