ВУЗ:
Составители:
71
Ɏɚɣɥ Lɚb_6.prj
; **************************************
; Analog to digital converter demo
; **************************************
.MICRO "ATmega16"
.PROGRAM "Lab6.asm"
.TRACE
.POWER VDD=5 VSS=0 ; Power nodes
; ɂɫɩɨɥɶɡɭɟɬɫɹ ɜɯɨɞ PA5 ɦɢɤɪɨɤɨɧɬɪɨɥɥɟɪɚ
V1 PA5 VSS SIN(2.5 2.5 1)
.PLOT V(PA5)
Ɏɚɣɥ Lab6.asm
;**********************************************
;* 10 bits A/D converter
;**********************************************
.include "c:\vmlab\include\m16def.inc"
.def temp = r16
;**********************************************
; Reset and interrupt vectors
;
.cseg
.org $00
rjmp start ; Go to Reset handler
.org $1C
rjmp ad_vector ; ADC conversion vector
;***********************************************
; ADC complete interrupt service
;
ad_vector:
in temp, ADCH
reti
;***********************************************
; Reset handler
72
;
start:
ldi temp, high(RAMEND) ; ɢɧɢɰɢɚɥɢɡɚɰɢɹ ɩɚɦɹɬɢ ɫɬɟɤɚ
out SPH, temp
ldi temp, low(RAMEND)
out SPL, temp ; ɡɚɜɟɪɲɟɧɢɟ ɢɧɢɰɢɚɥɢɡɚɰɢɢ ɩɚɦɹɬɢ ɫɬɟɤɚ
ldi temp, $45 ; Power on ADC; select prescaler (/8); free running
out ADMUX,temp
ldi temp, $BB
out ADCSR,temp ; and enable end of conversion interrupt
sbi ADMUX, ADLAR
nop
nop
nop ; Leave some time to stabilize before starting
nop
sbi ADCSR, ADSC
sei
forever:
rjmp forever ; Infinite loop, interrupted by ADC conversions
Страницы
- « первая
- ‹ предыдущая
- …
- 34
- 35
- 36
- 37
- 38
- …
- следующая ›
- последняя »