- 2
- 0
- 约1.34万字
- 约 77页
- 2019-09-06 发布于广东
- 举报
void int_adc(void) interrupt 0 //中断函数 { x[i]=*ad_adr; //接收当前通道转换结果 i++; ad_adr++; //指向下一个通道 if (i8) { *ad_adr=i;//8个通道未转换完,启动下一个通道返回 } else { EA=0;EX0=0; //8个通道转换完,关中断返回 } } 例: 初始化程序:(中断方式) MOV R0,#0A0H ;数据存储区首地址 MOV R2,#08H ;8路计数器 SETB IT1 ;边沿触发方式 SETB EA ;中断允许 SETB EX1 ;允许外部中断1中断 MOV DPTR,#0FEF8H ;指向ADC0809首地址 LOOP:MOVX @DPTR,A ;启动A/D转换 HERE:SJMP HERE ;等待中断 DJNZ R2,LOOP ;巡回,未完继续 CLR EA ;结束,关中断 SJMP $ ;结
原创力文档

文档评论(0)