USB аналогово-цифровой преобразователь

Схема


Текст программы микроконтроллера
.include "c:\Program Files\Atmel\AVR Tools\AvrAssembler2\Appnotes\m8535def.inc"
;=========================================================
.MACRO outi
    ldi r16,@1
    out @0,r16
.ENDMACRO

.org 0x00
rjmp RESET

.org ADCCaddr
;=========================================================
ADC1:
    in r16,ADCH
    out UDR,r16
    rcall Pause
reti

;=========================================================
RESET:  wdr                       ;сброс сторожевого таймера
        outi WDTCR,0x0A           ;Watchdog enable
        outi SPH,HIGH(RAMEND)     ;определение начала стека в ОЗУ
        outi SPL,LOW(RAMEND)
        outi PORTA,0x00           ;переключение PA на ввод
        outi DDRA,0x00

        rcall uart_init

        sei                       ;разрешение прерываний
        outi ADMUX,0x27           ;переключаем мультиплексор на PA7
        outi ADCSRA,0xEE          ;конфигурация АЦП, пуск АЦП

;=========================================================
Loop:   wdr                       ;сброс сторожевого таймера
rjmp Loop

;=========================================================
uart_init:

.equ XTAL = 16000000
.equ baudrate = 57600
.equ bauddivider = XTAL/(16*baudrate)-1

outi UBRRL,low(bauddivider)            ;set baud rate
outi UBRRH,high(bauddivider)
outi UCSRA,0 ;no U2X, MPCM
outi UCSRC,1<<URSEL|3<<UCSZ0           ;8 Bit
outi UCSRB,1<<RXEN|1<<TXEN;|1<<RXCIE   ;включить RX, TX
ret

;=====================================================
;Подпрограмма задержки
;=====================================================
Pause:  wdr                             ;cброс сторожевого таймера
        ldi YL,low(20000)
        ldi YH,high(20000)
d05_1:  wdr
        sbiw YL,1
        brne d05_1
ret

Скачать файлы проекта для AVR Studio 4 (17,2 KB)
Скачать файлы проекта для Delphi 7 (249 KB)
Скачать драйвер и прошивку AT90S2313 (41,8 KB)