|
Tài trợ cho PIC Vietnam |
Cơ bản về vi điều khiển và PIC Những bài hướng dẫn cơ bản nhất để làm quen với vi điều khiển PIC |
|
Ðiều Chỉnh | Xếp Bài |
|
28-10-2010, 04:24 PM | #1 |
Đệ tử 1 túi
Tham gia ngày: Dec 2008
Bài gửi: 16
: |
Đo nhiệt độ với 16f877a và LM35 dùng BCD 4511
Hi các bro!mình có làm bài thực hành đo nhiệt độ với LM35 dùng 4511 BCD .Mình đã cho chạy mô phỏng bằng proteus thì thấy nhiệt độ hiển thị đúng ở dải dưới 100 độ C,từ 100 độ C trở lên thì thấy hiển thị không còn đúng nửa.Các bro xem qua và cho ý kiến nha.
đây là đoạn code của mình : // CHUONG TRINH CON TACH SO HANG CHUC VA HANG DON VI void tachso() { donvi=adc%10; // CHU SO HANG DON VI chuc=adc/10; // CHU SO HANG CHUC tram=adc/100; //chu so hang tram } // chuong trinh chuyen doi do C void convert() { adc=read_adc(); adc=adc/2.048; } // CHUONG TRINH CON HIEN THI RA 2 LED 7 DOAN void display() { portb=a[donvi]; output_high(pin_d0); //chot data portb=a[chuc]; output_high(pin_d1); //chot data portb=a[tram]; output_high(pin_d2); //chot data delay_ms(500); output_low(pin_d0); //lay data output_low(pin_d1); //lay data output_low(pin_d2); //lay data delay_us(1); } mình đính kèm file demo lun nà. thay đổi nội dung bởi: tumi_kt, 29-10-2010 lúc 08:59 AM. |
20-11-2010, 07:26 AM | #2 |
Nhập môn đệ tử
Tham gia ngày: Nov 2010
Bài gửi: 2
: |
hàm tachso() của bạn bị sai ở phần tách hàng chục vì khi adc >= 100, biến chục sẽ >= 10. Ví dụ: giả sử adc = 145 thì biến chuc sẽ có giá trị 14 thay vì 4.
|
07-04-2013, 01:06 AM | #3 |
Nhập môn đệ tử
Tham gia ngày: Dec 2012
Bài gửi: 5
: |
help
mọi người ơi giúp mính sữa code này với , mình mô phỏng không chạy
thay đổi nội dung bởi: lamnhatquan91, 07-04-2013 lúc 01:08 AM. Lý do: nhầm |
|
|