hj.mọi người gờ dùm em lỗi bài tập về ADC này với

halinh12sinh

Trứng gà
em đang học theo tutorial của CLB,đến phần ADC rồi.nhưng chẳng hiểu sao khi em viết code y như video:
void main(void) { port_init();
adc_init();
inter_init();
__delay_us(50);//thoi gian delay can thiet de doc
ADC GODONE = 1;
// san sang doc ADC lan tiep theo }
nó lại báo lỗi như sau:
Error [192] E:\project dang thuc hien\hitech pic c\LCD+LM35\main.c; 100.1 undefined identifier "GODONE"
Em đang dùng MPLAB v8.8,trình dịch HTC v9.83
Nhân tiện mọi người có thể bày em:muốn xem các lệnh có thể thực hiện tương ứng với con pic mình đang làm thì xem ở mục nào a?
Cảm ơn mọi người đã quan tâm.
 

tungbk

Cố Vấn CLB
Staff member
Bạn vào thư mục cài Hitech-C thường là : C:\Program Files\HI-TECH Software\PICC\9.80\include mở file pic16f887.h lên search từ GODONE (tại ADCON0 register) xem nó định nghĩa là tên gì rồi thay lại trong code là được .Vì bản 9.8 định nghĩa là GODONE còn các bản sau này hình như định nghĩa khác.
Các lệnh có thể thực hiện với PIC thì ngoài lệnh C thông thường tra cứu thêm User Guide của HT-C trong thư mục cài đặt (hoặc vào MPLAB mở project bất kì bấm F11 sẽ hiện ra :) ).
 

billnee

Trứng gà
Anh cho e hỏi lun : Khai báo _CONFIG trong bản mplab sau này nó thông báo lỗi không hiểu các giá trị trong CONFIG mún chạy đc e toàn xoá sạch CONFIG đi ! liệu có ảnh hưởng tới chương trình chính ko a!
nó hiện nỗi sau:
HI-TECH C Compiler for PIC10/12/16 MCUs (Lite Mode) V9.81
Copyright (C) 2010 Microchip Technology Inc.
(1273) Omniscient Code Generation not available in Lite mode (warning)
Error [800] uart.as; 45. undefined symbol "DEBUGDIS"
Error [800] uart.as; 45. undefined symbol "LVPDIS"
Error [800] uart.as; 45. undefined symbol "FCMDIS"
Error [800] uart.as; 45. undefined symbol "IESODIS"
Error [800] uart.as; 45. undefined symbol "SWBOREN"
Error [800] uart.as; 45. undefined symbol "DUNPROTECT"
Error [800] uart.as; 45. undefined symbol "UNPROTECT"
Error [800] uart.as; 45. undefined symbol "MCLREN"
Error [800] uart.as; 45. undefined symbol "PWRTEN"
Error [800] uart.as; 45. undefined symbol "WDTDIS"
Error [800] uart.as; 45. undefined symbol "HS"
Error [800] uart.as; 49. undefined symbol "BORV21"
 

tranhieu_hcmut

Cố Vấn CLB
Staff member
Cái này do version HI-TECH C của e viết cao hơn version của clb xài...lỗi này mọi người có nói rồi...e tìm kỹ lại trong diễn đàn nhé
 

halinh12sinh

Trứng gà
hj,nhờ mọi người giải đáp dùm em 1 vấn đề: nếu em đo nhiệt độ bằng LM35,ADC 10 bit,thì có phải nhiệt độ=ADC_result*500/1023?
Và nếu em muốn hiển thị kết quả này ra LCD thìm em phải convert nó từ kiểu int sang string.vậy trong HTC có hàm convert loại này không? hay là em dùng cách tách các chữ số hàng chục,hàng trăm,dvi...?hj.mọi người có thể cho em xin 1 code mẫu được k?cảm ơn mọi người nhiều
 
công thức đó chỉ mới tính ra được điện áp mà cảm biến nhiệt độ tạo ra thôi. còn để đổi ra nhiệt độ thì cần phải chuyển đổi thêm. xem đặc tuyến của con mà bạn dùng để tính. để hiển thị ra màn hình LCD thì bạn phải thực hiện việc tách các số đó ra chứ không thể nào chuyển đổi được bạn muốn xuất một chuỗi ký tự ra LCD thì cũng phải tách ra từng ký tự rồi mới truyền cho LCD được. bạn có thể tham khảo file ADC.c của clb.
 

electric_man

Thành Viên PIF
Bạn vào thư mục cài Hitech-C thường là : C:\Program Files\HI-TECH Software\PICC\9.80\include mở file pic16f887.h lên search từ GODONE (tại ADCON0 register) xem nó định nghĩa là tên gì rồi thay lại trong code là được .Vì bản 9.8 định nghĩa là GODONE còn các bản sau này hình như định nghĩa khác.
Các lệnh có thể thực hiện với PIC thì ngoài lệnh C thông thường tra cứu thêm User Guide của HT-C trong thư mục cài đặt (hoặc vào MPLAB mở project bất kì bấm F11 sẽ hiện ra :) ).
đây chính là câu trả lời hay và tổng quát nhất. và cũng trả lời cho câu hỏi cái lệnh đầu tiên khi bạn viết code là gì:
HTML:
#include <16F887.h> or something like that!!!
 
Top