Witam,
Niedawno na forum poruszyłem temat problemu z uruchomieniem komparatora wewnętrzego Atmegi 8 w Bascomie.
Dla zainteresowanych tutaj jest Link.
Rozwijając ten temat postanowiłem wykorzystać przetwornik analogowo-cyfrowy ADC jako multiplekser kilku napięć,
które będą porównywane z jednym napięciem podłączonym do komparatora.
Aby nie komplikować opisu na schemacie podłączyłem tylko jedno napięcie z potencjometru do ADC.
Drugi potencjometr podaje napięcie na jedno z wejść komparatora.
Cały problem polega na odpowiednim (programowym) "podłączeniu" wejść ADC do drugiego z wejść komparatora.
Po przeszukania helpa Bascoma i wujka Google, niewiele udało mi się znaleźć ale jednak coś wykombinowałem...
Biorąc pod uwagę to jak niewiele jest informacji na ten temat postanowiłem właśnie dlatego umieścić tego posta.
Poniżej listing programu.
Nie wiem czy wszystko zrobiłem tak jak powinno być, więc proszę o uwagi.
Nie wiem np. czy w programie wykorzystanie funkcji: A = Getadc(0), jest uzasadnione?
Czy można to zrobic inaczej...?
Pragnę jedynie zaznaczyć, że program działa prawidłowo.
Dioda LED mruga przez 50ms gdy poziomy napięć zmieniają się między sobą.
Niedawno na forum poruszyłem temat problemu z uruchomieniem komparatora wewnętrzego Atmegi 8 w Bascomie.
Dla zainteresowanych tutaj jest Link.
Rozwijając ten temat postanowiłem wykorzystać przetwornik analogowo-cyfrowy ADC jako multiplekser kilku napięć,
które będą porównywane z jednym napięciem podłączonym do komparatora.
Aby nie komplikować opisu na schemacie podłączyłem tylko jedno napięcie z potencjometru do ADC.
Drugi potencjometr podaje napięcie na jedno z wejść komparatora.
Cały problem polega na odpowiednim (programowym) "podłączeniu" wejść ADC do drugiego z wejść komparatora.
Po przeszukania helpa Bascoma i wujka Google, niewiele udało mi się znaleźć ale jednak coś wykombinowałem...
Biorąc pod uwagę to jak niewiele jest informacji na ten temat postanowiłem właśnie dlatego umieścić tego posta.
Poniżej listing programu.
Nie wiem czy wszystko zrobiłem tak jak powinno być, więc proszę o uwagi.
Nie wiem np. czy w programie wykorzystanie funkcji: A = Getadc(0), jest uzasadnione?
Czy można to zrobic inaczej...?
Pragnę jedynie zaznaczyć, że program działa prawidłowo.
Dioda LED mruga przez 50ms gdy poziomy napięć zmieniają się między sobą.
Kod: text