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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 2810|回復: 0
收起左側

51單片機使用ADC0832進行數(shù)模轉換源程序

[復制鏈接]
ID:632160 發(fā)表于 2022-4-11 21:35 | 顯示全部樓層 |閱讀模式
51單片機使用ADC0832進行數(shù)模轉換在Project中進行仿真模擬
VeryCapture_20220411212800.jpg

單片機源程序如下:
  1. #include <REGX52.H>
  2. #include <intrins.h>
  3. #define uchar unsigned char
  4. #define uint   unsigned int
  5. //ADC0832綁定引腳
  6. sbit  ADCS=P1^3;
  7. sbit  ADDI=P1^5;
  8. sbit  ADCLK=P1^4;
  9. /**
  10.   * @brief  ADC083初始化,在程序的開頭調(diào)用
  11.   * @param  無
  12.   * @retval 無
  13.   */
  14. void ADC0832_Init()
  15. {
  16.         ADCS=1;
  17. }

  18. /**
  19.   * @brief  ADC083獲取無符號8位數(shù)據(jù)
  20.   * @param  無
  21.   * @retval 返回 usigned char 型數(shù)據(jù)
  22.   */
  23. uchar getDaTa()
  24. {
  25.     uchar i=0;
  26.     uchar j;
  27.     uint dat=0;
  28.     uchar ndat=0;

  29.     ADDI=1;
  30.     _nop_();
  31.     _nop_();
  32.     ADCS=0;//拉低CS端
  33.     _nop_();
  34.     _nop_();
  35.     ADCLK=1;//拉高CLK端
  36.     _nop_();
  37.     _nop_();
  38.     ADCLK=0;//拉低CLK端,形成下降沿1
  39.     _nop_();
  40.     _nop_();
  41.     ADCLK=1;//拉高CLK端
  42.     ADDI=1;     //選擇通道0
  43.     _nop_();
  44.     _nop_();
  45.     ADCLK=0;//拉低CLK端,形成下降沿2
  46.     _nop_();
  47.     _nop_();
  48.     ADCLK=1;//拉高CLK端
  49.     ADDI=0;  //選擇通道1
  50.     _nop_();
  51.     _nop_();
  52.     ADCLK=0;//拉低CLK端,形成下降沿3
  53.     ADDI=1;//控制命令結束
  54.     _nop_();
  55.     _nop_();
  56.     dat=0;
  57.     for(i=0;i<8;i++)
  58.     {
  59.         dat|=ADDI;//收數(shù)據(jù)
  60.         ADCLK=1;
  61.         _nop_();
  62.         _nop_();
  63.         ADCLK=0;//形成一次時鐘脈沖
  64.         _nop_();
  65.         _nop_();
  66.         dat<<=1;
  67.         if(i==7)dat|=ADDI;
  68.     }  
  69.     for(i=0;i<8;i++)
  70.     {
  71.         j=0;
  72.         j=j|ADDI;//收數(shù)據(jù)
  73.         ADCLK=1;
  74.         _nop_();
  75.         _nop_();
  76.         ADCLK=0;//形成一次時鐘脈沖
  77.         _nop_();
  78.         _nop_();
  79.         j=j<<7;
  80.         ndat=ndat|j;
  81.         if(i<7)ndat>>=1;
  82.     }
  83.     ADCS=1;//拉低CS端
  84.     ADCLK=0;//拉低CLK端
  85.     ADDI=1;//拉高數(shù)據(jù)端,回到初始狀態(tài)
  86.     dat<<=8;
  87.     dat|=ndat;
  88.     return(dat);            //return ad k
  89. }
復制代碼

Keil代碼下載:
AD數(shù)模轉換.zip (110.49 KB, 下載次數(shù): 43)





評分

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

查看全部評分

回復

使用道具 舉報

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

本版積分規(guī)則

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

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

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