拿擎天柱板子测了下可以进中断,你是如何观察没进中断的呢?另外用的哪个板子,自己的板子电路图也可以贴一下看看
- #include "Ai8051U.H"
- #include "intrins.h"
-
- unsigned char Led = 0x01;
- void main()
- {
- P0M0 = 0x00;
- P0M1 = 0x00;
- P1M0 = 0x00;
- P1M1 = 0x00;
- P2M0 = 0x00;
- P2M1 = 0x00;
- P3M0 = 0x00;
- P3M1 = 0x00;
- P4M0 = 0x00;
- P4M1 = 0x00;
- P5M0 = 0x00;
- P5M1 = 0x00;
-
- P2 = ~Led;
-
- P5M0 = 0x00; //设置P5.5为ADC口
- P5M1 = 0x01;
- P_SW2 |= 0x80;
- ADCTIM = 0x3f; //设置ADC内部时序
- P_SW2 &= 0x7f;
- ADCCFG = 0x0f; //设置ADC时钟为系统时钟/2/16
- ADC_CONTR = 0x85; //使能ADC模块 P5.5为ADC口
- EADC = 1; //使能ADC中断
- EA = 1;
- ADC_CONTR |= 0x40; //启动AD转换
-
- while(1);
-
- }
-
- void ADC_Isr() interrupt 5
- {
- //清中断标志
- ADC_CONTR &= ~0x20;
- //读取 ADC 结果
- //P2 = ADC_RES;
- Led =Led<< 2;
- if(Led==0){
- Led=0x01;
- }
- P2=~Led;
- //继续 AD 转换
- ADC_CONTR |= 0x40; //继续AD转换
-
- }
复制代码
|