2V輸入時,單片機的計數(shù)器無法計數(shù)到20000,目前最慘的時候只有5000左右,聯(lián)調(diào)的 ... ICL7135采樣問題 " />

色偷偷偷久久伊人大杳蕉,色爽交视频免费观看,欧美扒开腿做爽爽爽a片,欧美孕交alscan巨交xxx,日日碰狠狠躁久久躁蜜桃

x
x
查看: 10593|回復: 1
打印 上一主題 下一主題

[提問] ICL7135采樣問題

[復制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
發(fā)表于 2014-4-4 14:57:29 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
關(guān)鍵詞: STC , ICL7135 , AD采樣
想用ICL7135采集電壓,單獨控制AD的時候程序沒有問題,但是程序聯(lián)調(diào)的時候就不正確了,在>2V輸入時,單片機的計數(shù)器無法計數(shù)到20000,目前最慘的時候只有5000左右,聯(lián)調(diào)的時候,低電壓的計數(shù)倒是沒有問題,這是怎么回事?編譯用的是KEIL。

以下是AD部分代碼,AD的時鐘由T0定時器提供,控制用的是查詢模式,用中斷模式會莫名的丟失T1計數(shù)器的計數(shù)值,這點我也一直沒想明白。MCU用的是STC12C5A60S2,輸入晶振為8MHz,AD時鐘為1MHz,下面的程序系統(tǒng)時鐘是2MHz,但去掉時鐘分頻,讓單片機跑到8MHz,AD跑1MHz時,計數(shù)器的計數(shù)值始終是0...
void sys_init()
{
         /*系統(tǒng)時鐘設(shè)置*/
         CLK_DIV = 0x02;                        //4分頻 = 2MHz
         /*外設(shè)驅(qū)動時鐘設(shè)置*/
         TMOD |= 0x02;
         TL0 = 0xff;
         TH0 = 0xff;                                //2分頻
         AUXR |= 0xc0;                        //T0,T1工作在1T模式下
         WAKE_CLKO |= 0x01;                                 //允許T0輸出時鐘
         TR0 = 1;
         /*PCA軟件定時器設(shè)置*/
         CCON = 0;
         CMOD = 0x09;                        //系統(tǒng)時鐘,2MHz,CF中斷使能
         CCAPM0 = 0x49;                        //PCA軟件定時模式,使能中斷
         /*啟用P4口*/
         P4SW = 0xff;        
        /*開啟總中斷*/
         EA = 1;
}
/*
* ADC控制函數(shù)
*/
void ADC_init()
{
         TMOD |= 0x50;                        //16位計數(shù)器
         TL1 = 0;
         TH1 = 0;
}
void ADC_sample(uint sample_addr[],uchar sample_pol_addr[],uchar times)
{
         uchar i;
         sample_start:
         for(i=0;i          {
                 TL1 = 0;
                 TH1 = 0;
                 while(!ADC_BUSY) _nop_();
                 TR1 = 1;
                 while(ADC_BUSY)  _nop_();
                 TR1 = 0;
                 ADC_POL = 1;
                 sample_pol_addr = ~ADC_POL;
                 sample_addr = TH1 * 256 + TL1;
                 if(sample_addr < 10001)        sample_addr = 0;
                 else   sample_addr = sample_addr - 10001;                //正向積分10000個時鐘,關(guān)閉定時器1個時鐘
         }
}
單獨調(diào)試上面這段程序和LCD顯示,完全沒問題!_(:з」∠)_

再付一個全程序,里面有硬件接口示意圖: LCR.zip (4.73 KB)

沙發(fā)
發(fā)表于 2015-1-31 18:52:19 | 只看該作者
過來學習一下
您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規(guī)則

關(guān)于我們  -  服務條款  -  使用指南  -  站點地圖  -  友情鏈接  -  聯(lián)系我們
電子工程網(wǎng) © 版權(quán)所有   京ICP備16069177號 | 京公網(wǎng)安備11010502021702
快速回復 返回頂部 返回列表