۲۰-تير-۱۳۹۳, ۱۰:۱۸:۰۲
سلام.میخوام بدونم چطور در طول برنام میشه از مد sleep استفاده کرد.فرض کنید من یه برنامه دارم حالا میخوام قبل از یه دستور مد sleep رو فعال کنم و بعد از اجرای اون خط از دستور دوباره از حالت sleep خارج بشم
ADMUX – ADC Multiplexer Selection Register
1-Bit 7:6 – REFS1:0: Reference Selection Bits
2-Bit 5 – ADLAR: ADC Left Adjust Result
3-Bits 4:0 – MUX4:0: Analog Channel and Gain Selection Bits
ADMUX = 64 + 3
ADCSRA – ADC Control and Status Register A
1-Bit 7 – ADEN: ADC Enable
2-Bit 6 – ADSC: ADC Start Conversion
3- Bit 5 – ADATE: ADC Auto Trigger Enable
4-Bit 4 – ADIF: ADC Interrupt Flag
5-Bit 3 – ADIE: ADC Interrupt Enable
Bits 2:0 – ADPS2:0: ADC Prescaler Select Bits
ADCL and ADCH – The ADC Data Register
SFIOR – Special FunctionIO Register
$regfile = "m8def.dat"
$crystal = 16000000
Const Adc_ref = &H40 'AVCC
Enable Interrupts
On Adc Adc_isr
Dim Adc_val As Word
Admux = Adc_ref 'set Ref
Adcsra = &H8F 'set clock 125KHz - enable adc - enable adc int
Do
Admux = Adc_ref + 3 'get adc3
Waitus 10 'wait to stable input
Adcsra = Adcsra Or &H40 'start convert
Config Powermode = Adcnoise
'adc_val ready
Loop
End
Adc_isr:
Dim T As Word
Adc_val = Adcl
T = Adch
Shift T , Left , 8
Adc_val = Adc_val + T
Return