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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

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

STC52單片機利用XPT2046實現AIN3的端口電壓讀取并顯示在數碼管上

[復制鏈接]
跳轉到指定樓層
樓主


單片機源程序如下:
  1. #include<reg52.h>
  2. #include<intrins.h>
  3. #define uchar unsigned char
  4. #define uint unsigned int
  5. #define   MAIN_Fosc    11059200UL


  6. typedef unsigned int INT16U;
  7. sfr  P4 = 0xe8;


  8. sbit DAOUT =P4^4;
  9. sbit DOUT = P2^5 ;
  10. sbit DIN  = P2^0 ;
  11. sbit CS   = P3^7 ;
  12. sbit DCLK = P2^1 ;
  13. sbit DU   =        P2^6 ;
  14. sbit WE   =        P2^7 ;


  15. uchar count,index;
  16. uchar code SMGduan[]= {0x3F, 0x06, 0x5B, 0x4F, 0x66, 0x6D, 0x7D, 0x07, 0x7F, 0x6F};
  17. //數碼管位選碼
  18. uchar code SMGwei[] = {0xfe, 0xfd, 0xfb, 0xf7};
  19. uint  voltage;


  20. void  display(uint i){
  21.         uchar q, b, s, g;
  22.         static uchar wei;
  23.         q = i / 1000;
  24.         b = i % 1000 / 100;
  25.         s = i % 100 / 10;
  26.         g = i % 10;               
  27. //        P0 = 0XFF;//清除斷碼
  28.         WE = 1;//打開位選鎖存器
  29.         P0 = SMGwei[wei];
  30.         WE = 0;//鎖存位選數據
  31. //        P0 = 0XFF;//清除斷碼
  32.         switch(wei)
  33.         {
  34.                 case 0: DU = 1; P0 = SMGduan[q];        DU = 0; break;//0x80加上小數點
  35.                 case 1: DU = 1; P0 = SMGduan[b];         DU = 0; break;        [/b][b]
  36.                 case 2: DU = 1; P0 = SMGduan[s];         DU = 0; break;[/s][s]
  37.                 case 3: DU = 1; P0 = SMGduan[g];         DU = 0; break;               
  38.         }
  39.         wei++;
  40.         if(wei == 4)
  41.                 wei = 0;
  42. }


  43. void initP1(){
  44. EA  = 1;
  45. ET0 = 1;
  46. TR0 = 1;
  47. TMOD|=0x01;
  48. TH0 = 0xED;
  49. TL0 = 0xFF; //定時5ms
  50. }


  51. void initP3(){
  52. EA  = 1;
  53. ET1 = 1;
  54. TR1 = 1;
  55. TMOD|= 0x20;
  56. TH1 = 0xDC ;
  57. TL1 = 0xDC ;


  58. }






  59. void delayMS(INT16U Time){
  60.           INT16U i;
  61.           do{
  62.                   i=MAIN_Fosc/96000;
  63.                     while(--i);
  64.   }while(--Time);
  65. }


  66. void SPLWrite(uchar DATE){
  67.     uchar i;
  68.         for(i=0;i<8;i++){
  69.             DCLK=0;
  70.             if(DATE & 0x80)
  71.                          DIN = 1;
  72.                 else DIN = 0;
  73.                 DCLK = 1;
  74.                 DATE<<=1;
  75.         }
  76.         DIN=0;
  77. }


  78. uint ADvalue(){
  79.          uchar i;
  80.         uint value;
  81.         for(i=0;i<12;i++){
  82.            value<<=1;
  83.            DCLK = 1;
  84.            DCLK = 0;
  85.            if(DOUT)
  86.                            value|=0x01;
  87.         }
  88.         return(value);
  89. }


  90. uint ADInput(uchar DATE){
  91.           uint value1;
  92.           CS = 0;
  93.           SPLWrite(DATE);
  94.           DCLK = 0;
  95.       _nop_();
  96.           _nop_();
  97.           _nop_();
  98.       _nop_();
  99.       _nop_();
  100.         //  CS = 1;
  101.           value1= ADvalue();
  102.           //value1 = ADvalue();
  103.           return(value1);
  104. }


  105. void main(){
  106.         initP1();
  107.         initP3();
  108.         count=255;
  109.         while(1){
  110.          voltage = ADInput(0xe4);
  111. //         voltage=voltage * 1.2207 ;
  112.          delayMS(1000);
  113.         }


  114. }
  115. void interP1() interrupt 1{
  116.    TH0 = 0xED;
  117.    TL0 = 0xFF; //定時5ms
  118.    display(voltage);
  119. }
  120. void interP3() interrupt 3{
  121.    index++;
  122.    if(index<=count)
  123.                         DAOUT = 1;
  124.    else   DAOUT = 0;


  125. }
復制代碼

評分

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

查看全部評分

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

使用道具 舉報

沙發
ID:115923 發表于 2021-2-6 10:42 | 只看該作者
那你只用了 AIN3嗎?  不是還有 AIN0,1,2  還有DOUT呢?  有沒有代碼呢?
回復

使用道具 舉報

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

本版積分規則

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

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 亚洲视频免费在线看 | 精品久久国产视频 | 一区二区三区免费 | 成人在线一级片 | 日韩欧美不卡 | 天天操人人干 | www国产成人免费观看视频,深夜成人网 | 久视频在线| av中文在线播放 | 在线免费观看黄色av | 免费v片在线观看 | 久久久久亚洲精品 | a在线视频| 日本久久网| 日韩中文字幕 | 中文字幕视频在线看5 | 精品久| 久久久久国产成人精品亚洲午夜 | 日韩日韩日韩日韩日韩日韩日韩 | 国产精品久久片 | 免费特黄视频 | 久久久久久久久久久久久9999 | 久久久久久国产精品免费免费 | 欧美久久视频 | 精品久久久久久亚洲综合网站 | 中文字幕第一页在线 | 亚洲三区在线观看 | 国产在线观看 | 免费国产一区二区 | 国产免费人成xvideos视频 | av免费网址| 亚洲国产欧美在线 | 国产三级在线观看播放 | 欧美日韩精品综合 | 男女羞羞视频在线免费观看 | 精品久久国产 | 在线不卡| 国产一级片 | 久久99精品国产 | 成人一区二 | 国外成人免费视频 |