找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

帖子
查看: 911|回復(fù): 3
打印 上一主題 下一主題
收起左側(cè)

為什么進(jìn)入不了ADC中斷

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
ID:1130312 發(fā)表于 2024-8-31 10:54 | 只看該作者 回帖獎(jiǎng)勵(lì) |倒序?yàn)g覽 |閱讀模式
使用STC8H1K08單片機(jī),其ADC1(P11口)作為ADC輸入口,程序進(jìn)入ADC中斷讓LED滅,但一次沒滅過,也就是沒有進(jìn)入過ADC中斷的意思?請問是什么原因呢?
# include <STC8.h>
# include <intrins.h>
#include <stdio.h>
sbit LED = P3 ^ 4;
unsigned int adc1;
void Init_IO()
{
    P0M1 = 0x00;
    P0M0 = 0x00;       
    P1M1 = 0x00;
    P1M0 = 0x00;       
    P2M1 = 0x00;
    P2M0 = 0x00;
    P3M1 = 0x00;
    P3M0 = 0x00;
    P4M1 = 0x00;
    P4M0 = 0x00;
    P5M1 = 0x00;
    P5M0 = 0x00;
    P6M1 = 0x00;
    P6M0 = 0x00;
    P7M1 = 0x00;
    P7M0 = 0x00;
}
void adcIsr(void) interrupt 5  //ADC中斷
{
    ADC_CONTR &= ~0x20;        //清中斷標(biāo)志
          adc1=ADC_RES; //高位值
          adc1+=ADC_RESL;  //低位值       
                printf("ADC ISR value=%d",adc1); //打印輸出               
                ADC_RES=0;//高八位寄存器清零
                ADC_RESL = 0;//低八位寄存器清零               
                LED=0; //判斷是否進(jìn)入ADC中斷
                ADC_CONTR |= 0x40; //繼續(xù)AD轉(zhuǎn)換               
}
void main()
{
       
          LED = 1;
                P_SW2 |= 0x80;
    Init_IO();
                P1M0 = 0x00;
                P1M1 = 0x02; //P11為高阻輸入模式,作為ADC輸入口       
                ADCTIM = 0x3f; //設(shè)置ADC內(nèi)部時(shí)序
    ADCCFG = 0x0f; //設(shè)置ADC時(shí)鐘為系統(tǒng)時(shí)鐘/2/16,左對齊
                ADC_CONTR =0x81; //使能ADC模塊,使能ADC1
          EADC=1; //使能ADC中斷
                EA=1;        //總中斷       
    ADC_CONTR |= 0x40; //啟動(dòng)AD轉(zhuǎn)換       
    while (1);
}

分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享淘帖 頂 踩
回復(fù)

使用道具 舉報(bào)

來自 4#
ID:1034262 發(fā)表于 2024-8-31 14:29 | 只看該作者
你在中斷里使用了 printf函數(shù),但是沒有初始化串口,死等串口發(fā)送完成。。。。
你將LED=0;放在printf之前試試。
回復(fù)

使用道具 舉報(bào)

沙發(fā)
ID:712097 發(fā)表于 2024-8-31 14:13 | 只看該作者
1、P11要高阻模式:    P1M0 = 0x00; P1M1 = 0x02;
2、要加上這句,用來訪問XFR: P_SW2 |= 0x80;
可以參考STCAI-ISP的相關(guān)例程。
回復(fù)

使用道具 舉報(bào)

板凳
ID:612392 發(fā)表于 2024-8-31 14:18 | 只看該作者
printf函數(shù)打印出來數(shù)值了嗎?
回復(fù)

使用道具 舉報(bào)

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規(guī)則

小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術(shù)交流QQ群281945664

Powered by 單片機(jī)教程網(wǎng)

快速回復(fù) 返回頂部 返回列表