欧美极品高清xxxxhd,国产日产欧美最新,无码AV国产东京热AV无码,国产精品人与动性XXX,国产传媒亚洲综合一区二区,四库影院永久国产精品,毛片免费免费高清视频,福利所导航夜趣136

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

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

通道10位串行AD轉(zhuǎn)換器MAX192 Keil開發(fā)環(huán)境下單片機源程序及工程文件

[復(fù)制鏈接]
ID:277378 發(fā)表于 2018-2-1 17:13 | 顯示全部樓層 |閱讀模式

“8通道10位串行AD轉(zhuǎn)換器MAX192”,Keil開發(fā)環(huán)境下源程序及工程文件

("8-channel 10-bit serial AD converter MAX192", Keil development environment, source code and project files)

0.png

單片機源程序如下:
  1. /****************************************************************/
  2. /* 這是調(diào)用MAX192編程序(MAX192B.ASM)的C51程序。               */
  3. /* 文件名為CALL192.C。                                          */
  4. /* 功能:本程序主要是讀出MAX192芯片輸入通道CH0,CH1,...,CH7的模數(shù)*/
  5. /*    轉(zhuǎn)換值,轉(zhuǎn)換值依次放在數(shù)組mid1[8]中,轉(zhuǎn)換值的標度變換值放在*/
  6. /*    浮點數(shù)組volt[8]中。MAX192芯片的8個通道可編程為單極性/雙極 */
  7. /*    性和差動/單端工作,這里采用單端\單極性輸入。MAX192有內(nèi)部時 */
  8. /*    鐘和外部時鐘兩種工作模式,這里采用內(nèi)部時鐘模式。MAX192具有 */
  9. /*    片內(nèi)電壓基準,也可用外部基準,這里使用內(nèi)部4.096V電壓基準。  */
  10. /****************************************************************/
  11. #include <reg52.h>
  12. #define uchar unsigned char
  13. #define uint unsigned int

  14. void delay1(uint x);
  15. extern  uint chai;          //把全局變量chai聲明為外部變量
  16. extern  uint a_func(uchar); //把a_func 聲明為外部函數(shù)

  17. uint idata mid1[8];
  18. float idata volt[8];
  19. uchar  idata i;

  20. void delay1(uint x)          //延時程序
  21. {
  22. uchar tw;
  23. while (x-->0){
  24. for (tw=0;tw<125;tw++){;}
  25. }
  26. }

  27. void main()                   //主程序
  28. {
  29.       SP=0xcf;
  30.       delay1(1000);
  31.       EA=0;
  32.       chai=a_func(0x8e);      // 讀出MAX192芯片輸入通道CH0的AD轉(zhuǎn)換值
  33.       mid1[0]=chai;           // 把它放入數(shù)組mid1中。
  34.       delay1(10);
  35.       chai=a_func(0xce);      // 讀出MAX192芯片輸入通道CH1的AD轉(zhuǎn)換值
  36.       mid1[1]=chai;           // 把它放入數(shù)組mid1中。
  37.       chai=a_func(0x9e);
  38.       mid1[2]=chai;
  39.       chai=a_func(0xde);
  40.       mid1[3]=chai;
  41.       chai=a_func(0xae);
  42.       mid1[4]=chai;
  43.       chai=a_func(0xee);
  44.       mid1[5]=chai;
  45.       chai=a_func(0xbe);
  46.       mid1[6]=chai;
  47.       chai=a_func(0xfe);       // 讀出MAX192芯片輸入通道CH7的AD轉(zhuǎn)換值
  48.       mid1[7]=chai;            // 把它放入數(shù)組mid1中。
  49.       for (i=0;i<8;i++){
  50.       volt[i]=(float)mid1[i]/1024.0*4.096;  // 標度變換,且變成浮點數(shù)。
  51. ……………………

  52. …………限于本文篇幅 余下代碼請從51黑下載附件…………
復(fù)制代碼


匯編語言源程序:
  1. ;/*****************************************************************/
  2. ;/* 這是MAX192的匯編程序,  文件名MAX192.ASM                       */
  3. ;/* 功能:本程序主要是讀出MAX192輸入通道CH0,CH1,..CH7的模數(shù)轉(zhuǎn)換值, */
  4. ;/*    轉(zhuǎn)換值放在寄存器R6,R7中,R6放高位。MAX192芯片的8個通道       */
  5. ;/*    可編程為單極性/雙極性和單端/差動工作, 這里采用單端\單極性   */
  6. ;/*    輸入。MAX192有內(nèi)部時鐘和外部時鐘兩種工作模式,這里采用內(nèi)     */
  7. ;/*    部時鐘模式。MAX192有內(nèi)帶4.096V的基準電壓,也可用外部基準    */
  8. ;/*    電壓,這里采用內(nèi)帶4.096V的基準電壓。                        */
  9. ;/******************************************************************/
  10. SI           EQU P1.3
  11. SO           EQU P1.2
  12. SCK          EQU P1.1
  13. CS           EQU P1.0

  14.              ORG 0030H
  15.              CLR EA
  16.                          CLR SCK
  17.                          CLR CS         ;發(fā)送一個字節(jié)
  18.                          MOV A,#08EH    ;08EH-選擇CH0,單端/單極性,內(nèi)部時鐘模式,用內(nèi)帶基準電壓
  19.                           LCALL BYTE_OUT ;0CEH-選擇CH1,單端/單極性,內(nèi)部時鐘模式,用內(nèi)帶基準電壓
  20.              SETB CS        ;09EH-選擇CH2,單端/單極性,內(nèi)部時鐘模式,用內(nèi)帶基準電壓
  21.                          NOP            ;0DEH-選擇CH3,單端/單極性,內(nèi)部時鐘模式,用內(nèi)帶基準電壓
  22.                          NOP            ;0AEH-選擇CH4,單端/單極性,內(nèi)部時鐘模式,用內(nèi)帶基準電壓
  23.              NOP            ;0EEH-選擇CH5,單端/單極性,內(nèi)部時鐘模式,用內(nèi)帶基準電壓
  24.              NOP            ;0BEH-選擇CH6,單端/單極性,內(nèi)部時鐘模式,用內(nèi)帶基準電壓
  25.              NOP            ;0FEH-選擇CH7,單端/單極性,內(nèi)部時鐘模式,用內(nèi)帶基準電壓
  26.              NOP
  27.              CLR CS         ;讀回兩個字節(jié)
  28.                          LCALL BYTE_IN
  29.                          MOV R6,A
  30.                          LCALL BYTE_IN
  31.                          MOV R7,A
  32.                          SETB CS
  33.              CLR C
  34.              MOV A,R6
  35.              RRC A
  36.              MOV R6,A
  37.              MOV A,R7
  38.              RRC A
  39.                    MOV R7,A
  40.              CLR C
  41.              MOV A,R6
  42.              RRC A
  43.              MOV R6,A
  44.              MOV A,R7
  45.              RRC A
  46.                    MOV R7,A
  47.              CLR C
  48.              MOV A,R6
  49.              RRC A
  50.              MOV R6,A
  51.              MOV A,R7
  52.              RRC A
  53.                    MOV R7,A
  54.                    CLR C
  55.              MOV A,R6
  56.              RRC A
  57.              MOV R6,A
  58.              MOV A,R7
  59.              RRC A
  60.                    MOV R7,A
  61.                    CLR C
  62.              MOV A,R6
  63.              RRC A
  64.              MOV R6,A
  65.              MOV A,R7
  66.              RRC A
  67.                    MOV R7,A
  68.              MOV A,R6
  69.              ANL A,#03H
  70.                    MOV R6,A
  71.              LJMP $
  72. BYTE_OUT:    MOV R0,#08H  ;發(fā)送單個字節(jié)到芯片串口
  73. BOUT1:       CLR SCK
  74.                    RLC A
  75. …………限于本文篇幅 余下代碼請從51黑下載附件…………
復(fù)制代碼

所有資料51hei提供下載:
4115624MAX192-c51.rar (33.96 KB, 下載次數(shù): 21)


評分

參與人數(shù) 1黑幣 +50 收起 理由
admin + 50 共享資料的黑幣獎勵!

查看全部評分

回復(fù)

使用道具 舉報

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

本版積分規(guī)則

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

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

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