標(biāo)題: C51單片機+ADC0832聲光控制電路原理圖+源碼 [打印本頁]

作者: kevena    時間: 2018-12-3 18:06
標(biāo)題: C51單片機+ADC0832聲光控制電路原理圖+源碼
使用Proteus 8 Professional/Keil uVision5。

單片機源程序如下:
  1. #include <reg51.h>
  2. #include <intrins.h>
  3. #define uchar unsigned char
  4. #define uint unsigned int
  5. //ADC0832引腳定義
  6. sbit CS = P1^4;
  7. sbit CLK = P1^5;
  8. sbit DIO = P1^6;
  9. sbit External_Opto  = P1^3;//外部光控制
  10. sbit Lamp = P2^0;//燈光控制
  11. sbit K1 = P3^7;//外部聲音模擬控制
  12. //延時
  13. void DelayMS(uint x)
  14. {
  15.   uchar t;
  16.   while(x--) for(t = 0;t<120;t++);
  17.   }
  18. //獲取A/D轉(zhuǎn)換結(jié)果(0通道)
  19. uchar Get_AD_Result()
  20. {
  21. uchar i,dat1 = 0,dat2 = 0;
  22. //起始控制位
  23. CS = 0;
  24. CLK = 0;
  25. DIO = 1; _nop_(); _nop_();
  26. CLK = 1; _nop_(); _nop_();
  27. //第一個下降沿之前,設(shè)DI=1/0
  28. //選擇單端/差分(SGL/DIF)模式中的單端輸入模式
  29. CLK = 0; DIO = 1; _nop_(); _nop_();
  30. CLK = 1;  _nop_(); _nop_();
  31. //第二個下降沿之前,設(shè)DI=1/0,選擇CH0/CH1
  32. CLK = 0; DIO = 0; _nop_(); _nop_();
  33. CLK = 1; DIO = 1; _nop_(); _nop_();
  34. //第三個下降沿之前,設(shè)DI=1
  35. CLK = 0; DIO = 1; _nop_(); _nop_();
  36. //第4~11,共八個下降沿讀數(shù)據(jù)(MSB->LSB)
  37.   for(i = 0;i < 8; i++)
  38.   {
  39.   CLK = 1; _nop_(); _nop_();
  40.    CLK =0; _nop_(); _nop_();
  41.    dat1 = dat1 << 1 |DIO;
  42.    }
  43. //第11~18,共八個下降沿讀數(shù)據(jù)(LSB->MSB)

  44.   for(i = 0;i < 8; i++)
  45.   {
  46.   
  47.    dat2 = dat2 | ( (uchar) (DIO) << i );
  48.    CLK = 1; _nop_(); _nop_();
  49.    CLK = 0; _nop_(); _nop_();
  50.    }
  51.    CS = 1;
  52. //如果MSB->LSB和LSB->MSB讀取的結(jié)果相同,則返回讀取的結(jié)果,否則返回0
  53.    return (dat1 == dat2) ? dat1 : 0;
  54.    }
  55. //主程序
  56.    void main()
  57.    {
  58.    Lamp = 0;
  59.    while(1)
  60.    {
  61. //出現(xiàn)聲音但沒有光照時照明設(shè)備點亮后延時關(guān)閉
  62.    if ( K1 == 0 && External_Opto!= 0)
  63.    {
  64.    while (K1 == 0);
  65.    Lamp = 1;
  66.    DelayMS(100);
  67. //延時時間由模數(shù)轉(zhuǎn)換結(jié)果決定
  68.    DelayMS(30 * Get_AD_Result());
  69.     DelayMS(100);
  70.         Lamp = 0;
  71.         }
  72.    }
  73. }
復(fù)制代碼

所有資料51hei提供下載:
照明控制.rar (14.29 KB, 下載次數(shù): 55)



作者: admin    時間: 2018-12-3 18:10
補全仿真工程詳細(xì)說明一下電路連接即可獲得100+黑幣
作者: 尼克尼克    時間: 2020-7-4 10:15
不給電路圖算是個什么行為????????




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