亚洲春色中文字幕久久久-三上亚,一吻二脱三床四吻胸,国产真实伦对白视频全集,在线毛片观看,精品成品入口黄网,国产毛aⅴ片久久久,亚洲AV色香蕉一区二区三区老师,萧皇后A级艳片,色情日本视频更新,99久久亚洲精品日本无码

標題: A/D LTC1864 16位轉換 單片機源程序 [打印本頁]

作者: kc樂樂    時間: 2019-9-29 18:12
標題: 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)



作者: xyl123456    時間: 2019-12-26 17:17
謝謝分享




歡迎光臨 (http://www.denmoz.com/bbs/) Powered by Discuz! X3.1