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)
Текст программы микроконтроллера
.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)