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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

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

A/D LTC1864 16位轉換 單片機源程序

[復制鏈接]
跳轉到指定樓層
樓主
A/D LTC1864 16位轉換資料網上百度庫有。

單片機源程序如下:
  1. #include<reg52.h>                                //LTC1864是一個16位精度模數轉換
  2. #include<intrins.h>
  3. #include<1602.h>

  4. #define uchar unsigned char
  5. #define uint unsigned int

  6. uchar code num[]={"0123456789*#"};           //
  7. sbit SDO=P3^0;                                           //數據輸出端
  8. sbit SCK=P3^2;                                           //時鐘輸入
  9. sbit CONV=P3^4;                                           //轉換輸入

  10. uint read_adc()                                                //定義一個16位變量
  11. {
  12.         uchar i;                                   //定義需要移位數量
  13.         uint dat=0x0000;                   //定義一個16位變量
  14.         SCK=1;                                           //先時鐘端高電平
  15.         CONV=0;CONV=1;                           //轉換端進行一個上升沿(一個低電平轉到高電平)模數轉換
  16.         _nop_(); _nop_(); _nop_(); _nop_();//等待一下結束轉換
  17.         CONV=0;                                           //結束轉換轉換端置低電平,進入采樣模式,如果轉換端為高電平進入睡眠模式
  18.         for(i=0;i<16;i++)                   //移動16位
  19.         {
  20.                 SCK=1;                                   //時鐘置為高電平
  21.                 _nop_();
  22.                 SCK=0;                                   //時鐘置為低電平
  23.                 _nop_();
  24.                 dat=(dat<<1)|SDO;            //下降沿后輸出同位數,由高電位轉向低電位,完成一個16位數值
  25.                 _nop_();
  26.         }
  27.         SCK=0;                                           //如果CONV為低電平,SCK時鐘信號置低電平,SDO端為零
  28.         return dat;                                   //輸出一個1轉換完16位數值dat
  29. }

  30. void main()
  31. {
  32.         uint temp;                                         //定義一個16位變量
  33.         lcd_init();                                         //1602初始化
  34.         display_list(0,0,"LTC1864 A/D Test"); //1602第一行輸出字符
  35.         while(1)
  36.         {
  37.                 temp=read_adc();                 //定義temp=轉換后數據
  38.                 temp=(temp*50.0/65534.0)*1000;           //轉換成電壓數據
  39.                 display_list(1,0,"CurrVolt:");         //1602第二行輸出字符
  40.                 wirte_lcd_cmd(0xc0+9);                         //1602第二行第9位開始輸出下面字符
  41.                 wirte_lcd_date(num[temp/10000]);   //輸出壓數值第一位
  42.                 wirte_lcd_date(num[temp%10000/1000]);         //輸出壓數值第二位
  43.                 wirte_lcd_date('.');                                          //輸出字符,
  44.                 wirte_lcd_date(num[temp%10000%1000/100]);  //輸出壓數值第三位
  45.                 wirte_lcd_date(num[temp%10000%1000%100/10]); //輸出壓數值第四位
  46.                 wirte_lcd_date(num[temp%10]);                        //輸出壓數值第五位
  47.                 wirte_lcd_date('V');                                   //輸出壓符號
  48.         }
  49. }
復制代碼


所有資料51hei提供下載:
ADC_LTC1864.rar (64.36 KB, 下載次數: 57)


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

使用道具 舉報

沙發
ID:674768 發表于 2019-12-26 17:17 | 只看該作者
謝謝分享
回復

使用道具 舉報

無效樓層,該帖已經被刪除
您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規則

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

Powered by 單片機教程網

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