找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 4243|回复: 2
打印 上一主题 下一主题
收起左侧

C51单片机+ADC0832声光控制电路原理图+源码

[复制链接]
跳转到指定楼层
楼主
ID:438591 发表于 2018-12-3 18:06 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
使用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转换结果(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. //第一个下降沿之前,设DI=1/0
  28. //选择单端/差分(SGL/DIF)模式中的单端输入模式
  29. CLK = 0; DIO = 1; _nop_(); _nop_();
  30. CLK = 1;  _nop_(); _nop_();
  31. //第二个下降沿之前,设DI=1/0,选择CH0/CH1
  32. CLK = 0; DIO = 0; _nop_(); _nop_();
  33. CLK = 1; DIO = 1; _nop_(); _nop_();
  34. //第三个下降沿之前,设DI=1
  35. CLK = 0; DIO = 1; _nop_(); _nop_();
  36. //第4~11,共八个下降沿读数据(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,共八个下降沿读数据(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读取的结果相同,则返回读取的结果,否则返回0
  53.    return (dat1 == dat2) ? dat1 : 0;
  54.    }
  55. //主程序
  56.    void main()
  57.    {
  58.    Lamp = 0;
  59.    while(1)
  60.    {
  61. //出现声音但没有光照时照明设备点亮后延时关闭
  62.    if ( K1 == 0 && External_Opto!= 0)
  63.    {
  64.    while (K1 == 0);
  65.    Lamp = 1;
  66.    DelayMS(100);
  67. //延时时间由模数转换结果决定
  68.    DelayMS(30 * Get_AD_Result());
  69.     DelayMS(100);
  70.         Lamp = 0;
  71.         }
  72.    }
  73. }
复制代码

所有资料51hei提供下载:
照明控制.rar (14.29 KB, 下载次数: 55)


分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖 顶 踩
回复

使用道具 举报

沙发
ID:1 发表于 2018-12-3 18:10 | 只看该作者
补全仿真工程详细说明一下电路连接即可获得100+黑币
回复

使用道具 举报

板凳
ID:793173 发表于 2020-7-4 10:15 | 只看该作者
不给电路图算是个什么行为????????
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表