亚洲春色中文字幕久久久-三上亚,一吻二脱三床四吻胸,国产真实伦对白视频全集,在线毛片观看,精品成品入口黄网,国产毛aⅴ片久久久,亚洲AV色香蕉一区二区三区老师,萧皇后A级艳片,色情日本视频更新,99久久亚洲精品日本无码

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 2996|回復: 1
打印 上一主題 下一主題
收起左側

用C51單片機把只帶的ADC(12bit)轉換為RS232輸出

[復制鏈接]
跳轉到指定樓層
樓主
ID:115923 發表于 2020-2-21 17:11 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
  1. #include "reg51.h"         // STC8G1K08A-SOP8  
  2. #include "intrins.h"

  3. /*
  4.   STC8G1K08A-SOP8
  5.   讀取 VCC值 ,先發送出去
  6.   然后 循環開始 讀取ch4的 (P55 ,第3腳)值 發送出去
  7. */

  8. sfr     ADC_CONTR   =   0xbc;
  9. sfr     ADC_RES     =   0xbd;
  10. sfr     ADC_RESL    =   0xbe;
  11. sfr     ADCCFG      =   0xde;
  12. sbit    EADC        =   IE^5;

  13. sfr P3M1=0xb1;
  14. sfr P3M0=0xb2;
  15. sfr P5M1=0xc9;
  16. sfr P5M0=0xca;

  17. sfr AUXR =0x8e;

  18. unsigned int myADC;
  19. bit bFlag;
  20. int *BGV;
  21. bit busy;  
  22. #define BRT (65536-11059200UL/115200/4)

  23. void ADC_Isr() interrupt 5
  24. {
  25.     ADC_CONTR &= ~0x20;                         //清中斷標志
  26.    
  27.         ADCCFG=0x20;        //右對齊

  28.         myADC= (ADC_RES<<8) + ADC_RESL ;
  29. //        P0 = ADC_RES;   //High 2bit
  30. //  P2 = ADC_RESL;   //Low 8bit

  31.         ADC_CONTR |= 0x40;
  32.         bFlag=1;
  33. }

  34. void UartISR() interrupt 4
  35. {
  36.         if(TI)
  37.         {
  38.                 TI=0;
  39.                 busy=0;
  40.         }
  41.         if(RI)
  42.                 RI=0;

  43. }

  44. void UartInit()
  45. {
  46.         SCON=0x50;
  47.         TMOD=0x0;
  48.         TL1= BRT;
  49.         TH1= BRT>>8;
  50.         TR1=1;
  51.         AUXR=0x40;
  52.         busy=0;
  53. }
  54. void UartSend( char dat)
  55. {
  56.         while(busy);
  57.         busy=1;
  58.         SBUF=dat;
  59. }
  60. void ADCInit()
  61. {
  62.    ADCCFG=0x2f;
  63.    ADC_CONTR=0x8f;// Bandgap voltage
  64. }
  65. int ADCRead()
  66. {
  67.    int res;
  68.    ADC_CONTR|=0x40;
  69.    _nop_();
  70.    _nop_();
  71.    while(!(ADC_CONTR & 0x20));
  72.    ADC_CONTR &=~0x20;
  73.    res=(ADC_RES<<8)|ADC_RESL;
  74.    return res;
  75. }


  76. void main()
  77. {
  78.         int res,vcc,adc,i;
  79.    
  80.         P5M0=0;
  81.         P5M1=0;
  82.        
  83.         BGV=(int idata*)0xef;
  84.         ADCInit();
  85.         UartInit();

  86.         ES=1;
  87.         EA=1;

  88.                 ADCRead();
  89.                 ADCRead();
  90.                 res=0;
  91.                 for(i=0;i<8;i++)
  92.                         res+=ADCRead();
  93.                 res>>=3;
  94.                 vcc=(int)(4095L**BGV/res);

  95.                 UartSend(vcc>>8);UartSend(vcc);          //這里先輸出VCC電壓


  96.         ADCCFG = 0x0f;                          //set sysCLk
  97.     ADC_CONTR = 0x84;          //使能并啟動ADC模塊 0x84讀通道4(P55 ,第3腳),        0x8f讀通道F:BGV值
  98.     EADC = 1;                 //使能ADC中斷                 //0x85讀通道5(P54 ,第1腳)
  99.     EA = 1;                                                                                 //0x83讀通道3(P33 ,第8腳)
  100.         ADC_CONTR |= 0x40;                 //Run ADC change         //0x82讀通道2(P32 ,第7腳)
  101.                                                                                                  //P30,P31為程序下載口Rx,Tx
  102.         res=0;

  103.     while (1)
  104.         {
  105.            if(bFlag)
  106.            {
  107.                    i++;
  108.                    res+=myADC;
  109.                    bFlag=0;
  110.            }
  111.            if(i>=8)
  112.            {
  113.                     res>>=3;
  114.                         adc=(int)(4095L**BGV/res);
  115.                         UartSend(adc>>8);UartSend(adc);         //這里 循環 輸出 ADC的電壓,
  116.                         res=0;
  117.                         i=0;
  118.            }
  119.         }



  120. }

復制代碼

mA 232.rar

27.24 KB, 下載次數: 7, 下載積分: 黑幣 -5

用C51 把只帶的ADC12bit)轉換為RS232輸出

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

使用道具 舉報

沙發
ID:465279 發表于 2020-2-27 00:00 來自觸屏版 | 只看該作者
來學習的,謝謝
回復

使用道具 舉報

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

本版積分規則

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

Powered by 單片機教程網

快速回復 返回頂部 返回列表