导航: 老古网老古论坛XMOS公共讨论区XMOS开源项目区单片机程序设计嵌入式系统广告区域
→新手请问:AVR在软件仿真的DAC的时候,会不会进入ADC中[huzimax]

 *第13398篇: 新手请问:AVR在软件仿真的DAC的时候,会不会进入ADC中断?还是需要手工设置什么标志位?[求助]

  
楼 主:huzimax 2003年6月12日18:19
 新手请问:AVR在软件仿真的DAC的时候,会不会进入ADC中断?还是需要手工设置什么标志位?[求助]
我同时做了个计时中断,可以进入中断子程序,但ADC的中断却进不去。希望大家帮助俺这个新手,第一次编写AVR和程序。
  
2楼:huzimax 2003年6月12日18:33
 程序如下:望大侠们指教
.INCLUDE "M8def.inc"            ;器件配置文件

.DEF HLEDBYTE=R19     ;存放ADCH
.DEF LLEDBYTE=R18     ;存放ADCL
.DEF TEMP=R16        ;数据暂存器
            
.ORG $0000                      ;代码段起始位置
 RJMP RESET                  ;系统上电复位,跳转到主程序

.org $0009
    RJMP tim0_ovf

.ORG $000E       ;ADC INTER 中断入口地址
 RJMP ADC_INT

RESET: 
 LDI TEMP,$02     ;设堆栈指针$025F
 OUT SPH,TEMP
 LDI TEMP,$5F
 OUT SPL,TEMP

 LDI TEMP,$FF     ;B 口D 口为输出
 OUT DDRB,TEMP
 LDI TEMP,$C0
 OUT PORTD,TEMP     ;开通LED 数目管,硬件设定高电平亮
 CLR TEMP
 OUT DDRB,TEMP     ;A 口为输入
 OUT PORTB,TEMP

MAIN: 
 CLT       ;清T 标志
 SEI       ;开中断

 sbi acsr,7

 RCALL CONINI     ;调用A/D 初始化
 rcall tim0ini

 WAIT: 
  BRTC WAIT     ;等待中断
  CLT

 START: 
 OUT PINB,R18
 OUT PIND,R19
 RCALL DELAY
 RJMP MAIN      ;返回主程序

ADC_INT:
 IN LLEDBYTE,ADCL    ;中断后,读取ADC 数据寄存器低位数据
 IN HLEDBYTE,ADCH    ;取ADC 数据寄存器高位数据
 CBI ADSC,6      ;停止ADC 转换
 SET       ;置T 标志
 RETI       ;中断返回

CONINI: 
 LDI TEMP,$8D     ;设置ADC 转换,中断触发,ADC 为单一模式且32MCU 除频
 OUT ADCSR,TEMP
 CLR TEMP      ;
 OUT ADMUX,TEMP     ;选择0 通道
 SBI ADCSR,6
 RET

DELAY:
 LDI R27,$10     ;延时子程序
 DELAY1:
   DEC R26
   BRNE DELAY1
  DEC R27
  BRNE DELAY1
 RET

tim0_ovf:
 inc R10
 RETI

tim0ini:
    clr R10
 ldi TEMP,$02
 out TCCR0,temp
 ldi temp,$01
    out TIMSK,temp
 ret

  
3楼:huzimax 2003年6月12日19:08
 请大家帮忙,俺用的是AVRStudio4.0

>>>>>>对该主题发表你的看法

本主题贴数3,分页: [第1页]


[上一篇主题]:求购adc0809,max232,AT89C51

[下一篇主题]:菜鸟请教