thientaisodo |
25-05-2009 10:24 AM |
Trích:
Nguyên văn bởi TANDEM
(Post 25688)
Bạn phải bắt đầu từ đâu nhỉ? Có lẽ từ chính bạn!
Bạn hãy tham khảo đoạn code dưới đây:
Code:
#include <16F877a.h>
#include <DEF_16F877a.h>
#fuses HS,NOWDT,NOPROTECT,NOLVP
#device 16F877*=16 ADC=8
#use delay(clock=4000000)
#use rs232(baud=19200,parity=n,xmit=pin_C6,rcv=pin_C7)
Int8 adc;
main()
{
setup_adc(adc_clock_internal);
setup_adc_ports(AN0_AN1_AN3);
while(true)
{
set_adc_channel(0);
adc=read_adc(adc_start_and_read);
delay_us(10);
output_B(adc);
}
}
Thân!
|
Sao bạn chỉ làm một led 7 đoạn vậy thì hiển thị hết đc. Mình nghĩ nên ít nhất là 2 led để lấy sự chính xác hàng đơn vị sau dấu chấm đó. Với lại bạn nên làm việc với LCD 16X2 đi, cũng không đắt, có thư viện giao tiếp sẵn và còn dễ làm nữa.
Mạch trên thì bạn vẽ đúng rồi, mình còn đơn giản hơn nữa kia(bỏ bớt con tụ trên biến trở :D)
Nếu hiển thị ra 7Seg thì bạn phải làm một bảng đúng ký tự để hiển thị cho đúng với 7Seg, nếu cứ như thế mà xuất ra port B thì chắc chắn sẽ khôg hiển thị đúng số rồi.
|