Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <targets\AT91SAM7.h>
- #include "pcf8833u8_lcd.h"
- #include <stdio.h>
- int main(void){
- //PMC_PCER= … // Power management controller (s. 30 datasheet)
- char b[4];
- InitLCD();
- LCDClearScreen();
- Backlight(BL_ON);
- SetContrast(80);
- // konfiguracja ADC, konwersja wartości napięcia z kanału 3 przetwornika:
- ADC_CR = 1 << 0; // lub ADC_CR_SWRST – to inny zapis tego samego – reset przetwornika
- ADC_CHER = 1 << 5; // aktywowanie kanałów na których ma być przeprowadzona konwersja
- ADC_IDR = 0xFFFFF; // świadomie wyłączamy przerwania od wszystkich zdarzeń(źródeł) z ADC
- ADC_MR = (23<<ADC_MR_PRESCAL_BIT) | (2<<ADC_MR_STARTUP_BIT) | (1<<ADC_MR_SHTIM_BIT);
- // w rejestrze ADC_MR możliwe również ustawienia niższej rozdzielczości
- ADC_CR = 1<<1; // lub ADC_CR_START; // start konwersji na aktywnych kanałach
- int a = ADC_CDR5;
- while(1){
- while ((ADC_SR & ADC_SR_EOC5) == 0) {} // dopóki flaga EOC6 jest rowna 0 (konwersja na kanale 6 nie zakończona - rób nic)
- a = ADC_CDR5;// wykonaj akcję przypisaną do konwersji
- a = 20 + ((a - 530) / 5);
- sprintf(b, "%d", a);// wykonaj akcję przypisaną do konwersji
- LCDPutStr(b,20,20,LARGE,WHITE,BLACK);
- ADC_CR = 1 << 1; // lub ADC_CR_START; // start konwersji na aktywnych kanałach
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement