|
5黑幣
本帖最后由 xianming 于 2022-1-15 15:44 編輯
想利用STC15上的ADC功能做一個(gè)示波器,剛開始測(cè)試ADC就出了一大堆問(wèn)題。
因?yàn)槭静ㄆ餍枰B續(xù)取樣,以及主程序需要響應(yīng)按鈕控制,所以我用了中斷方式,自己改了STC的范例程序,然而中斷并沒(méi)有成功。
目前的問(wèn)題是設(shè)置了程序,但根本不會(huì)中斷
問(wèn):?jiǎn)纹瑱C(jī)中斷有什么經(jīng)驗(yàn)嗎?如果想同時(shí)使用兩個(gè)中斷,比如串口中斷和ADC中斷,該如何設(shè)置?直接設(shè)置ES、EADC、EA的話會(huì)沖突
放上一部分代碼
這是中斷處理程序:
- void adc_isr() interrupt 5 using 1
- {
- ADC_CONTR &= 0xEF;
- //if((ADC_CONTR&0x07) == 0x02)
- //{
復(fù)制代碼 初始化ADC:
- void openADC(uchar port8)
- {
- P1ASF = port8;
- ADC_RES=0;
- CLK_DIV&=0xDF;
- ADC_CONTR=0xEA;
- delayms(5);
- EADC=1;
- EA=1;
-
- }
復(fù)制代碼
|
|