久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 5957|回復(fù): 2
打印 上一主題 下一主題
收起左側(cè)

關(guān)于stc12a5c60s2中內(nèi)部AD和DA的用法

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
ID:78218 發(fā)表于 2015-8-3 09:39 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
求大神
分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏2 分享淘帖 頂 踩
回復(fù)

使用道具 舉報

沙發(fā)
ID:79544 發(fā)表于 2015-8-3 18:18 | 只看該作者
STC片內(nèi)AD程序
  1. /****************************************************
  2.     P2口接4位數(shù)碼管顯示STC12C單片機AD轉(zhuǎn)換電壓值,
  3.         測P1 8個口任意一個口轉(zhuǎn)換電壓,
  4.     數(shù)碼管為共陽管

  5.         電壓為單片機電壓:5v經(jīng)2個10k電阻分壓給單片機vref
  6.                                 提供2.5v基準電壓
  7.         作者:蘇義江
  8. ***********************************************/

  9. //#include<12c5a.h>
  10. #include<reg51.h>
  11. #include<intrins.h>  
  12. #define  uchar  unsigned  char
  13. #define  uint  unsigned   int

  14. uint AV;
  15. sfr P1ASF     = 0x9D;     //P1口模數(shù)轉(zhuǎn)換功能控制寄存器
  16. sfr ADC_CONTR = 0xBC; //AD轉(zhuǎn)換控制寄存器
  17. sfr ADC_RES   = 0xBD;  //AD轉(zhuǎn)換結(jié)果寄存器高位
  18. sfr ADC_RESL  = 0xBE; //AD轉(zhuǎn)換結(jié)果寄存器低位
  19. sfr AURX1     = 0xA2;  //AD轉(zhuǎn)換結(jié)果存儲方式控制位
  20. sfr ADC_CONTER=0xc5; //ADC控制寄存器
  21. sfr ADC_DATA=0xc6;//ADC轉(zhuǎn)換結(jié)果寄存器 高8位
  22. sfr ADC_LOW2  = 0xBE; //ADC轉(zhuǎn)換結(jié)果寄存器 低8位

  23. sfr P1M0 =0x91;
  24. sfr P1M1 =0x92;  
  25. sbit led =P0^0;
  26. sbit led1=P0^1;
  27. sbit wei =P0^6;
  28. sbit duan=P0^7;
  29. uint  a, b, c, d,temp;
  30. uchar code SMG[10]={0xC0,0xF9,0xA4,0xB0,0x99,0x92,0x82,0xF8,0x80,0x90};
  31. uchar code table1[]={0x04,0x9e,0x22,0x12,0x98,0x11,0x01,0x96,0x00,0x10};
  32. //帶小數(shù)點字碼表//
  33. uchar  code  table[]={0x44,0xde,0x62,0x52,0xd8,0x51,0x41,0xd6,0x40,0x50};
  34. //不帶小數(shù)點字碼表//

  35. void delay(uint z) //延時//   
  36. {
  37.     uint x,y;   
  38.          for(x=z;x>0;x--)   
  39.          for(y=125;y>0;y--);  
  40. }
  41. /****獲取ADC轉(zhuǎn)換結(jié)果*****/
  42. uint ADC()  //設(shè)置AD轉(zhuǎn)換口//

  43. {
  44.   ADC_CONTER = ADC_CONTER|0x80;
  45.   ADC_DATA=0x00;     
  46.   ADC_CONTER=0xe2;  
  47.   ADC_CONTER|=0x08;
  48.         //查詢ADC_FLAG位是否置1
  49.    while ((0x10&ADC_CONTER)!=0x10);
  50. //        ADC_CONTER = ADC_CONTER&0xe7;
  51.    ADC_CONTER&=0xE7; //關(guān)閉AD 清除轉(zhuǎn)換結(jié)束標志
  52.         //單片機電源為5V,求的真實電壓值
  53.    AV=256*ADC_DATA/5;//公式換算成電壓值//
  54.    return (AV);
  55. }
  56. void main ()
  57. {  
  58.         //設(shè)置P1.2為 AD 輸入口
  59. //         P1M0=0X02 ;
  60.   //   P1M1=0X02;
  61.         //把P1.0配置為ADC輸入引腳
  62. //        P1M0=0x01;
  63. //        P1M1=0x00;
  64.         //1111 1111 設(shè)置P1口為開漏模式,用來AD采集
  65.          P1M0=0xFF;
  66.          P1M1=0xFF;  
  67.          ADC_CONTER|=0x80;//打開ADC電源
  68.            while(1)  
  69.            {
  70.                 temp=ADC();   
  71.                         a=temp/1000;   
  72.                         b=(temp-a*1000)/100;   
  73.                         c=(temp-a*1000-b*100)/10;   
  74.                         d=temp%10;   
  75.                         wei=1;                       
  76.                         P2=0XFE;
  77.                         wei=0;
  78.                         duan=0;
  79.                         duan=1;                          
  80.                         P2=SMG[a];   
  81.                         delay(10);
  82.                            P2=0XFf;

  83.                         wei=1;               
  84.                         P2=0XFd;
  85.                         wei=0;
  86.                         duan=0;
  87.                         duan=1;       
  88.                         P2=SMG[b];   
  89.                         delay(10);
  90.                            P2=0XFf;

  91.                         wei=0;
  92.                         wei=1;
  93.                         P2=0XFb;
  94.                         duan=0;
  95.                         duan=1;          
  96.                     P2=SMG[c];   
  97.                         delay(10);
  98.                            P2=0XFf;

  99.                         wei=0;
  100.                         wei=1;
  101.                         P2=0XF7;
  102.                         duan=0;
  103.                         duan=1;         
  104.                           P2=SMG[d];   
  105.                           delay(10);   
  106.                           P2=0XFf;

  107.                                 if(AV>5.3)
  108.                                 led=0;led1=1;
  109.                                 if(AV<4.5)
  110.                                 led=1;led1=0;
  111.                                 if(AV<5.25&&AV>4.55)
  112.                                 led=1;led1=1;
  113.                 }
  114. }
復(fù)制代碼
回復(fù)

使用道具 舉報

板凳
ID:78218 發(fā)表于 2015-8-4 10:05 | 只看該作者

謝謝大神
回復(fù)

使用道具 舉報

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

本版積分規(guī)則

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

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

快速回復(fù) 返回頂部 返回列表
主站蜘蛛池模板: 精品国产aⅴ | 亚洲欧美日韩精品久久亚洲区 | 国产一区二区精品在线观看 | 国产成人免费视频网站高清观看视频 | 91在线精品播放 | 国产超碰人人爽人人做人人爱 | 青娱乐一区二区 | 日本a网站 | 精品视频在线播放 | 欧美午夜精品久久久久免费视 | 色黄视频在线 | 91在线看 | 国产欧美日韩综合精品一 | 久久成人av电影 | 好婷婷网| 色永久 | 91精品国产综合久久小仙女图片 | 91视频三区| 四虎永久在线精品免费一区二 | 国产免费观看视频 | 欧美一区二区三区在线观看 | 精品人伦一区二区三区蜜桃网站 | 日韩欧美在线一区 | 一区二区不卡高清 | 国产一区二区三区在线看 | 亚洲视频二区 | 91精品国产综合久久久久久丝袜 | 黄色一级视频 | 日韩欧美在线视频一区 | 成人av一区二区在线观看 | 日韩精品一区在线观看 | 亚洲综合小视频 | 福利成人 | www.亚洲.com | 午夜精品福利视频 | 成人精品免费 | 欧美日韩电影免费观看 | 视频一区在线观看 | 亚洲国产一区在线 | 国产免费一区二区 | 一区二区三区国产精品 |