国产免费AV|泡泡玛特欧洲总部将设在伦敦|中文天堂网www新版资源在线|一本久道综合在线中文|国精产品一二三产区的使用方法|香蕉鱼在线观看|www.27eee

 找回密碼
 注冊
搜索

51單片機控制光敏傳感器 Proteus仿真程序和單片機c源碼

[復制鏈接]
樓主
eng 發表于 2021-6-24 00:28:45 | 只看該作者 |只看大圖 |倒序瀏覽 |閱讀模式
51單片機控制光敏傳感器 Proteus仿真程序和單片機c源碼 1.png

部分源碼:
  1. #include<reg52.h>
  2. #include<intrins.h>
  3. #define uchar unsigned char
  4. #define uint unsigned int

  5. sbit CS = P1^0;
  6. sbit CLK = P1^1;
  7. sbit DO = P1^2;
  8. uchar code tab[] = {0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0xbf,0x86,0xdb,0xcf,0xe6,0xed,0xfd,0x87,0xff,0xef,0x40,0x3e,0x00};
  9. uchar code du[] = {0xfe,0xfd,0xfb,0xf7};
  10. uint huancun[] = {0,0,0,0};
  11. void delay();
  12. void display();        
  13. uchar Read_ADC0831();


  14. void main(){
  15.         uint i;
  16.         long adc_data;
  17.         while(1){
  18.         i++;
  19.         if(i == 100){
  20.                 i = 0;
  21.                 adc_data = Read_ADC0831() * 100;
  22.                 adc_data = adc_data / 51;         
  23.                                  
  24.                 if(adc_data > 461 && adc_data <= 494)
  25.                 {
  26.                         adc_data = adc_data * (-3.1818);
  27.                         adc_data = adc_data + 1576.35;
  28.                         adc_data = adc_data / 10;
  29.                 }
  30.                 else if(adc_data > 438 && adc_data <= 461)
  31.                 {
  32.                         adc_data = adc_data * (-3.6364);
  33.                         adc_data = adc_data + 1782.74;
  34.                         adc_data = adc_data / 10;
  35.                 }
  36.                 else if(adc_data > 401 && adc_data <= 438)
  37.                 {
  38.                         adc_data = adc_data * (-4.8571);
  39.                         adc_data = adc_data + 2319.98;
  40.                         adc_data = adc_data / 10;
  41.                 }
  42.                 else if(adc_data > 373 && adc_data <= 401)
  43.                 {
  44.                         adc_data = adc_data * (-6);
  45.                         adc_data = adc_data + 2782;
  46.                         adc_data = adc_data / 10;
  47.                 }
  48.                 else if(adc_data > 341 && adc_data <= 373)
  49.                 {
  50.                  adc_data = adc_data * (-8);
  51.                  adc_data = adc_data + 3528;
  52.                  adc_data = adc_data / 10;
  53.                 }
  54.                 else if(adc_data > 300 && adc_data <= 341)
  55.                         {
  56.                          adc_data = adc_data * (-9.375);
  57.                          adc_data = adc_data + 3990.63;
  58.                          adc_data = adc_data / 10;
  59.                         }
  60.                 else if(adc_data > 263 && adc_data <= 300)
  61.                         {
  62.                          adc_data = adc_data * (-12.5);
  63.                          adc_data = adc_data + 4950;
  64.                          adc_data = adc_data/10;
  65.                         }
  66.                 else if(adc_data > 222 && adc_data <= 263)
  67.                         {
  68.                          adc_data = adc_data *(-19.512);
  69.                          adc_data = adc_data + 6831.66;
  70.                          adc_data = adc_data / 10;
復制代碼
完整代碼和proteus仿真文件: light_sensor.zip (90.03 KB, 售價: 2 E幣)
您需要登錄后才可以回帖 登錄 | 注冊

本版積分規則

手機版|小黑屋|ELEOK |網站地圖

GMT+8, 2026-5-26 06:06

Powered by Discuz! X5.0

© 2001-2026 Discuz! Team.

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