找回密碼
 立即注冊(cè)

QQ登錄

只需一步,快速開始

搜索
查看: 6648|回復(fù): 26
收起左側(cè)

tlc0838 8個(gè)通道AD采樣程序誰有 51單片機(jī)

[復(fù)制鏈接]
ID:127797 發(fā)表于 2016-6-23 13:04 | 顯示全部樓層 |閱讀模式
tlc0838 8個(gè)通道AD采樣程序誰有  51單片機(jī)

相關(guān)帖子

回復(fù)

使用道具 舉報(bào)

ID:127798 發(fā)表于 2016-6-23 14:22 | 顯示全部樓層
要匯編的  還是C語言的。
回復(fù)

使用道具 舉報(bào)

ID:127798 發(fā)表于 2016-6-23 14:22 | 顯示全部樓層
ORG 0000H
        LJMP SE11
        ORG 0080H
SE11:        MOV SP,#53H
        mov p2,#0ffh
        MOV A,#43H
        MOV DPTR,#0FF20H
        MOVX @DPTR,A
        MOV 7EH,#00H
        MOV 7DH,#08H
        MOV 7CH,#00H
        MOV 7BH,#09H
        MOV 7AH,#10H
        MOV 79H,#10H            ;顯示緩沖區(qū)初值
LO18:        LCALL SSEE              ;調(diào)用顯示子程序
        MOV A,#00H
        MOV DPTR,#8000H
        MOVX @DPTR,A            ;0809的0通道采樣
        MOV R7,#0FFH            ;延時(shí)
LO17:        DJNZ R7,LO17
        MOVX A,@DPTR            ;取出采樣值
        MOV R0,#79H
        LCALL PTDS
        SJMP LO18               ;采樣值送顯示緩沖區(qū)
        ORG 05D0H
PTDS:        MOV R1,A
        ACALL PTDS1
        MOV A,R1       
        SWAP A
PTDS1:  ANL A,#0FH
        MOV @R0,A
        INC R0
        RET
回復(fù)

使用道具 舉報(bào)

ID:127798 發(fā)表于 2016-6-23 14:24 | 顯示全部樓層
SSEE:        SETB RS1                ;換工作區(qū)
        MOV R5,#05H
SSE2:        MOV 30H,#20H
        MOV 31H,#7EH
        MOV R7,#06H
SSE1:        MOV A,30H
        CPL A      
        MOV DPTR,#0FF21H        ;字位送入
        MOVX @DPTR,A
        MOV R0,31H
        MOV A,@R0
        MOV DPTR,#DDFF
        MOVC A,@A+DPTR          ;取字形代碼           
        MOV DPTR,#0FF22H        ;字形送入
        MOVX @DPTR,A
        MOV A,30H
        RR A                    ;右移
        MOV 30H,A
        DEC 31H
        MOV A,#0FFH           
        MOV DPTR,#0FF22H        ;關(guān)顯示
        MOVX @DPTR,A
        DJNZ R7,SSE1            ;六位顯示完了嗎?
        DJNZ R5,SSE2
        CLR RS1
        RETSSEE:        SETB RS1                ;換工作區(qū)
        MOV R5,#05H
SSE2:        MOV 30H,#20H
        MOV 31H,#7EH
        MOV R7,#06H
SSE1:        MOV A,30H
        CPL A      
        MOV DPTR,#0FF21H        ;字位送入
        MOVX @DPTR,A
        MOV R0,31H
        MOV A,@R0
        MOV DPTR,#DDFF
        MOVC A,@A+DPTR          ;取字形代碼           
        MOV DPTR,#0FF22H        ;字形送入
        MOVX @DPTR,A
        MOV A,30H
        RR A                    ;右移
        MOV 30H,A
        DEC 31H
        MOV A,#0FFH           
        MOV DPTR,#0FF22H        ;關(guān)顯示
        MOVX @DPTR,A
        DJNZ R7,SSE1            ;六位顯示完了嗎?
        DJNZ R5,SSE2
        CLR RS1
        RET
回復(fù)

使用道具 舉報(bào)

ID:127798 發(fā)表于 2016-6-23 14:25 | 顯示全部樓層
數(shù)表

DDFF:        DB 0C0H,0F9H,0A4H,0B0H,99H,92H,82H,0F8H,80H,90H
        DB 88H,83H,0C6H,0A1H,86H,8EH,0FFH,0CH,89H,0DEH
        END
回復(fù)

使用道具 舉報(bào)

ID:127797 發(fā)表于 2016-6-23 15:34 | 顯示全部樓層
我想要C語言的吧  先謝謝了
回復(fù)

使用道具 舉報(bào)

ID:127797 發(fā)表于 2016-6-23 15:37 | 顯示全部樓層
969 發(fā)表于 2016-6-23 14:22
要匯編的  還是C語言的。

能給個(gè)C語言的嗎
回復(fù)

使用道具 舉報(bào)

ID:127819 發(fā)表于 2016-6-23 15:46 | 顯示全部樓層
網(wǎng)上一找一片啊
回復(fù)

使用道具 舉報(bào)

ID:127797 發(fā)表于 2016-6-23 15:56 | 顯示全部樓層
zhahan1990 發(fā)表于 2016-6-23 15:46
網(wǎng)上一找一片啊

找了半天沒看到
回復(fù)

使用道具 舉報(bào)

ID:1 發(fā)表于 2016-6-23 21:59 | 顯示全部樓層
回復(fù)

使用道具 舉報(bào)

ID:111634 發(fā)表于 2016-6-23 22:31 | 顯示全部樓層
本帖最后由 zl2168 于 2016-6-23 22:52 編輯

9.1.2  并行ADC0809及其接口電路


實(shí)例81 ADC0808中斷方式A-DALE輸出CLK
Proteus仿真一下,確認(rèn)有效。


實(shí)例81 ADC0808A-D( ALE輸出CLK,中斷方式).rar (54.32 KB, 下載次數(shù): 13)
0809ad1.jpg


以上摘自張志良編著《單片機(jī)實(shí)驗(yàn)實(shí)訓(xùn)100例》 ISBN 978-7-5124-1603-1,北航社出版



《單片機(jī)原理與控制技術(shù)——雙解匯編和C51》第3ISBN 978-7-111-42393-5機(jī)械工業(yè)出版社

80C51單片機(jī)實(shí)用教程——基于Keil CProteus》高等教育出版社ISBN 978-7-04-044532-9





書中電路和程序設(shè)計(jì)有詳細(xì)說明,程序語句條條有注解。



實(shí)例82 ADC0808A-D( ALE輸出CLK,查詢方式).rar

54.04 KB, 下載次數(shù): 11

實(shí)例83 ADC0808A-D( ALE輸出CLK,延時(shí)等待方式).rar

54.13 KB, 下載次數(shù): 7

實(shí)例84 ADC0808A-D(虛擬CLK).rar

35.75 KB, 下載次數(shù): 10

回復(fù)

使用道具 舉報(bào)

ID:127911 發(fā)表于 2016-6-23 22:33 | 顯示全部樓層
看看啊
回復(fù)

使用道具 舉報(bào)

ID:111634 發(fā)表于 2016-6-23 22:52 | 顯示全部樓層
本帖最后由 zl2168 于 2016-6-23 22:54 編輯

實(shí)例82  ADC0808查詢方式A-D(ALE輸出CLK)


Proteus仿真一下,確認(rèn)有效。

實(shí)例82 ADC0808A-D( ALE輸出CLK,查詢方式).rar (54.04 KB, 下載次數(shù): 3)
0809ad2.jpg


以上摘自張志良編著《單片機(jī)實(shí)驗(yàn)實(shí)訓(xùn)100例》 ISBN 978-7-5124-1603-1,北航社出版

《單片機(jī)原理與控制技術(shù)——雙解匯編和C51》第3ISBN 978-7-111-42393-5機(jī)械工業(yè)出版社

80C51單片機(jī)實(shí)用教程——基于Keil CProteus》高等教育出版社ISBN 978-7-04-044532-9

書中電路和程序設(shè)計(jì)有詳細(xì)說明,程序語句條條有注解。





回復(fù)

使用道具 舉報(bào)

ID:111634 發(fā)表于 2016-6-23 22:55 | 顯示全部樓層
本帖最后由 zl2168 于 2016-6-23 22:56 編輯

實(shí)例83  ADC0808延時(shí)方式A-D(ALE輸出CLK)


Proteus仿真一下,確認(rèn)有效。
實(shí)例83 ADC0808A-D( ALE輸出CLK,延時(shí)等待方式).rar (54.13 KB, 下載次數(shù): 3)
0809ad3.jpg


以上摘自張志良編著《單片機(jī)實(shí)驗(yàn)實(shí)訓(xùn)100例》 ISBN 978-7-5124-1603-1,北航社出版

《單片機(jī)原理與控制技術(shù)——雙解匯編和C51》第3ISBN 978-7-111-42393-5機(jī)械工業(yè)出版社

80C51單片機(jī)實(shí)用教程——基于Keil CProteus》高等教育出版社ISBN 978-7-04-044532-9

書中電路和程序設(shè)計(jì)有詳細(xì)說明,程序語句條條有注解。





回復(fù)

使用道具 舉報(bào)

ID:111634 發(fā)表于 2016-6-23 22:56 | 顯示全部樓層
本帖最后由 zl2168 于 2016-6-23 22:58 編輯

實(shí)例84  ADC0808并行A-D(虛擬CLK)


Proteus仿真一下,確認(rèn)有效。
實(shí)例84 ADC0808A-D(虛擬CLK).rar (35.75 KB, 下載次數(shù): 6)
0809ad4.jpg


以上摘自張志良編著《單片機(jī)實(shí)驗(yàn)實(shí)訓(xùn)100例》 ISBN 978-7-5124-1603-1,北航社出版

《單片機(jī)原理與控制技術(shù)——雙解匯編和C51》第3ISBN 978-7-111-42393-5機(jī)械工業(yè)出版社

80C51單片機(jī)實(shí)用教程——基于Keil CProteus》高等教育出版社ISBN 978-7-04-044532-9

書中電路和程序設(shè)計(jì)有詳細(xì)說明,程序語句條條有注解。





回復(fù)

使用道具 舉報(bào)

ID:111634 發(fā)表于 2016-6-23 22:59 | 顯示全部樓層
以上都是8路AD,匯編和C51雙解。
回復(fù)

使用道具 舉報(bào)

ID:127797 發(fā)表于 2016-6-24 10:31 | 顯示全部樓層
太感謝了   謝謝大家?guī)兔?/td>
回復(fù)

使用道具 舉報(bào)

ID:127797 發(fā)表于 2016-6-24 10:31 | 顯示全部樓層
感謝大家的幫忙
回復(fù)

使用道具 舉報(bào)

ID:127797 發(fā)表于 2016-6-25 10:31 | 顯示全部樓層
這個(gè)程序檢查不過,那位大師看下

#include<reg51.h>
#include <intrins.h>
sbit  ADCS1=P1^3 ;
sbit  ADCS2=P1^0 ;
sbit  ADCLK=P1^1 ;
sbit  ADIO=P1^4        ;


Byte AD_0838(Byte TDZ,Byte Number);
void AD_0838_Pulse(void)  ;


void main(void)
{
Byte data1;
data1=AD_0838(0,2);
while(1);
{
P0=AD_0838        ;
}


}

/**********************************************************
目的:運(yùn)用TLC0838,輸入通道值,讀取AD轉(zhuǎn)換值
輸入?yún)?shù):1、通道值TDZ
輸出參數(shù):1、AD轉(zhuǎn)換結(jié)果AD_JG
相關(guān)管腳:1、ADCS1=P1^3  第一個(gè)0838-AD片選   2、ADCS2=P1^0    第二個(gè)0838-AD片選
          3、ADCLK=P1^1  0832-AD時(shí)鐘         4 、ADIO=P1^4    0832-AD數(shù)據(jù)
*/
Byte AD_0838(Byte TDZ,Byte Number)
{
        Byte Bit[8];
        Byte TDZ_MID;
        Byte i;
        Byte AD_JG=0x00;
        Bit[0]=0x01;
        Bit[1]=0x02;
        Bit[2]=0x04;
        Bit[3]=0x08;
        Bit[4]=0x10;
        Bit[5]=0x20;
        Bit[6]=0x40;
        Bit[7]=0x80;
        switch(TDZ)
        {
                case 0   :TDZ_MID=0x18;break;
                        case 1   :TDZ_MID=0x1c;break;
                                case 2   :TDZ_MID=0x19;break;
                                        case 3   :TDZ_MID=0x1d;break;
                                                case 4   :TDZ_MID=0x1a;break;
                                                        case 5   :TDZ_MID=0x1e;break;
                                                                case 6   :TDZ_MID=0x1b;break;
                                                                        case 7   :TDZ_MID=0x1f;break;
        }
        switch(Number)
        {
        case 1:ADCS1=1;break;
        case 2:ADCS2=1;break;
        }
        RS_ADIO=0;
        CM8880CLK_ADCLK=0;
        switch(Number)
        {
        case 1:ADCS1=0;break;
        case 2:ADCS2=0;break;
        }
        for(i=5;i>0;i--)
        {
                RS_ADIO=TDZ_MID&Bit[i-1];
                AD_0838_Pulse();
        }
        CM8880CLK_ADCLK=1;
        for(i=8;i>0;i--)
        {
                AD_0838_Pulse();
                if(RS_ADIO)AD_JG|=Bit[i-1];
        }
        switch(Number)
        {
        case 1:ADCS1=1;break;
        case 2:ADCS2=1;break;
        }
        return AD_JG;
}

void AD_0838_Pulse(void)
{
        Byte i;
        CM8880CLK_ADCLK=1;       //get a pulse about 52 us
        for(i=0;i<4;i++)
        {
        _nop_();
        }
        CM8880CLK_ADCLK=0;
        for(i=0;i<4;i++)
        {
        _nop_();
        }
}

回復(fù)

使用道具 舉報(bào)

ID:127797 發(fā)表于 2016-6-25 10:46 | 顯示全部樓層
C:\Users\Administrator\Desktop
回復(fù)

使用道具 舉報(bào)

ID:127797 發(fā)表于 2016-6-25 12:44 | 顯示全部樓層
故障c129
回復(fù)

使用道具 舉報(bào)

ID:111634 發(fā)表于 2016-6-25 17:58 | 顯示全部樓層
本帖最后由 zl2168 于 2016-6-25 18:05 編輯

實(shí)例85  ADC0832串行A-D(TXD輸出CLK)

ADC0832與0838串行A-D時(shí)序只差一位,0832是2路ad,4種方式,需2位選通;0838是8路ad,需3位選通。選通方式相同,讀A-D值方式也相同,完全可做參考。
Proteus仿真一下,確認(rèn)有效。
實(shí)例85 ADC0832串行A-D( TXD輸出CLK).rar (36.86 KB, 下載次數(shù): 9)
txd-clk.jpg


以上摘自張志良編著《單片機(jī)實(shí)驗(yàn)實(shí)訓(xùn)100例》 ISBN 978-7-5124-1603-1,北航社出版

書中電路和程序設(shè)計(jì)有詳細(xì)說明,程序語句條條有注解。




回復(fù)

使用道具 舉報(bào)

ID:111634 發(fā)表于 2016-6-25 18:06 | 顯示全部樓層
本帖最后由 zl2168 于 2016-6-25 18:08 編輯

實(shí)例86  ADC0832串行A-D(虛擬CLK)


ADC08320838串行A-D時(shí)序只差一位,08322ad,4種方式,需2位選通;08388ad,3位選通。選通方式相同,讀A-D值方式也相同,完全可做參考。


ADC 0832串行A-D既可80C51串行口TXDRXD控制操作,也可用P0P3口中任一端線虛擬CLK時(shí)鐘脈沖,實(shí)現(xiàn)串行A-D轉(zhuǎn)換


Proteus仿真一下,確認(rèn)有效。
實(shí)例86 ADC0832串行A-D(虛擬CLK).rar (35.29 KB, 下載次數(shù): 6)
虛擬-clk.jpg


以上摘自張志良編著《單片機(jī)實(shí)驗(yàn)實(shí)訓(xùn)100例》 ISBN 978-7-5124-1603-1,北航社出版

書中電路和程序設(shè)計(jì)有詳細(xì)說明,程序語句條條有注解。





回復(fù)

使用道具 舉報(bào)

ID:111634 發(fā)表于 2016-6-25 18:10 | 顯示全部樓層
本帖最后由 zl2168 于 2016-6-25 18:17 編輯

網(wǎng)上下載的程序你看得懂嗎?還有錯(cuò)呢!還是看張志良編著《單片機(jī)實(shí)驗(yàn)實(shí)訓(xùn)100例》吧!書中電路和程序設(shè)計(jì)有詳細(xì)說明,程序語句條條有注解。有Proteus仿真確認(rèn)有效,編者還負(fù)責(zé)答疑。
回復(fù)

使用道具 舉報(bào)

ID:111634 發(fā)表于 2016-6-25 18:15 | 顯示全部樓層
網(wǎng)上下載的那個(gè)程序是人家寫的論文,寫論文就是要讓人看了半懂不懂,才顯得有水平,大家都看懂了,這個(gè)論文還值錢嗎?再加上原文幾經(jīng)轉(zhuǎn)載,生成了許多錯(cuò)誤誤,你就更看不懂了。
回復(fù)

使用道具 舉報(bào)

ID:111634 發(fā)表于 2016-6-25 18:19 | 顯示全部樓層
apc123456 發(fā)表于 2016-6-25 10:31
這個(gè)程序檢查不過,那位大師看下

#include

假大師看不懂,真大師沒空看。
回復(fù)

使用道具 舉報(bào)

本版積分規(guī)則

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

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

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