1024手机基地看电影,午夜福利视频导航,国产精品福利在线一区,亚洲欧美日韩另类成人,在线观看午夜日本理论片,成年超爽免费网站,国产精品成人免费,精品动作一级毛片,成人免费观看网站,97精品伊人久久大香蕉

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 2361|回復: 4
收起左側

STC15f2k60s2單片機將2.5v模擬電壓AD轉換為8位二進制數用LED燈顯示,求思路

[復制鏈接]
ID:621983 發表于 2019-10-10 22:01 | 顯示全部樓層 |閱讀模式
如題
回復

使用道具 舉報

ID:497670 發表于 2019-10-11 08:38 | 顯示全部樓層
這個沒有什么思路,按照硬件一步步通過編程實現;
首先要把硬件搭建好,然后再寫程序,調試
回復

使用道具 舉報

ID:495949 發表于 2019-10-11 15:38 | 顯示全部樓層
LED燈是LED數碼管嗎???  如果是LED數碼管的話我建議:
回復

使用道具 舉報

ID:495949 發表于 2019-10-11 15:41 | 顯示全部樓層
前邊的那個是我按錯了 還沒打完就發出去了
如果是LED數碼管顯示的話  
你可以先把數碼管顯示程序寫好  
然后調用ADC的寄存器
處理ADC的數據
接著將ADC的值轉換為整數型然后在數碼管上顯示
回復

使用道具 舉報

ID:213173 發表于 2019-10-11 17:27 | 顯示全部樓層
本帖最后由 wulin 于 2019-10-14 19:43 編輯

供樓主參考
  1. #include <STC15F2K60S2.H>
  2. #include <intrins.h>

  3. typedef unsigned char BYTE;
  4. typedef unsigned int WORD;

  5. #define ADC_POWER   0x80            //ADC電源控制位
  6. #define ADC_FLAG    0x10            //ADC完成標志
  7. #define ADC_START   0x08            //ADC起始控制位
  8. #define ADC_SPEEDLL 0x00            //CPU等待540個時鐘
  9. /*----------------------------
  10. 軟件延時
  11. ----------------------------*/
  12. void Delay(WORD n)
  13. {
  14.     WORD x;
  15.     while (n--)
  16.     {
  17.         x = 5000;
  18.         while (x--);
  19.     }
  20. }
  21. /*----------------------------
  22. 初始化ADC
  23. ----------------------------*/
  24. void InitADC()
  25. {
  26.         P1M1 = 0x01;                                                 //設置P1.0高阻
  27.         P1M0 = 0x00;                                                 //設置P1.0高阻
  28.         P1ASF = 0x01;                   //設置P1.0口為ADC口
  29.         ADC_RES = 0;                    //清除結果寄存器
  30.         ADC_CONTR = ADC_POWER | ADC_SPEEDLL;
  31.         Delay(2);                       //ADC上電并延時
  32. }
  33. /*----------------------------
  34. 讀取ADC結果
  35. ----------------------------*/
  36. BYTE GetADCResult(BYTE ch)
  37. {
  38.     ADC_CONTR = ADC_POWER | ADC_SPEEDLL | ch | ADC_START;
  39.     _nop_();                        //等待4個NOP
  40.     _nop_();
  41.     _nop_();
  42.     _nop_();
  43.     while (!(ADC_CONTR & ADC_FLAG));//等待ADC轉換完成標志置1
  44.     ADC_CONTR &= ~ADC_FLAG;         //清0 ADC轉換完成標志
  45.     return ADC_RES;                 //返回8位ADC結果
  46. }
復制代碼
回復

使用道具 舉報

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

本版積分規則

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

Powered by 單片機教程網

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